Every screen deals itself in, every time
The entrance is no longer a one-off on the boot: dealStage re-arms the class at the funnel every stage change already passes, so the title screen flies its plaque and buttons in whenever you arrive at it. The sub-menus join in — their header, content and footer arrive one after the other instead of the panel dropping in as one slab — and the poster wall deals its three rooms rather than its list, since a moving child inside a moving parent starts at twice the offset and reads as a stutter. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
aab83dacdc
commit
3324fe9cda
3 files changed
+67
-18
No files matched your search
+14
-4
@@ -596,10 +596,20 @@ is in the HTML now and main.js only ever takes it off. The keyboard-hint strip h
|
||||
(`body:has(#splash.busy) #hint`), so the loading screen really is court, title and bar.
|
||||
|
||||
**THE MENU DEALS ITSELF IN.** The canvas modals have always arrived on an easeOutBack overshoot;
|
||||
the splash now does the same once, on the boot: plaque, fixture, OTHER GAMES, the pair, the build
|
||||
line fly in from the left 70ms apart (`@keyframes dealIn`, hung off `#splash:not(.busy)` so the
|
||||
class removal IS the trigger). It fires on the boot only — coming back from a run must not make
|
||||
you wait for a flourish you have already seen — and `prefers-reduced-motion` turns it off.
|
||||
every menu screen does the same now — on EVERY arrival, not just the boot (Oliver, twice: "immer
|
||||
reinfliegen" and "auch für die untermenüs"). `@keyframes dealIn` flies an element in from the left
|
||||
on that overshoot, and `main.dealStage()` re-arms the `deal` class on #intro at the one funnel
|
||||
every stage change passes (remove, force a reflow, add — an animation whose class never left
|
||||
cannot restart, and CSS has no replay switch).
|
||||
- THE SPLASH deals its own five: plaque, fixture, OTHER GAMES, the pair, the build line, 70ms apart.
|
||||
- EVERY OTHER SCREEN deals its BANDS — header, content, footer — through
|
||||
`#intro.deal > .card > div:not(#splash) > *` with an nth-child stagger. The panel's old
|
||||
whole-slab `drop` retired: a slab says "a screen appeared", a deal says "the machine is laying
|
||||
this out for you".
|
||||
- THE POSTER WALL deals its three ROOMS instead of its list, and the list itself stops animating —
|
||||
a moving child inside a moving parent starts at twice the offset and reads as a stutter.
|
||||
- `prefers-reduced-motion` turns all of it off, and the splash holds its deal until the boot gate
|
||||
lifts (there is nothing to deal while the loading state is up).
|
||||
|
||||
**EVERY SCREEN OPENS AT ITS TOP.** `#intro` is the one scroller the menus share, so a scroll earned
|
||||
on the stats screen outlived it — go back and the splash came up scrolled, buttons off screen
|
||||
|
||||
Reference in new issue
Block a user