feat: sign interlude, window plate and a two-button control bay

The sign closes in over the road on a gantry truss, arcs into a wider
window and hands off to a flat 2D plate that mirrors its face; content
steps aside for the interlude and rises after. The bay keeps sound and
settings; volume and Pause motion move into the settings popover.
This commit is contained in:
2026-10-10 23:30:58 +03:00
parent 5757dd968f
commit bacc035c43
12 changed files with 823 additions and 287 deletions

View File

@@ -16,6 +16,18 @@ export interface SignRouteSpec {
dwellOffsetX?: number;
}
/** Each exit's sign colour, shared by the 3D sign and the 2D plates. */
export const SIGN_ACCENTS: Readonly<Record<SectionId, string>> = {
start: '#ff83c2',
profile: '#ff83c2',
experience: '#c4a2ff',
infrastructure: '#8be9ed',
'selected-builds': '#ffa68d',
'additional-work': '#ff83c2',
toolkit: '#c4a2ff',
contact: '#ffa68d',
};
export const SIGN_LIFECYCLE = Object.freeze({
anticipateMs: 300,
approachMs: 900,