Commit Graph
4 Commits
Author SHA1 Message Date
phranck 9f5f24d02c Feat: CRT power-on/off raster animations + reduce initial cursor delay
- Feat: CRT shutdown animation — vertical collapse → horizontal collapse → phosphor afterglow dot
- Feat: CRT boot animation — horizontal line expands vertically (deflection warm-up)
- Fix: No content flash during zoom-back (powered=false before shutdownPhase clears)
- Fix: Edge glow only visible when powered on
- Chore: Reduce initial cursor delay from 18s to 1.5s (BIOS appears almost immediately)
- Chore: Terminal script tweaks (login name, drive detection, grade spacing)
2026-02-02 16:18:17 +01:00
phranck 414555db6a Fix: Resolve HTML tag rendering bugs in CRT terminal
- COLS truncation now counts visible characters only (ignores HTML tags),
  preventing broken markup when tags get cut off mid-pair
- typeSystem() types content between paired tags char-by-char while tags
  appear instantly as complete open/close pairs
- Empty lines render with non-breaking space for correct row height,
  fixing premature scrolling when blank lines consumed ROWS budget
- Stable line keys (monotonic counter) prevent React DOM thrashing
- terminal-parser bold regex uses negative lookahead to skip ***
2026-02-02 12:53:43 +01:00
phranck 4f3578be91 Feat: Add Markdown formatting support to terminal script parser
Parser now supports basic Markdown syntax in all text fields:
- **bold** → <strong> with bold font weight
- __underline__ → <span> with underline decoration
- ~~strikethrough~~ → <span> with line-through
- *italic* → <em> with italic style

Implementation:
- Regex-based parser converts Markdown to HTML-like tags
- TerminalScreen component parses tags and renders as React nodes
- Styling via Tailwind classes (font-bold, underline, etc.)
- Works in all sequences: Boot, School, Joshua, UNIX commands

Examples added to terminal-script.md:
- **BIOS** in boot sequence
- __AUTHORIZED USE ONLY__ message

Build-time processing ensures no runtime overhead.
2026-02-02 11:36:05 +01:00
phranck fbfbdc3420 Feat: Add terminal script parser and markdown-based terminal content
- Create terminal-parser.ts to parse terminal-script.md
- Add build script (generate-terminal-data.ts) to convert markdown to TypeScript
- Refactor TerminalScreen.tsx to use generated data instead of hardcoded arrays
- Add prebuild script to package.json for automatic data generation
- Install tsx and @types/howler dev dependencies
- Fix parser to preserve spacing in COUNTER prefix (Memory Test:  )
- Update terminal-script.md documentation with [INLINE] tag explanation

Now terminal content can be edited in markdown without touching TypeScript:
1. Edit terminal-script.md
2. Run: npx tsx scripts/generate-terminal-data.ts
3. Reload browser - changes are live
2026-02-02 11:08:12 +01:00