feat: evolve portfolio into an authored midnight grand tour

This commit is contained in:
2026-09-05 03:55:18 +03:00
parent 642f5b583d
commit c9ac36e249
41 changed files with 812 additions and 65 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 604 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 137 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 313 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 736 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 KiB

View File

@@ -0,0 +1,15 @@
{
"totals": {
"initialHtmlCriticalCss": 33252,
"initialApplicationJs": 90134,
"heroPoster": 189323,
"initialFonts": 69040,
"firstLiveScene": 279010,
"deferredProjectVisuals": 198652,
"highTierExtras": 0,
"deferredNonVideo": 477662,
"deferredAudio": 15307863
},
"violations": [],
"scope": "Transfer-only check. Not runtime performance certification."
}

View File

@@ -0,0 +1,24 @@
# Midnight grand tour
Base: main 642f5b5, containing approved content/media and finished adaptive audio. Isolated branch: codex/gpt6-portfolio-evolution. Existing untracked work stays in the original checkout.
## Visual grammar
A continuous midnight highway, silver-blue bodywork, coral horizon, cyan interface accents. Retain the authored GLB and runtime terrain. Geist remains the self-hosted type family, now with open display composition and quieter supporting labels. Panels use a consistent 16px outer / 8px inner radius; controls use 8px. Keep the dark theme required by the night-drive identity. All approved wording, metadata, media, links, navigation and audio contracts are immutable for this pass, overriding generic design-skill copy and theme rules.
## Scene and document ledger
- Start: open name and equal roles on the left, rear three-quarter vehicle and low coral sun on the right. Lower, longer lens establishes scale.
- Profile: world shifts left to leave a calm reading surface on the right.
- Experience: world shifts right; broad timeline with clear supporting operations grouping.
- Infrastructure: centered panorama behind a wide architectural plate, generous diagram nodes and a distinct operations case.
- Selected builds: broad media-first staging. Portrait screenshots become a carefully spaced three-screen presentation; Footy Tracker receives an evidence-led split composition because no screenshot is approved. All captions and evidence remain readable.
- Additional work: a two-column compact collection instead of another narrow rail.
- Toolkit: horizontal groups with larger recognizable technology marks.
- Contact: camera settles right, warmer horizon, clear destination with unchanged contact actions.
Use render-only camera endpoints and smoothing; never change canonical journey state or audio inputs. Geometry, lights and shader materials remain persistent. Preserve current native scrolling, sign contract, quality governor, resource disposal and fallback.
## Implementation and verification
Work in existing Vue / native CSS / Three.js. No new dependencies. Build on the existing scene and components. Add a focused presentation stylesheet and camera ledger, improve sun/terrain/lighting, and keep semantic markup unchanged wherever possible. Inspect the compiled, validated preview across desktop, tablet, phone and short sizes; exercise navigation, scroll/reversal, resize, static/reduced motion and audio controls. No test edits. Run existing build checks once, then typecheck/client/SSR/prerender/artifact/transfer checks after implementation. Record actual observations and limitations.

View File

@@ -0,0 +1,43 @@
# Midnight Grand Tour — visual review
Implemented on `codex/gpt6-portfolio-evolution`, based on main `642f5b5`, in `.worktrees/gpt6-portfolio-evolution`. Local preview: http://localhost:41812. Ready for visual review; not merged or deployed.
## The visible changes
The opening now combines an open typographic introduction with a longer-lens night drive. A larger coral horizon, broad cyan mountain waves and cooler metallic reflections establish one visual language. Camera compositions ease between chapters without changing native scrolling or the canonical journey/audio state.
The Blender-authored car retains the original wedge body, now with a swept floating wing, turbine-style wheel faces, rear-window louvers, segmented coral lamps and cyan rear guides. The editable source and provenance live in `assets/blender/evolution/`. It exports into eight material groups and 18,564 triangles; reflections are baked once into a small procedural environment, with no per-frame reflection pass.
The professional material has more space: a broad career timeline, an architectural infrastructure plate, larger real project screenshots, an evidence-led Footy Tracker layout, and clearer toolkit groups. Project images open at full size. Controls keep their existing behavior, with refined spacing, focus and touch states. Static and reduced-motion visitors receive desktop or phone artwork captured from the real world.
## Before and after
Desktop before:
![Approved baseline, desktop](evidence/gpt6-evolution/before-desktop.png)
Desktop after:
![Evolution, desktop](evidence/gpt6-evolution/after-desktop.png)
[Phone before](evidence/gpt6-evolution/before-phone.png) · [Phone after](evidence/gpt6-evolution/after-phone.png) · [Tablet opening](evidence/gpt6-evolution/tablet-start.png)
[Project screenshots](evidence/gpt6-evolution/after-work.png) · [Infrastructure](evidence/gpt6-evolution/tablet-infrastructure.png) · [Toolkit](evidence/gpt6-evolution/desktop-toolkit.png) · [Contact](evidence/gpt6-evolution/desktop-contact.png)
[Blender detail render](evidence/gpt6-evolution/blender-coachwork.png) · [Recorded drive, scroll reversal and navigation](evidence/gpt6-evolution/nightdrive-motion.webm)
## Preservation and practical checks
- Normalized rendered main text is identical to the freshly built approved baseline: 12,333 characters. Original content links match. The eight section IDs and their order are unchanged.
- Content, approved metadata, audio source, canonical journey source and test files have no changes. All compiled approved project media and audio files match the baseline byte for byte.
- Final typecheck, client build, server build, validated prerender, artifact validation and transfer-budget check passed. No budget limits were changed. The initial baseline build also ran the required existing unit suite: 662 checks passed; it was not repeatedly rerun during visual iteration. No tests were added or edited.
- Inspected all chapters at desktop 1440×900, tablet 768×1024, phone 390×844, narrow 320×568 and short 1024×600. No horizontal overflow was observed. Exercised menu navigation, scroll, fast jumps, reversal, resizing, keyboard scrolling and focus states.
- Soundtrack reached the running state; mute/unmute, volume at 25%, pause/resume motion and graphics selection worked. Static mode, system reduced motion and a no-JavaScript browser retained content and appropriate poster artwork. Full-size project-image navigation worked.
- The final direct preview produced no JavaScript errors or console warnings, including after graphics-quality changes. Resetting texture-upload flags between renderer generations fixed the observed WebGL warning.
- Final compressed-transfer totals: initial application 90,134 bytes; first live scene including the car 279,010 bytes; both fallback posters together 189,323 bytes. All transfer checks passed. Detailed totals are in `evidence/gpt6-evolution/transfer-budgets.json`.
## Practical limits
The inspection browser reports ANGLE/SwiftShader software rendering. A short direct Low-quality sample averaged about 12 fps at 1440×900 and 40 fps at 390×844; an instrumented High-quality sample was slower. These are software-renderer measurements, not a hardware-GPU performance certification. Existing adaptive quality and Static controls remain available. Vite still reports the existing large deferred Three.js chunk warning; the measured compressed scene transfer remains within its budget.
The recording shows actual browser output and is silent. Audio controls and preservation were checked separately; no claim is made of a complete auditory mix review or physical-device testing.