Commit Graph

49 Commits

Author SHA1 Message Date
LucaP
4a5c54e922 build: add Cloudflare static export and deploy config 2026-10-13 12:54:06 +03:00
LucaP
2be15980ee feat: add the nav bar's lower-bezel wave canvas
A lazy chunk (journey/nav-wave.ts) that draws the bar's wave: a calm
ribbon at cruise, a spectrum at speed, with a hue cycle near the top of
the dial. It follows the chapter's accent and the dawn, repaints at once
on resize, and draws one still frame under reduced motion. Budgeted as a
deferred chunk.
2026-10-13 06:48:33 +03:00
LucaP
70b30fa200 feat: put a speedometer in the gantry's left bay
A 240-degree SVG dial with a spring needle, three-digit readout, unit
label, warning lamp (BRAKE / OVERDRIVE / ENGINE OFF), trip odometer and
gear chip, driven by the journey's own frame loop from the scroll drive,
route progress, navigator state, scene ignition and the high beam. Hover
or focus shows route, exit and time on the road; a click toggles km/h
and mph (remembered). The model and DOM driver load as a lazy chunk so
the initial bundle grows by about 1.3 kB gzipped; reduced motion snaps
the readout, and the bay hides below 1280px.
2026-10-12 18:44:05 +03:00
LucaP
50da616a46 feat: interactive traffic with car-following, overtakes and flash-to-pass 2026-10-11 23:13:05 +03:00
LucaP
4e097e5ef9 feat: living tab title and favicon follow the drive 2026-10-11 11:18:47 +03:00
LucaP
989928c5bb feat: underpass overpasses carry the chapter transitions 2026-10-11 10:48:31 +03:00
LucaP
33585f7e34 feat: relay station masts come online through the toolkit chapter 2026-10-11 08:32:33 +03:00
LucaP
568b0802b4 feat: dashcam photo mode with telemetry frame, lens drift and postcard capture 2026-10-11 07:49:56 +03:00
LucaP
582bf6dc43 feat(scene): phone LOD car and clearcoat coachwork on desktop
Phones and the low tier load a decimated grand tourer built by a headless
Blender script (31k to 11k faces, same nodes and materials). Desktop gets
clearcoat paint and a soft halo parented to the tail bar.
2026-10-10 22:41:12 +03:00
LucaP
a170abc093 feat: Blender-authored roadside districts that rise per chapter 2026-10-10 18:25:55 +03:00
LucaP
f46131723b feat: finish portfolio title, navigation, and destination effects
Add the approved name animation, rounded docking navigation, localized keyboard focus cue, unified builds card, and destination copy hierarchy.

Introduce lightweight one-shot meteors and a sun ring that repeats every three seconds at Contact. Open the email action in a separate browsing context. Preserve reduced-motion behavior and keep private handoff and visual-check artifacts out of version control.

Validation: 649 tests passed; all 20 failures in world-models and SceneCanvas reproduce on baseline 103427f. Typecheck, artifact verification, and transfer budgets passed. Client/SSR preview build passed before this commit. Existing baseline test failures remain unchanged.
2026-09-05 22:16:42 +03:00
LucaP
103427f95b feat: refine portfolio content, contact, and supporting media 2026-09-05 20:08:57 +03:00
LucaP
f58b079c18 fix: bound social preview smoke response 2026-09-05 01:06:01 +03:00
LucaP
c958d4a05f fix: validate social preview metadata 2026-09-05 00:57:01 +03:00
LucaP
eae03b2cd2 seo: align public identity and social metadata 2026-09-05 00:41:08 +03:00
LucaP
4735ceffe5 fix: reject linked social preview outputs 2026-09-04 23:20:20 +03:00
LucaP
c60477a475 assets: add approved portfolio evidence media 2026-09-04 23:07:00 +03:00
LucaP
5bdeeaa433 fix: harden additive asset publication 2026-09-04 22:22:28 +03:00
LucaP
c06fc18cad fix: preserve approved assets when adding project media 2026-09-04 22:01:52 +03:00
LucaP
242d79599a fix: preserve journey geometry and mailto placement 2026-09-04 21:02:44 +03:00
LucaP
7d9e3c2eac fix: restore content compatibility checks 2026-09-04 20:49:55 +03:00
LucaP
3d01b3ec07 feat: add adaptive soundtrack layer assets 2026-09-04 15:13:38 +03:00
LucaP
745fa8169e feat: integrate authored nightdrive soundtrack 2026-09-04 14:39:28 +03:00
LucaP
bc18bc2043 feat: refine nightdrive world and authored car
Integrate the Blender grand tourer with a cohesive shader-driven road, terrain, atmosphere, lighting, and post-processing pass. Refine responsive drive dynamics and sign lifecycle behavior, and add durable visual, accessibility, and performance verification evidence.
2026-09-02 23:16:25 +03:00
LucaP
8c17af22a0 feat: compose the portfolio journey layer 2026-09-02 16:21:13 +03:00
LucaP
24afda8710 feat: establish nightdrive visual foundation 2026-09-02 13:55:01 +03:00
LucaP
90137c388c fix: bind final release authority and expiry 2026-09-02 12:07:38 +03:00
LucaP
a8fa09e21e fix: recover and fence atomic activation 2026-09-02 11:49:49 +03:00
LucaP
79e5d04395 fix: close release provenance and privacy gaps 2026-09-02 11:25:52 +03:00
LucaP
7da2b72933 fix: require signed execution security evidence 2026-09-02 11:12:28 +03:00
LucaP
259f52a02b fix: align nginx with production smoke gate 2026-09-02 11:05:34 +03:00
LucaP
0119e425ec release: verify production portfolio deployment 2026-09-02 10:45:41 +03:00
LucaP
d3e746b905 feat: package atomic reversible nginx releases 2026-09-02 10:27:28 +03:00
LucaP
8592581b18 feat: isolate privacy scanning and release signing 2026-09-02 10:07:01 +03:00
LucaP
847e6e4da9 feat: define secure static hosting contract 2026-09-02 09:44:15 +03:00
LucaP
672ba80d9b feat: verify canonical portfolio release provenance 2026-09-02 09:42:40 +03:00
LucaP
e8b15a4e6e fix: require runtime evidence in budget gate 2026-09-02 09:00:58 +03:00
LucaP
e3ac3a4db4 fix: bind performance evidence to production resources 2026-09-02 08:53:00 +03:00
LucaP
5525557c3a fix: close performance evidence and budget gates 2026-09-02 08:27:21 +03:00
LucaP
5edddb8781 fix: enforce approved media publication closure 2026-09-02 08:16:43 +03:00
LucaP
f4cf9fc77e perf: enforce journey budgets and reference traces 2026-09-02 07:48:02 +03:00
LucaP
8089d061ec test: add deterministic resilience matrix 2026-09-02 07:24:48 +03:00
LucaP
dfd56f0a48 feat: add deterministic cleared project media 2026-09-02 06:38:40 +03:00
LucaP
a86767cdc6 test: lock journey lifecycle and static fallback 2026-09-02 05:36:59 +03:00
LucaP
3638a0beef fix: reject native-hidden semantic evidence 2026-09-02 02:54:24 +03:00
LucaP
c16c4c57da fix: harden prerender publication boundary 2026-09-02 02:44:23 +03:00
LucaP
3dd4a818d0 feat: prerender crawlable portfolio artifacts 2026-09-02 02:10:26 +03:00
LucaP
bc851e398b fix: harden empty asset materialization 2026-09-02 01:09:21 +03:00
LucaP
49a4f75c8d content: add approved public portfolio projection 2026-09-02 01:00:36 +03:00