Commit Graph
9 Commits
Author SHA1 Message Date
phranck f2df17de30 Lots of changes 2026-02-08 14:34:42 +01:00
phranck 982c369853 Feat: Migrate docs site from Next.js to Astro with mobile performance optimizations
- Migrate landing page and dashboard from Next.js 16 to Astro 5
- Remove Framer Motion dependency (saves ~122KB gzipped)
- Lazy-load Howler.js audio (only on power button click)
- Disable expensive CSS effects on mobile (<768px):
  - backdrop-blur replaced with solid backgrounds
  - Cloud animations simplified (no blur, static)
  - Rain canvas and SpinnerLights skip on mobile
  - Avatar filters reduced to grayscale+brightness
- Optimize hydration: client:idle for decorative components
- Combine Google Fonts requests (2 -> 1)
- Remove audio preloading (lazy-loaded instead)
- Fix process.env -> import.meta.env for Astro compatibility
- Update Languages icon from Swift logo to code brackets
2026-02-07 13:04:18 +01:00
phranck 0d10b0255d Feat: Add Plans Dashboard Card with hourly data sync
- Standardize plan file structure (PLAN_TEMPLATE.md): Title → Preface → Context → Spec → Design → Implementation → Checklist
- Rewrite all 24 plan prefaces in natural, action-focused language with markdown support
- Add update-plans-data.ts script: extracts top 5 open + 5 done plans from plans/ directory
- Add PlansCard React component with markdown rendering (react-markdown)
- Integrate PlansCard into dashboard (below activity heatmap)
- Add usePlansCache hook with 5-minute localStorage cache
- Add update-plans-data.yml GitHub Actions workflow (hourly trigger)
- Install react-markdown dependency for markdown-in-JSON rendering
- Update npm scripts: prebuild and update:plans
2026-02-06 23:12:27 +01:00
phranck 0aac32f16d Feat: Add smooth list animations for commit updates
Uses Framer Motion for enter/exit/reorder animations. New commits
slide in from the top, existing commits smoothly animate to their
new positions. Adds ~40KB to the bundle.
2026-02-06 00:10:44 +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
phranck 6ae898c2c2 Feat: Add complete WarGames terminal animation with hard drive sounds
- Install Howler.js for gapless audio looping
- Add authentic hard drive sounds (boot, spin, seek, power-on/off)
- Implement power-on beep (0.3 volume)
- Boot sound: 20.18s with seamless transition to spin loop
- Spin sound: gapless loop with Howler.js (0.6 volume)
- Random seek sounds every 15-25s with 30% double-seek chance (0.4 volume)
- Add school computer grade change scene (WarGames film authentic)
  - Login as DABNEY/PENCIL
  - Change David's and Jennifer's Biology grades from F/C to A
  - Inline input format (prompt and input on same line)
  - Grade reports displayed as table
- Add complete Joshua/WOPR dialogue sequence
- Sequence flow: Boot → 12s UNIX → School → 12s UNIX → Joshua → loop
- Reduce CRT scanline opacity for subtler effect
- Add 6-second fade-in for entire terminal output
- Create terminal-script.md documentation with full script
2026-02-02 10:33:52 +01:00
phranck ba92c10863 Feat: Add custom landing page with theme switcher and auto-versioned SPM badge
- Next.js static site in docs/ with SN Pro font and WarText headline
- 4 phosphor themes (Green, Amber, White, Red) with localStorage persistence
- Animated cloud background tinted to active theme
- SF Symbols icons via sf-symbols-lib/hierarchical
- PackageBadge with copy-to-clipboard, version from CI tag
- CI workflow builds landing page + DocC, deploys to GitHub Pages
- Version auto-resolved from git tags on deploy
2026-01-31 16:33:32 +01:00
phranck 0103a32a5b cleanup: Remove leftover VitePress docs files 2026-01-30 09:55:45 +01:00
phranck 1d05de80d0 cleanup: Migrate from DocC/MkDocs to VitePress documentation
- Remove old DocC-generated documentation files (HTML, JS, CSS, JSON)
- Remove mkdocs.yml configuration file
- Add new VitePress configuration and documentation structure
- Add GitHub Actions workflow for automated VitePress deployment
- Update .gitignore to exclude node_modules and dist folders
- All documentation content migrated with modern layout and styling
- VitePress provides faster builds and better developer experience
2026-01-29 18:15:01 +01:00