Add devlog entry for Phase 2.5: Runtime Localization, Corporate Branding, and Immersive Login

This commit is contained in:
2026-08-24 07:04:05 -07:00
parent e1299c0eca
commit 7a6c840988
@@ -0,0 +1,52 @@
_model: devlog-entry
---
schema_version: 1
---
title: Phase 2.5: Runtime Localization, Corporate Branding, and Immersive Login
---
date: 2026-08-24
---
author: Labyricorn
---
summary:
Enhanced CyberSim OS with full runtime multilingual support (English and Spanish demonstration), deployment-level corporate branding customization, an immersive enterprise login and network selection screen, learner first-name personalization, and cross-locale offline certificate verification.
---
tags: localization, branding, login, personalization, i18n, certificates, offline
---
source_commit: e1299c0eca10625fe881a468e1b3a997ae3fba0f
---
body:
### Milestone Overview
CyberSim Phase 2.5 prepares the simulation platform for organizational deployment and Phase 3 scenario authoring. This milestone introduces a robust localization layer, configuration-driven enterprise branding, an immersive workstation login experience, learner first-name personalization, and cross-locale offline credential verification while preserving 100% offline execution and strict security boundaries.
### Key Deliverables Implemented
1. **CyberSim OS & Scenario Multilingual Localization (I18n)**:
- Built a standalone, offline-first localization engine (`i18n.js`) with deterministic fallback behavior (Selected Locale -> Deployment Default Locale -> English -> visible `[missing: key]` indicators).
- Created comprehensive English (`locales/en.json`) and Spanish (`locales/es.json`) OS UI catalogs.
- Decoupled scenario content localization (`scenarios/[id]/locales/[lang].json`), enabling independent translations of emails, documents, web pages, notifications, and pedagogical feedback without altering scenario schemas or scoring logic.
2. **Deployment Configuration & Corporate Branding**:
- Implemented `src/config/deployment.json` and a dynamic `BrandingManager` (`branding.js`) to customize organization identity (name, short name, logo, wallpaper, accent color, and service desk contact) via CSS custom property injection.
- Built automatic fallbacks to default CyberSim enterprise styling when custom branding properties are omitted.
- Preserved simulation safety indicators to maintain clear simulation boundaries.
3. **Immersive Workstation Login & Dynamic Network Discovery**:
- Replaced raw scenario loading with an enterprise lockscreen interface (`login.js`) featuring real-time language switching, strict first-name input validation (required, trimmed, max length 50), and dynamic workplace network selection.
- Avoided any credential or password entry requirements on the simulated OS login screen.
- Extended scenario manifest schemas to support `supportedLocales` declarations and `login` metadata (`networkName`, `networkDescription`, `networkIcon`).
4. **Learner First-Name Personalization & Security Boundaries**:
- Exposed `learner.firstName` and `learner.name` to scenario action dispatchers and simulated applications.
- Implemented safe template interpolation with HTML entity escaping to prevent cross-site scripting (XSS) or HTML injection from user-provided names.
5. **Deterministic Cryptographic Verification Across Locales**:
- Canonicalized SHA-256 fingerprinting (`fingerprint.js`) against the base scenario structure, ensuring that completion certificates issued in one language remain 100% machine-verifiable in any language.
- Localized the standalone offline certificate verifier (`verify.html`) while preserving SHA-256 cryptographic checksum integrity validation.
6. **Comprehensive Automated Verification & Zero External Dependencies**:
- Added an automated Node.js test suite (`tests/run_tests.js`) covering localization fallback, branding defaults, login validation, template escaping, cross-locale fingerprinting, and offline dependency verification.
- Verified 100% offline compatibility with zero external CDN, font, or API requirements.