docs: add redesign discovery brief

This commit is contained in:
2026-10-10 14:09:12 +03:00
parent 08f3ac18c2
commit fa4d1a2377

View File

@@ -0,0 +1,34 @@
# Discovery brief (2026-10-10)
Synthesized from two read-only Haiku mapping passes of commit 08f3ac1 plus a look at the running site.
## Stack
Vue 3.5 + TypeScript, Vite 8, three 0.185 (EffectComposer, bloom), zod, Geist fonts. SSR + prerender to static HTML with hydration. Vitest, Playwright (+axe). Node 22.
## Run
- `npm run dev` (vite on 127.0.0.1)
- `npm run typecheck`, `npm run test:unit`, `npm run test:browser`
- `npm run build:preview` = full static build with budgets
## Structure
Single page, hash sections: start, profile, experience, infrastructure, selected-builds, additional-work, toolkit, contact.
`src/components` (HeroJourney, SceneCanvas, ProjectCard, ...), `src/scene` (three world), `src/journey` (scroll/nav controllers, road signs), `src/audio` (adaptive soundtrack), `src/styles` (8 layered CSS files), `src/content` (zod schemas).
## Content (preserve)
`content/public/portfolio-content.json`: Luca Pîslaru, System Administrator & Full-Stack Developer, Bucharest. Three roles, systems proof (Nextcloud migration, self-hosted platform), selected and additional projects, toolkit, education, languages, LinkedIn/GitHub/GitLab/email contact. Media in `inputs/prepared-assets`.
## Current identity
Dark night-drive grand-tourer: fixed WebGL car/road scene behind content, scroll drives the camera, road-sign navigation, adaptive soundtrack. Palette canvas #040814, cyan #78d8e5, magenta #c74b91, amber #f4ad67. Geist + Geist Mono.
## Works well
Strong content hierarchy, semantic no-JS/reduced-motion fallbacks, strict a11y and budget testing, native scrolling.
## Weaknesses
- Scroll perf: 71 fps with chapter masks vs 116 without (docs/performance).
- ~2.4 MB of GLB models; heavy on mobile.
- 8 overlapping stylesheets, repeated media queries.
- Screen-reader and audience validation still pending.
- The one-note "car on a road" metaphor says little about sysadmin + full-stack work.
## Must preserve
All content and links; CSP/nginx/Cloudflare deploy contracts (nginx test asserts exact headers); performance budgets (initial JS 120 KB, HTML+CSS 100 KB, fonts 120 KB); test-hook gating (`__PORTFOLIO_TEST_BUILD__` false in production); prerender markers in index.html.