generated from Labyricorn/labyricorn-project-template
Add devlog entry for Phase 2.5: Runtime Localization, Corporate Branding, and Immersive Login
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user