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.
This commit is contained in:
@@ -48,6 +48,8 @@ export const classifyArtifact = (path, source = '') => {
|
||||
if (/^assets\/traffic-pass-[^/]+\.js$/u.test(path)) return 'deferred-non-video';
|
||||
// PARKING LIGHTS: the favicon renderer, loaded after mount.
|
||||
if (/^assets\/tab-icon-[^/]+\.js$/u.test(path)) return 'deferred-non-video';
|
||||
// SPEEDOMETER: the gantry dial's model and DOM driver, loaded after mount.
|
||||
if (/^assets\/speedometer-dial-[^/]+\.js$/u.test(path)) return 'deferred-non-video';
|
||||
if (/^assets\/nightdrive-(?:grand-tourer|districts)-[^/]+\.glb$/u.test(path)) return 'first-live-scene';
|
||||
if (/\.(?:woff2?|ttf|otf)$/u.test(path)) return 'initial-fonts';
|
||||
if (/^assets\/hero-[^/]+\.(?:avif|webp|png|jpe?g)$/u.test(path)) return 'hero-poster';
|
||||
|
||||
Reference in New Issue
Block a user