game-views: replace CHAT with YARN (.fa-route) between SCROLL & POST; ATLAS timestamps match their source views

CHAT conceptually overlapped POST, so it's gone — replaced by a distinct YARN view (fa-route) shifted one slot left, between SCROLL and POST. Reelhouse order is now ATLAS | SCROLL | YARN | POST | PULSE. YARN is a stub (the shared [Feature forthcoming] partial in its .applet-scroll, like PULSE).

Touched: the carousel + strip partials, the h2 reel words, the _base.scss data-active-view translateX reindex (yarn=-200%, post now -300%), room-views.js VIEW_ORDER, the Jasmine spec VIEWS, and the FT/IT order + stub assertions. The horizontal-wheel FT now expects scroll's neighbour to be YARN.

ATLAS timestamps: the merged rows carry the ORIGINAL <time> from their source (.drama-event-time from SCROLL, .post-line-time from POST), but those source rules are feed/thread-scoped so the atlas copies rendered full-size inline. Made .atlas-row a flex row and restated the shared small / dim / right-aligned look on both source time classes so each timestamp reads the same as in the view it came from.

Verified: 8 carousel FTs + carousel ITs + Jasmine (atlas merge + swipe machine) green.

[[project-room-game-views-carousel]]
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Disco DeDisco
2026-06-02 14:45:25 -04:00
parent 6f5927083c
commit ced324081f
10 changed files with 53 additions and 32 deletions

View File

@@ -238,13 +238,30 @@ html.sea-open #id_aperture_fill {
flex-direction: column;
.atlas-row {
display: flex;
align-items: baseline;
gap: 0.4rem;
padding: 0.3rem 0;
font-size: 0.9rem;
border-inline-start: 2px solid transparent;
padding-inline-start: 0.5rem;
.atlas-row-time { font-size: 0.7rem; opacity: 0.5; margin-inline-start: 0.4rem; }
.atlas-row-who { font-weight: bold; color: rgba(var(--quaUser), 1); margin-inline-end: 0.3rem; }
.atlas-row-who { font-weight: bold; color: rgba(var(--quaUser), 1); flex-shrink: 0; }
.atlas-row-body { flex: 1; min-width: 0; overflow-wrap: anywhere; }
// The merged rows carry the ORIGINAL <time> from their source row
// (.drama-event-time from SCROLL, .post-line-time from POST). Those
// source rules are scoped to the feed/thread, so restate the shared
// small / dim / right-aligned look here so each timestamp reads the
// same as it does in the view it came from.
.drama-event-time,
.post-line-time {
flex-shrink: 0;
margin-inline-start: auto;
font-size: 0.75rem;
opacity: 0.5;
text-align: right;
white-space: nowrap;
}
}
// Distinct per-source accent (border tint) — the styling hook the
// contract reserves for end-of-sprint polish.