| Background |
brief |
🟢 active |
2026-09-11 |
Feature page introducing background as a new derived-layout layer type whose box is computed as the union of other layers. |
| Brand Style Tokens |
brief |
🟢 active |
2026-09-11 |
Feature page replacing literal colour and font values with named brand-style-role references so a brand's palette has one home. |
| Cues |
brief |
🟢 active |
2026-09-11 |
Feature page defining named time-landmark cues, split into an early cheap addressing primitive and a later full authored cue/retiming system. |
| Example: 50% Off — Audio |
brief |
🟢 active |
2026-09-11 |
Worked JSON example for the 50% Off Audio category-discount component (manifest row 13). |
| Example: Betta Buys Cashback |
brief |
🟢 active |
2026-09-11 |
Worked JSON example for the Betta Buys Cashback component (manifest row 12), three flush equal-width stacked blocks. |
| Example: Black Friday banner |
brief |
🟢 active |
2026-09-11 |
Worked JSON example for the Black Friday banner component (manifest row 01), covering flow layout, rotation, and staggered wipe/pulse animation. |
| Example: Bonus Cashback sticker |
brief |
🟢 active |
2026-09-11 |
Worked JSON example for the Bonus Cashback sticker component (manifest row 09), a compact two-row cashback sticker layout. |
| Example: Bonus Cashback, full stack |
brief |
🟢 active |
2026-09-11 |
Worked JSON example for the Bonus Cashback full-stack component (manifest row 05), three tilted panels plus small print. |
| Example: Bonus Cashback, no value |
brief |
🟢 active |
2026-09-11 |
Worked JSON example for the Bonus Cashback no-value component (manifest row 06), the simplest two-panel member of the cashback family. |
| Example: Bonus Cashback, red flash |
brief |
🟢 active |
2026-09-11 |
Worked JSON example for the Bonus Cashback red-flash component (manifest row 07), bare text and panel rows over a coloured scene background. |
| Example: Bonus Cashback, three tier |
brief |
🟢 active |
2026-09-11 |
Worked JSON example for the Bonus Cashback three-tier component (manifest row 08), a yellow/red/yellow panel stack with a footnote. |
| Example: Boxing Day banner |
brief |
🟢 active |
2026-09-11 |
Worked JSON example for the Boxing Day banner component (manifest row 02), three tilted stacked panels with staggered wipe-in. |
| Example: Energy Rating badge |
brief |
🟢 active |
2026-09-11 |
Worked JSON example for the Energy Rating badge component (manifest row 18), the smallest possible single swappable-image document. |
| Example: Footy Finals banner |
brief |
🟢 active |
2026-09-11 |
Worked JSON example for the Footy Finals banner component (manifest row 04), a label-over-hero panel pair with drop shadow and pulse. |
| Example: Home Appliance Cashback |
brief |
🟢 active |
2026-09-11 |
Worked JSON example for the Home Appliance Cashback category tab component (manifest row 10). |
| Example: Price + Product v2, price and saving |
brief |
🟢 active |
2026-09-11 |
Worked JSON example for the Price + Product v2 price-and-saving component (manifest row 16), a straight-discount two-part module. |
| Example: Price + Product, before / after cashback |
brief |
🟢 active |
2026-09-11 |
Worked JSON example for the Price + Product before/after-cashback component (manifest row 15), fixed-width stacked price boxes. |
| Example: Product description and code |
brief |
🟢 active |
2026-09-11 |
Worked JSON example for the product description and code component (manifest row 17), a left-aligned content-hugging text stack. |
| Example: Red Hot Summer Sale |
brief |
🟢 active |
2026-09-11 |
Worked JSON example for the Red Hot Summer Sale component (manifest row 03), a five-panel tilted column with staggered wipes. |
| Example: Sale — Up To 30% Off |
brief |
🟢 active |
2026-09-11 |
Worked JSON example for the Sale Up To 30% Off component (manifest row 14), two oppositely-tilted red panels. |
| Example: Spend and Get |
brief |
🟢 active |
2026-09-11 |
Worked JSON example for the Hisense Spend and Get partner-lockup component (manifest row 11). |
| Example: plain text |
brief |
🟢 active |
2026-09-11 |
Worked JSON example for a bare, content-sized typed-text component with no background panel. |
| Example: the catalogue cover and phone |
brief |
🟢 active |
2026-09-11 |
Worked JSON example for the catalogue cover-and-phone component (manifest row 20), two pinned/positioned swappable images. |
| Example: the catalogue flag |
brief |
🟢 active |
2026-09-11 |
Worked JSON example for the catalogue Out Now flag component (manifest row 19), a pennant shape dropping in from the canvas edge. |
| Example: the discount lockup |
brief |
🟢 active |
2026-09-11 |
Canonical worked example, the discount lockup, written as JSON touching most of the system's features at once. |
| Example: the free-form text box |
brief |
🟢 active |
2026-09-11 |
Worked JSON example for a free-form fixed-size text box component that wraps typed copy inside an authored panel. |
| Examples |
brief |
🟢 active |
2026-09-11 |
Index page for the worked examples section, rebuilding all 22 Betta catalogue components as pure JSON against this brief's schema. |
| Foundations: Coordinate System & Sizing |
brief |
🟢 active |
2026-09-11 |
Foundations page defining the real-pixel coordinate system, sizing, anchors and bounds vocabulary shared by layout and background. |
| Foundations: Expressions |
brief |
🟢 active |
2026-09-11 |
Foundations page introducing a single small expression-string primitive to unify four previously-bespoke computed-number mechanisms. |
| Foundations: Pipeline & Architecture |
brief |
🟢 active |
2026-09-11 |
Foundations page mapping the pipeline surfaces touched (schema, compositions engine) shared across every feature. |
| Foundations: The Motion Graph |
brief |
🟢 active |
2026-09-11 |
Foundations page describing the motion graph, the node/edge mechanism every layer reads its resolved transform from during Animate. |
| Keyframe Animation |
brief |
🟢 active |
2026-09-11 |
Feature page generalizing motion into a per-property keyframe timeline, with named animations as the authoring unit and cues as the addressing mechanism. |
| Positioning — Layout Modes (Absolute, Flow, Pin) |
brief |
🟢 active |
2026-09-11 |
Feature page defining the four layout modes (absolute, flow, pin, derived) as a discriminated union on layout.mode. |
| Price |
brief |
🟢 active |
2026-09-11 |
Feature page unifying currency, percent, unit and decimal formatting into one number-run style built on Intl.NumberFormat. |
| Resolver Engine — Design Brief |
brief |
🟢 active |
2026-09-11 |
Overview and status page for the Resolver Engine design brief, covering scope (pipeline, price/background, keyframe animation) and what's actually built today. |
| Text Foundation |
brief |
🟢 active |
2026-09-11 |
Feature page for the text engine, the one already-built-and-tested foundation (solve/animate modules, rich-text wrap/shrink solver, typography units) the rest of the brief treats as trusted. |
| references |
brief |
🟢 active |
2026-09-11 |
References page listing what this brief supersedes or extends and which bespoke components it retires or migrates. |
| schema-version-gating |
brief |
🟢 active |
2026-09-11 |
Foundations page documenting the decision to ship this delivery as a permanent explicit two-pipeline fork gated on schemaVersion rather than a live migration. |