AU-TECH / idea dossier

Counterweight Choir

Swap chunky weights across a hanging sculpture in the right physical order, opening the hooks you need until every beam clicks into its pictured target pose.

Current state
Pipeline stage
Advisory score
Package

Market evidence

Claims, not guesses.

Open a claim to inspect its source, freshness, confidence, counter-evidence, and known unknowns.

Game design document

Player promise

UX flow

Every player-facing state.

Visual direction

World language.

The written Art Bible and visual brief establish the intended style; visual QA is reported separately.

Visual brief

Design language

Art Bible

Art direction

Validation

What machines checked.

Structural checks never claim subjective art quality. Visual acceptance is an independent, hash-bound review.

Source package

Manual Codex gate

Review decisions happen outside this website.

This page only visualizes the current package. Review the implementation board and full-resolution frames in Codex, then record accept, revise, or reject against the exact package hash before any prototype work.

Immutable snapshots

Version history.

Complete dossier text Markdown · JSON

Overview

Title
Counterweight Choir
Pitch
Swap chunky weights across a hanging sculpture in the right physical order, opening the hooks you need until every beam clicks into its pictured target pose.
State
prototype-live
Pipeline stage
Gate 10
Advisory score
69 / 100
Score confidence
80 / 100
Evidence integrity
75 / 100
Run
2026-08-pipeline-flow-test-en-us
Current revision
7
Prototype
/games/counterweight-choir/
Render mode
2.5d
Orientations
portrait
Camera
Fixed orthographic front elevation of a tall, credible hanging kinetic sculpture inside a bright architectural gallery. Shallow 2.5D modeled depth, tension wires, hard daylight, and cast shadows communicate mass and clearance; no pan, zoom, orbit, perspective change, or hidden off-screen hook.
Controls
One finger presses a 64x64 or larger physical counterweight, drags it to a highlighted open hook, sees the exact settled ghost and future hook states, then releases to place or swap. Tap-select/tap-destination, mouse drag, and keyboard activation execute the same command. Standard levels keep seven to ten weights visible without shrinking interactive hit regions.
Tags
physical-counterweight-swap-and-order-puzzle, 2D, portrait
Updated
2026-09-05T10:30:34.826Z

Market evidence claims (7)

  1. Sensor Tower reports Puzzle IAP revenue above $4B in Q2 2026, up 17 percent year over year, and Puzzle as the only major game genre with positive year-over-year download growth at 1 percent.

    ID
    sensor-tower-q2-2026-puzzle
    Truth label
    REPORTED
    Kind
    market-report
    Source URL
    https://sensortower.com/blog/q2-2026-digital-market-index-report
    Retrieved
    2026-08-20T22:45:44.7159022Z
  2. Sensor Tower says multiple arrow puzzle titles scaled simultaneously and attributes appeal to simple rules, rapid retry loops, and short-form video creatives.

    ID
    sensor-tower-june-2026-puzzle-creative
    Truth label
    REPORTED
    Kind
    acquisition-report
    Source URL
    https://develop.sensortower.com/blog/top-10-worldwide-mobile-games-by-revenue-and-downloads-in-june-2026
    Retrieved
    2026-08-20T22:45:44.7159022Z
  3. Current US page shows the closest hanging-mobile product, 90 curated solver-verified puzzles, daily and endless modes, but only one visible rating.

    ID
    apple-poise-market
    Truth label
    CONFIRMED
    Kind
    competition-signal
    Source URL
    https://apps.apple.com/us/app/poise-a-balance-puzzle/id6788523588
    Retrieved
    2026-08-20T22:45:44.7159022Z
  4. Current US page sells moving weights to particular hooks and beam balance for $0.99 and lacks enough ratings for an overview.

    ID
    apple-weighting-game-market
    Truth label
    CONFIRMED
    Kind
    competition-signal
    Source URL
    https://apps.apple.com/us/app/weighting-game/id6745152557
    Retrieved
    2026-08-20T22:45:44.7159022Z
  5. Current US page advertises 150 levels, fixed and free-physics placement, distractors, locks, multiple beams, daily challenge, endless mode, and one visible rating.

    ID
    apple-fulcrum-market
    Truth label
    CONFIRMED
    Kind
    competition-signal
    Source URL
    https://apps.apple.com/us/app/the-fulcrum/id6760799324
    Retrieved
    2026-08-20T22:45:44.7159022Z
  6. Current US page shows a $4.99 premium authored order puzzle with 240-plus levels, 118 ratings, 4.8 stars, and Editors Choice.

    ID
    apple-railbound-premium
    Truth label
    CONFIRMED
    Kind
    monetization-signal
    Source URL
    https://apps.apple.com/us/app/railbound/id1636439801
    Retrieved
    2026-08-20T22:45:44.7159022Z
  7. Current US page shows a $5.99 authored puzzle with no ads or in-app purchases, supporting model existence but not this concepts conversion.

    ID
    apple-good-snowman-premium
    Truth label
    CONFIRMED
    Kind
    monetization-signal
    Source URL
    https://apps.apple.com/us/app/a-good-snowman/id1040930654
    Retrieved
    2026-08-20T22:45:44.7159022Z

Game design document

# Counterweight Choir โ€” Game Design Document v0.4 ## Source and Truth Labels This document is the owner-directed material revision of Counterweight Choir. It replaces the player-facing resonance-token and torque-notation design in v0.2. The instruction is preserved in `00-brief/revision-2026-08-21-hypercasual.md` and the realistic-continuity correction in `00-brief/revision-2026-08-21-realistic-continuity.md`. Rules and inventories below are design facts. Fun, demand, retention, revenue, and store acceptance remain hypotheses for later evidence gates. ## Player Promise and Audience Counterweight Choir is a portrait tactile order puzzle with hyper-casual readability and hybrid-casual content depth. In a 30-to-90-second level, the player drags realistic suspended counterweights between visible hooks, swaps occupied weights, and watches a linked hanging sculpture settle. Each placement may reveal or hide the hook needed next. The goal is to match the pictured sculpture within the move budget. Players never read formulas, torque values, signed angles, pitch bands, or token strings. The target audience is broad mobile puzzle players who understand sorting, swapping, and visual matching immediately but enjoy discovering a short sequence. The store promise is: "Swap the right weights in the right order and watch the whole hanging puzzle click into place." ## Design Pillars and Non-Goals - `P-TOUCH`: one weight drag is the only gameplay input. - `P-VISIBLE`: size, distance, target pose, reachability, and result are shown physically. - `P-ORDER`: a committed swap changes which later hooks are reachable, so sequence matters. - `P-HIERARCHY`: later levels link beams; one lower change visibly reposes several ancestors. - `P-FORGIVING`: unsafe previews bounce back, Undo restores the prior move, and Retry is instant. - `P-SATISFY`: snap, settle, hook reveal, target lock, and final ring create a clear reward. - `P-VARIETY`: six mechanic families and four tiers change the reasoning pattern, not only numbers. Non-goals are visible mathematics, resonance phrases, generic single-scale equality, free-running physics, timing, catching, accelerometer play, rhythm tapping, narrative branching, combat, gacha, base building, multiplayer, forced social play, and any hint that automatically performs a move. ## Player-Facing Fingerprint - Input: drag one visible weight from a tray or hook to a currently open hook; release to place or swap. - Decision: choose the replacement order that moves beams toward their targets and exposes later hooks. - Objective: match every authored target beam angle and required target socket before moves reach zero. - Failure: exhaust the move budget without completing the target; unsafe previews never commit. - State change: a swap changes one or two weight locations, settles the hierarchy, changes hook reachability, consumes one move, and leaves a new visible arrangement. - Progression: 60 levels, six mechanic families, four difficulty tiers, and increasingly linked orders. - Content: authored weight sets, target poses, hooks, gates, blockers, move budgets, and recovery routes. - Presentation: a bright architectural sculpture gallery with slender anodized beams, tension wires, realistic ceramic and metal counterweights, hard daylight, compact white/cobalt UI, and a dense seven-to-ten-weight hierarchy in standard levels. - Metagame: completed sculptures fill a gallery shelf; no power upgrades or paid solution bypass. ## Core Loop and Player Verbs 1. Read the target silhouette: each beam has a thick target arc and required hooks have matching outlines. 2. Inspect the available weights. Size is communicated by physical volume plus one, two, or three embossed dots. 3. `M-PICK`: press a weight in the tray or on an open hook. Legal destinations pulse. 4. `M-DRAG`: move the weight toward a legal hook. The source remains reserved. 5. `M-PREVIEW`: show the exact final sculpture as a translucent solid-color ghost, including target matches, newly open hooks, closed hooks, and the first clearance problem. No numbers appear. 6. `M-SWAP`: release. An empty destination receives the weight and leaves the source empty. An occupied destination exchanges the two weights. An unsafe or closed destination bounces the weight home. 7. `M-SETTLE`: animate affected beams from the edited beam upward in at most 500 ms. 8. `M-CHECK`: matched beams click into their target arcs. If all target conditions pass, complete the level. 9. Continue, `M-UNDO` the last committed move, or `M-RETRY` the authored setup. There is no separate commit button after drag. Tap-selection plus tap-destination and keyboard selection/activation execute the identical command for accessibility and desktop testing. ## Deterministic Rules ### Authored level data A standard level contains one rooted acyclic tree of two to six beams, seven to ten movable weights, zero to four tray slots, and six to sixteen hooks. FTUE and the first reading lesson may use four or five weights. A weight has stable ID, mass class 1, 2, or 3, shape, and color. A beam has stable ID, parent hook, integer hook coordinates from -3 through -1 and 1 through 3, allowed angle states, and an authored target angle. A hook may contain a weight, be empty, be a required final socket, or carry one reachability rule. Weight classes remain hidden resolver data; no weight face prints a numeral. Every level declares a move budget, mechanic family, difficulty tier, target state, and canonical solution. ### Hidden settle resolver The simulation uses integers but the UI never exposes the calculation. Leaves resolve before parents, with stable IDs breaking ties. Local moment is the sum of hook coordinate multiplied by weight mass plus each child's transmitted mass at its parent hook. Moment maps to five poses: strong-left, left, centered, right, or strong-right. The preview, commit, solver, replay, Undo record, and tests call the same pure resolver. Animation timing cannot affect a result. The player-facing result is communicated only through weight size, lever distance, beam motion, target arcs, hook halos, and ghost pose. An optional accessibility label may say "left side becomes heavier" or "upper beam tilts right"; it may not require arithmetic. ### Placement and swap A source is legal when it holds a movable weight and is currently reachable. A destination is legal when it is another currently open hook compatible with the weight. Dropping on an empty hook moves the weight. Dropping on an occupied hook swaps the two weights atomically. The displaced weight goes to the source; a tray source remains a tray destination. A drag back to source or outside a target cancels without mutation. ### Reachability and correct order A hook has one of four readable states: open, target, closed by shutter, or blocked by another element. An authored `openWhen` rule may reference the current pose of its own beam, its parent, or one stable blocker. Reachability is evaluated before the move. A committed move settles the sculpture and then recalculates reachability for the next move. Therefore a player may need to place a heavy weight temporarily, open a higher hook, perform the important swap, then recover the temporary weight. No hidden timer, randomness, or arbitrary sequence flag controls order. One-way hooks accept a weight only from the tray or from the arrow direction shown on the beam. Reveal shutters physically slide away when open. Fragile clearance zones reject a preview if a final weight or beam overlaps the outlined glass zone. These rules always have visible geometry. ### Target, move budget, Undo, and terminal states After settling, a beam matches when its angle state equals its thick pictured target arc. A required target socket matches when it contains the specified mass class or shape, according to a nonnumeric silhouette and dot/shape motif on the target card. Success requires all declared beam and socket targets simultaneously. The final correct move consumes one move and then completes the level. Every safe committed move consumes exactly one move. Unsafe, closed, cancelled, or invalid drops do not. Undo restores the exact prior weight positions, beam poses, hook states, remaining moves, and terminal state; it is available once per committed step back to the initial state. Undo refunds that move and records no grade advantage. At zero moves, an incomplete level enters failure and offers Undo or Retry. Retry restores the authored setup. Reload starts FTUE and Level 1 fresh with no gameplay persistence. ### Determinism and tie-breaking If several rules fail, report closed destination before direction, clearance, boundary, then invalid target data. Within a category use beam depth followed by stable entity ID. No floating-point physics, random seed, frame time, tween completion, device speed, or pointer path affects state. ## Failure, Consequence, and State Change Closed hooks show a solid shutter and short "Open this first" label. Unsafe previews outline the decisive collision or boundary and bounce back on release without spending a move. A safe but poor swap commits, changes the sculpture, may close a later hook, and consumes one move. This is the core consequence: the player can see why their order created or removed an opportunity. At zero moves, the sculpture remains visible with unmatched target arcs and offers Undo and Retry. There is no punishment animation, currency loss, energy loss, or forced ad. Success locks each beam to its target in leaf-to-root order, rings the bells once, displays moves versus par, and advances. ## Progression and Content Grammar Launch content is 60 solver-verified levels. Adjacent levels may not share a canonical route signature. No family may exceed 20 percent of the campaign. - `F-SIMPLE-SWAP` (10): one beam, size/distance reading, empty placement, then occupied swaps. - `F-LINKED-BALANCE` (10): two and three linked beams where one lower change reposes an ancestor. - `F-REVEAL-HOOK` (10): target hooks open only in visibly authored beam poses. - `F-ONE-WAY` (10): arrow hooks constrain which replacement may happen first. - `F-CLEARANCE` (10): outlined glass zones reject specific heavy-weight routes. - `F-RELAY-ORDER` (10): combine temporary placements, reveal, swap, and recovery in short sequences. Four tiers control solution depth and branching: - `T1-READ`: one to two moves, one beam, no dead-end after a safe move. - `T2-SWAP`: two to four moves, occupied replacements and one linked consequence. - `T3-ORDER`: three to six moves, one reveal or one-way dependency and recoverable wrong orders. - `T4-MASTERY`: four to eight moves, two linked dependencies across at least two mechanic families. The offline solver enumerates legal swaps, rejects unreachable targets, stores canonical shortest routes, requires at least one solution within budget, records state count and branching, and proves adjacent route signatures differ. The first 36 levels require unique shortest solutions. Later levels may permit intentional alternatives but must keep different first-two-move signatures. ## State and Content Inventory Mechanics: `M-PICK`, `M-DRAG`, `M-PREVIEW`, `M-SWAP`, `M-SETTLE`, `M-CHECK`, `M-UNDO`, `M-RETRY`. Entities: `E-BEAM`, `E-PIVOT`, `E-HOOK`, `E-WEIGHT-1`, `E-WEIGHT-2`, `E-WEIGHT-3`, `E-TRAY`, `E-SHUTTER`, `E-ONEWAY`, `E-GLASS`, `E-TARGET-ARC`, `E-BELL`. Runtime states: fresh, selected, dragging, preview-safe, preview-blocked, settling, hook-reveal, target-match, active, success, failure, paused, loading, error, disabled, and interrupted. Screens: onboarding, gallery home/level select, gameplay, pause, success, failure, settings, accessibility, legal, and recoverable error. ## First Session and FTUE Every visit and reload opens FTUE from step one. 1. Goal: show a one-beam sculpture beside its thick target arc and say "Make the beam match the picture." 2. Input: highlight the large two-dot weight and an open hook. The player performs the real drag. 3. Result: while dragging, the whole target ghost moves and the destination shows "This opens the top hook." 4. Commit: release performs the real swap, settles the beam, opens the hook, and completes the first core action. 5. Order: a second guided swap uses the newly opened hook and completes Level 1. FTUE can be skipped before interaction and replayed from the visible How to Play control. The game shell is inert while the explanation is open. Skip enters Level 1. No FTUE or gameplay state persists. ## Economy and Monetization Boundaries The evaluation build has no ads, shop, currency, energy, consumable hint, paid solution, streak loss, push notification, or purchase gate. Market analysis may recommend a later business-model test, but monetization cannot alter the deterministic level result. If retention is proven, the first test is either rewarded visual guidance after two voluntary retries or a one-time ad-free/full-gallery purchase. Never sell automatic solutions. Interstitial frequency, pricing, willingness to pay, and ad tolerance remain unknown until observed tests. ## UX, Accessibility, Audio, and VFX The complete sculpture, target card, move count, Undo, and Retry remain visible in portrait play. Weights are at least 64 by 64 logical pixels; other controls are at least 48 by 48. Safe areas cannot crop a beam or hook. Back cancels a drag, then opens Pause. Rotation pauses and asks for portrait. Mass uses volume plus one, two, or three embossed dots. Hook state uses geometry, icon, outline, and short label as well as color. Target arcs use thick silhouettes. Screen-reader summaries name the selected weight size, source, destination, affected beams, newly opened/closed hooks, target matches, and remaining moves. Text scales to 150 percent without covering the sculpture. Pickup uses a porcelain/metal tick, preview uses a restrained cable hum, swap uses a double clack, settling uses a descending mechanical sequence, hook reveal uses a latch, and success rings the sculpture once. Reduced motion replaces rotations with a 100 ms before/after crossfade and stepped highlights. No flashes, screen shake, continuous sway, or sound-only information are allowed. ## Technical Constraints Target mid-tier 2019 iOS and Android phones at 60 fps with 30 fps fallback, under 150 MB installed, under 250 MB peak memory, and under 128 MB texture residency. Use authored integer JSON and a pure resolver shared by preview, commit, solver, Undo, replay, and tests. A canonical state hash includes level ID, sorted weight locations, beam poses, hook states, remaining moves, history depth, and terminal state. The game is offline-first with no backend or runtime generation. Settings, consent, and optional entitlement may persist; FTUE completion, level progress, board state, moves, results, and gallery completion do not persist in the factory prototype. ## Risks, Falsifiers, and Acceptance Criteria Primary risks are that the game collapses into generic equal-scale puzzles, target silhouettes reveal answers, correct order feels arbitrary, linked movement becomes visually noisy, or 60 levels repeat the same swap pattern. Revise if fewer than 8 of 10 unfamiliar players can explain the goal without reading a paragraph, fewer than 7 can predict which hook opens after FTUE, or fewer than 6 request another level. Reject the concept if the order dependency requires hidden rules, if fewer than four mechanic families produce distinct solver route signatures, or if live comparables already deliver the same reachability-changing hierarchical swap loop as their dominant product. Acceptance requires byte-identical preview and commit, visible reason for every hook state, no formula/token UI, exact Undo, 60 reachable levels, six families, four tiers, maximum 20 percent per family, different adjacent route signatures, 36 unique shortest routes, mobile no-scroll at 390x844, desktop/touch/keyboard parity, 150 percent text, reduced motion, non-color cues, fresh FTUE on reload, and no gameplay persistence. Prototype testing must complete representative recovery and all solver-authored level routes before technical sign-off. ## Fantasy, Promise, Audience, and Genre Restore a realistic hanging kinetic sculpture by swapping visible dot-marked weights in the right physical order. The audience is broad portrait-mobile puzzle players; the genre is hypercasual-readable spatial/order puzzle with authored hybrid-casual depth. ## Design Pillars Touchability, exact consequence preview, order-changing hook access, whole-board readability, forgiving recovery, and solver-enforced variety are mandatory. ## Camera, Dimension, and Controls Portrait 2.5D fixed orthographic front elevation. One-finger drag or tap-select/tap-destination performs place or occupied swap; no pan, zoom, orbit, tilt, timing, or hidden off-screen action. ## Difficulty, Progression, and Economy Sixty authored solver-verified levels span six capped families and four tiers. Progress comes from new action-graph consequences, not larger numbers. There is no power economy. ## Monetization Constraints The evaluation build is ad-free and currency-free. Any later rewarded guidance, ad removal, or full-gallery purchase must be separately tested and cannot block owned play or sell solution power. ## UX and Accessibility The entire sculpture, compact pictured target, moves, tray, Undo, and Retry stay on one screen. Size plus dots, hook geometry plus labels, scalable text, reduced motion, haptics, screen-reader summaries, and tap parity repeat critical state. ## Audio and VFX Porcelain taps, metal clicks, shutter slides, restrained settle motion, full-pose ghost, hook-change pulse, target stamps, and one completion bell reinforce visible causality without musical token notation or casino spectacle. ## Analytics and Technical Constraints Offline-first JSON levels use one deterministic integer resolver shared by preview, commit, Undo, solver, replay, and tests. Optional consented analytics never gates play. Target 2019 mid-tier phones, 60 fps with 30 fps fallback. ## Risks and Falsifiers Reject or revise if occupied swaps rarely change future hook reachability, unfamiliar players describe only generic balancing, route families collapse into coordinate variants, the target reveals the entire move order, or the first two real moves fail to teach reveal causality. ## Acceptance Criteria The FTUE shows an occupied swap opening the next hook; at least four families alter the legal-action graph; every level is solver-verified with Undo; ten-player testing reaches the defined comprehension gates; no visible equation, torque label, resonance token, phrase rail, or generic balance-only objective remains. ## Realistic Visual Continuity Contract Standard gameplay frames show a credible gallery-scale mobile with two to six slender beams and seven to ten visible counterweights. Materials read as anodized aluminum, tension cable, porcelain, brushed steel, clear acrylic, plaster, and concrete under directional architectural daylight. The compact interface uses warm white panels, graphite text, and restrained cobalt action color. The earlier soft candy-toy treatment is explicitly rejected. Visual continuity with the prior Counterweight Choir generation is owner-requested; only its mathematical and resonance presentation is removed.

UX flow

# Counterweight Choir v0.3 โ€” UX Flow ## Experience rule Every screen reinforces the same promise: swap a visible weight, watch the sculpture move, reveal the next hook, and match the picture. Mathematics and resonance notation never appear. ## First visit A three-job FTUE opens from step one on every visit and reload. It states the pictured-pose goal, requires a real drag or tap swap, and shows the resulting hook reveal plus success/failure recovery. The shell remains inert while explanation panels are open. Skip enters the same Level 1 and How to Play replays the flow during the current visit. ## Home and level path Home is a compact gallery archive, not a large marketing hero. Continue is the dominant thumb-reachable action. Six chapter tabs expose ten levels each. Available, current, completed, and locked levels use icon, silhouette, label, and color. There is no login, approval, backend status, currency, shop, daily reward, or false progress persistence in the factory prototype. ## Gameplay layout - Top safe band: Back/Pause, level number, moves, and one compact target silhouette card. - Center: the complete front-elevation sculpture with every hook and target arc visible. - Bottom reach band: compact staging tray, Undo, Retry, and How to Play; most weights remain suspended in the sculpture. - Transient feedback sits beside the affected hook, never in a detached log or formula panel. A selected weight enlarges slightly. Open destinations pulse; occupied destinations show a swap badge; closed shutters stay physically solid. The exact settled ghost appears while dragging. Release is the commit. No second confirmation button duplicates the gesture. ## Settle and order feedback After a swap, affected beams settle leaf-to-root, then shutters visibly open or close. The newly changed hook receives one short label: Open now or Closed. Target arcs click independently so the player can read progress without a score calculation. Reduced motion shows the same states as stepped before/after frames. ## Undo, failure, and recovery Undo restores the previous atomic state and refunds its move. Unsafe destinations bounce back and cost nothing. At zero moves the current arrangement remains visible with unmatched arcs highlighted. Failure offers Undo, Retry, and Home. Retry is immediate and restores authored data. No energy, ad, currency, or punishment interrupts recovery. ## Success All matched target arcs lock leaf-to-root, the bell rings once, and a small result sheet shows moves versus par and shelf progress. Next is primary; Replay and Home are secondary. No invented chest, currency, star shower, or power upgrade appears. ## Pause, settings, accessibility, and legal Pause freezes the stable state and offers Resume, Restart, How to Play, Settings, and Home. Settings contains audio, haptics, text size, reduced motion, tap alternative, consent, restore purchase if later applicable, support, legal, and reset. Accessibility previews every change against a sample weight/hook. Legal content is cached and always has a local Back route. ## Back, interruption, orientation, and errors Back cancels a drag, otherwise opens Pause; submenu Back returns one level. An OS interruption cancels an uncommitted drag or restores the last atomic settle, then pauses. Landscape rotation pauses and asks for portrait without reflowing an active decision. Corrupt local level data names the problem and returns Home; optional network or analytics failure never blocks play. ## Safe areas, reachability, and focus The target card and tray respect top/bottom insets. The sculpture receives the remaining height and may scale uniformly but never crop. Gameplay targets are 64x64 minimum and navigation 48x48. Focus follows target, moves, sculpture, tray, actions, and navigation. Overlays trap and restore focus. Drag, tap, mouse, Enter/Space, screen reader, reduced motion, 150 percent text, and non-color cues all reach the same deterministic result. ## Screen Inventory Nine portrait screens are locked: onboarding, home/level path, gameplay, pause, success, failure, settings, accessibility, and legal. IDs and purposes are authoritative in screen-inventory.json. ## State Inventory Fresh, selected, dragging, safe preview, blocked preview, settling, hook reveal, target match, paused, success, failure, error, loading, disabled, and interrupted states are explicit and recoverable. ## Transitions and Back Behavior Onboarding leads to Home; Home chooses Gameplay; gameplay moves through selection, preview, settle, reveal, and target check. Platform back cancels an uncommitted drag, closes the top overlay, or opens Pause; it never silently loses progress. ## Overlays, Loading, and Errors Pause and outcome sheets retain visible context and trap focus. Loading shows noninteractive sculpture silhouettes. Errors state what remains safe and offer Retry or local Home without login or backend controls. ## Orientation and Safe Areas Portrait only, 360x800 through 430x932. Safe-area insets move the target and tray inward without cropping beams, hooks, weights, Undo, or Retry. ## Touch and Reachability Weights and hooks are at least 64x64 logical pixels; navigation is at least 48x48. Drag and tap-select/tap-destination are equivalent and all gameplay remains within the portrait thumb plan. ## Accessibility Matrix Mass uses volume plus dots; hook state uses geometry, icon, outline, label, and speech; motion can step; type reflows to 150 percent; haptics are optional; screen-reader summaries and Previous/Next Effect controls expose causal changes. ## Realistic Density Rule FTUE may use four or five weights for instruction. Standard gameplay screens show seven to ten visible counterweights across two to six slender beams, matching the previous generation's rich mobile silhouette while preserving 64x64 interactive hit regions through spacing, invisible hit extensions, and focus navigation. No numeric mass labels, M/H bands, token strip, or calculation panel occupies the screen.

Visual brief

# Counterweight Choir Visual Brief v0.4 Run: 2026-08-pipeline-flow-test-en-us Concept: counterweight-choir ## Decision Status Selected after owner revision: realistic visual continuity with the previous Counterweight Choir generation. Preserve the bright architectural gallery, tall metal mobile, fine suspension wires, real counterweight materials, and compact white/cobalt UI. Remove only the old mathematical and resonance abstraction. The soft candy-toy v0.3 package is rejected. ## Visual Pillars 1. Real physical sculpture: credible aluminum, cable, porcelain, stone, steel, acrylic, plaster, and concrete. 2. Dense readable hierarchy: standard levels visibly carry seven to ten counterweights across two to six slender beams. 3. Physical consequence, not calculation: pose ghost, swap path, shutter state, and target arcs explain the result. 4. Architectural clarity: hard daylight, crisp shadows, neutral gallery surfaces, and compact panels frame the mobile. 5. Prior-generation continuity: match its premium realism while deleting numeric mass labels, M/H bands, phrase tokens, and calibration UI. ## Camera and Topology Fixed portrait orthographic front elevation at 360x800 logical size. The tall complete mobile occupies the center with shallow modeled depth, credible tension wires, ring hooks, and cast shadows. No pan, zoom, orbit, perspective change, or hidden off-screen hook. FTUE may use four or five weights; standard gameplay uses seven to ten. ## Palette and Contrast Warm gallery white #F4F1E8, plaster #E4E1D8, anodized silver #A8ADB3, graphite #292D31, cobalt #1557FF for action, and small lime #B7D62E match accents. Counterweights use believable muted porcelain, stone, steel, and one restrained cobalt selection object. State repeats through outline, geometry, icon, label, and speech. ## Shape, Material, and Type Slender straight metal beams, fine cables, ring hooks, compact cylinders, teardrops, discs, and stone spheres replace oversized blobs. Weight class is visible through scale, silhouette, surface, and one/two/three separate embossed dots, never printed numerals. Type is a neutral modern grotesk with narrow uppercase headings, clean body copy, and tabular move/level counts. ## UI and Motion Compact warm-white acrylic panels, thin graphite rules, cobalt primary actions, small target-pose card, moves, Undo, Retry, and a staging rail surround the central sculpture. Safe preview shows the exact settled whole-mobile ghost, displaced swap, target changes, and future shutter state. Settle finishes within 500 ms; reduced motion uses stepped before/after states. ## References and Anti-References Primary reference is the committed v0.2 Counterweight Choir visual generation: realistic bright gallery, tall hierarchy, slender metal, cable, hard daylight, and white/cobalt panels. Anti-reference within it: numbers printed on weights, torque diagrams, signed angles, M/H/L bands, resonance token strip, phrase progress, calibration ticks, and technical diagnostics. Also reject the soft candy-toy v0.3 package, bubbly landscape footers, rubber blobs, dark navy/cyan factory defaults, papercraft, and magical bloom. ## Accessibility Physical size plus embossed dots repeats mass; open/closed hooks use different geometry plus labels; target arcs use outline plus stamps. Support high contrast, reduced motion, 100/125/150 percent type, optional haptics, screen-reader consequence summaries, and tap-select/tap-destination parity. Gameplay targets remain at least 64x64 through invisible hit extensions. ## Prompt Plan Use one realistic gameplay master derived from the previous generation, then generate state matrix, onboarding, home, pause, success, failure, settings, accessibility, and legal/error companions. Every standard gameplay frame contains seven to ten physical weights. The deterministic boards supply exact explanatory copy after image generation. ## Traceability Registry - SCR-ONBOARDING - SCR-HOME - SCR-GAMEPLAY - SCR-PAUSE - SCR-SUCCESS - SCR-FAILURE - SCR-SETTINGS - SCR-ACCESSIBILITY - SCR-LEGAL - ST-FRESH - ST-SELECTED - ST-DRAGGING - ST-PREVIEW-SAFE - ST-PREVIEW-BLOCKED - ST-SETTLING - ST-HOOK-REVEAL - ST-TARGET-MATCH - ST-PAUSED - ST-SUCCESS - ST-FAILURE - ST-ERROR - ST-LOADING - ST-DISABLED - ST-INTERRUPTED - M-PICK - M-DRAG - M-PREVIEW - M-SWAP - M-SETTLE - M-CHECK - M-UNDO - M-RETRY - E-BEAM - E-PIVOT - E-HOOK - E-WEIGHT-1 - E-WEIGHT-2 - E-WEIGHT-3 - E-SHUTTER - E-ONEWAY - E-GLASS - E-TARGET-ARC - E-BELL - E-TRAY - ENV-SCULPTURE-GALLERY - ENV-GALLERY-ARCHIVE - ENV-ARCHITECTURAL-BACKDROP - UI-TARGET-CARD - UI-MOVE-COUNT - UI-WEIGHT-TRAY - UI-HOOK-BADGE - UI-PRIMARY - UI-FROST-SHEET - UI-LEVEL-PATH - UI-HOW-TO - UI-SETTING-ROW - UI-ERROR-SHEET - UI-LEGAL-LIST - A-COLOR - A-MOTION - A-TEXT - A-HAPTIC - A-READER - A-TAP - V-GHOST - V-HOOK-CHANGE - V-BOUNCE - V-TARGET-LOCK - V-SETTLE - V-SUCCESS

Art Bible

# Counterweight Choir Art Bible v0.4 Run: 2026-08-pipeline-flow-test-en-us Concept: counterweight-choir Status: machine candidate awaiting independent owner review. ## Gameplay Frames The authoritative master presents a four-beam gallery mobile with nine visible physical counterweights, compact target pose, six moves, pause, Undo, Retry, open ring hooks, one shuttered hook, selected weight, exact settled ghost, swap path, and staging rail. The state matrix shows selected, safe swap, and blocked states while retaining the same dense realistic hierarchy. No calculation or resonance UI appears. ## Entities E-BEAM is slender anodized aluminum; E-PIVOT is an oversized bearing without degree ticks; E-HOOK is a metal ring/open hook; E-WEIGHT-1, E-WEIGHT-2, and E-WEIGHT-3 use believable physical size/material plus separate embossed dots without numerals; E-SHUTTER is a real louvered cover; E-ONEWAY uses asymmetric geometry; E-GLASS has clear edge reflections; E-TARGET-ARC is a thick non-calibrated pose outline; E-BELL rings once only on success; E-TRAY is a compact acrylic/metal staging rail. ## Environments and Objects ENV-SCULPTURE-GALLERY is a tall white display bay inside a credible contemporary gallery. ENV-GALLERY-ARCHIVE contains sixty sculpture positions across six rows plus solved thumbnails. ENV-ARCHITECTURAL-BACKDROP supplies high windows, plaster, pale concrete, distant abstract wall art, and directional daylight without distracting from interaction. ## UI, HUD, and Icons UI-TARGET-CARD is a compact pose thumbnail, never an answer sequence. UI-MOVE-COUNT remains large and tabular. UI-WEIGHT-TRAY is a low staging rail. UI-HOOK-BADGE uses OPEN, CLOSED, SWAP, or OPENS. UI-PRIMARY is restrained cobalt. UI-FROST-SHEET preserves context. UI-LEVEL-PATH shows six galleries and ten levels each without New Idea. UI-HOW-TO teaches Drag, Swap, Watch What Opens. UI-SETTING-ROW, UI-ERROR-SHEET, and UI-LEGAL-LIST use realistic acrylic panels and large touch targets. ## Typography Neutral modern grotesk, narrow uppercase display headings, sentence-case body copy, and tabular move/level numbers. No numeral or letter appears on a weight face. Minimum 17 logical pixels for body, 35 percent localization expansion, and 150 percent accessibility reflow. ## VFX and Motion V-GHOST is a translucent exact whole-sculpture preview. V-HOOK-CHANGE outlines the physical shutter/ring that changes. V-BOUNCE returns blocked weights with no move cost. V-TARGET-LOCK stamps matched arcs. V-SETTLE moves affected beams leaf to root within 500 ms. V-SUCCESS is one restrained bell ripple and dust-light glints. No camera shake, casino burst, glowing formulas, or causal step numbers. ## Accessibility A-COLOR repeats state with material, dots, geometry, labels, and contrast. A-MOTION replaces rotation and shutter travel with stepped frames. A-TEXT supports 100/125/150 percent. A-HAPTIC is optional. A-READER announces selected weight traits, destination, displaced weight, affected beams, hook changes, targets, and moves. A-TAP duplicates drag. ## Export Rules Rebuild UI natively. Preserve full-resolution source renders and exact 360x800 sRGB references. Use baked gallery lighting, layered sculpture pieces, whole-pixel icons, nine-slice acrylic panels, and atlases under 128 MB texture residency. The same hidden resolver powers preview, commit, Undo, solver, replay, and tests. ## Do and Don't Do show seven to ten weights in standard gameplay, believable suspension hardware, occupied swaps, exact settled ghosts, future hook state, target mismatch, Undo, and Retry. Do preserve the previous generation's realistic sophistication. Don't show printed weight values, equations, torque, signed angles, degree ticks, M/H/L bands, resonance tokens, phrase rails, diagnostic tables, soft candy blobs, cartoon faces, owner login, backend controls, currency, or excessive empty space. ## Provenance The package is hash-bound to the v0.4 GDD, current audit, market analysis, owner-selected realistic 2.5D product direction, and revised UX. The committed v0.2 images were inspected as explicit within-concept references. Artwork was generated with OpenAI gpt-image-2 through the built-in image workflow; structural boards are composed deterministically by repository code. ## QA All ten realistic source renders were inspected individually. Selected finals exclude the rejected candy-toy package and the first accessibility variant whose reduced-motion icon resembled a numeral. Exports are center-cropped to exact 360x800. Machine QA checks PNG structure, dimensions, distinctness, inventory coverage, source references, board roles, snapshots, and package hash. Independent owner acceptance remains pending. ## Traceability Registry - SCR-ONBOARDING - SCR-HOME - SCR-GAMEPLAY - SCR-PAUSE - SCR-SUCCESS - SCR-FAILURE - SCR-SETTINGS - SCR-ACCESSIBILITY - SCR-LEGAL - ST-FRESH - ST-SELECTED - ST-DRAGGING - ST-PREVIEW-SAFE - ST-PREVIEW-BLOCKED - ST-SETTLING - ST-HOOK-REVEAL - ST-TARGET-MATCH - ST-PAUSED - ST-SUCCESS - ST-FAILURE - ST-ERROR - ST-LOADING - ST-DISABLED - ST-INTERRUPTED - M-PICK - M-DRAG - M-PREVIEW - M-SWAP - M-SETTLE - M-CHECK - M-UNDO - M-RETRY - E-BEAM - E-PIVOT - E-HOOK - E-WEIGHT-1 - E-WEIGHT-2 - E-WEIGHT-3 - E-SHUTTER - E-ONEWAY - E-GLASS - E-TARGET-ARC - E-BELL - E-TRAY - ENV-SCULPTURE-GALLERY - ENV-GALLERY-ARCHIVE - ENV-ARCHITECTURAL-BACKDROP - UI-TARGET-CARD - UI-MOVE-COUNT - UI-WEIGHT-TRAY - UI-HOOK-BADGE - UI-PRIMARY - UI-FROST-SHEET - UI-LEVEL-PATH - UI-HOW-TO - UI-SETTING-ROW - UI-ERROR-SHEET - UI-LEGAL-LIST - A-COLOR - A-MOTION - A-TEXT - A-HAPTIC - A-READER - A-TAP - V-GHOST - V-HOOK-CHANGE - V-BOUNCE - V-TARGET-LOCK - V-SETTLE - V-SUCCESS

Validation results

Gate summary

Schema
Schema v3
Package hash
2e2eb1c414c818c59aee88fb71dd127909bcfcf6f3fccbeff59f09b64d91087a
Machine structure
Passed
Visual boards
2 / 2 attached
GDD audit
BUILD AS DESIGNED
GDD audit confidence
86 / 100
Apple 4.3 risk
medium
Market gate
INVEST
Product direction
2.5d
Manual Art Bible review
accepted
Prototype gate
Approved and locked

Design coverage

Orientations
portrait
Logical layouts
portrait: 360x800 (9:20)
Output dimensions
360x800
Screens
SCR-ONBOARDING, SCR-HOME, SCR-GAMEPLAY, SCR-PAUSE, SCR-SUCCESS, SCR-FAILURE, SCR-SETTINGS, SCR-ACCESSIBILITY, SCR-LEGAL
Important states
ST-FRESH, ST-SELECTED, ST-DRAGGING, ST-PREVIEW-SAFE, ST-PREVIEW-BLOCKED, ST-SETTLING, ST-HOOK-REVEAL, ST-TARGET-MATCH, ST-PAUSED, ST-SUCCESS, ST-FAILURE, ST-ERROR, ST-LOADING, ST-DISABLED, ST-INTERRUPTED
Mechanics
M-PICK, M-DRAG, M-PREVIEW, M-SWAP, M-SETTLE, M-CHECK, M-UNDO, M-RETRY
Accessibility
A-COLOR, A-MOTION, A-TEXT, A-HAPTIC, A-READER, A-TAP

Machine validation: passed (2026-08-21T00:30:09.086Z, validator v3)

No individual checks recorded.

Independent visual QA: pending

No individual checks recorded.

History

Status history

  • 2026-08-20T21:56:06.672Z: prototype-live (catalog sync)
  • 2026-08-20T21:48:27.198Z: prototyped (catalog sync)
  • 2026-08-20T18:17:00.317Z: candidate-design (catalog sync)

Immutable revisions (7)

Revision 7
Hash
1e6fbd641b466b818efa8981de42a55f6850f6afc6381ab1cdd229c0e27a147d
Created
2026-09-05T10:30:34.826Z
Release
2.5.3
Build
a56a182 2026-09-05 12:33Z
Change summary
Replaced the superseded one-sandbox mathematics prototype with a sixty-level physical counterweight campaign that uses occupied swaps, exact whole-mobile previews, visible access changes, Undo, Retry, and the accepted realistic gallery direction.
Title
Counterweight Choir
Pitch
Swap chunky weights across a hanging sculpture in the right physical order, opening the hooks you need until every beam clicks into its pictured target pose.
State
prototype-live
Stage
10
Score
69
GDD excerpt
This document is the owner-directed material revision of Counterweight Choir. It replaces the player-facing resonance-token and torque-notation design in v0.2. The instruction is preserved in 00-brief/revision-2026-08-21-hypercasual.md and the realistic-continuity correction in 00-brief/revision-2026-08-21-realistic-continuity.md. Rules and inventories below are design facts. Fun, demand, retention, revenue, and s...
Art excerpt
Run: 2026-08-pipeline-flow-test-en-us Concept: counterweight-choir Status: machine candidate awaiting independent owner review.

Source files:

  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/00-brief/creative-brief.md (source-brief, sha256 41832b9bb6b3a36f9503500221c1d48d5971cc2d85263e91d25eaa17345417f2)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/00-brief/request.json (frozen-request, sha256 34b6206631cbcda6dd495653652ea3dd8fb1183269c8b453e6dbf3ae5892e31d)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/01-idea/idea.json (idea-contract, sha256 30e6c10ac38d0a88e974a7295ae90eb0fb366f240a438d6e60beb6dcdb336d87)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/03-gdd-audit/audit.json (gdd-audit, sha256 0d8d112ead3cad15d5db95e0ec65781e20920a06d2e284e4d9d2b49401a924c7)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/04-market-analysis/advisory-score.json (advisory-score, sha256 a571501e393933aef865ae48f63196dcb95371249f294806f7ed963a73be62bb)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/04-market-analysis/evidence-index.json (evidence-index, sha256 f11f0d3584a2e2274a724b6ada05908d96bceace086bfeccf1e40fd25c47d2f6)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/04-market-analysis/market-analysis.json (market-analysis, sha256 73c6365d8bbd18f0ac286bf7f87b5e8d106b31244a343e220e40d98e8ced4014)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/05-product-direction/product-direction.json (product-direction, sha256 4c93983134728202cf088806344a6e056aab1c7dfb9f923164c532a373639c40)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/06-ux/screen-inventory.json (screen-inventory, sha256 a0d86bcb95da02f15e57c6890f75dee6eeec54f26e10de1d0695bb582250c573)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/08-art-audit/art-audit.json (art-audit, sha256 25d58ec8985ab480bb187b7f1f807b1c147f960dc08358a0ab6ca3249d1fc799)
  • pipeline/counterweight-choir/design/art-bible.md (art-bible, sha256 f395f2778526f0f848c2f674d81a1ccdee55b08426f07c847d0eb1dabd1cef8c)
  • pipeline/counterweight-choir/design/art-bible/accessibility.png (visual-output, sha256 b96dbaa4caa08503fdacb89641259c2f1e8fe3c76574f01ea28983fdbd876b42)
  • pipeline/counterweight-choir/design/art-bible/failure.png (visual-output, sha256 91f2ad8a909cf41ccbe40a9e47d08d96adcfbf98b1f8a784031e17b9b22f2c1c)
  • pipeline/counterweight-choir/design/art-bible/gameplay-active.png (reference, sha256 e262c4b8ee2208755fff7fba77c90cc183f8a4fc8625458b3d6334572f8871ae)
  • pipeline/counterweight-choir/design/art-bible/gameplay-state-matrix.png (visual-output, sha256 25c48bd6beb45232c5a6e6f22766b281f85152f5d8490564a3027d509e721313)
  • pipeline/counterweight-choir/design/art-bible/home.png (visual-output, sha256 085f518f7cd9ce95c0636a9d6ca7ba1b74fc9a94b2049a085c4160b42c745370)
  • pipeline/counterweight-choir/design/art-bible/implementation-board.png (visual-board, sha256 a3a261c8541660f0222bc54ccf351d8ce454a4de1d270e2be4c641e269d92368)
  • pipeline/counterweight-choir/design/art-bible/legal-error.png (visual-output, sha256 3277d39766852ad0b6534470adcb17ae6751d259029a42f006c2b1a90fe5607c)
  • pipeline/counterweight-choir/design/art-bible/onboarding.png (visual-output, sha256 0bc58181e041af2daefc97d76efda07add8a13a162d270f5e7b19d116dccfbc0)
  • pipeline/counterweight-choir/design/art-bible/pause.png (visual-output, sha256 e2d134b88f1eaeeee78591627ee63e2614639805d9d8ef819926d38cf50e0018)
  • pipeline/counterweight-choir/design/art-bible/settings.png (visual-output, sha256 05404cd6aba2674493fc02c35310baefcc9864a5d41a3dc2a589010417179550)
  • pipeline/counterweight-choir/design/art-bible/success.png (visual-output, sha256 a9da8148b3383c5c925298d82085b2810cfc3f0f55fe4ef18d5ac64bf7ca0795)
  • pipeline/counterweight-choir/design/art-bible/visual-blueprint.png (visual-board, sha256 212f504b3e741c074b213a4e37a7e82d757542ef155589b44994673084c4f8a6)
  • pipeline/counterweight-choir/design/asset-manifest.json (asset-manifest, sha256 26a65a6e6e127341ddcc9ff0472e36dba49151940239b0cd1814f392a0f61000)
  • pipeline/counterweight-choir/design/board-spec.json (board-spec, sha256 bf2be0b59bf7547e5321e8d73ca9503f4b71f80bd3f64d3cc8053cefca98168c)
  • pipeline/counterweight-choir/design/gdd.md (gdd, sha256 9fae203d233394552ce875648d404921879b5879d3e475a65538fca33f239f59)
  • pipeline/counterweight-choir/design/image-prompts/accessibility.txt (prompt, sha256 fc78cd2316379d68fe56dfec9c750344fe038c8df782baa711a60dde4d0db448)
  • pipeline/counterweight-choir/design/image-prompts/failure.txt (prompt, sha256 ecd1935499f0ab8af3da9a746a626fc416de270124e460c0c4ce570bc37c0dd8)
  • pipeline/counterweight-choir/design/image-prompts/gameplay-active.txt (prompt, sha256 70b714ef4085caff2c1c99d336bdcddb75c8d683a9725edf833af6bf03c072ec)
  • pipeline/counterweight-choir/design/image-prompts/gameplay-state-matrix.txt (prompt, sha256 1a9663019a7813305cd393dfeb0fd8ddfb4c28aae6a488c0aaeb2734fca6db53)
  • pipeline/counterweight-choir/design/image-prompts/home.txt (prompt, sha256 c5b71e3fc3ff02c5478d0c004f1d2da32c1e591e0fd245c7dd9b69376a60059f)
  • pipeline/counterweight-choir/design/image-prompts/legal-error.txt (prompt, sha256 d9c683c5c751151332db54cfa18dbcca1de37aea027846bae163653e74e0aeeb)
  • pipeline/counterweight-choir/design/image-prompts/onboarding.txt (prompt, sha256 e4546b8601e02aa0a16f13e3a5d1579da3e79d4ac2faa4c2052b1f02c10dffe2)
  • pipeline/counterweight-choir/design/image-prompts/pause.txt (prompt, sha256 db0c2e22481429f2f34b4a532294c9e4ad2ed7b80e81e7d3c60c17693699cc8b)
  • pipeline/counterweight-choir/design/image-prompts/settings.txt (prompt, sha256 666ea04fa49674358cc1157b6c885aa7e8b34562bcc4c73ef600b4e88b3cc79b)
  • pipeline/counterweight-choir/design/image-prompts/success.txt (prompt, sha256 2851845a9dd67b2b7b28efb1274bdf67e916a096d31e194f191328c291035ec1)
  • pipeline/counterweight-choir/design/machine-validation.json (machine-validation, sha256 b28897310548578bdee78272cfb4f8ebf9fa180ef031365979a04100286e88e0)
  • pipeline/counterweight-choir/design/ux-flow.md (ux-flow, sha256 0dea84c3a9e956b8ac97cee2a4d60c1a071884e2702613285e9299a210f6d02f)
  • pipeline/counterweight-choir/design/visual-brief.md (visual-brief, sha256 22b8fbcca594f7a870de296bde2d1807400be814edeb2efb71463c38027216f9)
  • pipeline/counterweight-choir/design/visual-qa.json (visual-qa, sha256 79036262102084cb0e59b0d3ed717cbde5ec86c4b365ccf442deb20771c4884d)
Revision 6
Hash
2813372e60e14306116f8862e7bb4d2fe13a1f9e254906abce03540ddc9eabd6
Created
2026-08-21T01:45:12.179Z
Release
2.2.3
Build
77bafbc 2026-08-21 01:49Z
Change summary
Replaced the superseded one-sandbox mathematics prototype with a sixty-level physical counterweight campaign that uses occupied swaps, exact whole-mobile previews, visible access changes, Undo, Retry, and the accepted realistic gallery direction.
Title
Counterweight Choir
Pitch
Swap chunky weights across a hanging sculpture in the right physical order, opening the hooks you need until every beam clicks into its pictured target pose.
State
prototype-live
Stage
10
Score
69
GDD excerpt
This document is the owner-directed material revision of Counterweight Choir. It replaces the player-facing resonance-token and torque-notation design in v0.2. The instruction is preserved in 00-brief/revision-2026-08-21-hypercasual.md and the realistic-continuity correction in 00-brief/revision-2026-08-21-realistic-continuity.md. Rules and inventories below are design facts. Fun, demand, retention, revenue, and s...
Art excerpt
Run: 2026-08-pipeline-flow-test-en-us Concept: counterweight-choir Status: machine candidate awaiting independent owner review.

Source files:

  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/00-brief/creative-brief.md (source-brief, sha256 41832b9bb6b3a36f9503500221c1d48d5971cc2d85263e91d25eaa17345417f2)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/00-brief/request.json (frozen-request, sha256 34b6206631cbcda6dd495653652ea3dd8fb1183269c8b453e6dbf3ae5892e31d)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/01-idea/idea.json (idea-contract, sha256 398aa938fcc9438b228fdcbe070a09383299b5a665de381e34810c7d1fbcecb7)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/03-gdd-audit/audit.json (gdd-audit, sha256 0d8d112ead3cad15d5db95e0ec65781e20920a06d2e284e4d9d2b49401a924c7)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/04-market-analysis/advisory-score.json (advisory-score, sha256 a571501e393933aef865ae48f63196dcb95371249f294806f7ed963a73be62bb)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/04-market-analysis/evidence-index.json (evidence-index, sha256 b136a14238e322207a559f7ca0c1784593b269a556a4f72b1c10dc0422233de0)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/04-market-analysis/market-analysis.json (market-analysis, sha256 73c6365d8bbd18f0ac286bf7f87b5e8d106b31244a343e220e40d98e8ced4014)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/05-product-direction/product-direction.json (product-direction, sha256 4c93983134728202cf088806344a6e056aab1c7dfb9f923164c532a373639c40)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/06-ux/screen-inventory.json (screen-inventory, sha256 a0d86bcb95da02f15e57c6890f75dee6eeec54f26e10de1d0695bb582250c573)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/08-art-audit/art-audit.json (art-audit, sha256 25d58ec8985ab480bb187b7f1f807b1c147f960dc08358a0ab6ca3249d1fc799)
  • pipeline/counterweight-choir/design/art-bible.md (art-bible, sha256 f395f2778526f0f848c2f674d81a1ccdee55b08426f07c847d0eb1dabd1cef8c)
  • pipeline/counterweight-choir/design/art-bible/accessibility.png (visual-output, sha256 b96dbaa4caa08503fdacb89641259c2f1e8fe3c76574f01ea28983fdbd876b42)
  • pipeline/counterweight-choir/design/art-bible/failure.png (visual-output, sha256 91f2ad8a909cf41ccbe40a9e47d08d96adcfbf98b1f8a784031e17b9b22f2c1c)
  • pipeline/counterweight-choir/design/art-bible/gameplay-active.png (reference, sha256 e262c4b8ee2208755fff7fba77c90cc183f8a4fc8625458b3d6334572f8871ae)
  • pipeline/counterweight-choir/design/art-bible/gameplay-state-matrix.png (visual-output, sha256 25c48bd6beb45232c5a6e6f22766b281f85152f5d8490564a3027d509e721313)
  • pipeline/counterweight-choir/design/art-bible/home.png (visual-output, sha256 085f518f7cd9ce95c0636a9d6ca7ba1b74fc9a94b2049a085c4160b42c745370)
  • pipeline/counterweight-choir/design/art-bible/implementation-board.png (visual-board, sha256 a3a261c8541660f0222bc54ccf351d8ce454a4de1d270e2be4c641e269d92368)
  • pipeline/counterweight-choir/design/art-bible/legal-error.png (visual-output, sha256 3277d39766852ad0b6534470adcb17ae6751d259029a42f006c2b1a90fe5607c)
  • pipeline/counterweight-choir/design/art-bible/onboarding.png (visual-output, sha256 0bc58181e041af2daefc97d76efda07add8a13a162d270f5e7b19d116dccfbc0)
  • pipeline/counterweight-choir/design/art-bible/pause.png (visual-output, sha256 e2d134b88f1eaeeee78591627ee63e2614639805d9d8ef819926d38cf50e0018)
  • pipeline/counterweight-choir/design/art-bible/settings.png (visual-output, sha256 05404cd6aba2674493fc02c35310baefcc9864a5d41a3dc2a589010417179550)
  • pipeline/counterweight-choir/design/art-bible/success.png (visual-output, sha256 a9da8148b3383c5c925298d82085b2810cfc3f0f55fe4ef18d5ac64bf7ca0795)
  • pipeline/counterweight-choir/design/art-bible/visual-blueprint.png (visual-board, sha256 212f504b3e741c074b213a4e37a7e82d757542ef155589b44994673084c4f8a6)
  • pipeline/counterweight-choir/design/asset-manifest.json (asset-manifest, sha256 26a65a6e6e127341ddcc9ff0472e36dba49151940239b0cd1814f392a0f61000)
  • pipeline/counterweight-choir/design/board-spec.json (board-spec, sha256 bf2be0b59bf7547e5321e8d73ca9503f4b71f80bd3f64d3cc8053cefca98168c)
  • pipeline/counterweight-choir/design/gdd.md (gdd, sha256 9fae203d233394552ce875648d404921879b5879d3e475a65538fca33f239f59)
  • pipeline/counterweight-choir/design/image-prompts/accessibility.txt (prompt, sha256 fc78cd2316379d68fe56dfec9c750344fe038c8df782baa711a60dde4d0db448)
  • pipeline/counterweight-choir/design/image-prompts/failure.txt (prompt, sha256 ecd1935499f0ab8af3da9a746a626fc416de270124e460c0c4ce570bc37c0dd8)
  • pipeline/counterweight-choir/design/image-prompts/gameplay-active.txt (prompt, sha256 70b714ef4085caff2c1c99d336bdcddb75c8d683a9725edf833af6bf03c072ec)
  • pipeline/counterweight-choir/design/image-prompts/gameplay-state-matrix.txt (prompt, sha256 1a9663019a7813305cd393dfeb0fd8ddfb4c28aae6a488c0aaeb2734fca6db53)
  • pipeline/counterweight-choir/design/image-prompts/home.txt (prompt, sha256 c5b71e3fc3ff02c5478d0c004f1d2da32c1e591e0fd245c7dd9b69376a60059f)
  • pipeline/counterweight-choir/design/image-prompts/legal-error.txt (prompt, sha256 d9c683c5c751151332db54cfa18dbcca1de37aea027846bae163653e74e0aeeb)
  • pipeline/counterweight-choir/design/image-prompts/onboarding.txt (prompt, sha256 e4546b8601e02aa0a16f13e3a5d1579da3e79d4ac2faa4c2052b1f02c10dffe2)
  • pipeline/counterweight-choir/design/image-prompts/pause.txt (prompt, sha256 db0c2e22481429f2f34b4a532294c9e4ad2ed7b80e81e7d3c60c17693699cc8b)
  • pipeline/counterweight-choir/design/image-prompts/settings.txt (prompt, sha256 666ea04fa49674358cc1157b6c885aa7e8b34562bcc4c73ef600b4e88b3cc79b)
  • pipeline/counterweight-choir/design/image-prompts/success.txt (prompt, sha256 2851845a9dd67b2b7b28efb1274bdf67e916a096d31e194f191328c291035ec1)
  • pipeline/counterweight-choir/design/machine-validation.json (machine-validation, sha256 b28897310548578bdee78272cfb4f8ebf9fa180ef031365979a04100286e88e0)
  • pipeline/counterweight-choir/design/ux-flow.md (ux-flow, sha256 0dea84c3a9e956b8ac97cee2a4d60c1a071884e2702613285e9299a210f6d02f)
  • pipeline/counterweight-choir/design/visual-brief.md (visual-brief, sha256 22b8fbcca594f7a870de296bde2d1807400be814edeb2efb71463c38027216f9)
  • pipeline/counterweight-choir/design/visual-qa.json (visual-qa, sha256 79036262102084cb0e59b0d3ed717cbde5ec86c4b365ccf442deb20771c4884d)
Revision 5
Hash
5e3fe53b7ab808bb1b71d15fd101c9e531b98f7585db8be5200fc56da0494df8
Created
2026-08-21T01:11:45.037Z
Release
2.2.0
Build
b610acd 2026-08-21 01:25Z
Change summary
Replaced the superseded one-sandbox mathematics prototype with a sixty-level physical counterweight campaign that uses occupied swaps, exact whole-mobile previews, visible access changes, Undo, Retry, and the accepted realistic gallery direction.
Title
Counterweight Choir
Pitch
Swap chunky weights across a hanging sculpture in the right physical order, opening the hooks you need until every beam clicks into its pictured target pose.
State
prototyped
Stage
10
Score
69
GDD excerpt
This document is the owner-directed material revision of Counterweight Choir. It replaces the player-facing resonance-token and torque-notation design in v0.2. The instruction is preserved in 00-brief/revision-2026-08-21-hypercasual.md and the realistic-continuity correction in 00-brief/revision-2026-08-21-realistic-continuity.md. Rules and inventories below are design facts. Fun, demand, retention, revenue, and s...
Art excerpt
Run: 2026-08-pipeline-flow-test-en-us Concept: counterweight-choir Status: machine candidate awaiting independent owner review.

Source files:

  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/00-brief/creative-brief.md (source-brief, sha256 41832b9bb6b3a36f9503500221c1d48d5971cc2d85263e91d25eaa17345417f2)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/00-brief/request.json (frozen-request, sha256 34b6206631cbcda6dd495653652ea3dd8fb1183269c8b453e6dbf3ae5892e31d)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/01-idea/idea.json (idea-contract, sha256 398aa938fcc9438b228fdcbe070a09383299b5a665de381e34810c7d1fbcecb7)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/03-gdd-audit/audit.json (gdd-audit, sha256 0d8d112ead3cad15d5db95e0ec65781e20920a06d2e284e4d9d2b49401a924c7)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/04-market-analysis/advisory-score.json (advisory-score, sha256 a571501e393933aef865ae48f63196dcb95371249f294806f7ed963a73be62bb)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/04-market-analysis/evidence-index.json (evidence-index, sha256 b136a14238e322207a559f7ca0c1784593b269a556a4f72b1c10dc0422233de0)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/04-market-analysis/market-analysis.json (market-analysis, sha256 73c6365d8bbd18f0ac286bf7f87b5e8d106b31244a343e220e40d98e8ced4014)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/05-product-direction/product-direction.json (product-direction, sha256 4c93983134728202cf088806344a6e056aab1c7dfb9f923164c532a373639c40)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/06-ux/screen-inventory.json (screen-inventory, sha256 a0d86bcb95da02f15e57c6890f75dee6eeec54f26e10de1d0695bb582250c573)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/08-art-audit/art-audit.json (art-audit, sha256 25d58ec8985ab480bb187b7f1f807b1c147f960dc08358a0ab6ca3249d1fc799)
  • pipeline/counterweight-choir/design/art-bible.md (art-bible, sha256 f395f2778526f0f848c2f674d81a1ccdee55b08426f07c847d0eb1dabd1cef8c)
  • pipeline/counterweight-choir/design/art-bible/accessibility.png (visual-output, sha256 b96dbaa4caa08503fdacb89641259c2f1e8fe3c76574f01ea28983fdbd876b42)
  • pipeline/counterweight-choir/design/art-bible/failure.png (visual-output, sha256 91f2ad8a909cf41ccbe40a9e47d08d96adcfbf98b1f8a784031e17b9b22f2c1c)
  • pipeline/counterweight-choir/design/art-bible/gameplay-active.png (reference, sha256 e262c4b8ee2208755fff7fba77c90cc183f8a4fc8625458b3d6334572f8871ae)
  • pipeline/counterweight-choir/design/art-bible/gameplay-state-matrix.png (visual-output, sha256 25c48bd6beb45232c5a6e6f22766b281f85152f5d8490564a3027d509e721313)
  • pipeline/counterweight-choir/design/art-bible/home.png (visual-output, sha256 085f518f7cd9ce95c0636a9d6ca7ba1b74fc9a94b2049a085c4160b42c745370)
  • pipeline/counterweight-choir/design/art-bible/implementation-board.png (visual-board, sha256 a3a261c8541660f0222bc54ccf351d8ce454a4de1d270e2be4c641e269d92368)
  • pipeline/counterweight-choir/design/art-bible/legal-error.png (visual-output, sha256 3277d39766852ad0b6534470adcb17ae6751d259029a42f006c2b1a90fe5607c)
  • pipeline/counterweight-choir/design/art-bible/onboarding.png (visual-output, sha256 0bc58181e041af2daefc97d76efda07add8a13a162d270f5e7b19d116dccfbc0)
  • pipeline/counterweight-choir/design/art-bible/pause.png (visual-output, sha256 e2d134b88f1eaeeee78591627ee63e2614639805d9d8ef819926d38cf50e0018)
  • pipeline/counterweight-choir/design/art-bible/settings.png (visual-output, sha256 05404cd6aba2674493fc02c35310baefcc9864a5d41a3dc2a589010417179550)
  • pipeline/counterweight-choir/design/art-bible/success.png (visual-output, sha256 a9da8148b3383c5c925298d82085b2810cfc3f0f55fe4ef18d5ac64bf7ca0795)
  • pipeline/counterweight-choir/design/art-bible/visual-blueprint.png (visual-board, sha256 212f504b3e741c074b213a4e37a7e82d757542ef155589b44994673084c4f8a6)
  • pipeline/counterweight-choir/design/asset-manifest.json (asset-manifest, sha256 26a65a6e6e127341ddcc9ff0472e36dba49151940239b0cd1814f392a0f61000)
  • pipeline/counterweight-choir/design/board-spec.json (board-spec, sha256 bf2be0b59bf7547e5321e8d73ca9503f4b71f80bd3f64d3cc8053cefca98168c)
  • pipeline/counterweight-choir/design/gdd.md (gdd, sha256 9fae203d233394552ce875648d404921879b5879d3e475a65538fca33f239f59)
  • pipeline/counterweight-choir/design/image-prompts/accessibility.txt (prompt, sha256 fc78cd2316379d68fe56dfec9c750344fe038c8df782baa711a60dde4d0db448)
  • pipeline/counterweight-choir/design/image-prompts/failure.txt (prompt, sha256 ecd1935499f0ab8af3da9a746a626fc416de270124e460c0c4ce570bc37c0dd8)
  • pipeline/counterweight-choir/design/image-prompts/gameplay-active.txt (prompt, sha256 70b714ef4085caff2c1c99d336bdcddb75c8d683a9725edf833af6bf03c072ec)
  • pipeline/counterweight-choir/design/image-prompts/gameplay-state-matrix.txt (prompt, sha256 1a9663019a7813305cd393dfeb0fd8ddfb4c28aae6a488c0aaeb2734fca6db53)
  • pipeline/counterweight-choir/design/image-prompts/home.txt (prompt, sha256 c5b71e3fc3ff02c5478d0c004f1d2da32c1e591e0fd245c7dd9b69376a60059f)
  • pipeline/counterweight-choir/design/image-prompts/legal-error.txt (prompt, sha256 d9c683c5c751151332db54cfa18dbcca1de37aea027846bae163653e74e0aeeb)
  • pipeline/counterweight-choir/design/image-prompts/onboarding.txt (prompt, sha256 e4546b8601e02aa0a16f13e3a5d1579da3e79d4ac2faa4c2052b1f02c10dffe2)
  • pipeline/counterweight-choir/design/image-prompts/pause.txt (prompt, sha256 db0c2e22481429f2f34b4a532294c9e4ad2ed7b80e81e7d3c60c17693699cc8b)
  • pipeline/counterweight-choir/design/image-prompts/settings.txt (prompt, sha256 666ea04fa49674358cc1157b6c885aa7e8b34562bcc4c73ef600b4e88b3cc79b)
  • pipeline/counterweight-choir/design/image-prompts/success.txt (prompt, sha256 2851845a9dd67b2b7b28efb1274bdf67e916a096d31e194f191328c291035ec1)
  • pipeline/counterweight-choir/design/machine-validation.json (machine-validation, sha256 b28897310548578bdee78272cfb4f8ebf9fa180ef031365979a04100286e88e0)
  • pipeline/counterweight-choir/design/ux-flow.md (ux-flow, sha256 0dea84c3a9e956b8ac97cee2a4d60c1a071884e2702613285e9299a210f6d02f)
  • pipeline/counterweight-choir/design/visual-brief.md (visual-brief, sha256 22b8fbcca594f7a870de296bde2d1807400be814edeb2efb71463c38027216f9)
  • pipeline/counterweight-choir/design/visual-qa.json (visual-qa, sha256 79036262102084cb0e59b0d3ed717cbde5ec86c4b365ccf442deb20771c4884d)
Revision 4
Hash
1e7fdccd739f5a3f6a173f080e815af67352843307d10a4d110634af25ce99f5
Created
2026-08-20T21:56:06.672Z
Release
2.1.1
Build
8a17bab 2026-08-20 21:58Z
Change summary
Built one deterministic Counterweight Choir mechanics sandbox with exact bottom-up preview, one-weight relocation, ordered token history, safe phrase break without rollback, fatal previews, fresh FTUE, and touch/mouse/keyboard controls.
Title
Counterweight Choir
Pitch
Move one counterweight across a hanging hierarchy of balance beams, then watch torque propagate upward until every bell settles into the target chord.
State
prototype-live
Stage
10
Score
68
GDD excerpt
This document is the authored design contract for counterweight-choir. Mathematical rules and inventories are design facts. Audience response, fun, retention, willingness to pay, store demand, and Apple approval remain hypotheses until separately observed. Later research may reject or return this exact design for revision but may not silently change its dominant loop.
Art excerpt
Run 2026-08-pipeline-flow-test-en-us; concept counterweight-choir. This is an implementation contract for the bound product, not a moodboard.

Source files:

  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/00-brief/creative-brief.md (source-brief, sha256 41832b9bb6b3a36f9503500221c1d48d5971cc2d85263e91d25eaa17345417f2)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/00-brief/request.json (frozen-request, sha256 34b6206631cbcda6dd495653652ea3dd8fb1183269c8b453e6dbf3ae5892e31d)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/01-idea/idea.json (idea-contract, sha256 8b0ddc6aa2bd62c5088541d84b88b39181802ea5b67e6d73f352eddbbe60f48d)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/03-gdd-audit/audit.json (gdd-audit, sha256 cca5f908b5faac5436e874d487771485eeeb0faa869d58dae926fc738f023023)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/04-market-analysis/advisory-score.json (advisory-score, sha256 c745c14715201680e6088f1011cfc92d25e16c08d0572f6f47103c32dd1cf9fa)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/04-market-analysis/evidence-index.json (evidence-index, sha256 ded89ce344db1e78625581ee8905fb921630d83d7b34d7cb79f42002b2808476)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/04-market-analysis/market-analysis.json (market-analysis, sha256 4d25dc82f27b0fca738c597b8edf1299ee4fc4a09b13ac99ea0e92ee2ad48f9c)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/05-product-direction/product-direction.json (product-direction, sha256 c88c8d46a4cf119f42a9f0349893edd4cfebbba96cf7c4efeb111c567a1ea8a1)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/06-ux/screen-inventory.json (screen-inventory, sha256 9455e916c70bc4d1f6a2d0f30bb6ad9a059a57ad1b7c121eb8269bdce051ae73)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/08-art-audit/art-audit.json (art-audit, sha256 830fac21bc2a817a633d9d164abfbc3f9fb2ad39395178cdc5b68dcf5d2fc951)
  • pipeline/counterweight-choir/design/art-bible.md (art-bible, sha256 749c2e3e38dc8cd4e993560edab46423acb35c2ee78c7388f2e734385f5e270b)
  • pipeline/counterweight-choir/design/art-bible/accessibility.png (visual-output, sha256 be9d3c81ecfe3579d4d24634df5e3ba0a8bd1f29416749813130f814f3cadcf9)
  • pipeline/counterweight-choir/design/art-bible/failure.png (visual-output, sha256 b67a2139129edb7ba3380f56c4623cdabcb69ca2688545ad4174ba3540d59576)
  • pipeline/counterweight-choir/design/art-bible/gameplay-active.png (reference, sha256 7bf3903f06ca362b8d7c26d9238811185e523f59b0aa5b2986d42de7275d6083)
  • pipeline/counterweight-choir/design/art-bible/gameplay-state-matrix.png (visual-output, sha256 dd92026c083177c94ed488ce012fd0700e91413177ae9b9aa3249b217d5f051a)
  • pipeline/counterweight-choir/design/art-bible/home.png (visual-output, sha256 5919cebb7aeec326d82f8cb707eb120b2376b180474ba801f57ffc264020480e)
  • pipeline/counterweight-choir/design/art-bible/implementation-board.png (visual-board, sha256 c034c5080de8c000ea25d85783f9279292974e30bea74751a40f6b66fcfd0e7d)
  • pipeline/counterweight-choir/design/art-bible/legal-error.png (visual-output, sha256 cafb440df356a85e8b135dbfc5982b79685dd16d7fd3302b105e6f76baaeb00c)
  • pipeline/counterweight-choir/design/art-bible/onboarding.png (visual-output, sha256 dab6a7eb87631d4fa4018ae86a4fa3ebaae0b971547f89720bd0a9431694ac9b)
  • pipeline/counterweight-choir/design/art-bible/pause.png (visual-output, sha256 b9d6bc1cf026493ebf49e201bf181c3d1af86d2bd816816704ec8e3319139a2e)
  • pipeline/counterweight-choir/design/art-bible/settings.png (visual-output, sha256 2ac60530eeb381af6a8801e969e0f2d7bb573a68292b68702d6014e88ad3cbab)
  • pipeline/counterweight-choir/design/art-bible/success.png (visual-output, sha256 9f6240e0fca905d0edb742fcde4438ee543e0ff8a6604b5b73fdf9c2c3fca7c1)
  • pipeline/counterweight-choir/design/art-bible/visual-blueprint.png (visual-board, sha256 efa779db0561a86573c65743ca444a89392e9985b7c3e36d2197b53b499d3d8d)
  • pipeline/counterweight-choir/design/asset-manifest.json (asset-manifest, sha256 7583adeb218bc72b3a485ced4de68c1780eb3c6d1cbc59e476e1ad3200b87421)
  • pipeline/counterweight-choir/design/board-spec.json (board-spec, sha256 f879d88728a393b398e9e246706ffc9163e52fceb851093ccbd87d7cda1a5f10)
  • pipeline/counterweight-choir/design/gdd.md (gdd, sha256 4e59c490a432ab15ba2ed65e2886fceb7e8780f8c39d9669ddead20a5d8db2d5)
  • pipeline/counterweight-choir/design/image-prompts/accessibility.txt (prompt, sha256 b0f36e9eb2071888309b3c835ee62e1ed76daf5d70e92c1465abe35a70c0ffbd)
  • pipeline/counterweight-choir/design/image-prompts/failure.txt (prompt, sha256 41520229b1ed5b3bc069c5e74a0a390d260a12f31df711935831bbe36f07c0b8)
  • pipeline/counterweight-choir/design/image-prompts/gameplay-active.txt (prompt, sha256 c61842a8da73ff3680602a20fe99613b98298514a2989a55bf14f749ba39b5bd)
  • pipeline/counterweight-choir/design/image-prompts/gameplay-states.txt (prompt, sha256 c4775321d8a12417bdf7ef9d0d1274a53427941d004aebda8b20fbedfceeb0f4)
  • pipeline/counterweight-choir/design/image-prompts/home.txt (prompt, sha256 1584f135468dfe5366deaac7a8dd118ce6502566f4287b7c32e4e0431c875f44)
  • pipeline/counterweight-choir/design/image-prompts/legal-error.txt (prompt, sha256 025dc8cc9f904d41aa1016aace7fcd5e91affb0fd0805fb0eb30ddbb8208631e)
  • pipeline/counterweight-choir/design/image-prompts/onboarding.txt (prompt, sha256 34b6829e305049950557fbd99978486643e1de88bc4a839f8fbdfc9e48847003)
  • pipeline/counterweight-choir/design/image-prompts/pause.txt (prompt, sha256 263add6f52b179e08b01b5a9f001372128b999a1f028769c812be025ad72ad4b)
  • pipeline/counterweight-choir/design/image-prompts/settings.txt (prompt, sha256 e27b91e5698a78493d2b3276e0be1d158d7b7abbaa4ba3305f4c5cca9014abdd)
  • pipeline/counterweight-choir/design/image-prompts/success.txt (prompt, sha256 217b9d943f267bcc746433cdf18a1a15cdb7189337f3d942971424513bd7d2b7)
  • pipeline/counterweight-choir/design/machine-validation.json (machine-validation, sha256 3e53d59f65b7e7dc899ffe38f706d886f8f6d8c5c29b51fb59f486b7d1fb2bf8)
  • pipeline/counterweight-choir/design/ux-flow.md (ux-flow, sha256 f573c13d1c378bfb5374b475334803c0b4730f6baad57222c731eacd0242d389)
  • pipeline/counterweight-choir/design/visual-brief.md (visual-brief, sha256 eed84975304fdb8792b070c152f41ab9927f91e2ea4c9ef5e8e00ef1df663605)
  • pipeline/counterweight-choir/design/visual-qa.json (visual-qa, sha256 79036262102084cb0e59b0d3ed717cbde5ec86c4b365ccf442deb20771c4884d)
Revision 3
Hash
81672cdca79d8688c834f149e33aa6410f8eb7ad3e510c0f9bcd1779e7fb3644
Created
2026-08-20T21:48:27.198Z
Release
2.1.0
Build
b126eca 2026-08-20 21:53Z
Change summary
Built one deterministic Counterweight Choir mechanics sandbox with exact bottom-up preview, one-weight relocation, ordered token history, safe phrase break without rollback, fatal previews, fresh FTUE, and touch/mouse/keyboard controls.
Title
Counterweight Choir
Pitch
Move one counterweight across a hanging hierarchy of balance beams, then watch torque propagate upward until every bell settles into the target chord.
State
prototyped
Stage
10
Score
68
GDD excerpt
This document is the authored design contract for counterweight-choir. Mathematical rules and inventories are design facts. Audience response, fun, retention, willingness to pay, store demand, and Apple approval remain hypotheses until separately observed. Later research may reject or return this exact design for revision but may not silently change its dominant loop.
Art excerpt
Run 2026-08-pipeline-flow-test-en-us; concept counterweight-choir. This is an implementation contract for the bound product, not a moodboard.

Source files:

  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/00-brief/creative-brief.md (source-brief, sha256 41832b9bb6b3a36f9503500221c1d48d5971cc2d85263e91d25eaa17345417f2)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/00-brief/request.json (frozen-request, sha256 34b6206631cbcda6dd495653652ea3dd8fb1183269c8b453e6dbf3ae5892e31d)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/01-idea/idea.json (idea-contract, sha256 8b0ddc6aa2bd62c5088541d84b88b39181802ea5b67e6d73f352eddbbe60f48d)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/03-gdd-audit/audit.json (gdd-audit, sha256 cca5f908b5faac5436e874d487771485eeeb0faa869d58dae926fc738f023023)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/04-market-analysis/advisory-score.json (advisory-score, sha256 c745c14715201680e6088f1011cfc92d25e16c08d0572f6f47103c32dd1cf9fa)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/04-market-analysis/evidence-index.json (evidence-index, sha256 ded89ce344db1e78625581ee8905fb921630d83d7b34d7cb79f42002b2808476)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/04-market-analysis/market-analysis.json (market-analysis, sha256 4d25dc82f27b0fca738c597b8edf1299ee4fc4a09b13ac99ea0e92ee2ad48f9c)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/05-product-direction/product-direction.json (product-direction, sha256 c88c8d46a4cf119f42a9f0349893edd4cfebbba96cf7c4efeb111c567a1ea8a1)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/06-ux/screen-inventory.json (screen-inventory, sha256 9455e916c70bc4d1f6a2d0f30bb6ad9a059a57ad1b7c121eb8269bdce051ae73)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/08-art-audit/art-audit.json (art-audit, sha256 830fac21bc2a817a633d9d164abfbc3f9fb2ad39395178cdc5b68dcf5d2fc951)
  • pipeline/counterweight-choir/design/art-bible.md (art-bible, sha256 749c2e3e38dc8cd4e993560edab46423acb35c2ee78c7388f2e734385f5e270b)
  • pipeline/counterweight-choir/design/art-bible/accessibility.png (visual-output, sha256 be9d3c81ecfe3579d4d24634df5e3ba0a8bd1f29416749813130f814f3cadcf9)
  • pipeline/counterweight-choir/design/art-bible/failure.png (visual-output, sha256 b67a2139129edb7ba3380f56c4623cdabcb69ca2688545ad4174ba3540d59576)
  • pipeline/counterweight-choir/design/art-bible/gameplay-active.png (reference, sha256 7bf3903f06ca362b8d7c26d9238811185e523f59b0aa5b2986d42de7275d6083)
  • pipeline/counterweight-choir/design/art-bible/gameplay-state-matrix.png (visual-output, sha256 dd92026c083177c94ed488ce012fd0700e91413177ae9b9aa3249b217d5f051a)
  • pipeline/counterweight-choir/design/art-bible/home.png (visual-output, sha256 5919cebb7aeec326d82f8cb707eb120b2376b180474ba801f57ffc264020480e)
  • pipeline/counterweight-choir/design/art-bible/implementation-board.png (visual-board, sha256 c034c5080de8c000ea25d85783f9279292974e30bea74751a40f6b66fcfd0e7d)
  • pipeline/counterweight-choir/design/art-bible/legal-error.png (visual-output, sha256 cafb440df356a85e8b135dbfc5982b79685dd16d7fd3302b105e6f76baaeb00c)
  • pipeline/counterweight-choir/design/art-bible/onboarding.png (visual-output, sha256 dab6a7eb87631d4fa4018ae86a4fa3ebaae0b971547f89720bd0a9431694ac9b)
  • pipeline/counterweight-choir/design/art-bible/pause.png (visual-output, sha256 b9d6bc1cf026493ebf49e201bf181c3d1af86d2bd816816704ec8e3319139a2e)
  • pipeline/counterweight-choir/design/art-bible/settings.png (visual-output, sha256 2ac60530eeb381af6a8801e969e0f2d7bb573a68292b68702d6014e88ad3cbab)
  • pipeline/counterweight-choir/design/art-bible/success.png (visual-output, sha256 9f6240e0fca905d0edb742fcde4438ee543e0ff8a6604b5b73fdf9c2c3fca7c1)
  • pipeline/counterweight-choir/design/art-bible/visual-blueprint.png (visual-board, sha256 efa779db0561a86573c65743ca444a89392e9985b7c3e36d2197b53b499d3d8d)
  • pipeline/counterweight-choir/design/asset-manifest.json (asset-manifest, sha256 7583adeb218bc72b3a485ced4de68c1780eb3c6d1cbc59e476e1ad3200b87421)
  • pipeline/counterweight-choir/design/board-spec.json (board-spec, sha256 f879d88728a393b398e9e246706ffc9163e52fceb851093ccbd87d7cda1a5f10)
  • pipeline/counterweight-choir/design/gdd.md (gdd, sha256 4e59c490a432ab15ba2ed65e2886fceb7e8780f8c39d9669ddead20a5d8db2d5)
  • pipeline/counterweight-choir/design/image-prompts/accessibility.txt (prompt, sha256 b0f36e9eb2071888309b3c835ee62e1ed76daf5d70e92c1465abe35a70c0ffbd)
  • pipeline/counterweight-choir/design/image-prompts/failure.txt (prompt, sha256 41520229b1ed5b3bc069c5e74a0a390d260a12f31df711935831bbe36f07c0b8)
  • pipeline/counterweight-choir/design/image-prompts/gameplay-active.txt (prompt, sha256 c61842a8da73ff3680602a20fe99613b98298514a2989a55bf14f749ba39b5bd)
  • pipeline/counterweight-choir/design/image-prompts/gameplay-states.txt (prompt, sha256 c4775321d8a12417bdf7ef9d0d1274a53427941d004aebda8b20fbedfceeb0f4)
  • pipeline/counterweight-choir/design/image-prompts/home.txt (prompt, sha256 1584f135468dfe5366deaac7a8dd118ce6502566f4287b7c32e4e0431c875f44)
  • pipeline/counterweight-choir/design/image-prompts/legal-error.txt (prompt, sha256 025dc8cc9f904d41aa1016aace7fcd5e91affb0fd0805fb0eb30ddbb8208631e)
  • pipeline/counterweight-choir/design/image-prompts/onboarding.txt (prompt, sha256 34b6829e305049950557fbd99978486643e1de88bc4a839f8fbdfc9e48847003)
  • pipeline/counterweight-choir/design/image-prompts/pause.txt (prompt, sha256 263add6f52b179e08b01b5a9f001372128b999a1f028769c812be025ad72ad4b)
  • pipeline/counterweight-choir/design/image-prompts/settings.txt (prompt, sha256 e27b91e5698a78493d2b3276e0be1d158d7b7abbaa4ba3305f4c5cca9014abdd)
  • pipeline/counterweight-choir/design/image-prompts/success.txt (prompt, sha256 217b9d943f267bcc746433cdf18a1a15cdb7189337f3d942971424513bd7d2b7)
  • pipeline/counterweight-choir/design/machine-validation.json (machine-validation, sha256 3e53d59f65b7e7dc899ffe38f706d886f8f6d8c5c29b51fb59f486b7d1fb2bf8)
  • pipeline/counterweight-choir/design/ux-flow.md (ux-flow, sha256 f573c13d1c378bfb5374b475334803c0b4730f6baad57222c731eacd0242d389)
  • pipeline/counterweight-choir/design/visual-brief.md (visual-brief, sha256 eed84975304fdb8792b070c152f41ab9927f91e2ea4c9ef5e8e00ef1df663605)
  • pipeline/counterweight-choir/design/visual-qa.json (visual-qa, sha256 79036262102084cb0e59b0d3ed717cbde5ec86c4b365ccf442deb20771c4884d)
Revision 2
Hash
ed3ac969f41e7094620e451638b976853add1447216e409961713ee8001b165c
Created
2026-08-20T18:17:00.317Z
Release
2.0.12
Build
efa7032 2026-08-20 21:04Z
Change summary
catalog sync
Title
Counterweight Choir
Pitch
Move one counterweight across a hanging hierarchy of balance beams, then watch torque propagate upward until every bell settles into the target chord.
State
candidate-design
Stage
7
Score
68
GDD excerpt
This document is the authored design contract for counterweight-choir. Mathematical rules and inventories are design facts. Audience response, fun, retention, willingness to pay, store demand, and Apple approval remain hypotheses until separately observed. Later research may reject or return this exact design for revision but may not silently change its dominant loop.
Art excerpt
Run 2026-08-pipeline-flow-test-en-us; concept counterweight-choir. This is an implementation contract for the bound product, not a moodboard.

Source files:

  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/00-brief/creative-brief.md (source-brief, sha256 41832b9bb6b3a36f9503500221c1d48d5971cc2d85263e91d25eaa17345417f2)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/00-brief/request.json (frozen-request, sha256 34b6206631cbcda6dd495653652ea3dd8fb1183269c8b453e6dbf3ae5892e31d)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/01-idea/idea.json (idea-contract, sha256 8b0ddc6aa2bd62c5088541d84b88b39181802ea5b67e6d73f352eddbbe60f48d)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/03-gdd-audit/audit.json (gdd-audit, sha256 cca5f908b5faac5436e874d487771485eeeb0faa869d58dae926fc738f023023)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/04-market-analysis/advisory-score.json (advisory-score, sha256 c745c14715201680e6088f1011cfc92d25e16c08d0572f6f47103c32dd1cf9fa)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/04-market-analysis/evidence-index.json (evidence-index, sha256 ded89ce344db1e78625581ee8905fb921630d83d7b34d7cb79f42002b2808476)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/04-market-analysis/market-analysis.json (market-analysis, sha256 4d25dc82f27b0fca738c597b8edf1299ee4fc4a09b13ac99ea0e92ee2ad48f9c)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/05-product-direction/product-direction.json (product-direction, sha256 c88c8d46a4cf119f42a9f0349893edd4cfebbba96cf7c4efeb111c567a1ea8a1)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/06-ux/screen-inventory.json (screen-inventory, sha256 9455e916c70bc4d1f6a2d0f30bb6ad9a059a57ad1b7c121eb8269bdce051ae73)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible.md (art-bible, sha256 749c2e3e38dc8cd4e993560edab46423acb35c2ee78c7388f2e734385f5e270b)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/accessibility.png (visual-output, sha256 be9d3c81ecfe3579d4d24634df5e3ba0a8bd1f29416749813130f814f3cadcf9)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/failure.png (visual-output, sha256 b67a2139129edb7ba3380f56c4623cdabcb69ca2688545ad4174ba3540d59576)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/gameplay-active.png (reference, sha256 7bf3903f06ca362b8d7c26d9238811185e523f59b0aa5b2986d42de7275d6083)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/gameplay-state-matrix.png (visual-output, sha256 dd92026c083177c94ed488ce012fd0700e91413177ae9b9aa3249b217d5f051a)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/home.png (visual-output, sha256 5919cebb7aeec326d82f8cb707eb120b2376b180474ba801f57ffc264020480e)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/implementation-board.png (visual-board, sha256 c034c5080de8c000ea25d85783f9279292974e30bea74751a40f6b66fcfd0e7d)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/legal-error.png (visual-output, sha256 cafb440df356a85e8b135dbfc5982b79685dd16d7fd3302b105e6f76baaeb00c)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/onboarding.png (visual-output, sha256 dab6a7eb87631d4fa4018ae86a4fa3ebaae0b971547f89720bd0a9431694ac9b)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/pause.png (visual-output, sha256 b9d6bc1cf026493ebf49e201bf181c3d1af86d2bd816816704ec8e3319139a2e)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/settings.png (visual-output, sha256 2ac60530eeb381af6a8801e969e0f2d7bb573a68292b68702d6014e88ad3cbab)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/success.png (visual-output, sha256 9f6240e0fca905d0edb742fcde4438ee543e0ff8a6604b5b73fdf9c2c3fca7c1)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/visual-blueprint.png (visual-board, sha256 efa779db0561a86573c65743ca444a89392e9985b7c3e36d2197b53b499d3d8d)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/asset-manifest.json (asset-manifest, sha256 7583adeb218bc72b3a485ced4de68c1780eb3c6d1cbc59e476e1ad3200b87421)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/board-spec.json (board-spec, sha256 f879d88728a393b398e9e246706ffc9163e52fceb851093ccbd87d7cda1a5f10)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/gdd.md (gdd, sha256 4e59c490a432ab15ba2ed65e2886fceb7e8780f8c39d9669ddead20a5d8db2d5)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/image-prompts/accessibility.txt (prompt, sha256 b0f36e9eb2071888309b3c835ee62e1ed76daf5d70e92c1465abe35a70c0ffbd)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/image-prompts/failure.txt (prompt, sha256 41520229b1ed5b3bc069c5e74a0a390d260a12f31df711935831bbe36f07c0b8)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/image-prompts/gameplay-active.txt (prompt, sha256 c61842a8da73ff3680602a20fe99613b98298514a2989a55bf14f749ba39b5bd)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/image-prompts/gameplay-states.txt (prompt, sha256 c4775321d8a12417bdf7ef9d0d1274a53427941d004aebda8b20fbedfceeb0f4)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/image-prompts/home.txt (prompt, sha256 1584f135468dfe5366deaac7a8dd118ce6502566f4287b7c32e4e0431c875f44)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/image-prompts/legal-error.txt (prompt, sha256 025dc8cc9f904d41aa1016aace7fcd5e91affb0fd0805fb0eb30ddbb8208631e)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/image-prompts/onboarding.txt (prompt, sha256 34b6829e305049950557fbd99978486643e1de88bc4a839f8fbdfc9e48847003)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/image-prompts/pause.txt (prompt, sha256 263add6f52b179e08b01b5a9f001372128b999a1f028769c812be025ad72ad4b)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/image-prompts/settings.txt (prompt, sha256 e27b91e5698a78493d2b3276e0be1d158d7b7abbaa4ba3305f4c5cca9014abdd)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/image-prompts/success.txt (prompt, sha256 217b9d943f267bcc746433cdf18a1a15cdb7189337f3d942971424513bd7d2b7)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/machine-validation.json (machine-validation, sha256 3e53d59f65b7e7dc899ffe38f706d886f8f6d8c5c29b51fb59f486b7d1fb2bf8)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/ux-flow.md (ux-flow, sha256 f573c13d1c378bfb5374b475334803c0b4730f6baad57222c731eacd0242d389)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/visual-brief.md (visual-brief, sha256 eed84975304fdb8792b070c152f41ab9927f91e2ea4c9ef5e8e00ef1df663605)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/visual-qa.json (visual-qa, sha256 79036262102084cb0e59b0d3ed717cbde5ec86c4b365ccf442deb20771c4884d)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/08-art-audit/art-audit.json (art-audit, sha256 91a37b5d3aa71bcb3571137aa186886ce772eab39f58c83383c557d8d3e3d6bf)
Revision 1
Hash
c4ca55820a7638fb51c49f94aaafad119a0c3a6af9adfd48e66f1af0cc419f2f
Created
2026-08-20T18:17:00.317Z
Release
2.0.10
Build
bb6125f 2026-08-20 18:21Z
Change summary
catalog sync
Title
Counterweight Choir
Pitch
Move one counterweight across a hanging hierarchy of balance beams, then watch torque propagate upward until every bell settles into the target chord.
State
candidate-design
Stage
7
GDD excerpt
This document is the authored design contract for counterweight-choir. Mathematical rules and inventories are design facts. Audience response, fun, retention, willingness to pay, store demand, and Apple approval remain hypotheses until separately observed. Later research may reject or return this exact design for revision but may not silently change its dominant loop.
Art excerpt
Run 2026-08-pipeline-flow-test-en-us; concept counterweight-choir. This is an implementation contract for the bound product, not a moodboard.

Source files:

  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/00-brief/creative-brief.md (source-brief, sha256 41832b9bb6b3a36f9503500221c1d48d5971cc2d85263e91d25eaa17345417f2)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/00-brief/request.json (frozen-request, sha256 34b6206631cbcda6dd495653652ea3dd8fb1183269c8b453e6dbf3ae5892e31d)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/01-idea/idea.json (idea-contract, sha256 8b0ddc6aa2bd62c5088541d84b88b39181802ea5b67e6d73f352eddbbe60f48d)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/03-gdd-audit/audit.json (gdd-audit, sha256 cca5f908b5faac5436e874d487771485eeeb0faa869d58dae926fc738f023023)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/04-market-analysis/evidence-index.json (evidence-index, sha256 ded89ce344db1e78625581ee8905fb921630d83d7b34d7cb79f42002b2808476)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/04-market-analysis/market-analysis.json (market-analysis, sha256 4d25dc82f27b0fca738c597b8edf1299ee4fc4a09b13ac99ea0e92ee2ad48f9c)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/05-product-direction/product-direction.json (product-direction, sha256 c88c8d46a4cf119f42a9f0349893edd4cfebbba96cf7c4efeb111c567a1ea8a1)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/06-ux/screen-inventory.json (screen-inventory, sha256 9455e916c70bc4d1f6a2d0f30bb6ad9a059a57ad1b7c121eb8269bdce051ae73)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible.md (art-bible, sha256 749c2e3e38dc8cd4e993560edab46423acb35c2ee78c7388f2e734385f5e270b)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/accessibility.png (visual-output, sha256 be9d3c81ecfe3579d4d24634df5e3ba0a8bd1f29416749813130f814f3cadcf9)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/failure.png (visual-output, sha256 b67a2139129edb7ba3380f56c4623cdabcb69ca2688545ad4174ba3540d59576)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/gameplay-active.png (reference, sha256 7bf3903f06ca362b8d7c26d9238811185e523f59b0aa5b2986d42de7275d6083)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/gameplay-state-matrix.png (visual-output, sha256 dd92026c083177c94ed488ce012fd0700e91413177ae9b9aa3249b217d5f051a)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/home.png (visual-output, sha256 5919cebb7aeec326d82f8cb707eb120b2376b180474ba801f57ffc264020480e)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/implementation-board.png (visual-board, sha256 c034c5080de8c000ea25d85783f9279292974e30bea74751a40f6b66fcfd0e7d)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/legal-error.png (visual-output, sha256 cafb440df356a85e8b135dbfc5982b79685dd16d7fd3302b105e6f76baaeb00c)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/onboarding.png (visual-output, sha256 dab6a7eb87631d4fa4018ae86a4fa3ebaae0b971547f89720bd0a9431694ac9b)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/pause.png (visual-output, sha256 b9d6bc1cf026493ebf49e201bf181c3d1af86d2bd816816704ec8e3319139a2e)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/settings.png (visual-output, sha256 2ac60530eeb381af6a8801e969e0f2d7bb573a68292b68702d6014e88ad3cbab)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/success.png (visual-output, sha256 9f6240e0fca905d0edb742fcde4438ee543e0ff8a6604b5b73fdf9c2c3fca7c1)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/art-bible/visual-blueprint.png (visual-board, sha256 efa779db0561a86573c65743ca444a89392e9985b7c3e36d2197b53b499d3d8d)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/asset-manifest.json (asset-manifest, sha256 7583adeb218bc72b3a485ced4de68c1780eb3c6d1cbc59e476e1ad3200b87421)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/board-spec.json (board-spec, sha256 f879d88728a393b398e9e246706ffc9163e52fceb851093ccbd87d7cda1a5f10)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/gdd.md (gdd, sha256 4e59c490a432ab15ba2ed65e2886fceb7e8780f8c39d9669ddead20a5d8db2d5)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/image-prompts/accessibility.txt (prompt, sha256 b0f36e9eb2071888309b3c835ee62e1ed76daf5d70e92c1465abe35a70c0ffbd)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/image-prompts/failure.txt (prompt, sha256 41520229b1ed5b3bc069c5e74a0a390d260a12f31df711935831bbe36f07c0b8)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/image-prompts/gameplay-active.txt (prompt, sha256 c61842a8da73ff3680602a20fe99613b98298514a2989a55bf14f749ba39b5bd)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/image-prompts/gameplay-states.txt (prompt, sha256 c4775321d8a12417bdf7ef9d0d1274a53427941d004aebda8b20fbedfceeb0f4)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/image-prompts/home.txt (prompt, sha256 1584f135468dfe5366deaac7a8dd118ce6502566f4287b7c32e4e0431c875f44)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/image-prompts/legal-error.txt (prompt, sha256 025dc8cc9f904d41aa1016aace7fcd5e91affb0fd0805fb0eb30ddbb8208631e)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/image-prompts/onboarding.txt (prompt, sha256 34b6829e305049950557fbd99978486643e1de88bc4a839f8fbdfc9e48847003)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/image-prompts/pause.txt (prompt, sha256 263add6f52b179e08b01b5a9f001372128b999a1f028769c812be025ad72ad4b)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/image-prompts/settings.txt (prompt, sha256 e27b91e5698a78493d2b3276e0be1d158d7b7abbaa4ba3305f4c5cca9014abdd)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/image-prompts/success.txt (prompt, sha256 217b9d943f267bcc746433cdf18a1a15cdb7189337f3d942971424513bd7d2b7)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/machine-validation.json (machine-validation, sha256 3e53d59f65b7e7dc899ffe38f706d886f8f6d8c5c29b51fb59f486b7d1fb2bf8)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/ux-flow.md (ux-flow, sha256 f573c13d1c378bfb5374b475334803c0b4730f6baad57222c731eacd0242d389)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/visual-brief.md (visual-brief, sha256 eed84975304fdb8792b070c152f41ab9927f91e2ea4c9ef5e8e00ef1df663605)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/07-art-bible/design-package/visual-qa.json (visual-qa, sha256 79036262102084cb0e59b0d3ed717cbde5ec86c4b365ccf442deb20771c4884d)
  • idea-lab/outputs/2026-08-pipeline-flow-test-en-us/08-art-audit/art-audit.json (art-audit, sha256 91a37b5d3aa71bcb3571137aa186886ce772eab39f58c83383c557d8d3e3d6bf)

Source package files (19)

artifacts/board-spec.json

application/json, 10377 bytes · https://autechsolutions-game-factory.pages.dev/ideas/counterweight-choir/files/artifacts/board-spec.json

{
  "version": 1,
  "title": "Counterweight Choir",
  "subtitle": "Realistic weight-swap mobile puzzle โ€” structural Art Bible and implementation guide",
  "theme": {
    "background": "#f4f1e8",
    "surface": "#292d31",
    "paper": "#f4f1e8",
    "ink": "#292d31",
    "muted": "#a8adb3",
    "accent": "#1557ff",
    "danger": "#dd5b45",
    "gold": "#b7d62e"
  },
  "overview": [
    {
      "label": "Fantasy",
      "text": "Restore a credible gallery-scale kinetic sculpture by swapping physical counterweights in the right order.",
      "sourceRefs": [
        "ENV-SCULPTURE-GALLERY",
        "M-SWAP"
      ]
    },
    {
      "label": "Genre",
      "text": "Portrait tactile order puzzle with immediate drag readability and authored causal depth.",
      "sourceRefs": [
        "SCR-GAMEPLAY",
        "M-PREVIEW"
      ]
    },
    {
      "label": "Core loop",
      "text": "Read target pose, pick weight, preview settle, place or swap, watch shutter, match sculpture.",
      "sourceRefs": [
        "UI-TARGET-CARD",
        "M-PICK",
        "M-SWAP",
        "M-CHECK"
      ]
    },
    {
      "label": "Consequence",
      "text": "Each committed swap changes the mobile and future legal hooks, making visible order matter.",
      "sourceRefs": [
        "P-ORDER",
        "M-SETTLE",
        "V-HOOK-CHANGE"
      ]
    },
    {
      "label": "Visual identity",
      "text": "Architectural daylight, anodized metal, fine cable, porcelain, stone, acrylic, white panels, cobalt action.",
      "sourceRefs": [
        "ENV-ARCHITECTURAL-BACKDROP",
        "E-BEAM",
        "E-WEIGHT-1"
      ]
    },
    {
      "label": "Hard exclusions",
      "text": "No weight numbers, equations, torque, M/H/L, resonance tokens, phrase rail, calibration UI, or soft toy blobs.",
      "sourceRefs": [
        "SCR-GAMEPLAY",
        "UI-PRIMARY"
      ]
    }
  ],
  "gameplayFlow": [
    {
      "step": 1,
      "title": "Read the pose",
      "description": "Compare the dense complete mobile with the compact target thumbnail and move budget.",
      "assetId": "ART-GAMEPLAY",
      "sourceRefs": [
        "UI-TARGET-CARD",
        "UI-MOVE-COUNT"
      ]
    },
    {
      "step": 2,
      "title": "Pick a weight",
      "description": "Select one physical counterweight; legal open rings halo and occupied hooks say Swap.",
      "assetId": "ART-ONBOARDING",
      "sourceRefs": [
        "M-PICK",
        "E-WEIGHT-2",
        "E-HOOK"
      ]
    },
    {
      "step": 3,
      "title": "Preview the settle",
      "description": "Ghost the exact final hierarchy, displaced weight, target changes, and future shutter state.",
      "assetId": "ART-GAMEPLAY-STATES",
      "sourceRefs": [
        "M-PREVIEW",
        "V-GHOST",
        "V-HOOK-CHANGE"
      ]
    },
    {
      "step": 4,
      "title": "Place or swap",
      "description": "Release on an open ring; an occupied destination exchanges both weights atomically.",
      "assetId": "ART-GAMEPLAY",
      "sourceRefs": [
        "M-SWAP",
        "M-SETTLE"
      ]
    },
    {
      "step": 5,
      "title": "Watch what opens",
      "description": "Affected beams settle leaf to root and reveal or close the next physical hook.",
      "assetId": "ART-GAMEPLAY-STATES",
      "sourceRefs": [
        "ST-HOOK-REVEAL",
        "E-SHUTTER",
        "P-ORDER"
      ]
    },
    {
      "step": 6,
      "title": "Match or recover",
      "description": "Complete the pose, or inspect mismatches and use Undo or Retry without penalty.",
      "assetId": "ART-SUCCESS",
      "sourceRefs": [
        "M-CHECK",
        "M-UNDO",
        "M-RETRY"
      ]
    }
  ],
  "tutorial": [
    {
      "title": "Target",
      "instruction": "Match the pictured mobile before moves reach zero.",
      "sourceRefs": [
        "UI-TARGET-CARD",
        "UI-MOVE-COUNT"
      ]
    },
    {
      "title": "Physical cues",
      "instruction": "Size, silhouette, material, and separate dots distinguish weights without printed values.",
      "sourceRefs": [
        "E-WEIGHT-1",
        "E-WEIGHT-2",
        "E-WEIGHT-3"
      ]
    },
    {
      "title": "Select",
      "instruction": "Open rings halo; closed destinations remain physically shuttered.",
      "sourceRefs": [
        "M-PICK",
        "E-HOOK",
        "E-SHUTTER"
      ]
    },
    {
      "title": "Preview",
      "instruction": "The translucent mobile is the exact post-release state, including the displaced weight.",
      "sourceRefs": [
        "M-PREVIEW",
        "V-GHOST"
      ]
    },
    {
      "title": "Swap",
      "instruction": "Dropping on an occupied open hook exchanges both visible counterweights for one move.",
      "sourceRefs": [
        "M-SWAP",
        "UI-HOOK-BADGE"
      ]
    },
    {
      "title": "Reveal",
      "instruction": "After settle, the affected shutter explicitly shows Opens or Closed.",
      "sourceRefs": [
        "ST-HOOK-REVEAL",
        "V-HOOK-CHANGE"
      ]
    },
    {
      "title": "Blocked",
      "instruction": "Physical obstruction is outlined; the weight returns and no move is used.",
      "sourceRefs": [
        "ST-PREVIEW-BLOCKED",
        "V-BOUNCE"
      ]
    },
    {
      "title": "Recover",
      "instruction": "Undo restores the exact prior sculpture; Retry restores the authored start.",
      "sourceRefs": [
        "M-UNDO",
        "M-RETRY"
      ]
    }
  ],
  "entityCards": [
    {
      "title": "Counterweights",
      "description": "Seven to ten credible porcelain, stone, and metal forms use scale, silhouette, and dots without numbers.",
      "sourceRefs": [
        "E-WEIGHT-1",
        "E-WEIGHT-2",
        "E-WEIGHT-3",
        "E-TRAY"
      ]
    },
    {
      "title": "Beam and bearing",
      "description": "Slender anodized beam and oversized bearing communicate pose without degree ticks.",
      "sourceRefs": [
        "E-BEAM",
        "E-PIVOT",
        "E-TARGET-ARC"
      ]
    },
    {
      "title": "Hooks and shutter",
      "description": "Open, occupied, one-way, and covered destinations differ physically and textually.",
      "sourceRefs": [
        "E-HOOK",
        "E-SHUTTER",
        "E-ONEWAY"
      ]
    },
    {
      "title": "Glass and bell",
      "description": "Clear blockers have strong edges; one real bell confirms only completed restoration.",
      "sourceRefs": [
        "E-GLASS",
        "E-BELL"
      ]
    }
  ],
  "systemCards": [
    {
      "title": "Exact ghost",
      "description": "Preview and commit share one deterministic resolver, so visible settled state is trustworthy.",
      "sourceRefs": [
        "M-PREVIEW",
        "M-SETTLE",
        "V-GHOST"
      ]
    },
    {
      "title": "Occupied swap",
      "description": "A drop on an occupied open ring exchanges both physical counterweights for one move.",
      "sourceRefs": [
        "M-SWAP",
        "UI-HOOK-BADGE"
      ]
    },
    {
      "title": "Order changes access",
      "description": "Settled linked beams open or close physical shutters, changing the next legal hook.",
      "sourceRefs": [
        "P-ORDER",
        "E-SHUTTER",
        "V-HOOK-CHANGE"
      ]
    },
    {
      "title": "Forgiving recovery",
      "description": "Blocked previews cost nothing; Undo and Retry support immediate experimentation.",
      "sourceRefs": [
        "V-BOUNCE",
        "M-UNDO",
        "M-RETRY"
      ]
    }
  ],
  "screenAssetIds": [
    "ART-ONBOARDING",
    "ART-HOME",
    "ART-GAMEPLAY",
    "ART-GAMEPLAY-STATES",
    "ART-PAUSE",
    "ART-SUCCESS",
    "ART-FAILURE",
    "ART-SETTINGS",
    "ART-ACCESSIBILITY",
    "ART-LEGAL"
  ],
  "implementationNotes": [
    {
      "label": "Layout",
      "text": "Keep target, seven-to-ten-weight mobile, staging rail, moves, Undo, and Retry visible at 360x800.",
      "sourceRefs": [
        "SCR-GAMEPLAY",
        "UI-WEIGHT-TRAY"
      ]
    },
    {
      "label": "Touch",
      "text": "Visible forms can stay slender while invisible weight/hook hit regions remain at least 64x64.",
      "sourceRefs": [
        "E-HOOK",
        "A-TAP"
      ]
    },
    {
      "label": "Type",
      "text": "Modern grotesk, 17 px body minimum, tabular UI counts, 35 percent expansion, 150 percent reflow.",
      "sourceRefs": [
        "A-TEXT",
        "UI-MOVE-COUNT"
      ]
    },
    {
      "label": "Motion",
      "text": "Settle within 500 ms; reduced motion uses stepped before/after frames and no camera movement.",
      "sourceRefs": [
        "M-SETTLE",
        "A-MOTION"
      ]
    },
    {
      "label": "Access",
      "text": "Scale, material, dots, geometry, labels, speech, and optional haptics repeat critical state.",
      "sourceRefs": [
        "A-COLOR",
        "A-READER",
        "A-HAPTIC"
      ]
    },
    {
      "label": "Export",
      "text": "Rebuild UI natively; preserve sRGB sources, layered sculpture pieces, baked light, and shared resolver.",
      "sourceRefs": [
        "ENV-SCULPTURE-GALLERY",
        "UI-SETTING-ROW"
      ]
    }
  ],
  "sourceRefs": [
    "SCR-ONBOARDING",
    "SCR-HOME",
    "SCR-GAMEPLAY",
    "SCR-PAUSE",
    "SCR-SUCCESS",
    "SCR-FAILURE",
    "SCR-SETTINGS",
    "SCR-ACCESSIBILITY",
    "SCR-LEGAL",
    "ST-FRESH",
    "ST-SELECTED",
    "ST-DRAGGING",
    "ST-PREVIEW-SAFE",
    "ST-PREVIEW-BLOCKED",
    "ST-SETTLING",
    "ST-HOOK-REVEAL",
    "ST-TARGET-MATCH",
    "ST-PAUSED",
    "ST-SUCCESS",
    "ST-FAILURE",
    "ST-ERROR",
    "ST-LOADING",
    "ST-DISABLED",
    "ST-INTERRUPTED",
    "M-PICK",
    "M-DRAG",
    "M-PREVIEW",
    "M-SWAP",
    "M-SETTLE",
    "M-CHECK",
    "M-UNDO",
    "M-RETRY",
    "E-BEAM",
    "E-PIVOT",
    "E-HOOK",
    "E-WEIGHT-1",
    "E-WEIGHT-2",
    "E-WEIGHT-3",
    "E-SHUTTER",
    "E-ONEWAY",
    "E-GLASS",
    "E-TARGET-ARC",
    "E-BELL",
    "E-TRAY",
    "ENV-SCULPTURE-GALLERY",
    "ENV-GALLERY-ARCHIVE",
    "ENV-ARCHITECTURAL-BACKDROP",
    "UI-TARGET-CARD",
    "UI-MOVE-COUNT",
    "UI-WEIGHT-TRAY",
    "UI-HOOK-BADGE",
    "UI-PRIMARY",
    "UI-FROST-SHEET",
    "UI-LEVEL-PATH",
    "UI-HOW-TO",
    "UI-SETTING-ROW",
    "UI-ERROR-SHEET",
    "UI-LEGAL-LIST",
    "A-COLOR",
    "A-MOTION",
    "A-TEXT",
    "A-HAPTIC",
    "A-READER",
    "A-TAP",
    "V-GHOST",
    "V-HOOK-CHANGE",
    "V-BOUNCE",
    "V-TARGET-LOCK",
    "V-SETTLE",
    "V-SUCCESS"
  ]
}

artifacts/image-prompts/accessibility.txt

text/plain; charset=utf-8, 810 bytes · https://autechsolutions-game-factory.pages.dev/ideas/counterweight-choir/files/artifacts/image-prompts/accessibility.txt

Counterweight Choir v0.4 realistic image contract

Real material/dot/hook preview and accessibility controls.

Match the previous Counterweight Choir generation: bright contemporary gallery, tall slender aluminum mobile, fine tension wires, real porcelain/stone/metal counterweights, hard architectural daylight, warm-white acrylic panels, graphite type, restrained cobalt actions. Standard gameplay contains seven to ten weights; FTUE may use five. Explain swap, exact settle, target pose, and future hook physically. No printed numeric mass labels, equations, torque, signed angles, degree ticks, M/H/L, resonance tokens, phrase rail, calibration diagnostics, candy colors, soft toy blobs, cartoon faces, owner UI, or currency.

Source refs: SCR-ACCESSIBILITY A-COLOR A-MOTION A-TEXT A-HAPTIC A-READER A-TAP

artifacts/image-prompts/failure.txt

text/plain; charset=utf-8, 773 bytes · https://autechsolutions-game-factory.pages.dev/ideas/counterweight-choir/files/artifacts/image-prompts/failure.txt

Counterweight Choir v0.4 realistic image contract

Out-of-moves sculpture preserving two visible target mismatches.

Match the previous Counterweight Choir generation: bright contemporary gallery, tall slender aluminum mobile, fine tension wires, real porcelain/stone/metal counterweights, hard architectural daylight, warm-white acrylic panels, graphite type, restrained cobalt actions. Standard gameplay contains seven to ten weights; FTUE may use five. Explain swap, exact settle, target pose, and future hook physically. No printed numeric mass labels, equations, torque, signed angles, degree ticks, M/H/L, resonance tokens, phrase rail, calibration diagnostics, candy colors, soft toy blobs, cartoon faces, owner UI, or currency.

Source refs: SCR-FAILURE ST-FAILURE

artifacts/image-prompts/gameplay-active.txt

text/plain; charset=utf-8, 1135 bytes · https://autechsolutions-game-factory.pages.dev/ideas/counterweight-choir/files/artifacts/image-prompts/gameplay-active.txt

Counterweight Choir v0.4 realistic image contract

Authoritative realistic nine-weight gameplay master.

Match the previous Counterweight Choir generation: bright contemporary gallery, tall slender aluminum mobile, fine tension wires, real porcelain/stone/metal counterweights, hard architectural daylight, warm-white acrylic panels, graphite type, restrained cobalt actions. Standard gameplay contains seven to ten weights; FTUE may use five. Explain swap, exact settle, target pose, and future hook physically. No printed numeric mass labels, equations, torque, signed angles, degree ticks, M/H/L, resonance tokens, phrase rail, calibration diagnostics, candy colors, soft toy blobs, cartoon faces, owner UI, or currency.

Source refs: SCR-GAMEPLAY ST-PREVIEW-SAFE M-PICK M-DRAG M-PREVIEW M-SWAP M-SETTLE M-CHECK M-UNDO M-RETRY E-BEAM E-PIVOT E-HOOK E-WEIGHT-1 E-WEIGHT-2 E-WEIGHT-3 E-SHUTTER E-ONEWAY E-GLASS E-TARGET-ARC E-BELL E-TRAY ENV-SCULPTURE-GALLERY UI-TARGET-CARD UI-MOVE-COUNT UI-WEIGHT-TRAY UI-HOOK-BADGE UI-PRIMARY A-COLOR A-MOTION A-HAPTIC A-READER A-TAP V-GHOST V-HOOK-CHANGE V-BOUNCE V-TARGET-LOCK V-SETTLE V-SUCCESS

artifacts/image-prompts/gameplay-state-matrix.txt

text/plain; charset=utf-8, 895 bytes · https://autechsolutions-game-factory.pages.dev/ideas/counterweight-choir/files/artifacts/image-prompts/gameplay-state-matrix.txt

Counterweight Choir v0.4 realistic image contract

Realistic selected, safe swap, blocked, loading, disabled, and interruption language.

Match the previous Counterweight Choir generation: bright contemporary gallery, tall slender aluminum mobile, fine tension wires, real porcelain/stone/metal counterweights, hard architectural daylight, warm-white acrylic panels, graphite type, restrained cobalt actions. Standard gameplay contains seven to ten weights; FTUE may use five. Explain swap, exact settle, target pose, and future hook physically. No printed numeric mass labels, equations, torque, signed angles, degree ticks, M/H/L, resonance tokens, phrase rail, calibration diagnostics, candy colors, soft toy blobs, cartoon faces, owner UI, or currency.

Source refs: ST-SELECTED ST-DRAGGING ST-PREVIEW-BLOCKED ST-SETTLING ST-HOOK-REVEAL ST-TARGET-MATCH ST-LOADING ST-DISABLED ST-INTERRUPTED

artifacts/image-prompts/home.txt

text/plain; charset=utf-8, 819 bytes · https://autechsolutions-game-factory.pages.dev/ideas/counterweight-choir/files/artifacts/image-prompts/home.txt

Counterweight Choir v0.4 realistic image contract

Dense gallery archive, sixty-level path, and solved sculptures.

Match the previous Counterweight Choir generation: bright contemporary gallery, tall slender aluminum mobile, fine tension wires, real porcelain/stone/metal counterweights, hard architectural daylight, warm-white acrylic panels, graphite type, restrained cobalt actions. Standard gameplay contains seven to ten weights; FTUE may use five. Explain swap, exact settle, target pose, and future hook physically. No printed numeric mass labels, equations, torque, signed angles, degree ticks, M/H/L, resonance tokens, phrase rail, calibration diagnostics, candy colors, soft toy blobs, cartoon faces, owner UI, or currency.

Source refs: SCR-HOME ENV-GALLERY-ARCHIVE ENV-ARCHITECTURAL-BACKDROP UI-LEVEL-PATH

artifacts/image-prompts/legal-error.txt

text/plain; charset=utf-8, 783 bytes · https://autechsolutions-game-factory.pages.dev/ideas/counterweight-choir/files/artifacts/image-prompts/legal-error.txt

Counterweight Choir v0.4 realistic image contract

Realistic legal list and recoverable error sheet.

Match the previous Counterweight Choir generation: bright contemporary gallery, tall slender aluminum mobile, fine tension wires, real porcelain/stone/metal counterweights, hard architectural daylight, warm-white acrylic panels, graphite type, restrained cobalt actions. Standard gameplay contains seven to ten weights; FTUE may use five. Explain swap, exact settle, target pose, and future hook physically. No printed numeric mass labels, equations, torque, signed angles, degree ticks, M/H/L, resonance tokens, phrase rail, calibration diagnostics, candy colors, soft toy blobs, cartoon faces, owner UI, or currency.

Source refs: SCR-LEGAL ST-ERROR UI-ERROR-SHEET UI-LEGAL-LIST

artifacts/image-prompts/onboarding.txt

text/plain; charset=utf-8, 798 bytes · https://autechsolutions-game-factory.pages.dev/ideas/counterweight-choir/files/artifacts/image-prompts/onboarding.txt

Counterweight Choir v0.4 realistic image contract

Five-weight real FTUE showing drag, occupied swap, and future shutter opening.

Match the previous Counterweight Choir generation: bright contemporary gallery, tall slender aluminum mobile, fine tension wires, real porcelain/stone/metal counterweights, hard architectural daylight, warm-white acrylic panels, graphite type, restrained cobalt actions. Standard gameplay contains seven to ten weights; FTUE may use five. Explain swap, exact settle, target pose, and future hook physically. No printed numeric mass labels, equations, torque, signed angles, degree ticks, M/H/L, resonance tokens, phrase rail, calibration diagnostics, candy colors, soft toy blobs, cartoon faces, owner UI, or currency.

Source refs: SCR-ONBOARDING ST-FRESH UI-HOW-TO

artifacts/image-prompts/pause.txt

text/plain; charset=utf-8, 773 bytes · https://autechsolutions-game-factory.pages.dev/ideas/counterweight-choir/files/artifacts/image-prompts/pause.txt

Counterweight Choir v0.4 realistic image contract

Frosted pause sheet over the frozen dense sculpture.

Match the previous Counterweight Choir generation: bright contemporary gallery, tall slender aluminum mobile, fine tension wires, real porcelain/stone/metal counterweights, hard architectural daylight, warm-white acrylic panels, graphite type, restrained cobalt actions. Standard gameplay contains seven to ten weights; FTUE may use five. Explain swap, exact settle, target pose, and future hook physically. No printed numeric mass labels, equations, torque, signed angles, degree ticks, M/H/L, resonance tokens, phrase rail, calibration diagnostics, candy colors, soft toy blobs, cartoon faces, owner UI, or currency.

Source refs: SCR-PAUSE ST-PAUSED UI-FROST-SHEET

artifacts/image-prompts/settings.txt

text/plain; charset=utf-8, 754 bytes · https://autechsolutions-game-factory.pages.dev/ideas/counterweight-choir/files/artifacts/image-prompts/settings.txt

Counterweight Choir v0.4 realistic image contract

Realistic acrylic settings panel.

Match the previous Counterweight Choir generation: bright contemporary gallery, tall slender aluminum mobile, fine tension wires, real porcelain/stone/metal counterweights, hard architectural daylight, warm-white acrylic panels, graphite type, restrained cobalt actions. Standard gameplay contains seven to ten weights; FTUE may use five. Explain swap, exact settle, target pose, and future hook physically. No printed numeric mass labels, equations, torque, signed angles, degree ticks, M/H/L, resonance tokens, phrase rail, calibration diagnostics, candy colors, soft toy blobs, cartoon faces, owner UI, or currency.

Source refs: SCR-SETTINGS UI-SETTING-ROW A-TEXT

artifacts/image-prompts/success.txt

text/plain; charset=utf-8, 767 bytes · https://autechsolutions-game-factory.pages.dev/ideas/counterweight-choir/files/artifacts/image-prompts/success.txt

Counterweight Choir v0.4 realistic image contract

Realistic restored sculpture with restrained result panel.

Match the previous Counterweight Choir generation: bright contemporary gallery, tall slender aluminum mobile, fine tension wires, real porcelain/stone/metal counterweights, hard architectural daylight, warm-white acrylic panels, graphite type, restrained cobalt actions. Standard gameplay contains seven to ten weights; FTUE may use five. Explain swap, exact settle, target pose, and future hook physically. No printed numeric mass labels, equations, torque, signed angles, degree ticks, M/H/L, resonance tokens, phrase rail, calibration diagnostics, candy colors, soft toy blobs, cartoon faces, owner UI, or currency.

Source refs: SCR-SUCCESS ST-SUCCESS

market/evidence-index.json

application/json, 3052 bytes · https://autechsolutions-game-factory.pages.dev/ideas/counterweight-choir/files/market/evidence-index.json

{
  "version": 1,
  "status": "indexed",
  "evidence": [
    {
      "id": "sensor-tower-q2-2026-puzzle",
      "kind": "market-report",
      "truthLabel": "REPORTED",
      "url": "https://sensortower.com/blog/q2-2026-digital-market-index-report",
      "retrievedAt": "2026-08-20T22:45:44.7159022Z",
      "finding": "Sensor Tower reports Puzzle IAP revenue above $4B in Q2 2026, up 17 percent year over year, and Puzzle as the only major game genre with positive year-over-year download growth at 1 percent."
    },
    {
      "id": "sensor-tower-june-2026-puzzle-creative",
      "kind": "acquisition-report",
      "truthLabel": "REPORTED",
      "url": "https://develop.sensortower.com/blog/top-10-worldwide-mobile-games-by-revenue-and-downloads-in-june-2026",
      "retrievedAt": "2026-08-20T22:45:44.7159022Z",
      "finding": "Sensor Tower says multiple arrow puzzle titles scaled simultaneously and attributes appeal to simple rules, rapid retry loops, and short-form video creatives."
    },
    {
      "id": "apple-poise-market",
      "kind": "competition-signal",
      "truthLabel": "CONFIRMED",
      "url": "https://apps.apple.com/us/app/poise-a-balance-puzzle/id6788523588",
      "retrievedAt": "2026-08-20T22:45:44.7159022Z",
      "finding": "Current US page shows the closest hanging-mobile product, 90 curated solver-verified puzzles, daily and endless modes, but only one visible rating."
    },
    {
      "id": "apple-weighting-game-market",
      "kind": "competition-signal",
      "truthLabel": "CONFIRMED",
      "url": "https://apps.apple.com/us/app/weighting-game/id6745152557",
      "retrievedAt": "2026-08-20T22:45:44.7159022Z",
      "finding": "Current US page sells moving weights to particular hooks and beam balance for $0.99 and lacks enough ratings for an overview."
    },
    {
      "id": "apple-fulcrum-market",
      "kind": "competition-signal",
      "truthLabel": "CONFIRMED",
      "url": "https://apps.apple.com/us/app/the-fulcrum/id6760799324",
      "retrievedAt": "2026-08-20T22:45:44.7159022Z",
      "finding": "Current US page advertises 150 levels, fixed and free-physics placement, distractors, locks, multiple beams, daily challenge, endless mode, and one visible rating."
    },
    {
      "id": "apple-railbound-premium",
      "kind": "monetization-signal",
      "truthLabel": "CONFIRMED",
      "url": "https://apps.apple.com/us/app/railbound/id1636439801",
      "retrievedAt": "2026-08-20T22:45:44.7159022Z",
      "finding": "Current US page shows a $4.99 premium authored order puzzle with 240-plus levels, 118 ratings, 4.8 stars, and Editors Choice."
    },
    {
      "id": "apple-good-snowman-premium",
      "kind": "monetization-signal",
      "truthLabel": "CONFIRMED",
      "url": "https://apps.apple.com/us/app/a-good-snowman/id1040930654",
      "retrievedAt": "2026-08-20T22:45:44.7159022Z",
      "finding": "Current US page shows a $5.99 authored puzzle with no ads or in-app purchases, supporting model existence but not this concepts conversion."
    }
  ]
}

validation/asset-manifest.json

application/json, 27150 bytes · https://autechsolutions-game-factory.pages.dev/ideas/counterweight-choir/files/validation/asset-manifest.json

{
  "version": 3,
  "status": "complete",
  "model": "gpt-image-2",
  "lineage": {
    "runId": "2026-08-pipeline-flow-test-en-us",
    "conceptId": "counterweight-choir"
  },
  "authorship": {
    "designBy": "Codex visual design operator"
  },
  "documents": {
    "gdd": "gdd.md",
    "uxFlow": "ux-flow.md",
    "visualBrief": "visual-brief.md",
    "artBible": "art-bible.md"
  },
  "boardSpec": "board-spec.json",
  "sourceBindings": {
    "gdd": {
      "source": "02-gdd/gdd.md",
      "snapshot": "gdd.md",
      "sha256": "9fae203d233394552ce875648d404921879b5879d3e475a65538fca33f239f59"
    },
    "gddAudit": {
      "source": "03-gdd-audit/audit.json",
      "snapshot": "gdd-audit.json",
      "sha256": "0d8d112ead3cad15d5db95e0ec65781e20920a06d2e284e4d9d2b49401a924c7"
    },
    "marketAnalysis": {
      "source": "04-market-analysis/market-analysis.json",
      "snapshot": "market-analysis.json",
      "sha256": "73c6365d8bbd18f0ac286bf7f87b5e8d106b31244a343e220e40d98e8ced4014"
    },
    "productDirection": {
      "source": "05-product-direction/product-direction.json",
      "snapshot": "product-direction.json",
      "sha256": "4c93983134728202cf088806344a6e056aab1c7dfb9f923164c532a373639c40"
    },
    "uxFlow": {
      "source": "06-ux/ux-flow.md",
      "snapshot": "ux-flow.md",
      "sha256": "0dea84c3a9e956b8ac97cee2a4d60c1a071884e2702613285e9299a210f6d02f"
    }
  },
  "inventory": {
    "screens": [
      {
        "id": "SCR-ONBOARDING",
        "role": "onboarding",
        "sourceRefs": [
          "SCR-ONBOARDING",
          "M-PICK",
          "M-PREVIEW",
          "M-SWAP",
          "P-ORDER"
        ]
      },
      {
        "id": "SCR-HOME",
        "role": "home",
        "sourceRefs": [
          "SCR-HOME",
          "ENV-GALLERY-ARCHIVE",
          "UI-LEVEL-PATH",
          "UI-HOW-TO"
        ]
      },
      {
        "id": "SCR-GAMEPLAY",
        "role": "gameplay",
        "sourceRefs": [
          "SCR-GAMEPLAY",
          "ENV-SCULPTURE-GALLERY",
          "UI-TARGET-CARD",
          "UI-MOVE-COUNT",
          "M-PREVIEW"
        ]
      },
      {
        "id": "SCR-PAUSE",
        "role": "pause",
        "sourceRefs": [
          "SCR-PAUSE",
          "ST-PAUSED",
          "UI-FROST-SHEET"
        ]
      },
      {
        "id": "SCR-SUCCESS",
        "role": "success",
        "sourceRefs": [
          "SCR-SUCCESS",
          "ST-SUCCESS",
          "V-TARGET-LOCK",
          "E-BELL"
        ]
      },
      {
        "id": "SCR-FAILURE",
        "role": "failure",
        "sourceRefs": [
          "SCR-FAILURE",
          "ST-FAILURE",
          "UI-TARGET-CARD",
          "M-UNDO",
          "M-RETRY"
        ]
      },
      {
        "id": "SCR-SETTINGS",
        "role": "settings",
        "sourceRefs": [
          "SCR-SETTINGS",
          "A-HAPTIC",
          "A-TEXT",
          "UI-SETTING-ROW"
        ]
      },
      {
        "id": "SCR-ACCESSIBILITY",
        "role": "accessibility",
        "sourceRefs": [
          "SCR-ACCESSIBILITY",
          "A-COLOR",
          "A-MOTION",
          "A-TEXT",
          "A-READER",
          "A-TAP"
        ]
      },
      {
        "id": "SCR-LEGAL",
        "role": "legal",
        "sourceRefs": [
          "SCR-LEGAL",
          "UI-LEGAL-LIST",
          "ST-ERROR"
        ]
      }
    ],
    "states": [
      {
        "id": "ST-FRESH",
        "role": "fresh",
        "important": true,
        "sourceRefs": [
          "ST-FRESH",
          "ENV-SCULPTURE-GALLERY",
          "UI-TARGET-CARD"
        ]
      },
      {
        "id": "ST-SELECTED",
        "role": "selected",
        "important": false,
        "sourceRefs": [
          "ST-SELECTED",
          "M-PICK",
          "E-WEIGHT-1",
          "E-HOOK"
        ]
      },
      {
        "id": "ST-DRAGGING",
        "role": "dragging",
        "important": false,
        "sourceRefs": [
          "ST-DRAGGING",
          "M-DRAG",
          "E-HOOK",
          "E-SHUTTER"
        ]
      },
      {
        "id": "ST-PREVIEW-SAFE",
        "role": "active",
        "important": true,
        "sourceRefs": [
          "ST-PREVIEW-SAFE",
          "M-PREVIEW",
          "V-GHOST",
          "V-HOOK-CHANGE"
        ]
      },
      {
        "id": "ST-PREVIEW-BLOCKED",
        "role": "preview-blocked",
        "important": false,
        "sourceRefs": [
          "ST-PREVIEW-BLOCKED",
          "E-SHUTTER",
          "E-ONEWAY",
          "E-GLASS",
          "V-BOUNCE"
        ]
      },
      {
        "id": "ST-SETTLING",
        "role": "settling",
        "important": false,
        "sourceRefs": [
          "ST-SETTLING",
          "M-SETTLE",
          "A-MOTION"
        ]
      },
      {
        "id": "ST-HOOK-REVEAL",
        "role": "hook-reveal",
        "important": false,
        "sourceRefs": [
          "ST-HOOK-REVEAL",
          "P-ORDER",
          "E-SHUTTER",
          "V-HOOK-CHANGE"
        ]
      },
      {
        "id": "ST-TARGET-MATCH",
        "role": "target-match",
        "important": false,
        "sourceRefs": [
          "ST-TARGET-MATCH",
          "M-CHECK",
          "E-TARGET-ARC",
          "V-TARGET-LOCK"
        ]
      },
      {
        "id": "ST-PAUSED",
        "role": "paused",
        "important": true,
        "sourceRefs": [
          "ST-PAUSED",
          "SCR-PAUSE"
        ]
      },
      {
        "id": "ST-SUCCESS",
        "role": "success",
        "important": true,
        "sourceRefs": [
          "ST-SUCCESS",
          "SCR-SUCCESS",
          "V-SUCCESS"
        ]
      },
      {
        "id": "ST-FAILURE",
        "role": "failure",
        "important": true,
        "sourceRefs": [
          "ST-FAILURE",
          "SCR-FAILURE",
          "M-UNDO",
          "M-RETRY"
        ]
      },
      {
        "id": "ST-ERROR",
        "role": "error",
        "important": true,
        "sourceRefs": [
          "ST-ERROR",
          "UI-ERROR-SHEET"
        ]
      },
      {
        "id": "ST-LOADING",
        "role": "loading",
        "important": false,
        "sourceRefs": [
          "ST-LOADING",
          "ENV-GALLERY-ARCHIVE"
        ]
      },
      {
        "id": "ST-DISABLED",
        "role": "disabled",
        "important": false,
        "sourceRefs": [
          "ST-DISABLED",
          "E-SHUTTER",
          "UI-PRIMARY"
        ]
      },
      {
        "id": "ST-INTERRUPTED",
        "role": "interrupted",
        "important": false,
        "sourceRefs": [
          "ST-INTERRUPTED",
          "ST-DRAGGING",
          "ST-SETTLING",
          "ST-PAUSED"
        ]
      }
    ],
    "mechanics": [
      {
        "id": "M-PICK",
        "sourceRefs": [
          "M-PICK"
        ]
      },
      {
        "id": "M-DRAG",
        "sourceRefs": [
          "M-DRAG"
        ]
      },
      {
        "id": "M-PREVIEW",
        "sourceRefs": [
          "M-PREVIEW"
        ]
      },
      {
        "id": "M-SWAP",
        "sourceRefs": [
          "M-SWAP"
        ]
      },
      {
        "id": "M-SETTLE",
        "sourceRefs": [
          "M-SETTLE"
        ]
      },
      {
        "id": "M-CHECK",
        "sourceRefs": [
          "M-CHECK"
        ]
      },
      {
        "id": "M-UNDO",
        "sourceRefs": [
          "M-UNDO"
        ]
      },
      {
        "id": "M-RETRY",
        "sourceRefs": [
          "M-RETRY"
        ]
      }
    ],
    "entities": [
      {
        "id": "E-BEAM",
        "sourceRefs": [
          "E-BEAM"
        ]
      },
      {
        "id": "E-PIVOT",
        "sourceRefs": [
          "E-PIVOT"
        ]
      },
      {
        "id": "E-HOOK",
        "sourceRefs": [
          "E-HOOK"
        ]
      },
      {
        "id": "E-WEIGHT-1",
        "sourceRefs": [
          "E-WEIGHT-1"
        ]
      },
      {
        "id": "E-WEIGHT-2",
        "sourceRefs": [
          "E-WEIGHT-2"
        ]
      },
      {
        "id": "E-WEIGHT-3",
        "sourceRefs": [
          "E-WEIGHT-3"
        ]
      },
      {
        "id": "E-SHUTTER",
        "sourceRefs": [
          "E-SHUTTER"
        ]
      },
      {
        "id": "E-ONEWAY",
        "sourceRefs": [
          "E-ONEWAY"
        ]
      },
      {
        "id": "E-GLASS",
        "sourceRefs": [
          "E-GLASS"
        ]
      },
      {
        "id": "E-TARGET-ARC",
        "sourceRefs": [
          "E-TARGET-ARC"
        ]
      },
      {
        "id": "E-BELL",
        "sourceRefs": [
          "E-BELL"
        ]
      },
      {
        "id": "E-TRAY",
        "sourceRefs": [
          "E-TRAY"
        ]
      }
    ],
    "environments": [
      {
        "id": "ENV-SCULPTURE-GALLERY",
        "sourceRefs": [
          "ENV-SCULPTURE-GALLERY"
        ]
      },
      {
        "id": "ENV-GALLERY-ARCHIVE",
        "sourceRefs": [
          "ENV-GALLERY-ARCHIVE"
        ]
      },
      {
        "id": "ENV-ARCHITECTURAL-BACKDROP",
        "sourceRefs": [
          "ENV-ARCHITECTURAL-BACKDROP"
        ]
      }
    ],
    "ui": [
      {
        "id": "UI-TARGET-CARD",
        "sourceRefs": [
          "UI-TARGET-CARD"
        ]
      },
      {
        "id": "UI-MOVE-COUNT",
        "sourceRefs": [
          "UI-MOVE-COUNT"
        ]
      },
      {
        "id": "UI-WEIGHT-TRAY",
        "sourceRefs": [
          "UI-WEIGHT-TRAY"
        ]
      },
      {
        "id": "UI-HOOK-BADGE",
        "sourceRefs": [
          "UI-HOOK-BADGE"
        ]
      },
      {
        "id": "UI-PRIMARY",
        "sourceRefs": [
          "UI-PRIMARY"
        ]
      },
      {
        "id": "UI-FROST-SHEET",
        "sourceRefs": [
          "UI-FROST-SHEET"
        ]
      },
      {
        "id": "UI-LEVEL-PATH",
        "sourceRefs": [
          "UI-LEVEL-PATH"
        ]
      },
      {
        "id": "UI-HOW-TO",
        "sourceRefs": [
          "UI-HOW-TO"
        ]
      },
      {
        "id": "UI-SETTING-ROW",
        "sourceRefs": [
          "UI-SETTING-ROW"
        ]
      },
      {
        "id": "UI-ERROR-SHEET",
        "sourceRefs": [
          "UI-ERROR-SHEET"
        ]
      },
      {
        "id": "UI-LEGAL-LIST",
        "sourceRefs": [
          "UI-LEGAL-LIST"
        ]
      }
    ],
    "accessibility": [
      {
        "id": "A-COLOR",
        "sourceRefs": [
          "A-COLOR"
        ]
      },
      {
        "id": "A-MOTION",
        "sourceRefs": [
          "A-MOTION"
        ]
      },
      {
        "id": "A-TEXT",
        "sourceRefs": [
          "A-TEXT"
        ]
      },
      {
        "id": "A-HAPTIC",
        "sourceRefs": [
          "A-HAPTIC"
        ]
      },
      {
        "id": "A-READER",
        "sourceRefs": [
          "A-READER"
        ]
      },
      {
        "id": "A-TAP",
        "sourceRefs": [
          "A-TAP"
        ]
      }
    ],
    "vfx": [
      {
        "id": "V-GHOST",
        "sourceRefs": [
          "V-GHOST"
        ]
      },
      {
        "id": "V-HOOK-CHANGE",
        "sourceRefs": [
          "V-HOOK-CHANGE"
        ]
      },
      {
        "id": "V-BOUNCE",
        "sourceRefs": [
          "V-BOUNCE"
        ]
      },
      {
        "id": "V-TARGET-LOCK",
        "sourceRefs": [
          "V-TARGET-LOCK"
        ]
      },
      {
        "id": "V-SETTLE",
        "sourceRefs": [
          "V-SETTLE"
        ]
      },
      {
        "id": "V-SUCCESS",
        "sourceRefs": [
          "V-SUCCESS"
        ]
      }
    ]
  },
  "logicalLayouts": {
    "portrait": {
      "width": 360,
      "height": 800,
      "aspectRatio": "9:20"
    }
  },
  "supportedOrientations": [
    "portrait"
  ],
  "assets": [
    {
      "id": "ART-GAMEPLAY",
      "standalone": true,
      "orientation": "portrait",
      "dimensions": {
        "width": 360,
        "height": 800
      },
      "prompt": "image-prompts/gameplay-active.txt",
      "output": "art-bible/gameplay-active.png",
      "references": [],
      "sourceRefs": [
        "SCR-GAMEPLAY",
        "ST-PREVIEW-SAFE",
        "M-PICK",
        "M-DRAG",
        "M-PREVIEW",
        "M-SWAP",
        "M-SETTLE",
        "M-CHECK",
        "M-UNDO",
        "M-RETRY",
        "E-BEAM",
        "E-PIVOT",
        "E-HOOK",
        "E-WEIGHT-1",
        "E-WEIGHT-2",
        "E-WEIGHT-3",
        "E-SHUTTER",
        "E-ONEWAY",
        "E-GLASS",
        "E-TARGET-ARC",
        "E-BELL",
        "E-TRAY",
        "ENV-SCULPTURE-GALLERY",
        "UI-TARGET-CARD",
        "UI-MOVE-COUNT",
        "UI-WEIGHT-TRAY",
        "UI-HOOK-BADGE",
        "UI-PRIMARY",
        "A-COLOR",
        "A-MOTION",
        "A-HAPTIC",
        "A-READER",
        "A-TAP",
        "V-GHOST",
        "V-HOOK-CHANGE",
        "V-BOUNCE",
        "V-TARGET-LOCK",
        "V-SETTLE",
        "V-SUCCESS"
      ],
      "covers": {
        "screens": [
          "SCR-GAMEPLAY"
        ],
        "states": [
          "ST-PREVIEW-SAFE"
        ],
        "mechanics": [
          "M-PICK",
          "M-DRAG",
          "M-PREVIEW",
          "M-SWAP",
          "M-SETTLE",
          "M-CHECK",
          "M-UNDO",
          "M-RETRY"
        ],
        "entities": [
          "E-BEAM",
          "E-PIVOT",
          "E-HOOK",
          "E-WEIGHT-1",
          "E-WEIGHT-2",
          "E-WEIGHT-3",
          "E-SHUTTER",
          "E-ONEWAY",
          "E-GLASS",
          "E-TARGET-ARC",
          "E-BELL",
          "E-TRAY"
        ],
        "environments": [
          "ENV-SCULPTURE-GALLERY"
        ],
        "ui": [
          "UI-TARGET-CARD",
          "UI-MOVE-COUNT",
          "UI-WEIGHT-TRAY",
          "UI-HOOK-BADGE",
          "UI-PRIMARY"
        ],
        "accessibility": [
          "A-COLOR",
          "A-MOTION",
          "A-HAPTIC",
          "A-READER",
          "A-TAP"
        ],
        "vfx": [
          "V-GHOST",
          "V-HOOK-CHANGE",
          "V-BOUNCE",
          "V-TARGET-LOCK",
          "V-SETTLE",
          "V-SUCCESS"
        ]
      },
      "provenance": {
        "createdBy": "OpenAI gpt-image-2 via Codex",
        "createdAt": "2026-08-21T00:29:06.575Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "360x800 portrait",
          "realistic final visually inspected",
          "v0.4 source refs bound",
          "rejected variants excluded"
        ]
      },
      "master": true
    },
    {
      "id": "ART-GAMEPLAY-STATES",
      "standalone": false,
      "orientation": "portrait",
      "dimensions": {
        "width": 360,
        "height": 800
      },
      "prompt": "image-prompts/gameplay-state-matrix.txt",
      "output": "art-bible/gameplay-state-matrix.png",
      "references": [
        "art-bible/gameplay-active.png"
      ],
      "sourceRefs": [
        "ST-SELECTED",
        "ST-DRAGGING",
        "ST-PREVIEW-BLOCKED",
        "ST-SETTLING",
        "ST-HOOK-REVEAL",
        "ST-TARGET-MATCH",
        "ST-LOADING",
        "ST-DISABLED",
        "ST-INTERRUPTED"
      ],
      "covers": {
        "screens": [],
        "states": [
          "ST-SELECTED",
          "ST-DRAGGING",
          "ST-PREVIEW-BLOCKED",
          "ST-SETTLING",
          "ST-HOOK-REVEAL",
          "ST-TARGET-MATCH",
          "ST-LOADING",
          "ST-DISABLED",
          "ST-INTERRUPTED"
        ],
        "mechanics": [],
        "entities": [],
        "environments": [],
        "ui": [],
        "accessibility": [],
        "vfx": []
      },
      "provenance": {
        "createdBy": "OpenAI gpt-image-2 via Codex",
        "createdAt": "2026-08-21T00:29:06.575Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "360x800 portrait",
          "realistic final visually inspected",
          "v0.4 source refs bound",
          "rejected variants excluded"
        ]
      }
    },
    {
      "id": "ART-ONBOARDING",
      "standalone": true,
      "orientation": "portrait",
      "dimensions": {
        "width": 360,
        "height": 800
      },
      "prompt": "image-prompts/onboarding.txt",
      "output": "art-bible/onboarding.png",
      "references": [
        "art-bible/gameplay-active.png"
      ],
      "sourceRefs": [
        "SCR-ONBOARDING",
        "ST-FRESH",
        "UI-HOW-TO"
      ],
      "covers": {
        "screens": [
          "SCR-ONBOARDING"
        ],
        "states": [
          "ST-FRESH"
        ],
        "mechanics": [],
        "entities": [],
        "environments": [],
        "ui": [
          "UI-HOW-TO"
        ],
        "accessibility": [],
        "vfx": []
      },
      "provenance": {
        "createdBy": "OpenAI gpt-image-2 via Codex",
        "createdAt": "2026-08-21T00:29:06.575Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "360x800 portrait",
          "realistic final visually inspected",
          "v0.4 source refs bound",
          "rejected variants excluded"
        ]
      }
    },
    {
      "id": "ART-HOME",
      "standalone": true,
      "orientation": "portrait",
      "dimensions": {
        "width": 360,
        "height": 800
      },
      "prompt": "image-prompts/home.txt",
      "output": "art-bible/home.png",
      "references": [
        "art-bible/gameplay-active.png"
      ],
      "sourceRefs": [
        "SCR-HOME",
        "ENV-GALLERY-ARCHIVE",
        "ENV-ARCHITECTURAL-BACKDROP",
        "UI-LEVEL-PATH"
      ],
      "covers": {
        "screens": [
          "SCR-HOME"
        ],
        "states": [],
        "mechanics": [],
        "entities": [],
        "environments": [
          "ENV-GALLERY-ARCHIVE",
          "ENV-ARCHITECTURAL-BACKDROP"
        ],
        "ui": [
          "UI-LEVEL-PATH"
        ],
        "accessibility": [],
        "vfx": []
      },
      "provenance": {
        "createdBy": "OpenAI gpt-image-2 via Codex",
        "createdAt": "2026-08-21T00:29:06.575Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "360x800 portrait",
          "realistic final visually inspected",
          "v0.4 source refs bound",
          "rejected variants excluded"
        ]
      }
    },
    {
      "id": "ART-PAUSE",
      "standalone": true,
      "orientation": "portrait",
      "dimensions": {
        "width": 360,
        "height": 800
      },
      "prompt": "image-prompts/pause.txt",
      "output": "art-bible/pause.png",
      "references": [
        "art-bible/gameplay-active.png"
      ],
      "sourceRefs": [
        "SCR-PAUSE",
        "ST-PAUSED",
        "UI-FROST-SHEET"
      ],
      "covers": {
        "screens": [
          "SCR-PAUSE"
        ],
        "states": [
          "ST-PAUSED"
        ],
        "mechanics": [],
        "entities": [],
        "environments": [],
        "ui": [
          "UI-FROST-SHEET"
        ],
        "accessibility": [],
        "vfx": []
      },
      "provenance": {
        "createdBy": "OpenAI gpt-image-2 via Codex",
        "createdAt": "2026-08-21T00:29:06.575Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "360x800 portrait",
          "realistic final visually inspected",
          "v0.4 source refs bound",
          "rejected variants excluded"
        ]
      }
    },
    {
      "id": "ART-SUCCESS",
      "standalone": true,
      "orientation": "portrait",
      "dimensions": {
        "width": 360,
        "height": 800
      },
      "prompt": "image-prompts/success.txt",
      "output": "art-bible/success.png",
      "references": [
        "art-bible/gameplay-active.png"
      ],
      "sourceRefs": [
        "SCR-SUCCESS",
        "ST-SUCCESS"
      ],
      "covers": {
        "screens": [
          "SCR-SUCCESS"
        ],
        "states": [
          "ST-SUCCESS"
        ],
        "mechanics": [],
        "entities": [],
        "environments": [],
        "ui": [],
        "accessibility": [],
        "vfx": []
      },
      "provenance": {
        "createdBy": "OpenAI gpt-image-2 via Codex",
        "createdAt": "2026-08-21T00:29:06.575Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "360x800 portrait",
          "realistic final visually inspected",
          "v0.4 source refs bound",
          "rejected variants excluded"
        ]
      }
    },
    {
      "id": "ART-FAILURE",
      "standalone": true,
      "orientation": "portrait",
      "dimensions": {
        "width": 360,
        "height": 800
      },
      "prompt": "image-prompts/failure.txt",
      "output": "art-bible/failure.png",
      "references": [
        "art-bible/gameplay-active.png"
      ],
      "sourceRefs": [
        "SCR-FAILURE",
        "ST-FAILURE"
      ],
      "covers": {
        "screens": [
          "SCR-FAILURE"
        ],
        "states": [
          "ST-FAILURE"
        ],
        "mechanics": [],
        "entities": [],
        "environments": [],
        "ui": [],
        "accessibility": [],
        "vfx": []
      },
      "provenance": {
        "createdBy": "OpenAI gpt-image-2 via Codex",
        "createdAt": "2026-08-21T00:29:06.575Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "360x800 portrait",
          "realistic final visually inspected",
          "v0.4 source refs bound",
          "rejected variants excluded"
        ]
      }
    },
    {
      "id": "ART-SETTINGS",
      "standalone": true,
      "orientation": "portrait",
      "dimensions": {
        "width": 360,
        "height": 800
      },
      "prompt": "image-prompts/settings.txt",
      "output": "art-bible/settings.png",
      "references": [
        "art-bible/gameplay-active.png"
      ],
      "sourceRefs": [
        "SCR-SETTINGS",
        "UI-SETTING-ROW",
        "A-TEXT"
      ],
      "covers": {
        "screens": [
          "SCR-SETTINGS"
        ],
        "states": [],
        "mechanics": [],
        "entities": [],
        "environments": [],
        "ui": [
          "UI-SETTING-ROW"
        ],
        "accessibility": [
          "A-TEXT"
        ],
        "vfx": []
      },
      "provenance": {
        "createdBy": "OpenAI gpt-image-2 via Codex",
        "createdAt": "2026-08-21T00:29:06.575Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "360x800 portrait",
          "realistic final visually inspected",
          "v0.4 source refs bound",
          "rejected variants excluded"
        ]
      }
    },
    {
      "id": "ART-ACCESSIBILITY",
      "standalone": true,
      "orientation": "portrait",
      "dimensions": {
        "width": 360,
        "height": 800
      },
      "prompt": "image-prompts/accessibility.txt",
      "output": "art-bible/accessibility.png",
      "references": [
        "art-bible/gameplay-active.png"
      ],
      "sourceRefs": [
        "SCR-ACCESSIBILITY",
        "A-COLOR",
        "A-MOTION",
        "A-TEXT",
        "A-HAPTIC",
        "A-READER",
        "A-TAP"
      ],
      "covers": {
        "screens": [
          "SCR-ACCESSIBILITY"
        ],
        "states": [],
        "mechanics": [],
        "entities": [],
        "environments": [],
        "ui": [],
        "accessibility": [
          "A-COLOR",
          "A-MOTION",
          "A-TEXT",
          "A-HAPTIC",
          "A-READER",
          "A-TAP"
        ],
        "vfx": []
      },
      "provenance": {
        "createdBy": "OpenAI gpt-image-2 via Codex",
        "createdAt": "2026-08-21T00:29:06.575Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "360x800 portrait",
          "realistic final visually inspected",
          "v0.4 source refs bound",
          "rejected variants excluded"
        ]
      }
    },
    {
      "id": "ART-LEGAL",
      "standalone": true,
      "orientation": "portrait",
      "dimensions": {
        "width": 360,
        "height": 800
      },
      "prompt": "image-prompts/legal-error.txt",
      "output": "art-bible/legal-error.png",
      "references": [
        "art-bible/gameplay-active.png"
      ],
      "sourceRefs": [
        "SCR-LEGAL",
        "ST-ERROR",
        "UI-ERROR-SHEET",
        "UI-LEGAL-LIST"
      ],
      "covers": {
        "screens": [
          "SCR-LEGAL"
        ],
        "states": [
          "ST-ERROR"
        ],
        "mechanics": [],
        "entities": [],
        "environments": [],
        "ui": [
          "UI-ERROR-SHEET",
          "UI-LEGAL-LIST"
        ],
        "accessibility": [],
        "vfx": []
      },
      "provenance": {
        "createdBy": "OpenAI gpt-image-2 via Codex",
        "createdAt": "2026-08-21T00:29:06.575Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "360x800 portrait",
          "realistic final visually inspected",
          "v0.4 source refs bound",
          "rejected variants excluded"
        ]
      }
    }
  ],
  "visualBoards": [
    {
      "id": "BOARD-VISUAL-BLUEPRINT",
      "role": "generation-blueprint",
      "output": "art-bible/visual-blueprint.png",
      "dimensions": {
        "width": 2048,
        "height": 1152
      },
      "assetIds": [
        "ART-GAMEPLAY"
      ],
      "sourceRefs": [
        "M-PREVIEW",
        "M-SWAP",
        "P-ORDER",
        "E-WEIGHT-1",
        "E-HOOK",
        "UI-TARGET-CARD",
        "V-GHOST"
      ],
      "provenance": {
        "createdBy": "deterministic board compositor",
        "createdAt": "2026-08-21T00:29:06.575Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "2048x1152 exact dimensions",
          "realistic gameplay master included",
          "GDD v0.4 structural copy"
        ]
      }
    },
    {
      "id": "BOARD-IMPLEMENTATION-OVERVIEW",
      "role": "implementation-overview",
      "output": "art-bible/implementation-board.png",
      "dimensions": {
        "width": 3840,
        "height": 2160
      },
      "assetIds": [
        "ART-GAMEPLAY",
        "ART-GAMEPLAY-STATES",
        "ART-ONBOARDING",
        "ART-HOME",
        "ART-PAUSE",
        "ART-SUCCESS",
        "ART-FAILURE",
        "ART-SETTINGS",
        "ART-ACCESSIBILITY",
        "ART-LEGAL"
      ],
      "sourceRefs": [
        "M-PICK",
        "M-PREVIEW",
        "M-SWAP",
        "M-SETTLE",
        "P-ORDER",
        "M-UNDO",
        "A-COLOR",
        "A-MOTION",
        "A-TEXT",
        "A-READER"
      ],
      "provenance": {
        "createdBy": "deterministic board compositor",
        "createdAt": "2026-08-21T00:29:06.575Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "3840x2160 exact dimensions",
          "all ten realistic assets represented",
          "deterministic text legible at full resolution"
        ]
      }
    }
  ]
}