WIP: research animations suite (parked) - #2
Draft
glennmatlin wants to merge 9 commits into
Draft
Conversation
First animation from the research-animation roadmap: SVG + GSAP scene showing Literature × Customer Support as SocialIQA's extreme positive bin (+16.0) flipping negative for both MMLU benchmarks, with values single-sourced from a new shared data module transcribed from socialtda_claims.yaml. - Shared modules: socialtda-data.js, socialtda-palettes.js, socialtda-svg-utils.js under public/static/js/animations/ - Scene authored in final poster state; timeline animates toward it, so the reduced-motion/no-GSAP fallback equals the deterministic export frame; review mode strips public identifiers - Dev harness at public/animations/dev/signature-bin.html with review/reduced/end/loop/square-crop toggles and bare capture modes - Exports: 16:9 + square posters (PNG), MP4s (ffprobe-verified), GIF - QA note with claim/value traceability, independent review record, and exact re-render commands
Pins integrity="sha384-..." and crossorigin="anonymous" on the externally-loaded gsap, aos, font-awesome, and academicons assets so a compromised CDN can't inject unverified content into the page.
- aggregation-animation.js: noisy documents -> 576-bin aggregation explainer (5 beats, 13.65s, seeded PRNG, authored-final-state poster frame); all values from socialtda-data.js, matrix shows the 4 selected bins x 4 benchmarks from the claims panel - socialtda-timeline-utils.js: extracted beat controls/seek/scene-API machinery (work order Task 1); signature-bin scene refactored onto it, behavior unchanged - svg-utils: add spokenSigned (aria sign words) and formatInt - dev page public/animations/dev/aggregation.html + QA note + exports (posters, 16:9 + square MP4, GIF) Independent second-agent review: DONE, 0 blockers (see QA note).
orange #A14F00. Suppressive is now #B2182B, the ColorBrewer RdBu red: the positive blue #2166AC, neutral #F7F7F7, and the site's existing light red --infl-neg-lt #ef8a62 are already RdBu tokens, so the diverging scale is now a single colorblind-safe palette, clearly separated from all four benchmark colors. Applied everywhere the color appears: animation palette module, site CSS tokens/gradients, figure1.js (mix + captions), handoff design docs (palette.json, DESIGN_SYSTEM.md, briefs 04/05 wording). All animation exports (posters, MP4s, GIFs for signature-bin and aggregation) re-rendered and playback re-verified; QA notes updated. Benchmark colors and the unlearning damage ramp are unchanged.
- benchmark-design-animation.js: domain x capability matrix (axes -> chips land -> row/column contrast pulses -> end card), 9.8s; cell placement derived from BENCHMARKS domain/capability fields, nothing hard-coded - exports reusable createBenchmark2x2() (plain SVG, parameterized, returns per-cell handles) for later scenes to embed as an inset - guardrail addressed explicitly: caveat + aria state this contrasts provenance, not benchmark difficulty or model quality; no values shown - dev page + QA note + full export set (posters, MP4s, GIF) - check the shared frame-capture script into docs/research-animations/tools/capture-frames.mjs and point all three QA notes at it (was previously scratch-only; closes a re-render gap) Independent second-agent review: DONE, 0 blockers (live-probed 8 mode/seek/loop combinations; see QA note for adjudication).
- socialtda-data.js: new UNLEARNING export, full transcription of unlearning.paired_influence_vs_random from the claims YAML (medians, CIs, Wilcoxon pBH, paired-t pBH, Cohen's dz, verdicts, n=72) - targeted-random-unlearning-animation.js: topic splits into random in-topic vs influence-targeted selection lanes (stylized doc glyphs, seeded PRNG) -> shared unlearning box -> paired-difference forest plot (SocialIQA hero +0.016 CI [+0.013,+0.022], comparisons with CIs crossing/below zero and verdict badges) -> bounded end card; 14.2s - guardrails: mixed/reversed results always visible; "partial validation" framing; caveat marks lane icons and selection as illustrative - dev page + QA note + full export set (posters, MP4s, GIF) Independent second-agent review: DONE, 0 blockers (forest-plot geometry hand-recomputed and matched to the live DOM; see QA note for adjudication).
Independent review (DONE_WITH_CONCERNS) surfaced a data-honesty timing issue: rank labels stayed legible for ~0.2s while cards began flying into their (illustrative, seeded) islands, so a mid-split frame could read as a per-bin claim like "#10 -> expository" that only the count is licensed to make. Labels now fully fade before any card starts moving; a programmatic sweep of the split window (t=2.6-5.0s, every 0.05s) confirms zero frames show a moving card carrying a visible rank label. Also: aria-label now derives every sign via spokenSigned/spokenSignedInt (was hardcoded "plus") and drops the "average" wording. Motion exports (MP4/GIF) re-rendered; poster frames unchanged (labels were already hidden there). QA note updated with the adjudication. A partial cross-animation audit (value/guardrail/architecture lenses across all 5 scenes) ran clean on the animations it covered before hitting the session limit -- 0 blockers/majors, only 3 nits; lexical + unlearning lenses did not run and can be re-audited next session.
glennmatlin
force-pushed
the
glenn/socialtda-research-animations-de0a5a
branch
from
July 18, 2026 04:08
7872667 to
88e8d85
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Draft/WIP PR to park the rebased research-animations work so we can return to it later without losing the pipeline.
Status: not for merge yet. Animations are intentionally parked; site aesthetics/vibe work will happen on a separate branch off
main.What’s in this branch (rebased onto current
main)docs/research-animations/(briefs, claim guardrails, design system, claims YAML)animations.css, frame-capture tool#B2182B)Intentional non-goals for this PR right now
Test plan
python3 -m http.server 8000from repo rootpublic/animations/dev/public/index.htmlstill has Capabilibara footer + SRI on CDN tags