ShurIQ Report StudioPhase 0 Research BriefSession 123
Motion Graphics for the ShurIQ Visual Grammar
A regulatory-grade reporting product can't sit still. Cavalry, Remotion, and the Stallion bridge turn the seven static primitives into a living vocabulary — and the Fiserv GTM brief is the first place we test it.
Authored2026-04-28
Surfaceclaude-code-terminal
StatusDraft · ideation
Test caseFiserv Prosperity GTM
§1 · Premise
Why this exists
ShurIQ reports already use static D3 panels for stack rankings, BPS pentagons, gap radar, and value-flow topologies. The Visual Grammar — seven primitives (entity-node, value-flow, event-marker, rubric-axis, gap, bridge, consensus-score) — was authored for print and web. The next layer encodes things print cannot.
State change between healthy → sub-optimal → critical.
Transition probability — "23% chance this rank drops next week."
Path traversal of a concept through a Business Model Canvas channel.
Variant batching — same composition, N reports, N spreadsheet rows, deterministic re-render per report version.
Cavalry (Scene Group, now Canva-owned, Pro free since April 2026) is the right authoring tool for the stylized layer: node graph, JS scripting, native Google Sheets feed, Dynamic Rendering across a CSV. Remotion complements it for code-only data overlays where determinism per report version matters more than aesthetic richness. Both can live in one pipeline.
The reader of a ShurIQ report should be able to read motion the way they read a sentence — every move means something specific, every transition encodes a claim, every variation is grounded in source data.
§2 · Tooling
Cavalry MCP — what to install in the morning
Two viable options exist (no published-to-Smithery yet, GitHub-only). Both ride on Stallion, Cavalry's official local HTTP server. Custom MCP work reduces to POST 127.0.0.1:8080/post with a JS payload — the surface is small.
Option
What it is
Use when
hralet1/ cavalry-assistant
Wraps the Stallion HTTP bridge plus a LanceDB index of 40,000 doc chunks + 270 community .cv files. Three tool surfaces: script execution, knowledge query, scene management.
Recommended. The semantic doc index lets Claude reason over real scene files while writing scripts.
Drop-in if cavalry-assistant setup hits friction — 30-minute install.
Setup sequence (morning, blocking)
Open Cavalry → confirm Stallion server is running (Window > Scripts > Stallion or via the Scenery.io VS Code extension).
git clone https://github.com/hralet1/cavalry-assistant && cd cavalry-assistant
Pull the prebuilt lancedb_public.zip from GitHub Releases, unzip into the repo.
claude mcp add cavalry-assistant node mcp/dist/index.js
Authorize Cavalry's Google Sheets asset for the Fiserv BMC sheet 1MzqAk…CZZZY (tabs: Lean Canvas, Full BMC, Temporal Canvas).
Clone jonnydubowsky/Canvalry-scripts into Cavalry's scripts folder (Help > Show Scripts Folder) — gets us Easey, Localiser, Renamer, Reduce Compositions.
Cavalry CLI was removed in v2.7+. If the local install is recent, headless render runs through Stallion only. If knowledge query won't start, Ollama isn't running — script execution still works.
§3 · Vocabulary
Visual Grammar × Cavalry mapping
Every motion artifact ShurIQ ships should be expressible as a composition of these moves. If a designer needs a new vocabulary item, it gets added to this table first — never invented at the artifact level.
Organized by analytical purpose. Every idea names the Cavalry technique that drives it. All build on existing Fiserv viz-hub viewports or BMC overlay data. The category letters (A–G) match the corresponding handoff-doc sections.
AState-change revealsDEEO Fragmented Image style
A·01BPS pentagon morph 46 → 80Pentagon collapses asymmetrically at current state, fragmentation reveal across each dimension as the new score lands.Fragmented Image + Spring stagger
A·02CEO transition dissolveBisignano portrait fragments via Duplicator-mask grid, new-leadership silhouette reassembles. Encodes the Project Elevate power vacuum.Fragmented Image (DEEO .cv)
A·03Stock-chart healthy-to-distressedLine chart fragments at peak (-73% drop point), reassembles around the floor. Caption with String Manipulator.Fragmented Image + Path Distribution
A·04Project Elevate logo collisionIBM and McKinsey logo blocks shatter the original Fiserv brand block; remnants drift outward.Boolean + Frame Oscillator
A·05Trust-collapse heatmap timeline36-month grid of cells dissolve from green → red along sentiment data.Duplicator grid + color-array driver
A·06Prosperity Index gauge fill850+ community-bank tiles cascade into a gauge as deposits route through StoneCastle.Duplicator + Spreadsheet utility
BBMC value-flow traversalsPathfinder behavior
B·07"Corporate Cash Sweep" path-traceParticle traces Customer Segments → Channels → Revenue Streams across the Full BMC.Pathfinder + custom path geometry
B·08StoneCastle Sankey from CSVCorporate treasuries → StoneCastle → 850 active community banks. Ribbon widths from $233B distribution.Pathfinder + Spreadsheet utility
B·09Decision-diamond gating revealCampaign engine 4-phase, particles route through diamonds based on threshold scores.Pathfinder + conditional Easey
B·109-block × 4-state cyclerNine BMC blocks cycle through Observation → Plan → Recipe → Missing, color and density per state from the Temporal Canvas tab.Duplicator grid + Spreadsheet utility
B·11"CEO sponsorship: Missing" bottleneckValue flow hits the one Missing entity, pulses red, releases when sponsorship arrives.Pathfinder + Frame Oscillator
B·12Top-down vs bottom-up channel forkSingle source node forks into influence-buyer (top) and market-economic (bottom) channels.Pathfinder + Path Distribution
CStack-rank dynamicsDuplicator + Index
C·13Bar-chart race Q1'24 – Q4'25Fiserv vs Stripe / Block / PayPal / Adyen / FIS BPS across eight quarters.Duplicator + Index + Spring stagger
C·14Rank-drop probability ticker"▼ 23% drop next week" sparkline appended to each row. Pulse intensity = probability.String Manipulator + Easey conditional
C·15Vertical shuffle on rank changeDisplaced rows slide with anticipation curves (Easey overshoot).Spring stagger + Easey
E·27Static-noise gap-fillGap edges show TV static; clears as evidence accumulates.Noise Shader + opacity binding
FVariant batchingDynamic Rendering
F·28Per-competitor stack-cardSix competitors, one MP4 each for LinkedIn carousel from a CSV.Dynamic Rendering + Spreadsheet utility
F·29Friday weekly BPS updateCron pulls latest scores, renders five dimension cards plus a composite.Dynamic Rendering + Sheets reload
F·30Per-stakeholder briefing cardJosh, Limore, Nuri each get a personalized brief. Name via String Generator. Action items from BMC sheet.Dynamic Rendering + String Generator
F·31Multi-language variantsLocaliser exports strings to CSV, translate, reimport for ES / PT for LATAM.Localiser script
F·32Per-bank Prosperity dashboardOne card per active community bank from an 850-row sheet.Dynamic Rendering at scale
GBrand power · pentagonSpring stagger + 3D Matrix
G·33Sequential-dimension pentagon arrivalScore lands dimension-by-dimension. Pentagon morphs as each lands.Spring stagger
G·34Dimension-weighted shakeWhen a dimension drags composite down, that vertex jitters.Frame Oscillator + Falloff
G·36Pentagon-to-pyramid 3D extrude2D pentagon extrudes per-dimension by evidence depth.3D Matrix
§5 · Dispatch
Eight inspiring prompts
Self-contained Claude Code prompts, each anchored to a Cavalry community technique pattern. Hand any of these to an agent post-MCP-setup. Greek letter naming (α–θ) keeps them dispatch-addressable.
α
BMC value-flow Pathfinder · the keynote demo
6s · 1080×1920
Build a Cavalry scene that animates the path of "Corporate Cash Sweep" through the Fiserv Prosperity BMC. Use Pathfinder behavior to trace a custom path connecting Customer Segments → Channels → Revenue Streams. Pull the BMC entities live from the Google Sheets asset (sheet 1MzqAk…CZZZY, Full BMC tab). Use Duplicator + Index Context to instance one entity-node primitive per BMC block, sized via sqrt(degree). Background #FAF8F5. Edge opacity 0.04–0.15. Render via Stallion to motion-graphics/renders/01-cash-sweep.mp4.
β
Pentagon BPS reveal · the foundation demo
5s · 1080×1080
Animate the Fiserv Brand Power Score pentagon. Five dimensions (Awareness, Trust, Mission, Differentiation, Loyalty) arrive sequentially with Easey anticipation curves. When all five land, pentagon settles to its asymmetric 46/100 final shape. Use Text Shape + String Generator for the score label. Add dimension-weighted jitter on Trust (the dimension dragging composite down). ShurIQ palette: cobalt #2451B7, warm #FAF8F5, critical #D63B3B.
γ
Stack-rank race · the variant-batching test
12s · 1920×1080
Bar-chart race between Fiserv, Stripe, Block, PayPal, Adyen, FIS over eight quarters (Q1 2024 → Q4 2025). Pull data from CSV with quarter, company, bps columns. Duplicator + Index Context spawns one bar per company. Per-quarter pose change via Spring stagger. Each bar carries a String Generator label of its current score. Cobalt for Fiserv, neutral grays for competitors.
δ
StoneCastle Sankey
15s · 1920×1080
Build a Cavalry Sankey from corporate treasuries → StoneCastle network → 850+ community banks. Source-target-value triplets in CSV. Use Pathfinder to draw flow ribbons. Path Distribution for particle density along each ribbon (density = $ value). Show $233B cumulative arriving with a String Manipulator count-up.
ε
Negative-space constellation
20s · 1920×1080
Cluster-by-cluster reveal of the Fiserv negative-space graph (70 nodes, 180 edges, 8 clusters, modularity 0.66). Use Smart Folder asset for SVG node files. Stagger the cluster reveals. Edges fade in at opacity 0.04–0.15. String Generator labels each cluster as it appears. Background #FAF8F5.
ζ
Fragmented CEO transition
8s · 1080×1080
Adapt DEEO-STUDIO-Fragmented-Image.cv to depict the Fiserv CEO transition. Bisignano photograph fragments via Duplicator-mask grid; per-cell offsets animate outward; new-leadership placeholder silhouette reassembles inward. Caption strip with String Manipulator: "Project Elevate · Q4 2025 → Q1 2026".
η
Per-stakeholder briefing batch
batch · 1080×1920
Use Dynamic Rendering + Spreadsheet utility to render personalized motion briefs from the Fiserv BMC sheet. Composition: title strip with stakeholder name (String Generator), three action-item bars (Duplicator), BPS pentagon, sign-off frame. One render per row (Josh, Limore, Nuri). Output briefing_<firstname>.mp4.
θ
Probability ticker
4s loop · 1080×1080
Build a Cavalry composition that adds a probability ticker to a stack-rank row. Each row reads "▼ N% chance of rank drop next week" with pulse intensity = probability. String Manipulator formats the percentage. Drive from CSV column drop_probability. Use Easey conditional curves for the pulse.
§6 · Execution
The morning agent batch
Four agents. One blocking, three parallel. The goal is one usable MP4 from each parallel agent before lunch — proves the toolchain end-to-end.
Each tests a different axis of the toolchain. β is pure motion authoring. α is live Google Sheets integration. γ is Dynamic Rendering variant batching. If all three render successfully, the next thirty-three ideas are mechanical.
Skip ζ (fragmented CEO) until afternoon — it requires the DEEO .cv reference to be downloaded first and is more visually adventurous. Better as a Phase 2 stretch demo once the foundation is verified.
§7 · Pipeline split
Cavalry × Remotion — the right split
Cavalry and Remotion solve adjacent problems with opposite philosophies. Both can render variant batches from data; they earn different jobs in the same pipeline.
Does cavalry-assistant's LanceDB index include the Easey / Localiser community scripts, or only Cavalry's own docs? If only docs, Phillip Tibballs scripts need separate indexing.
Stallion's HTTP surface — is there a rate limit or queue depth that matters for a 36-prompt batch?
Cavalry CLI was removed in v2.7+. If the install on this machine is ≥ 2.7, the headless-render path becomes Stallion-only. Check version on startup.
Google Sheets asset auth: needs OAuth via Cavalry's built-in flow, separate from gws-cli. Confirm which Google account owns the BMC sheet.