You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.1 KiB
2.1 KiB
Audit: spinner
audit-version: 1
audited-at: 2026-06-26
scope: eidos (eidos-only primitive)
method: theming-coherence category sweep (visual-elements), adversarially verified; roles + :Morfo lead-verified CLEAN across all eidos (no success/warning/danger/info; only alert-dialog uses :Morfo).
Summary
Counts (post-verification): CRITICAL 0 · HIGH 0 · MEDIUM 0 · LOW 1. conformance: Contract solid (as const), 3 variants (ring/dots/bars), color cascade via 8-role palette, no recipe entry (foundation-only), no drift. as-const: true · roles clean: true · variants clean: true · has-recipe: false
Findings
LOW: Hard-coded animation delays in CSS — spinner-001
- dimension: animation
- location: spinner.css:114-150
- evidence: Lines 115-120:
-0.32s,-0.16s; lines 139-150:-1s,-0.85s,-0.7s,-0.55s. These are LOCAL keyframe delay sequencing, not component-level magic; acceptable per LOCAL z principle. - impact: Animation timing is local to component stagger effects, not theme-dependent. No re-use across components.
- proposed-fix: No fix needed. Local animation stagger is acceptable LOW.
- verify: [confirmed] spinner.css:114-150 —
animation-delay: -0.32s/-0.16s(dots nth-child 1-2) and-1s/-0.85s/-0.7s/-0.55s(bars nth-child 1-4) are local stagger offsets for the spinner's own shared infinite animations (spinner-bounce/spinner-stretch). Standard negative-delay phasing technique, scoped to the component's variants, not a reusable theme literal. Correctly LOW; not drift. - fix-status: open
Theming facts (E-bis)
- magic literals: 0.75rem @ spinner.css:27 -> --_spinner-size (em/rem allowed, local sizing) | 1.5px @ spinner.css:28 -> --_spinner-thickness (local, acceptable) | 0.9s @ spinner.css:15 -> --_spinner-duration (LOCAL, not theme-level) | 360deg @ spinner.css:163 -> rotation constant (physical, LOW) | 0.5 @ spinner.css:171-176 -> scale/opacity values in @keyframes (physical, LOW) | 0.4 @ spinner.css:184-187 -> scaleY values in @keyframes (physical, LOW)
- magic z-index: none
- non-canonical names: none
- roles clean: true · variants clean: true