feat(06-05): the maneuver banner + collapsible list builders + the machine-blink gantry (GREEN)
- buildGuidanceBanner: five-slot discipline over every state — GUIDE // NEXT|REROUTING|RESUMING|NO REROUTE register, 48x48 plate w/ 32x32 committed glyph, distance+unit/'—', street or calm-state copy, LIST/CLOSE toggle; root <button> with aria-expanded/controls/label - buildManeuverList: transparent tap-out layer + labelled card region (id = aria-controls target), NEXT/FUTURE/PAST rows, real-text streets, aria-hidden 24x24 glyphs - startGantryBlink/stopGantryBlink: WeakMap-keyed ~500ms duty cycle, idempotent start, stop clears - GS7 whitespace-verbatim comparison fixed (trailing newline in committed files)
This commit is contained in:
@@ -456,7 +456,7 @@ test("GS7 the 8-glyph committed set — exactly 8 kinds in order, each a non-emp
|
||||
assert.ok(raw.includes("currentColor"), `${kind}: color rides currentColor (token-only)`);
|
||||
// the raw string IS the committed file (single source — ?raw, not a copy)
|
||||
const committed = readFileSync(path.join(GUIDANCE_DIR, "glyphs", `${kind}.svg`), "utf8");
|
||||
assert.equal(raw, committed.trim(), `${kind}: GLYPHS carries the committed file verbatim`);
|
||||
assert.equal(raw.trim(), committed.trim(), `${kind}: GLYPHS carries the committed file verbatim`);
|
||||
}
|
||||
// orthogonal/45° law spot-checks: no arcs anywhere (the uturn staple is the proof case)
|
||||
for (const kind of GLYPH_KINDS) {
|
||||
|
||||
Reference in New Issue
Block a user