AU-TECH / idea dossier

Refrain Garden

Draw one wind ribbon through a moonlit garden; every ribbon you commit pulses again on each later turn, so guiding the next seed means composing with all the currents you already created.

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
Refrain Garden
Pitch
Draw one wind ribbon through a moonlit garden; every ribbon you commit pulses again on each later turn, so guiding the next seed means composing with all the currents you already created.
State
shipped
Pipeline stage
Gate 10
Advisory score
73 / 100
Score confidence
78 / 100
Evidence integrity
75 / 100
Run
2026-08-mobile-originality-live-test-en-us
Current revision
5
Prototype
/games/refrain-garden/
Render mode
2d
Orientations
portrait
Camera
Fixed orthographic top-down board with the entire live grid visible between safe-area HUD bands; no gameplay pan, zoom, tilt, rotation, perspective, or hidden off-screen cells.
Controls
One finger starts on an enabled 56x56 or larger border anchor, drags through orthogonally snapped cells without repeats, ends on another enabled anchor, inspects an exact four-beat preview, and taps Commit or Cancel. Retry, pause, settings, board selection, and accessibility controls use 48x48 or larger targets.
Tags
deterministic-permanent-current-motion-composition-puzzle, 2D, portrait
Updated
2026-09-05T10:30:34.826Z

Market evidence claims (8)

  1. The US listing shows 402K ratings at 4.8, free entry with IAP, more than 2,500 free puzzles, daily puzzles, multiple board sizes, and color-impaired labels.

    ID
    apple-flow-free-market
    Truth label
    CONFIRMED
    Kind
    store-signal
    Source URL
    https://apps.apple.com/us/app/flow-free/id526641427
    Retrieved
    2026-08-19T03:20:00.000Z
  2. Google Play reports Flow Free at 100M+ downloads and 1.55M reviews with ads, in-app purchases, and Play Pass availability.

    ID
    google-flow-free-market
    Truth label
    CONFIRMED
    Kind
    store-signal
    Source URL
    https://play.google.com/store/apps/dev?id=5251530371678806790
    Retrieved
    2026-08-19T03:20:00.000Z
  3. Google Play reports Brain It On at 50M+ downloads and 525K reviews with ads, in-app purchases, and Play Pass availability.

    ID
    google-brain-it-on-market
    Truth label
    CONFIRMED
    Kind
    store-signal
    Source URL
    https://play.google.com/store/apps/dev?id=5976616910996789779
    Retrieved
    2026-08-19T03:20:00.000Z
  4. The US listing shows 5.1K ratings at 4.5, free entry with IAP, dozens of draw-shape physics puzzles, and multiple-solution positioning.

    ID
    apple-brain-it-on-market
    Truth label
    CONFIRMED
    Kind
    store-signal
    Source URL
    https://apps.apple.com/us/app/brain-it-on/id985367692
    Retrieved
    2026-08-19T03:20:00.000Z
  5. The US listing shows a $4.99 premium price, 799 ratings at 4.5, Editors' Choice recognition, and a repeating drawn-line promise.

    ID
    apple-blek-market
    Truth label
    CONFIRMED
    Kind
    monetization-signal
    Source URL
    https://apps.apple.com/us/app/blek/id742625884
    Retrieved
    2026-08-19T03:20:00.000Z
  6. The US listing shows a $5.99 premium price, 198 ratings at 4.8, hundreds of authored route-planning levels, and no ads or in-app purchases.

    ID
    apple-cosmic-express-market
    Truth label
    CONFIRMED
    Kind
    monetization-signal
    Source URL
    https://apps.apple.com/us/app/cosmic-express/id1152474226
    Retrieved
    2026-08-19T03:20:00.000Z
  7. The US listing uses the promise Draw your winds, get your boat to destination, but shows only two ratings at 1.5 and provides no deeper feature description.

    ID
    apple-draw-wind-market
    Truth label
    CONFIRMED
    Kind
    competition-signal
    Source URL
    https://apps.apple.com/us/app/draw-wind/id1510294136
    Retrieved
    2026-08-19T03:20:00.000Z
  8. Large adjacent line-puzzle demand and premium niche precedents justify a bounded prototype investment, but do not confirm acquisition cost, retention, or willingness to pay for cumulative vector replay.

    ID
    refrain-demand-inference
    Truth label
    INFERRED
    Kind
    analysis
    Source URL
    https://apps.apple.com/us/app/flow-free/id526641427
    Retrieved
    2026-08-19T03:20:00.000Z

Game design document

# Refrain Garden — Game Design Document v0.1 ## Source and Truth Labels This document is the authoritative player-facing contract for concept `refrain-garden`. The source brief and mobile/no-visual-novel constraints are CONFIRMED. Rules, scope, content counts, UX targets, and technical budgets are DESIGN TARGETS until prototype or player evidence exists. Originality, demand, retention, acquisition cost, conversion, and revenue are UNKNOWN here and belong only to later gates. The defining promise is: draw one breeze, keep it forever, and solve with every breeze returning together. ## Player Promise and Audience Refrain Garden is a portrait deterministic motion-composition puzzle for players who enjoy compact spatial planning, visible cause and effect, and solutions that become small performances. The player conducts living wind through a moonlit garden. A board lasts 45–120 seconds. The first session must deliver one real ribbon, one complete four-beat breath, and one flower bloom within 90 seconds. The primary audience is mobile puzzle players aged 13+ who prefer calm planning over timers, dexterity, randomness, or long tutorials. ## Fantasy, Promise, Audience, and Genre Genre: deterministic spatial motion-composition puzzle. Fantasy: awaken a sleeping garden by conducting permanent currents. `ENV-GARDEN` is the playable cell garden, `ENV-NIGHT` is the quiet non-interactive surround, and `ENV-HERBARIUM` holds completed living dioramas. The store promise is not generic line drawing: every committed gesture becomes a rule that returns in all later turns. ## Design Pillars and Non-Goals 1. `P-REFRAIN`: every committed `M-RIBBON` must replay on every later `M-BREATH`; no move is disposable. 2. `P-PREVIEW`: `M-PREVIEW` must reveal all four beats, vector combinations, blocks, blooms, and fatal outcomes before commitment. 3. `P-COMPOSE`: later decisions must interact materially with earlier ribbons through reinforcement, cancellation, or confluence. 4. `P-ONE-THUMB`: core play uses one portrait finger with large border anchors and no camera manipulation. 5. `P-FAIR`: identical states and ribbon paths resolve identically; no randomness, hidden priority, timer, or paid reasoning bypass exists. 6. `P-LIVING-SCORE`: the solved board must replay as a readable garden choreography, not merely display a completion badge. Non-goals are visual-novel structure, dialogue choices, twitch steering, tilt input, real-time combat, decorative gardening, match-three, random wind, physics ambiguity, base building, gacha, multiplayer, or a prototype created before the accepted Art Bible and manual Codex design lock. ## Design Pillars `P-REFRAIN`, `P-PREVIEW`, `P-COMPOSE`, `P-ONE-THUMB`, `P-FAIR`, and `P-LIVING-SCORE` are release invariants. If the best levels are solvable as isolated route drawings, if prior ribbons can be ignored, or if the preview cannot exactly predict resolution, the design returns to the GDD rather than being disguised with additional art or metagame rewards. ## Player-Facing Fingerprint - Input: drag one snapped `M-RIBBON` between two enabled `E-ANCHOR` sockets, inspect `M-PREVIEW`, then release to commit or return to origin to cancel. - Decision: add a permanent vector field that advances one seed while every earlier field replays safely for all remaining seeds. - Objective: land each glyph-marked `E-SEED` on its matching `E-FLOWER` at the end of a four-beat breath within the ribbon budget. - Failure: a seed enters `E-THORN`, exits the garden, collides or swaps with another seed, reaches a numbered flower out of order, or remains after the final ribbon. - State change: every commit adds a permanent current, advances all active seeds simultaneously for four beats, removes matched seeds, and blooms flowers. - Progression: thirty authored boards across five beds add multiple seeds, intersections, stones, beat gates, and ordered blooms without adding input verbs. - Content: authored integer-grid boards produced from anchors, paths, vectors, entities, blockers, gates, budgets, and canonical solutions. - Presentation: portrait top-down tactile night garden with indigo beds, pale anchors, cyan current ribbons, glyph-marked seeds, coral hazards, and warm bloom halos. - Metagame: solved current scores restore pages in `ENV-HERBARIUM`; there are no power upgrades. ## Core Loop and Player Verbs Read seeds, flowers, existing ribbons, four-beat timing, and remaining budget → press an enabled `E-ANCHOR` → drag a snapped path through legal cells → inspect the complete `M-PREVIEW` timeline → return to origin to cancel or release on another anchor to commit → observe `M-BREATH` resolve four beats → continue, enter `ST-SUCCESS`, or enter `ST-FAILURE` → retry or advance. Legal gameplay verbs are inspect, press anchor, drag ribbon, cancel before release, commit, scrub the preview beats, pause, retry, and advance. There is no post-commit undo in the base contract because accumulation is the central consequence. `UI-TIMELINE` exposes beats one through four; `UI-TOPBAR` exposes bed, board, seeds, and ribbons; `UI-PRIMARY` advances or retries; `UI-MODAL` owns pause and confirmations. ## Camera, Dimension, and Controls The design target is portrait top-down 2D or shallow 2.5D; Phase 05 must select the cheapest justified implementation after the market verdict. Simulation uses a 6×9 maximum integer cell grid inside a 360×800 logical canvas. `ENV-GARDEN` stays fully visible between `UI-TOPBAR` and the lower thumb zone. One-finger drag begins only on an enabled 56×56 logical border anchor. The sampled path snaps to orthogonally adjacent cell centers. The player may backtrack over the last segment while dragging but may not cross the same cell twice. Gameplay never requires pan, zoom, rotation, multi-touch, device tilt, or perspective-dependent adjacency. ## Deterministic Rules 1. A level loads an integer grid from 3×4 through 6×9 cells, a set of border `E-ANCHOR` sockets, active seeds, flowers, hazards, blockers, optional gates, a ribbon budget, and a canonical solution. 2. Every seed and flower carries one of four redundant identities: circle, triangle, square, or diamond. Shape is authoritative; color is secondary. 3. A candidate ribbon starts at one enabled anchor, visits an ordered list of orthogonally adjacent non-stone cells, and ends at a different enabled anchor. It must visit 2–12 cells, may not repeat a cell, and may not reuse an already occupied directed segment. 4. At most two ribbon vectors may occupy one cell. A third vector makes the preview invalid. Crossing is permitted only when the shared cell contains no stone, thorn, flower, or gate. 5. Each visited cell receives the cardinal vector leading to the ribbon's next cell. The final cell receives the vector pointing from that cell through the exit anchor. The entry anchor itself contributes no off-grid motion. 6. During `M-PREVIEW`, the candidate is evaluated together with all committed ribbons from the exact current seed state. The preview exposes start state and beats one through four. Nothing mutates before release. 7. On each beat, every active seed reads every ribbon vector in its current cell. Vector components are summed independently, then each nonzero component is clamped to -1 or +1. Zero plus zero means stay; one nonzero axis means one orthogonal cell; two nonzero axes mean one diagonal cell. 8. Equal opposing components cancel. Reinforcing components still move only one cell. Thus two east vectors equal one east step; east plus west equals no step; east plus north equals one northeast step. 9. All seed intents are calculated from the same pre-beat state. Resolution is simultaneous and does not depend on entity iteration order. 10. A destination outside the grid or containing `E-THORN` causes immediate `ST-FAILURE`. The decisive seed, vector sources, origin, and destination remain visible. 11. `E-STONE` is an immovable blocker. A seed intending to enter stone remains in its origin for that beat; this is safe and visible in preview. A ribbon may not visit a stone cell. 12. `E-GATE` lies on one directed boundary and declares one or more open beat numbers. Crossing it on an open beat succeeds; crossing it while closed leaves the seed at origin. The preview shows the closed gate and blocked vector. 13. If two seeds intend the same destination, or intend to swap origins, the board fails before either movement is applied. A seed moving into a cell vacated by another seed in the same direction is legal. 14. After safe intent validation, every moving seed reaches its destination simultaneously. Seeds with zero or blocked intent remain in place. 15. Flowers do not stop seeds during beats one through three. At the end of beat four, a seed on its matching flower blooms: the seed becomes inactive, the flower becomes completed, and neither participates in later breaths. 16. A seed on a nonmatching flower at the end of beat four remains active. In ordered-bloom levels, a seed matching a numbered flower when another lower number is incomplete causes `ST-FAILURE`; the number and next valid flower are shown in preview. 17. A committed ribbon is appended permanently before the breath begins, the ribbon budget decrements exactly once, and the four-beat sequence shown by `M-PREVIEW` becomes authoritative. 18. If all flowers are completed after beat four, enter `ST-SUCCESS`. Otherwise, if the budget is zero, enter `ST-FAILURE`. Otherwise return to `ST-ACTIVE` with all committed ribbons intact. 19. Invalid candidates—missing exit, repeated cell, illegal segment, stone cell, third vector, or disabled anchor—cannot be committed and do not consume budget. 20. Returning the drag to its entry anchor, pressing system back during drag, or releasing outside an enabled exit cancels without mutation. 21. There is no randomness. A replay is level ID plus ordered cell lists for committed ribbons. Identical replay input produces byte-identical seed, flower, ribbon, and state logs. 22. System back during `ST-ACTIVE` opens `ST-PAUSED`; back closes the top overlay; back from home requests exit. App interruption auto-pauses before another beat renders. 23. `M-RETRY` restores the authored start state, clears ribbons and timeline, and re-enables input within 500 ms. ## Preview Contract `M-PREVIEW` is a reasoning tool, not an answer generator. It shows the exact candidate path, existing and candidate vectors, all four seed positions, blocked steps, collisions, blooms, failure, and final state. It does not recommend an anchor, compare alternate ribbons, show future uncreated ribbons, or label a candidate “optimal.” The timeline can be scrubbed without animation. Fatal previews remain commit-able so responsibility stays with the player, but release over a fatal preview requires a 350 ms hold and displays the specific rule beside the destination. ## Failure, Consequence, and State Change A safe commit always adds one visible ribbon, consumes one budget unit, and advances the whole seed system through four beats. `V-PULSE` illuminates each ribbon in beat order without changing the simulation; `V-BLOOM` uses a warm expanding glyph and paired chime; `V-THORN`, `V-EDGE`, `V-COLLISION`, `V-ORDER`, and `V-BUDGET` use distinct silhouettes, text, and haptic patterns. Failure freezes the decisive beat, names the exact rule, keeps earlier ribbons visible, and offers `M-RETRY`. Success hides editing controls and replays the full committed score from the authored start state into `ENV-HERBARIUM`. ## Progression and Content Grammar Launch scope is 30 authored boards in five six-level beds: 1. **First Breath** — one seed, one flower, cardinal motion, cancellation, and one-ribbon boards. 2. **Crosscurrent** — multiple seeds, reinforcement, opposing cancellation, diagonal confluence, and collision avoidance. 3. **Quiet Stone** — impassable `E-STONE`, blocked intents, narrow anchors, and persistent currents that become useful only after later commits. 4. **Timed Petals** — `E-GATE` schedules, timeline scrubbing, safe waiting, and different seeds crossing one boundary on different beats. 5. **Full Chorus** — ordered flowers and combinations of every established rule, never a new player verb. Difficulty variables are grid size, anchor set, ribbon budget, maximum path length, committed-ribbon depth, seed count, shape distribution, thorn density, stone placement, vector intersection count, gate schedule, solution depth, decoy-safe candidates, and bloom order. Every board must have at least one verified solution, no more than ten initially enabled anchor pairs, and a canonical solution of one to five ribbons. The first 18 boards must have a unique shortest solution; later boards may permit readable alternatives. Three optional badges reward par ribbons, no canceled previews, and timeline-free completion; badges never affect power. The content format serializes dimensions, anchors, entities, hazards, gate schedules, budget, tutorial callouts, canonical ribbons, and expected beat logs. A deterministic solver enumerates bounded snapped paths, simulates exact rules, rejects duplicate normalized solutions, and estimates branching. Thirty boards are the launch target; further beds are a post-validation possibility, not a promise. ## State and Content Inventory Required screen IDs are `SCR-ONBOARDING`, `SCR-HOME`, `SCR-BED-SELECT`, `SCR-GAMEPLAY`, `SCR-PAUSE`, `SCR-SUCCESS`, `SCR-FAILURE`, `SCR-SETTINGS`, `SCR-ACCESSIBILITY`, and `SCR-LEGAL`. Important states are `ST-FRESH`, `ST-DRAWING`, `ST-PREVIEW`, `ST-RESOLVING`, `ST-ACTIVE`, `ST-PAUSED`, `ST-SUCCESS`, `ST-FAILURE`, and `ST-ERROR`. Mechanics are `M-RIBBON`, `M-PREVIEW`, `M-BREATH`, `M-VECTOR`, `M-BLOOM`, and `M-RETRY`. Entities and objects are `E-SEED`, `E-FLOWER`, `E-ANCHOR`, `E-THORN`, `E-STONE`, and `E-GATE`. Environments are `ENV-GARDEN`, `ENV-NIGHT`, and `ENV-HERBARIUM`. This is the full launch visual inventory; another rule-bearing entity requires a GDD revision and repeat audit. ## Difficulty, Progression, and Economy Difficulty rises through interaction depth, not speed or visual noise. First Breath teaches one cause per board; Crosscurrent introduces simultaneous consequences; Quiet Stone turns blocked motion into planning; Timed Petals introduces beat reading; Full Chorus combines known rules. Completion restores one herbarium page and awards up to three cosmetic dew seals. Seals unlock alternate garden palettes only after accessibility validation and never alter solutions. No consumable currency, upgrade tree, daily streak, energy, or loss aversion system exists. ## First Session and FTUE `SCR-ONBOARDING` opens on a 3×4 garden with one circle seed, one circle flower, two anchors, and one valid short ribbon. A hand trace demonstrates press and drag once, then disappears and waits. While dragging, the four preview positions appear. Release performs the real deterministic breath and blooms the flower. The result names the permanent-refrain rule, then level two starts with one existing authored ribbon so the player sees an old current replay before drawing a new one. The tutorial is skippable before the demonstration and replayable from settings. Hints explain one rule or highlight eligible anchors; they never draw or commit a ribbon. ## Economy and Monetization Boundaries The test build has no ads or purchases. A future commercial build may use one premium full-game unlock after the first six-board bed or platform-funded catalog placement. It must not combine that unlock with forced interstitials, sell solutions, use rewarded hints at launch, add energy, loot boxes, streak penalties, artificial waits, manipulative scarcity, or child-targeted purchasing. Restore purchase, regional pricing, consent, and parental gates are mandatory if commerce is added. ## Monetization Constraints Monetization cannot change ribbon budgets, preview fidelity, path limits, vector rules, gates, canonical solutions, or failure recovery. `UI-UNLOCK` may appear only on home after the free bed and never on `ST-FAILURE`. Analytics and commercial SDKs default off until consent where required and must not block offline play. ## UX, Accessibility, Audio, and VFX Portrait safe areas reserve the platform inset plus 16 logical pixels. Interactive controls are at least 48×48; anchors are 56×56 with a 12-pixel invisible inward extension. `A-COLOR` pairs every seed/flower with a glyph and outline; thorns use spikes and hatch; open gates use an aperture plus beat numeral. `A-MOTION` replaces flowing lines with four 100 ms stepped highlights and removes background drift. `A-TEXT` supports 100%, 125%, and 150% UI type without covering the garden. `A-HAPTIC` distinguishes valid snap, commit, bloom, and each failure family and can disable all vibration. Screen-reader summaries describe seed cell, matching flower cell, current vector, and gate schedule. `UI-TOPBAR` never overlaps `ENV-GARDEN`; `UI-TIMELINE` remains below it and exposes four labeled beats. `UI-PRIMARY` and pause sit in the lower thumb zone outside anchor paths. `UI-MODAL` traps focus, closes with back, and keeps the frozen failure reason visible. `SCR-ACCESSIBILITY` is reachable from first launch and settings. `ST-ERROR` preserves the board and offers retry loading or safe home. Audio groups are music, night ambience, ribbons, blooms, failures, UI, and haptics. Each beat uses a soft four-note pulse; combined vectors use harmony without implying strength beyond one cell. `V-RIBBON` is a restrained cyan paper-light line; `V-PULSE` travels no faster than 300 ms per beat; `V-BLOOM` uses one warm halo; failures use no flashing. No effect flashes more than three times per second. Audio confirms but never replaces text, shape, or motion. ## UX and Accessibility Drawing remains possible with either thumb. Anchor hit areas may overlap the safe border but never the system gesture exclusion. The candidate ribbon receives a high-contrast outline and direction chevrons; committed ribbons use numbered origin seals so their age and direction are non-color cues. The timeline exposes “start, 1, 2, 3, 4” and can be scrubbed through buttons as an alternative to drag. Focus order follows top bar → garden summary → anchors → timeline → primary controls. Reduced-motion, high-contrast, glyph labels, text size, haptics, screen-reader labels, music, and effects are independently configurable. ## Audio and VFX `V-PULSE` is a cyan edge traveling along each ribbon with a quiet breath; `V-BLOOM` is a 350 ms paper-light flower opening with paired chime; `V-THORN` is a coral spike outline and low double pulse; `V-EDGE` uses an outward arrow and muted drop; `V-COLLISION` uses two intersecting glyphs; `V-ORDER` highlights the required numeral; `V-SUCCESS` replays the score with UI hidden. Runtime budget is 32 simultaneous particles, six ribbon meshes, one full-screen dimmer, and no mandatory post-processing. ## Analytics and Technical Constraints Target iOS 16+ and Android 10+ phones and tablets, 60 fps on a 2019 mid-tier device, 30 fps fallback, under 150 MB installed, under 250 MB peak memory, and under two seconds cold-to-home after first load. Core play is offline. Cloud save and analytics are optional adapters and may fail without blocking play. Simulation uses integer cells, integer vectors, and ordered immutable snapshots; no gameplay physics engine, account, server authority, or generative runtime dependency is permitted. A replay stores level ID plus each committed ribbon's ordered cells and anchor IDs. Local QA records tutorial start/complete/skip, level start, candidate length, preview scrub, preview cancel, fatal-preview commit, ribbon commit, beat block, failure rule, retry, bloom, success, solution length, elapsed time, accessibility settings, and frame-time buckets. Production telemetry requires consent and coarse event data only. Deterministic acceptance runs must replay 10,000 solver sequences with identical state hashes and render every required state at 360×800 and 430×932 logical portrait reference sizes. ## Technical Constraints The runtime contract is deterministic integer-grid simulation, offline-first play, bounded 2D assets, replayable committed-ribbon inputs, and reproducible state hashes. Optional analytics, cloud save, and store adapters must never become gameplay authority or block owned play. ## Risks, Falsifiers, and Acceptance Criteria Top risks are resemblance to ordinary line-drawing puzzles, preview overload, uncontrolled path enumeration, weak tactile clarity at intersections, repetitive content, and an artistic garden layer that obscures vectors. Kill or redesign if at least 6 of 10 unfamiliar target players describe the core as “just draw a path,” fewer than 7 of 10 can predict a two-ribbon cancellation after the FTUE, median board-four completion exceeds five minutes, or the solver cannot produce 30 mechanically distinct validated boards without a new verb. Do not compensate with collection systems before the core survives these falsifiers. ## Risks and Falsifiers Originality must survive live comparison at the dominant-loop and consequence-structure levels, not only theme or artwork. The input fails if players cannot reliably snap or cancel with one thumb. The preview fails if it disagrees with commit or becomes an automatic solution. The content plan fails if shortest solutions reduce to independent paths that ignore prior ribbons. The visual direction fails if intersecting currents, seed identities, gates, or decisive failure cells are unclear without color. Each failure is an explicit return-to-GDD trigger. ## Acceptance Criteria - Given any valid level and ribbon set, `M-PREVIEW` and committed `M-BREATH` produce identical start and four-beat state hashes. - Vector reinforcement, cancellation, diagonal confluence, zero motion, stone blocks, gate blocks, edge loss, thorn loss, same-cell collision, swap collision, matching bloom, nonmatching flower, ordered bloom, budget failure, success, and retry pass deterministic unit tests. - Every safe commit appends exactly one permanent ribbon, decrements budget once, and replays every prior ribbon on all four beats. - Invalid paths never mutate state or consume budget; cancellation restores the exact pre-drag state. - The solver verifies 30 launch boards, a canonical solution for each, unique shortest solutions for the first 18, and bounded initial anchor-pair branching. - Ten unfamiliar users complete the FTUE; at least seven predict a two-ribbon consequence and at least six request another board without prompting. - Every required screen, runtime state, mechanic, entity, environment, UI element, accessibility cue, and VFX family appears in the UX contract and later Art Bible with physical source references. - All targets meet size and safe-area rules, all semantic states pass non-color inspection, 150% text preserves play area, and reduced motion removes continuous travel. - No HTML prototype begins until the owner accepts the complete GDD-bound Art Bible and a manual Codex design lock binds the exact package hash.

UX flow

# Refrain Garden UX Architecture ## UX goal The interface must make one difficult truth feel obvious: every committed current remains active and combines with the new one. The board is always the visual priority. Decorative garden atmosphere lives behind the rules, never over cells, vectors, seeds, flowers, gates, or the four-beat preview. ## Screen Inventory - `SCR-ONBOARDING`: one real 3×4 board with a circle seed, circle flower, two anchors, and one valid short ribbon. A hand trace demonstrates press-and-drag once, then disappears. Preview positions stay visible before Commit. After the bloom, level two begins with an old numbered ribbon already present so the player sees it replay when drawing a new one. Skip and Accessibility are visible from the start; there is no carousel. - `SCR-HOME`: Refrain Garden mark, Continue, current bed and board, restored herbarium diorama, Bed Map, Settings, Legal, and an offline badge only when useful. `UI-UNLOCK` may appear as one quiet home card only after the first six boards; it cannot dominate or appear after failure. - `SCR-BED-SELECT`: five named beds in a vertical herbarium path: First Breath, Crosscurrent, Quiet Stone, Timed Petals, Full Chorus. Each bed contains six numbered boards with completion, up to three dew seals, current marker, and honest locks. No energy, countdown, streak, daily reward, or artificial scarcity. - `SCR-GAMEPLAY`: top safe-area status, four-beat timeline, complete fixed garden, enabled anchors, numbered committed ribbons, draft ribbon, seed/flower glyphs, vector composition, ribbon budget, rule hint, Commit/Cancel, Retry, and Pause. No UI crosses an anchor path or cell. - `SCR-PAUSE`: 68% indigo scrim over the frozen last stable board, with Resume, Restart, Settings, and Home. A draft is cancelled before opening; a preview may be preserved only if its state is deterministic and no resolution has begun. - `SCR-SUCCESS`: unobstructed final garden replay first, then a compact result sheet with blooms, ribbons used, optional dew seals, restored herbarium detail, Next as primary, Replay, and Home. Controls enable only after the replay or explicit Skip Animation. - `SCR-FAILURE`: frozen decisive beat, highlighted cells/entities, one plain rule such as “Circle and triangle tried to share row 4, column 3,” Retry as primary, Inspect Timeline, and Home. There is no purchase, ad, countdown, or shame language. - `SCR-SETTINGS`: music, night ambience, effects, haptics, tutorial replay, accessibility route, restore purchase when applicable, consent/data controls, support, legal, and reset progress behind confirmation. - `SCR-ACCESSIBILITY`: live preview for glyph labels, high contrast, reduced motion, 100/125/150% type, stepped timeline controls, haptics, screen-reader summaries, music, and effects. Every option is independent and Reset is reversible. - `SCR-LEGAL`: cached privacy, terms, credits, licenses, support, purchase/consent details, and last-updated labels. External links are clearly marked and failure leaves the cached local page available. ## State Inventory - `ST-FRESH`: every authored item is visible; no player ribbon exists unless the tutorial intentionally supplies an old numbered current. - `ST-DRAWING`: snapped candidate cells use a bright outline, direction chevrons, and valid/invalid endpoint state. Seeds never move while drawing. - `ST-PREVIEW`: the timeline exposes Start, 1, 2, 3, 4. Every seed has a projected trail, each block or gate shows its beat, collisions show both intents, and a fatal preview remains committable only with an explicit warning because preview fidelity is exact. - `ST-RESOLVING`: input locks for the deterministic four-beat playback. All seeds calculate intent together, move together, and settle together. Pause waits for the next stable snapshot except an OS interruption, which restores the prior stable state. - `ST-ACTIVE`: the new ribbon receives its chronological number, all previous ribbons remain, moved/bloomed seeds settle, and the next legal anchors reactivate. - `ST-PAUSED`: animation, audio beat, and input freeze; modal focus stays inside pause. - `ST-SUCCESS`: no seeds remain and every required bloom/order rule passed. - `ST-FAILURE`: the fatal beat and cause remain inspectable; retry reloads the exact authored fresh state. - `ST-ERROR`: local data, save, entitlement, or optional network failure is named honestly with Retry when useful and Return Home. A network failure never fabricates success or blocks owned offline play. - `ST-LOADING`: a non-interactive garden skeleton shown only while local board data decodes before entry. - `ST-DISABLED`: unavailable controls use opacity plus lock/slash shape and an explanatory label, never color alone. - `ST-INTERRUPTED`: draft cancels; resolving state restores its previous stable snapshot; the game returns paused. ## Transitions and Back Behavior First launch enters onboarding. Completing or skipping it goes home; the tutorial remains replayable. Returning launch goes home. Continue opens the current board in `ST-FRESH`; Bed Map opens `SCR-BED-SELECT`; selecting an unlocked board opens gameplay. A valid drag release opens `ST-PREVIEW`; Commit enters `ST-RESOLVING`; Cancel returns to the last stable active state. Resolution ends in active, success, or failure. Gameplay Pause or Android back opens pause. Back from pause resumes. Restart asks for confirmation only after a committed ribbon; Home saves the last stable state. Success Next loads the next board; failure Retry always loads the authored fresh board. Settings, accessibility, and legal push onto a simple stack and return to their caller. Back from home uses the native exit confirmation. Every overlay closes before a screen is popped. ## Overlays, Loading, and Errors `UI-MODAL` uses one title, one concise reason, one primary action, and no more than three secondary actions. It traps focus and returns focus to its opener. Opening any modal cancels `ST-DRAWING`. It never interrupts a beat midway. Levels decode before entering fresh state. Loading never overlays a board that appears playable. Optional analytics/cloud failures are silent except a small home status; entitlement uncertainty preserves already verified owned content and defers new access until verification. Corrupted level data quarantines that board and returns home. Save corruption restores the newest checksum-valid stable snapshot and says what could not be recovered. ## Orientation and Safe Areas Portrait is the only supported orientation. At 360×800, the top safe inset is `max(device inset, 16)`, status occupies approximately y=24–76, timeline y=76–124, garden y=132–636, and the lower action band y=648–784. At 430×932, the garden grows until cells reach 72 logical pixels; remaining height divides above and below it. Side insets are `max(device inset, 12)`. No camera crop, scroll, or hidden cell is allowed. Rotation while open preserves portrait and the same logical board mapping. Notches, dynamic islands, navigation bars, and home indicators only change the reserved safe inset. Decorative foliage may bleed under unsafe areas; text, controls, anchors, and board cells may not. ## Touch and Reachability All controls are at least 48×48 logical pixels with 8 pixels separation. Border anchors are at least 56×56 with a 12-pixel invisible inward extension. A drag begins only on an enabled anchor, snaps to orthogonally adjacent cells after a 10-pixel hysteresis threshold, and never relies on a system-edge swipe. Invalid self-repeat or endpoint state is shown immediately. Either thumb can draw; no gameplay uses pinch, long press, two-finger chords, tilt, or precise angles. Commit and Cancel remain in the lower thumb zone and cannot be triggered by releasing the path itself. Pause is bottom-right during play with a 56×56 target so the top safe area remains dedicated to status and timeline. Retry requires one tap after a resolved failure. ## Accessibility Matrix - `A-COLOR`: every seed and flower share a glyph and outline; ribbons carry chronological seals and chevrons; thorns have spikes/hatch; stones use solid weight; gates use aperture and beat numeral; all failure families have distinct symbols. - `A-MOTION`: four 100 ms stepped highlights replace flowing pulses, garden drift and bloom expansion are removed, and before/after states remain available. Nothing flashes more than three times per second. - `A-TEXT`: 100, 125, and 150% UI type. HUD may wrap but never cover the garden. Essential body and failure text is at least 17 logical pixels at 100%. - `A-HAPTIC`: optional independent patterns for snap, commit, bloom, thorn/edge, collision, order, and failure. Visual and text information remains complete when haptics are off. - `A-PREVIEW`: Start, 1, 2, 3, 4 buttons allow exact frame inspection without dragging the timeline. - Screen-reader focus follows heading → status → garden summary → anchors → timeline → primary action → secondary actions → navigation. Each cell exposes row, column, occupant, vector, target, gate schedule, and projected consequence. Accessibility is reachable before the first gesture and from Settings. Tutorial can skip and replay. Every modal returns focus to its opener. Reduced motion, high contrast, glyph labels, type size, haptics, screen reader summaries, music, and effects are independent so one assist never forces another. ## Visual-reference obligation The Art Bible must depict every screen above plus fresh, drawing, preview, resolving, active, paused, success, each failure family, error, loading, disabled, interrupted/recovery, high-contrast, large-text, and reduced-motion variants. Its first structural implementation board must explain the full gameplay flow and its final board must map every screen, HUD element, icon, entity, effect, state, safe area, and source reference. These boards are structural references; generated game imagery must follow Refrain Garden's own GDD-defined visual identity.

Visual brief

# Refrain Garden Visual Brief Run `2026-08-mobile-originality-live-test-en-us`; concept `refrain-garden`. ## Decision Status This visual package is authorized by the bound GDD `0233cfab19c9b4b5f9aa9eae3838c9262c10d8303fc810e12732799c011f7843`, its accepted GDD audit, the passed market analysis, selected product direction, and UX flow `ce53bbee54dcc467e25ff053d5b28bf9eb8b2e30fdd84831640f0b5296421486`. Exact downstream hashes are recorded in `asset-manifest.json` so stale revisions fail closed. The locked direction is portrait mobile, 2D, fixed orthographic top-down, with shallow baked paper depth only. The package must communicate the actual cumulative-current mechanic, not merely decorative line drawing. The Chrono-Blade reference informs only the final board's dense structural layout; it is not a style, palette, typography, character, or world reference. ## Visual Pillars 1. **Every current returns.** `M-RIBBON`, `M-BREATH`, and `M-VECTOR` are represented as numbered cyan ribbons whose older paths stay visible and whose influence is readable on every later four-beat resolution. 2. **Prediction before commitment.** `M-PREVIEW` uses a four-slot timeline, projected seed positions, and dotted travel arrows. Preview and committed motion must never be confused. 3. **Botanical night clarity.** `ENV-GARDEN` and `ENV-NIGHT` use indigo paper, pale grid lines, warm blooms, coral danger, and restrained brass. Atmosphere never obscures topology. 4. **Glyphs carry meaning.** `E-SEED`, `E-FLOWER`, `E-ANCHOR`, `E-THORN`, `E-STONE`, and `E-GATE` remain distinguishable in grayscale and at phone size. 5. **Quiet premium restraint.** No coin counters, loot glows, ad language, fake 3D camera, photorealism, or generic fantasy ornament. ## Camera and Topology `SCR-GAMEPLAY` is a full, uncropped 6-column by 8-row board in portrait 360x800 logical space. The camera is fixed orthographic top-down. Border anchors occupy the perimeter; gameplay cells remain square and consistently spaced. The visual stack is: indigo paper background, grid, blocking objects, seed/flower goals, permanent committed ribbons, current preview, beat indicators, and HUD. No perspective vanishing point, camera rotation, parallax, or hidden rows is permitted. `ENV-HERBARIUM` may use layered paper cards but stays flat and touch-readable. The supported orientation is portrait only. Safe-area exclusions are 24 px at the top and 20 px at the bottom in the logical canvas. ## Palette and Contrast - Background: midnight indigo `#10162d`; surface `#19213b`; paper `#e9e2cf`; ink `#192033`; muted `#7f8aa8`. - Active current and primary action: electric cyan `#42d6e8`; danger: coral `#ef6f61`; achieved bloom/reward: warm gold `#e8bb61`. - `A-COLOR`: every semantic color has shape, symbol, line-style, label, or animation redundancy. Cyan current lines are numbered; coral threats use spikes/X marks; flowers use unique glyph centers; gates include arrows. - Text must maintain at least 4.5:1 for body copy and 3:1 for large text and non-text controls. Disabled controls keep readable labels and add a lock or disabled texture instead of opacity alone. ## Shape, Material, and Type Seeds are compact pale discs with unique dark glyphs. Flowers are larger radial silhouettes carrying the matching glyph. Anchors are pale perimeter sockets; thorns are coral spikes; stones are blunt graphite blocks; gates are framed cells with an arrow. Currents are smooth cyan ribbons with a luminous core, outer edge, and sequence number. Surfaces resemble layered archival paper and nocturnal pressed-flower cards, not parchment fantasy UI. Corners are softly rounded; outlines are crisp; texture amplitude stays below gameplay-symbol contrast. Display type may be an elegant high-contrast serif; all instructions, labels, numbers, and controls use a highly legible humanist sans. `A-TEXT` supports 100%, 120%, and 140% without truncating core instructions. ## UI and Motion `UI-TOPBAR` shows bed/board identity, committed ribbon count, and pause. `UI-TIMELINE` always exposes four beats and the current predicted or resolved position. `UI-PRIMARY` is a minimum 48x48 logical touch control with verb-first labeling. `UI-MODAL` preserves context under a darkened scrim and returns predictably. `UI-UNLOCK` appears only on the home screen as a secondary, one-time full-game option. `ST-FRESH` is quiet and ready; `ST-DRAWING` shows an in-progress line; `ST-PREVIEW` adds dotted projections; `ST-RESOLVING` advances one beat at a time; `ST-ACTIVE` shows all committed currents; `ST-PAUSED` freezes motion; `ST-SUCCESS` opens every required flower; `ST-FAILURE` freezes on the decisive cell and names the cause; `ST-ERROR` offers saved-copy recovery; `ST-LOADING` shows progress without pretending input is available; `ST-DISABLED` explains the lock; `ST-INTERRUPTED` preserves the board and offers resume/restart. `A-MOTION` replaces travel with four stepped position changes and one pulse per beat. `A-HAPTIC` provides optional light commit, beat, success, and failure patterns. No flash exceeds three events per second. ## References and Anti-References The gameplay master `ART-GAMEPLAY` is the single visual lineage source for companion generations. `BOARD-VISUAL-BLUEPRINT` locks hierarchy before companions. `BOARD-IMPLEMENTATION-OVERVIEW` is composed afterward from accepted frames and deterministic text. Do not imitate Chrono-Blade's clockwork, typography, palette, enemies, weapons, or world. Do not drift into Blek-like freeform ink minimalism, generic match-three candy polish, realistic gardening, neon cyberpunk, isometric diorama, or 3D perspective. Avoid decorative lines that do not correspond to `M-RIBBON`, invented currencies, hint buttons, energy meters, scores, timers, or additional mechanics. ## Accessibility `A-COLOR` uses redundant glyphs and line styles. `A-MOTION` exposes reduced-motion stepping. `A-TEXT` reflows labels at three text scales. `A-HAPTIC` is independently adjustable and never carries unique information. Every screen keeps the active goal, decisive state, and primary action perceivable without color or animation. Touch targets remain at least 48 logical px with 8 px separation. ## Prompt Plan `ART-GAMEPLAY` establishes the real 6x8 gameplay grammar without an image reference. `ART-GAMEPLAY-STATES`, `ART-ONBOARDING`, `ART-HOME`, `ART-BED-SELECT`, `ART-PAUSE`, `ART-SUCCESS`, `ART-FAILURE`, `ART-SETTINGS`, `ART-ACCESSIBILITY`, and `ART-LEGAL-ERROR` each reference that accepted master and their own traceable prompt. Every prompt names its applicable screen, state, mechanic, entity, environment, UI, accessibility, and VFX IDs. Complete traceability inventory: screens `SCR-ONBOARDING`, `SCR-HOME`, `SCR-BED-SELECT`, `SCR-GAMEPLAY`, `SCR-PAUSE`, `SCR-SUCCESS`, `SCR-FAILURE`, `SCR-SETTINGS`, `SCR-ACCESSIBILITY`, `SCR-LEGAL`; states `ST-FRESH`, `ST-DRAWING`, `ST-PREVIEW`, `ST-RESOLVING`, `ST-ACTIVE`, `ST-PAUSED`, `ST-SUCCESS`, `ST-FAILURE`, `ST-ERROR`, `ST-LOADING`, `ST-DISABLED`, `ST-INTERRUPTED`; mechanics `M-RIBBON`, `M-PREVIEW`, `M-BREATH`, `M-VECTOR`, `M-BLOOM`, `M-RETRY`; entities `E-SEED`, `E-FLOWER`, `E-ANCHOR`, `E-THORN`, `E-STONE`, `E-GATE`; environments `ENV-GARDEN`, `ENV-NIGHT`, `ENV-HERBARIUM`; UI `UI-TOPBAR`, `UI-TIMELINE`, `UI-PRIMARY`, `UI-MODAL`, `UI-UNLOCK`; accessibility `A-COLOR`, `A-MOTION`, `A-TEXT`, `A-HAPTIC`; VFX `V-RIBBON`, `V-PULSE`, `V-BLOOM`, `V-THORN`, `V-EDGE`, `V-COLLISION`, `V-ORDER`, `V-SUCCESS`.

Art Bible

# Refrain Garden GDD-Derived Art Bible Run `2026-08-mobile-originality-live-test-en-us`; concept `refrain-garden`. This is an implementation contract for the exact bound GDD revision, not a moodboard. ## Gameplay Frames `ART-GAMEPLAY` is the authoritative portrait master for `SCR-GAMEPLAY` in `ST-ACTIVE`. It must show the complete 6x8 grid, visible perimeter anchors, four glyph seeds and matching flowers, thorns, stones, a directional gate, two numbered permanent cyan ribbons, and the next four-beat preview. The player must be able to infer that older ribbons remain active. `ART-GAMEPLAY-STATES` documents `ST-DRAWING`, `ST-PREVIEW`, `ST-RESOLVING`, `ST-LOADING`, `ST-DISABLED`, and `ST-INTERRUPTED`. Standalone frames are `ART-ONBOARDING` for `SCR-ONBOARDING`/`ST-FRESH`, `ART-HOME` for `SCR-HOME`, `ART-BED-SELECT` for `SCR-BED-SELECT`, `ART-PAUSE` for `SCR-PAUSE`/`ST-PAUSED`, `ART-SUCCESS` for `SCR-SUCCESS`/`ST-SUCCESS`, `ART-FAILURE` for `SCR-FAILURE`/`ST-FAILURE`, `ART-SETTINGS` for `SCR-SETTINGS`, `ART-ACCESSIBILITY` for `SCR-ACCESSIBILITY`, and `ART-LEGAL-ERROR` for `SCR-LEGAL`/`ST-ERROR`. All screen references are 360x800 portrait. `BOARD-VISUAL-BLUEPRINT` is the early structure lock. `BOARD-IMPLEMENTATION-OVERVIEW` is the final 3840x2160 production overview and includes every accepted frame. ## Entities - `E-SEED`: pale 30-36 px disc, dark unique glyph, cyan predicted ghost, four directional travel ticks. Never use color alone to identify it. - `E-FLOWER`: 44-52 px radial target with the matching glyph; closed, anticipation, and open bloom states. It must be visibly larger than its seed. - `E-ANCHOR`: 28-32 px pale socket centered on the board border; free, drawing-source, and occupied states. - `E-THORN`: coral spike cluster with an X-like center; static hazard; no soft flower silhouette. - `E-STONE`: blunt graphite mass occupying one cell; no glow, glyph, or ambiguity with a gate. - `E-GATE`: framed cell plus unambiguous one-way arrow; open and blocked direction variants. Entity silhouettes must remain readable at 100% logical resolution and in grayscale. No faces, characters, weapons, or collectible currencies are part of the game. ## Environments and Objects `ENV-GARDEN` is a perfectly flat rectangular gameplay bed with a complete 6x8 topology and visible border. `ENV-NIGHT` supplies the indigo paper-light atmosphere and restrained plant-edge decoration outside the playfield. `ENV-HERBARIUM` is the menu/selection setting: five pressed-flower specimen cards, one per six-board bed. Background texture is baked into large static surfaces, not placed over cells. Decorative leaves must remain outside touch-critical zones. Lighting is illustrative and uniform; it must not imply height, occlusion, or navigable 3D space. ## UI, HUD, and Icons `UI-TOPBAR` anchors below the top safe area and contains bed/board label, ribbon budget/status, and pause. `UI-TIMELINE` sits below the board or in the result modal, exposes beats 1-4, and distinguishes preview from resolution. `UI-PRIMARY` uses cyan fill, dark text, minimum 48x48 touch size, and explicit verbs such as Continue, Resume, Retry, or Next. `UI-MODAL` uses a centered paper panel over a 65% indigo scrim while leaving enough board visible to retain context. `UI-UNLOCK` is a secondary home-screen card and never appears in gameplay. Icons use 2 px dark outlines, simple filled geometry, and a text label where consequences matter. Back uses a left arrow; close uses X only when it cannot be mistaken for failure; pause uses two bars. Safe-area margins: 24 px top, 20 px bottom, 16 px sides. ## Typography Display: high-contrast botanical serif, title case, 28-36 px. Body/UI: humanist sans, 16 px base, 20 px instructional, 14 px minimum metadata. Numbers in `UI-TIMELINE` use tabular figures. Buttons use sentence case, never all-caps paragraphs. Fallback must cover Latin Extended. Layouts reserve 35% expansion and support `A-TEXT` at 100%, 120%, and 140% without truncating the primary action. ## VFX and Motion - `V-RIBBON`: 240 ms draw-follow with cyan core and paper-grain edge; committed lines settle to 85% intensity but stay visible. - `V-PULSE`: one 180 ms traveling pulse per active ribbon per beat, synchronized to `M-BREATH`. - `V-BLOOM`: 320 ms radial flower opening on correct arrival; preserve the glyph. - `V-THORN`: 160 ms coral spike emphasis at the failing cell, followed by freeze. - `V-EDGE`: 160 ms boundary ripple at the exited cell. - `V-COLLISION`: two converging seed silhouettes, white contact ring, then coral freeze. - `V-ORDER`: incorrect flower glyph and expected-order marker pulse together. - `V-SUCCESS`: 450 ms sequential four-flower glow, no confetti or currency burst. `M-RIBBON` commits after release; `M-PREVIEW` is dotted and lower opacity; `M-BREATH` advances exactly four discrete beats; `M-VECTOR` displays accumulated influence; `M-BLOOM` resolves glyph matches; `M-RETRY` restores the last stable start without transition delay. Reduced motion under `A-MOTION` replaces travel with stepped positions. Optional `A-HAPTIC` patterns are light commit, four soft beats, success cadence, and one firm failure pulse. ## Accessibility `A-COLOR`: glyphs, spikes, arrows, numbers, and line styles redundantly encode color. `A-MOTION`: stepped resolution, no camera movement, and no required motion tracking. `A-TEXT`: three scales with reflow and 4.5:1 body contrast. `A-HAPTIC`: Off/Light/Full and never the sole signal. The decisive failure location remains visible until the user acts. No flash pattern exceeds three events per second. Screen reader labels must announce seed glyph, cell coordinate, predicted four-beat path, and failure reason. ## Export Rules Reference screens export as 360x800 sRGB PNG with alpha only where needed. Production UI must be rebuilt as text and components, not cut from generated raster images. Source art uses layered files grouped Background/Grid/Objects/Entities/Ribbons/VFX/UI. Runtime sprites use power-of-two atlases, 2 px extrusion, straight alpha, and lossless compression for glyphs. Entity pivots are cell-center; anchors pivot at socket center; gates pivot at cell-center. Naming is `rg_<category>_<id>_<state>_<scale>`. The grid must scale from logical 360x800 without changing the 6x8 topology. Maintain a maximum of two 2048 atlases for the prototype visual set, 128 MB texture memory on target mid-tier Android, and no generated text embedded in production controls. ## Do and Don't Do keep every committed current numbered and persistent. Do show all four beat positions before commit. Do freeze failures on the exact thorn, edge, collision, wrong-order, or budget event. Do preserve glyph identity in seed, flower, preview, and result states. Do use the structural board to explain relationships. Do not copy the supplied Chrono-Blade artwork; only its overview-board information density is relevant. Do not add perspective, camera drama, characters, combat, scores, hints, energy, ads, currencies, random rewards, or decorative currents. Do not crop the gameplay grid, hide old ribbons, use color-only targets, or let texture overpower cell boundaries. ## Provenance The master and ten companion frames were created with OpenAI `gpt-image-2` through Codex. Companion frames reference the accepted gameplay master. Exact prompts are retained under `image-prompts/`; output mappings, UTC timestamps, source references, and machine checks live in `asset-manifest.json`. The structural boards are deterministic compositions produced from `board-spec.json`, written design copy, and accepted frames. Generated raster UI is concept/reference evidence only and is not licensed as a third-party production asset. ## QA Machine QA verifies PNG integrity, exact dimensions, declared coverage, source-ref prompt traceability, unique standalone frames, board dimensions, source snapshot hashes, and package hash. Generator self-review corrected the onboarding grid to 3x4, opened every flower in success, and changed the failure frame so the depicted cause matches a same-cell collision. Independent owner review remains mandatory for request fidelity, written-design completeness, cross-document consistency, evidence traceability, screen/state coverage, fidelity, gameplay readability, safe areas, accessibility, and absence of invented mechanics. That reviewer must be independent of the generator before Phase 08 can pass. Complete traceability inventory: screens `SCR-ONBOARDING`, `SCR-HOME`, `SCR-BED-SELECT`, `SCR-GAMEPLAY`, `SCR-PAUSE`, `SCR-SUCCESS`, `SCR-FAILURE`, `SCR-SETTINGS`, `SCR-ACCESSIBILITY`, `SCR-LEGAL`; states `ST-FRESH`, `ST-DRAWING`, `ST-PREVIEW`, `ST-RESOLVING`, `ST-ACTIVE`, `ST-PAUSED`, `ST-SUCCESS`, `ST-FAILURE`, `ST-ERROR`, `ST-LOADING`, `ST-DISABLED`, `ST-INTERRUPTED`; mechanics `M-RIBBON`, `M-PREVIEW`, `M-BREATH`, `M-VECTOR`, `M-BLOOM`, `M-RETRY`; entities `E-SEED`, `E-FLOWER`, `E-ANCHOR`, `E-THORN`, `E-STONE`, `E-GATE`; environments `ENV-GARDEN`, `ENV-NIGHT`, `ENV-HERBARIUM`; UI `UI-TOPBAR`, `UI-TIMELINE`, `UI-PRIMARY`, `UI-MODAL`, `UI-UNLOCK`; accessibility `A-COLOR`, `A-MOTION`, `A-TEXT`, `A-HAPTIC`; VFX `V-RIBBON`, `V-PULSE`, `V-BLOOM`, `V-THORN`, `V-EDGE`, `V-COLLISION`, `V-ORDER`, `V-SUCCESS`.

Validation results

Gate summary

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

Design coverage

Orientations
portrait
Logical layouts
portrait: 360x800 (9:20), landscape: 800x360 (20:9)
Output dimensions
360x800
Screens
SCR-ONBOARDING, SCR-HOME, SCR-BED-SELECT, SCR-GAMEPLAY, SCR-PAUSE, SCR-SUCCESS, SCR-FAILURE, SCR-SETTINGS, SCR-ACCESSIBILITY, SCR-LEGAL
Important states
ST-FRESH, ST-DRAWING, ST-PREVIEW, ST-RESOLVING, ST-ACTIVE, ST-PAUSED, ST-SUCCESS, ST-FAILURE, ST-ERROR, ST-LOADING, ST-DISABLED, ST-INTERRUPTED
Mechanics
M-RIBBON, M-PREVIEW, M-BREATH, M-VECTOR, M-BLOOM, M-RETRY
Accessibility
A-COLOR, A-MOTION, A-TEXT, A-HAPTIC

Machine validation: passed (2026-08-19T04:10:45.728Z, validator v3)

manifestSchema
passed
sourceBindings
passed
writtenDesignSections
passed
crossDocumentIds
passed
inventoryCoverage
passed
standaloneScreens
passed
importantStates
passed
pngIntegrity
passed
exactDimensions
passed
distinctImageBytes
passed
singleGameplayMaster
passed
boardSpecTraceability
passed
generationBlueprint
passed
implementationOverview
passed
completeBoardAssetMembership
passed

Independent visual QA: pending

No individual checks recorded.

Generator self-review (advisory): passed-with-owner-review-required

elevenGeneratedFrames
passed
screenAndStateCoverage
passed
gddFidelity
passed
grayscaleLegibility
passed
portraitSafeAreas
passed
noMonetizationOrNewMechanics
passed
onboardingGrid
fixed-to-exact-3x4-and-rechecked
successResolution
fixed-to-all-flowers-open-and-rechecked
failureCause
fixed-to-visible-same-cell-collision-and-rechecked
exactPngDimensions
passed
visualBlueprintLayout
passed
implementationBoardLayout
passed-after-eleventh-frame-wrap-fix
Reviewed by
Codex visual design operator
Reviewed at
2026-08-19T04:10:45.728Z
Evidence
art-bible/visual-blueprint.png, art-bible/implementation-board.png, art-bible/gameplay-active.png, art-bible/gameplay-state-matrix.png, art-bible/onboarding-fresh.png, art-bible/home-herbarium.png, art-bible/bed-select.png, art-bible/pause-overlay.png, art-bible/success-result.png, art-bible/failure-collision.png, art-bible/settings.png, art-bible/accessibility.png, art-bible/legal-error.png, C:/Users/haseeb/.codex/visualizations/2026/08/18/01a01515-76a6-7183-a849-4244e9488f7e/refrain-garden-art-bible-grayscale.png
Note
Generator self-review is advisory and cannot satisfy the independent manual user Art Bible review in Codex.

History

Status history

  • 2026-08-19T15:51:14.214Z: shipped (catalog sync)

Immutable revisions (5)

Revision 5
Hash
9991a88f2254d164ae041be186a138cd96bcad994b4a06a82a5d23727868a5c7
Created
2026-09-05T10:30:34.826Z
Release
2.5.3
Build
a56a182 2026-09-05 12:33Z
Change summary
Built a dependency-free Refrain Garden mechanics sandbox with permanent current replay, exact four-beat preview, vector composition, simultaneous movement, glyph blooms, thorn failure, fresh FTUE, and touch/mouse/keyboard controls.
Title
Refrain Garden
Pitch
Draw one wind ribbon through a moonlit garden; every ribbon you commit pulses again on each later turn, so guiding the next seed means composing with all the currents you already created.
State
shipped
Stage
10
Score
73
GDD excerpt
This document is the authoritative player-facing contract for concept refrain-garden. The source brief and mobile/no-visual-novel constraints are CONFIRMED. Rules, scope, content counts, UX targets, and technical budgets are DESIGN TARGETS until prototype or player evidence exists. Originality, demand, retention, acquisition cost, conversion, and revenue are UNKNOWN here and belong only to later gates. The definin...
Art excerpt
Run 2026-08-mobile-originality-live-test-en-us; concept refrain-garden. This is an implementation contract for the exact bound GDD revision, not a moodboard.

Source files:

  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/00-brief/creative-brief.md (source-brief, sha256 aa0a16edc8c395d40ce05b4414fe371bbf016c63ebd4809c0837f862151b3894)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/00-brief/request.json (frozen-request, sha256 03344e29096652b058fcb688ad63481233f58ca54702e287d18378bb88b1ea37)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/01-idea/idea.json (idea-contract, sha256 5cf2b0ccc5e2056f23b776f661df59b7ece09896722d968554e50ac309f3f4ea)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/03-gdd-audit/audit.json (gdd-audit, sha256 edb5839133f0dce4a2557426b8c33fb2d39e31af977b4b970fd88bd5e890bdb8)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/04-market-analysis/advisory-score.json (advisory-score, sha256 962a5bfd5b81d594e6d1ab4ef0e7bf988a6c25be3a50ca35f451b3ec23d040a2)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/04-market-analysis/evidence-index.json (evidence-index, sha256 f474c0d0219d17d6c0772a1e6239d0aea6ba071d209a7b5232aa9442e0b04510)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/04-market-analysis/market-analysis.json (market-analysis, sha256 79d1fad429ddc0cd1eed480c3bb8fff947bf6346a504635ee9128cb8b06d1961)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/05-product-direction/product-direction.json (product-direction, sha256 5ada9382d4aaa597d76fbbe198cec06160e02a4dbb0beb5fd2d6eb38cc77071c)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/06-ux/screen-inventory.json (screen-inventory, sha256 b2f9817719a21475c269d9712d779071ce8f7c5ec4c9f1375ff5cdbe725506f8)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/08-art-audit/art-audit.json (art-audit, sha256 a5a60365355ad8b7bea72c47081c7963d11ecf13dcfb1391ab8bf00a0810ac68)
  • pipeline/refrain-garden/design/art-bible.md (art-bible, sha256 75e43bfd3deefbae36ac2144a52400b994897d8008220819d98097522db3033d)
  • pipeline/refrain-garden/design/art-bible/accessibility.png (visual-output, sha256 a3dda620d580e38067f94f9ac24fd98f95128cfdb45def637572d44c2825730b)
  • pipeline/refrain-garden/design/art-bible/bed-select.png (visual-output, sha256 0ef15b133cc5c6eec651cd2b10d19802fcea1bdf7739c697efc2cf1fd7894aad)
  • pipeline/refrain-garden/design/art-bible/failure-collision.png (visual-output, sha256 b3f0037b78c3c4fba466df1f625322f9f889542473049b4c30460475120faaf2)
  • pipeline/refrain-garden/design/art-bible/gameplay-active.png (reference, sha256 e4810894943a8e02b2b8a190a69de998c71310ce19987e278ad2f11e43e682f3)
  • pipeline/refrain-garden/design/art-bible/gameplay-state-matrix.png (visual-output, sha256 569e9fb6f0d90420d3c4f17f82d6df352561ab5abb951a7667a87bbbc239bec9)
  • pipeline/refrain-garden/design/art-bible/home-herbarium.png (visual-output, sha256 c9cae4ac2d498dc5c4633a4dbbf0764b2d77a210be1b7a2f85669bc6502f9eea)
  • pipeline/refrain-garden/design/art-bible/implementation-board.png (visual-board, sha256 78116172af8b8f36d02c41c012701aff40f655c9417235f728668dd82687d13e)
  • pipeline/refrain-garden/design/art-bible/legal-error.png (visual-output, sha256 b20aef0232f4127ec1ef3864993ab47a47cdbf58529614823a7f6b67f3d0aa94)
  • pipeline/refrain-garden/design/art-bible/onboarding-fresh.png (visual-output, sha256 4183f0da571670b74e7ad07185ca91d7603c322c1110ff23d4ad5e671c80d432)
  • pipeline/refrain-garden/design/art-bible/pause-overlay.png (visual-output, sha256 05b74955f17e489e82e1b42db6bad1d6e380694049c91f28c7597d5043ee2755)
  • pipeline/refrain-garden/design/art-bible/settings.png (visual-output, sha256 b726e83ee8028fea20744115d3bfe5e8c07b8a660bfca934b030fdb709af76c3)
  • pipeline/refrain-garden/design/art-bible/success-result.png (visual-output, sha256 dc1bd2be07150b28ad99dc87b525e1903b93cdb5aca9361a80f5069020038f4b)
  • pipeline/refrain-garden/design/art-bible/visual-blueprint.png (visual-board, sha256 af69011fab817c0b360ef2c7964e93c62e51191390689e48fe2a76d567cd5e5d)
  • pipeline/refrain-garden/design/asset-manifest.json (asset-manifest, sha256 eb797f0f0d0d74141b5abf0268d79508dc056151a6735dfdb3d00fb02327c08f)
  • pipeline/refrain-garden/design/board-spec.json (board-spec, sha256 7b41b298e50c3208e0928c104e0f90d7628a606f21e79978cb2f3eaf8809968d)
  • pipeline/refrain-garden/design/gdd.md (gdd, sha256 2d9e16ba01690bfdd8cf9231d40c92f0dcf6e6591602386068a58fb456a9fc82)
  • pipeline/refrain-garden/design/image-prompts/accessibility.txt (prompt, sha256 a8c7951d7fc562ee5b3ed68bb8383f4e79a8f48913678fc686ce5f4e541fe458)
  • pipeline/refrain-garden/design/image-prompts/bed-select.txt (prompt, sha256 0000f4c7f42bfddbe414d658d98cb60b8db84fb5c743e6f2e429f6f2e18441c1)
  • pipeline/refrain-garden/design/image-prompts/failure-result.txt (prompt, sha256 c1bad7841f31a45b3c3b39f878a75ce65a542d7da55aaca9a1728d85b053ae90)
  • pipeline/refrain-garden/design/image-prompts/gameplay-active.txt (prompt, sha256 db53c5906814e39e8ff62600135b2522a8c33878c390f0bda9ed8c8d9c47d5eb)
  • pipeline/refrain-garden/design/image-prompts/gameplay-states.txt (prompt, sha256 be18411f2a33b5767c56a78711f122d3fc4e5066c3deb7adfbcb145bfc3a218e)
  • pipeline/refrain-garden/design/image-prompts/home-herbarium.txt (prompt, sha256 de171bed41c07d5d0325a7cdbcd105942e3818140adae34cde5a71e25479d5e7)
  • pipeline/refrain-garden/design/image-prompts/legal-error.txt (prompt, sha256 e57d64512534a361dd4c6730173aa80cfb09f01ea023e529140cbbc6afd3b455)
  • pipeline/refrain-garden/design/image-prompts/onboarding-fresh.txt (prompt, sha256 8d9298e678acbbc0e53ba6c787eba43563b166e548779ffb1e89de606ac1bf26)
  • pipeline/refrain-garden/design/image-prompts/pause-overlay.txt (prompt, sha256 15dc26059c5c9a83b1a698a337cccde14fe0bb1a060d0a38bdaaaa21517e5ca9)
  • pipeline/refrain-garden/design/image-prompts/settings.txt (prompt, sha256 1032d04b4242afc062f7852b511d295ad334e8036315810a4af947f64c23f579)
  • pipeline/refrain-garden/design/image-prompts/success-result.txt (prompt, sha256 c328fdaad8fb89427643ba7f740745edfb23cd7274e48f45a708d4770d92ddd9)
  • pipeline/refrain-garden/design/machine-validation.json (machine-validation, sha256 c002dafdace7965b205e8f86b9e35213919504a8e8c8e9a44e20d2a3e4628e00)
  • pipeline/refrain-garden/design/ux-flow.md (ux-flow, sha256 0f3a878aede231c419a9b910bda61793ebed1ab6eae12c7963adba59ea0bc33b)
  • pipeline/refrain-garden/design/visual-brief.md (visual-brief, sha256 c33df4d848d7805b9375ed1f258ca55e28cf86650f3bc0944093f727c57c753b)
  • pipeline/refrain-garden/design/visual-qa.json (visual-qa, sha256 9c9dc9ba1a95adfd48d1b70003e08194c82aa288147b7f2273c8ca8149297658)
Revision 4
Hash
7070ab4107271bd98b13d7ef2e2533cff76deb825df4a2476b868a62c96fffb0
Created
2026-08-19T16:20:45.115Z
Release
2.0.12
Build
efa7032 2026-08-20 21:04Z
Change summary
Built a dependency-free Refrain Garden mechanics sandbox with permanent current replay, exact four-beat preview, vector composition, simultaneous movement, glyph blooms, thorn failure, fresh FTUE, and touch/mouse/keyboard controls.
Title
Refrain Garden
Pitch
Draw one wind ribbon through a moonlit garden; every ribbon you commit pulses again on each later turn, so guiding the next seed means composing with all the currents you already created.
State
shipped
Stage
10
Score
73
GDD excerpt
This document is the authoritative player-facing contract for concept refrain-garden. The source brief and mobile/no-visual-novel constraints are CONFIRMED. Rules, scope, content counts, UX targets, and technical budgets are DESIGN TARGETS until prototype or player evidence exists. Originality, demand, retention, acquisition cost, conversion, and revenue are UNKNOWN here and belong only to later gates. The definin...
Art excerpt
Run 2026-08-mobile-originality-live-test-en-us; concept refrain-garden. This is an implementation contract for the exact bound GDD revision, not a moodboard.

Source files:

  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/00-brief/creative-brief.md (source-brief, sha256 00dd4c68e1f33f705696cb21a3ddf77f89badc38ba30f3d4b09321ebb831b680)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/00-brief/request.json (frozen-request, sha256 f987af541a3e928ee5b0e9f7daed6edbe90b5c7a4454d555f06516fa503f25d5)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/01-idea/idea.json (idea-contract, sha256 774ffe34cb80d325b5dd1893acf27068a73c8f41f670cb18a30c4b1db48b3c75)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/03-gdd-audit/audit.json (gdd-audit, sha256 6d8e08f4f6f38c664b40c6bd4d08d729b933fe1c1dbd02871826542d5a4a8fa0)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/04-market-analysis/advisory-score.json (advisory-score, sha256 962a5bfd5b81d594e6d1ab4ef0e7bf988a6c25be3a50ca35f451b3ec23d040a2)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/04-market-analysis/evidence-index.json (evidence-index, sha256 67e51d6e04733b7e8c73c95fb9c16719cab8b57a0534fdf921ba2a8950eb9348)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/04-market-analysis/market-analysis.json (market-analysis, sha256 0421f6782cf37a4ad4154293760c1c1f5598284e5ebf7cb0cc922cf3b8c164dd)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/05-product-direction/product-direction.json (product-direction, sha256 75629cc2e7dd7b09cebe7f08ea03bfb07711b91a9101c4cd02138e68664dd0ef)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/06-ux/screen-inventory.json (screen-inventory, sha256 ee5a891ea8c4d4404143bd921f8928b0c4363c1c312ed83883ab497e5769683b)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/08-art-audit/art-audit.json (art-audit, sha256 a5a60365355ad8b7bea72c47081c7963d11ecf13dcfb1391ab8bf00a0810ac68)
  • pipeline/refrain-garden/design/art-bible.md (art-bible, sha256 1ec25d37bd203ac931cfa45e1f74678986c2beb0e69ae5af2778c0f20e361264)
  • pipeline/refrain-garden/design/art-bible/accessibility.png (visual-output, sha256 a3dda620d580e38067f94f9ac24fd98f95128cfdb45def637572d44c2825730b)
  • pipeline/refrain-garden/design/art-bible/bed-select.png (visual-output, sha256 0ef15b133cc5c6eec651cd2b10d19802fcea1bdf7739c697efc2cf1fd7894aad)
  • pipeline/refrain-garden/design/art-bible/failure-collision.png (visual-output, sha256 b3f0037b78c3c4fba466df1f625322f9f889542473049b4c30460475120faaf2)
  • pipeline/refrain-garden/design/art-bible/gameplay-active.png (reference, sha256 e4810894943a8e02b2b8a190a69de998c71310ce19987e278ad2f11e43e682f3)
  • pipeline/refrain-garden/design/art-bible/gameplay-state-matrix.png (visual-output, sha256 569e9fb6f0d90420d3c4f17f82d6df352561ab5abb951a7667a87bbbc239bec9)
  • pipeline/refrain-garden/design/art-bible/home-herbarium.png (visual-output, sha256 c9cae4ac2d498dc5c4633a4dbbf0764b2d77a210be1b7a2f85669bc6502f9eea)
  • pipeline/refrain-garden/design/art-bible/implementation-board.png (visual-board, sha256 78116172af8b8f36d02c41c012701aff40f655c9417235f728668dd82687d13e)
  • pipeline/refrain-garden/design/art-bible/legal-error.png (visual-output, sha256 b20aef0232f4127ec1ef3864993ab47a47cdbf58529614823a7f6b67f3d0aa94)
  • pipeline/refrain-garden/design/art-bible/onboarding-fresh.png (visual-output, sha256 4183f0da571670b74e7ad07185ca91d7603c322c1110ff23d4ad5e671c80d432)
  • pipeline/refrain-garden/design/art-bible/pause-overlay.png (visual-output, sha256 05b74955f17e489e82e1b42db6bad1d6e380694049c91f28c7597d5043ee2755)
  • pipeline/refrain-garden/design/art-bible/settings.png (visual-output, sha256 b726e83ee8028fea20744115d3bfe5e8c07b8a660bfca934b030fdb709af76c3)
  • pipeline/refrain-garden/design/art-bible/success-result.png (visual-output, sha256 dc1bd2be07150b28ad99dc87b525e1903b93cdb5aca9361a80f5069020038f4b)
  • pipeline/refrain-garden/design/art-bible/visual-blueprint.png (visual-board, sha256 af69011fab817c0b360ef2c7964e93c62e51191390689e48fe2a76d567cd5e5d)
  • pipeline/refrain-garden/design/asset-manifest.json (asset-manifest, sha256 aee3bad4e09da7009d0bfa7a0319ef340bdc073398c99c52b4a4b8b696e47e4c)
  • pipeline/refrain-garden/design/board-spec.json (board-spec, sha256 e5ef4d6fa52e058e15e5284b02f8ae1a997e03be099a83f151443ceb7c146c16)
  • pipeline/refrain-garden/design/gdd.md (gdd, sha256 051b71f70396dec14d55ebefb8b33f07f652cbc1ba53cfdb5f841d3a16fcef08)
  • pipeline/refrain-garden/design/image-prompts/accessibility.txt (prompt, sha256 d3d720dd08813eacedd15581b894f429985cfeee042f96f3e698cb0595352bcf)
  • pipeline/refrain-garden/design/image-prompts/bed-select.txt (prompt, sha256 c03a0c093339bdf688614f49a52949d4ca5462b2c72584c3504dd3d54a3fd5ad)
  • pipeline/refrain-garden/design/image-prompts/failure-result.txt (prompt, sha256 fa894f1cdab63e4e83f963d28862df3f0b103e300b10b0765c5d53aa19f533d3)
  • pipeline/refrain-garden/design/image-prompts/gameplay-active.txt (prompt, sha256 a3a1c4f3e1cdbbec2a28d2b015825a195703a60845e8f1fe689af485363c8f4a)
  • pipeline/refrain-garden/design/image-prompts/gameplay-states.txt (prompt, sha256 9597e759209cf4b2d9996ccfa85e80813cf860ca8f7a4c9997d9249e5ed6000d)
  • pipeline/refrain-garden/design/image-prompts/home-herbarium.txt (prompt, sha256 25492c19f7d85192674709f691606ee9ec769c5e1b570c546926711a36e04253)
  • pipeline/refrain-garden/design/image-prompts/legal-error.txt (prompt, sha256 3c06d3b2cefa375baa4b389e5c3590f934fe2ead3fcdc332c7b8940fdc7246e6)
  • pipeline/refrain-garden/design/image-prompts/onboarding-fresh.txt (prompt, sha256 da2dc3af857af5755ca77cbcf074874a51c13693bdbf9043d48ee900061a0559)
  • pipeline/refrain-garden/design/image-prompts/pause-overlay.txt (prompt, sha256 bb8dbc323c499aa33add0d4ce89d49ab34a66a2fcf684c16f54f7a1c9b11305d)
  • pipeline/refrain-garden/design/image-prompts/settings.txt (prompt, sha256 3e26c9b09506bdc4484832813d3c50372e87064da0c980784c9bef272942b7a1)
  • pipeline/refrain-garden/design/image-prompts/success-result.txt (prompt, sha256 5696cb910f0305e0a4c04a025c2e5a5d57484aa24df16ad754c11fe3c86c4106)
  • pipeline/refrain-garden/design/machine-validation.json (machine-validation, sha256 28ab1fe69046be2e9934443eb887abe6ccabf313be2e3dfd6aa39eaecb599ae9)
  • pipeline/refrain-garden/design/ux-flow.md (ux-flow, sha256 ce53bbee54dcc467e25ff053d5b28bf9eb8b2e30fdd84831640f0b5296421486)
  • pipeline/refrain-garden/design/visual-brief.md (visual-brief, sha256 e3c2607798a12eb49160365389b039dec8be24eecb7441cc4a073ef343754f4b)
  • pipeline/refrain-garden/design/visual-qa.json (visual-qa, sha256 15a706b7caf2481bc6f361bb95c09f27d4e7cfbc052bdf13d6c86a617307e616)
Revision 3
Hash
fe9529d994210cf889e6689a757141c70cdb7c43e0a3cdd0474908904e2112a2
Created
2026-08-19T16:20:45.115Z
Release
2.0.9
Build
7fed51b 2026-08-20 01:19Z
Change summary
Built a dependency-free Refrain Garden mechanics sandbox with permanent current replay, exact four-beat preview, vector composition, simultaneous movement, glyph blooms, thorn failure, fresh FTUE, and touch/mouse/keyboard controls.
Title
Refrain Garden
Pitch
Draw one wind ribbon through a moonlit garden; every ribbon you commit pulses again on each later turn, so guiding the next seed means composing with all the currents you already created.
State
shipped
Stage
10
GDD excerpt
This document is the authoritative player-facing contract for concept refrain-garden. The source brief and mobile/no-visual-novel constraints are CONFIRMED. Rules, scope, content counts, UX targets, and technical budgets are DESIGN TARGETS until prototype or player evidence exists. Originality, demand, retention, acquisition cost, conversion, and revenue are UNKNOWN here and belong only to later gates. The definin...
Art excerpt
Run 2026-08-mobile-originality-live-test-en-us; concept refrain-garden. This is an implementation contract for the exact bound GDD revision, not a moodboard.

Source files:

  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/00-brief/creative-brief.md (source-brief, sha256 00dd4c68e1f33f705696cb21a3ddf77f89badc38ba30f3d4b09321ebb831b680)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/00-brief/request.json (frozen-request, sha256 f987af541a3e928ee5b0e9f7daed6edbe90b5c7a4454d555f06516fa503f25d5)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/01-idea/idea.json (idea-contract, sha256 774ffe34cb80d325b5dd1893acf27068a73c8f41f670cb18a30c4b1db48b3c75)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/03-gdd-audit/audit.json (gdd-audit, sha256 6d8e08f4f6f38c664b40c6bd4d08d729b933fe1c1dbd02871826542d5a4a8fa0)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/04-market-analysis/evidence-index.json (evidence-index, sha256 67e51d6e04733b7e8c73c95fb9c16719cab8b57a0534fdf921ba2a8950eb9348)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/04-market-analysis/market-analysis.json (market-analysis, sha256 0421f6782cf37a4ad4154293760c1c1f5598284e5ebf7cb0cc922cf3b8c164dd)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/05-product-direction/product-direction.json (product-direction, sha256 75629cc2e7dd7b09cebe7f08ea03bfb07711b91a9101c4cd02138e68664dd0ef)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/06-ux/screen-inventory.json (screen-inventory, sha256 ee5a891ea8c4d4404143bd921f8928b0c4363c1c312ed83883ab497e5769683b)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/08-art-audit/art-audit.json (art-audit, sha256 a5a60365355ad8b7bea72c47081c7963d11ecf13dcfb1391ab8bf00a0810ac68)
  • pipeline/refrain-garden/design/art-bible.md (art-bible, sha256 1ec25d37bd203ac931cfa45e1f74678986c2beb0e69ae5af2778c0f20e361264)
  • pipeline/refrain-garden/design/art-bible/accessibility.png (visual-output, sha256 a3dda620d580e38067f94f9ac24fd98f95128cfdb45def637572d44c2825730b)
  • pipeline/refrain-garden/design/art-bible/bed-select.png (visual-output, sha256 0ef15b133cc5c6eec651cd2b10d19802fcea1bdf7739c697efc2cf1fd7894aad)
  • pipeline/refrain-garden/design/art-bible/failure-collision.png (visual-output, sha256 b3f0037b78c3c4fba466df1f625322f9f889542473049b4c30460475120faaf2)
  • pipeline/refrain-garden/design/art-bible/gameplay-active.png (reference, sha256 e4810894943a8e02b2b8a190a69de998c71310ce19987e278ad2f11e43e682f3)
  • pipeline/refrain-garden/design/art-bible/gameplay-state-matrix.png (visual-output, sha256 569e9fb6f0d90420d3c4f17f82d6df352561ab5abb951a7667a87bbbc239bec9)
  • pipeline/refrain-garden/design/art-bible/home-herbarium.png (visual-output, sha256 c9cae4ac2d498dc5c4633a4dbbf0764b2d77a210be1b7a2f85669bc6502f9eea)
  • pipeline/refrain-garden/design/art-bible/implementation-board.png (visual-board, sha256 78116172af8b8f36d02c41c012701aff40f655c9417235f728668dd82687d13e)
  • pipeline/refrain-garden/design/art-bible/legal-error.png (visual-output, sha256 b20aef0232f4127ec1ef3864993ab47a47cdbf58529614823a7f6b67f3d0aa94)
  • pipeline/refrain-garden/design/art-bible/onboarding-fresh.png (visual-output, sha256 4183f0da571670b74e7ad07185ca91d7603c322c1110ff23d4ad5e671c80d432)
  • pipeline/refrain-garden/design/art-bible/pause-overlay.png (visual-output, sha256 05b74955f17e489e82e1b42db6bad1d6e380694049c91f28c7597d5043ee2755)
  • pipeline/refrain-garden/design/art-bible/settings.png (visual-output, sha256 b726e83ee8028fea20744115d3bfe5e8c07b8a660bfca934b030fdb709af76c3)
  • pipeline/refrain-garden/design/art-bible/success-result.png (visual-output, sha256 dc1bd2be07150b28ad99dc87b525e1903b93cdb5aca9361a80f5069020038f4b)
  • pipeline/refrain-garden/design/art-bible/visual-blueprint.png (visual-board, sha256 af69011fab817c0b360ef2c7964e93c62e51191390689e48fe2a76d567cd5e5d)
  • pipeline/refrain-garden/design/asset-manifest.json (asset-manifest, sha256 aee3bad4e09da7009d0bfa7a0319ef340bdc073398c99c52b4a4b8b696e47e4c)
  • pipeline/refrain-garden/design/board-spec.json (board-spec, sha256 e5ef4d6fa52e058e15e5284b02f8ae1a997e03be099a83f151443ceb7c146c16)
  • pipeline/refrain-garden/design/gdd.md (gdd, sha256 051b71f70396dec14d55ebefb8b33f07f652cbc1ba53cfdb5f841d3a16fcef08)
  • pipeline/refrain-garden/design/image-prompts/accessibility.txt (prompt, sha256 d3d720dd08813eacedd15581b894f429985cfeee042f96f3e698cb0595352bcf)
  • pipeline/refrain-garden/design/image-prompts/bed-select.txt (prompt, sha256 c03a0c093339bdf688614f49a52949d4ca5462b2c72584c3504dd3d54a3fd5ad)
  • pipeline/refrain-garden/design/image-prompts/failure-result.txt (prompt, sha256 fa894f1cdab63e4e83f963d28862df3f0b103e300b10b0765c5d53aa19f533d3)
  • pipeline/refrain-garden/design/image-prompts/gameplay-active.txt (prompt, sha256 a3a1c4f3e1cdbbec2a28d2b015825a195703a60845e8f1fe689af485363c8f4a)
  • pipeline/refrain-garden/design/image-prompts/gameplay-states.txt (prompt, sha256 9597e759209cf4b2d9996ccfa85e80813cf860ca8f7a4c9997d9249e5ed6000d)
  • pipeline/refrain-garden/design/image-prompts/home-herbarium.txt (prompt, sha256 25492c19f7d85192674709f691606ee9ec769c5e1b570c546926711a36e04253)
  • pipeline/refrain-garden/design/image-prompts/legal-error.txt (prompt, sha256 3c06d3b2cefa375baa4b389e5c3590f934fe2ead3fcdc332c7b8940fdc7246e6)
  • pipeline/refrain-garden/design/image-prompts/onboarding-fresh.txt (prompt, sha256 da2dc3af857af5755ca77cbcf074874a51c13693bdbf9043d48ee900061a0559)
  • pipeline/refrain-garden/design/image-prompts/pause-overlay.txt (prompt, sha256 bb8dbc323c499aa33add0d4ce89d49ab34a66a2fcf684c16f54f7a1c9b11305d)
  • pipeline/refrain-garden/design/image-prompts/settings.txt (prompt, sha256 3e26c9b09506bdc4484832813d3c50372e87064da0c980784c9bef272942b7a1)
  • pipeline/refrain-garden/design/image-prompts/success-result.txt (prompt, sha256 5696cb910f0305e0a4c04a025c2e5a5d57484aa24df16ad754c11fe3c86c4106)
  • pipeline/refrain-garden/design/machine-validation.json (machine-validation, sha256 28ab1fe69046be2e9934443eb887abe6ccabf313be2e3dfd6aa39eaecb599ae9)
  • pipeline/refrain-garden/design/ux-flow.md (ux-flow, sha256 ce53bbee54dcc467e25ff053d5b28bf9eb8b2e30fdd84831640f0b5296421486)
  • pipeline/refrain-garden/design/visual-brief.md (visual-brief, sha256 e3c2607798a12eb49160365389b039dec8be24eecb7441cc4a073ef343754f4b)
  • pipeline/refrain-garden/design/visual-qa.json (visual-qa, sha256 15a706b7caf2481bc6f361bb95c09f27d4e7cfbc052bdf13d6c86a617307e616)
Revision 2
Hash
14860d0bf91e64e2097e1c3e1b097fea9b54aa43c5eebe78df4fa35b66a6ac65
Created
2026-08-19T16:20:45.115Z
Release
2.0.6
Build
0bb2029 2026-08-19 16:23Z
Change summary
Built a dependency-free Refrain Garden mechanics sandbox with permanent current replay, exact four-beat preview, vector composition, simultaneous movement, glyph blooms, thorn failure, fresh FTUE, and touch/mouse/keyboard controls.
Title
Refrain Garden
Pitch
Draw one wind ribbon through a moonlit garden; every ribbon you commit pulses again on each later turn, so guiding the next seed means composing with all the currents you already created.
State
shipped
Stage
10
GDD excerpt
This document is the authoritative player-facing contract for concept refrain-garden. The source brief and mobile/no-visual-novel constraints are CONFIRMED. Rules, scope, content counts, UX targets, and technical budgets are DESIGN TARGETS until prototype or player evidence exists. Originality, demand, retention, acquisition cost, conversion, and revenue are UNKNOWN here and belong only to later gates. The definin...
Art excerpt
Run 2026-08-mobile-originality-live-test-en-us; concept refrain-garden. This is an implementation contract for the exact bound GDD revision, not a moodboard.

Source files:

  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/00-brief/creative-brief.md (source-brief, sha256 00dd4c68e1f33f705696cb21a3ddf77f89badc38ba30f3d4b09321ebb831b680)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/00-brief/request.json (frozen-request, sha256 f987af541a3e928ee5b0e9f7daed6edbe90b5c7a4454d555f06516fa503f25d5)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/01-idea/idea.json (idea-contract, sha256 774ffe34cb80d325b5dd1893acf27068a73c8f41f670cb18a30c4b1db48b3c75)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/03-gdd-audit/audit.json (gdd-audit, sha256 b794cb1f807ec3629caf0109fdf79b3c27d43f702ca2138e48104b2c8d718f63)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/04-market-analysis/evidence-index.json (evidence-index, sha256 67e51d6e04733b7e8c73c95fb9c16719cab8b57a0534fdf921ba2a8950eb9348)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/04-market-analysis/market-analysis.json (market-analysis, sha256 2f2e66bfb0a46df8ba5ce4df9a47655d137be140d6cf7da085c23c06e7f7ee2f)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/05-product-direction/product-direction.json (product-direction, sha256 9dddb0299b7fa6a6d9614c4ecf3fb8273ff4d6eb0463e205d2aa93592ccd1609)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/06-ux/screen-inventory.json (screen-inventory, sha256 3ee83b380229f763b86d8091f4be6491df8182f12048812acd262e645fe16bd3)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/08-art-audit/art-audit.json (art-audit, sha256 cbf646a456a27be58c5b1875ddbc2924134166b4df592b9e1b8763732c9b5456)
  • pipeline/refrain-garden/design/art-bible.md (art-bible, sha256 1ec25d37bd203ac931cfa45e1f74678986c2beb0e69ae5af2778c0f20e361264)
  • pipeline/refrain-garden/design/art-bible/accessibility.png (visual-output, sha256 a3dda620d580e38067f94f9ac24fd98f95128cfdb45def637572d44c2825730b)
  • pipeline/refrain-garden/design/art-bible/bed-select.png (visual-output, sha256 0ef15b133cc5c6eec651cd2b10d19802fcea1bdf7739c697efc2cf1fd7894aad)
  • pipeline/refrain-garden/design/art-bible/failure-collision.png (visual-output, sha256 b3f0037b78c3c4fba466df1f625322f9f889542473049b4c30460475120faaf2)
  • pipeline/refrain-garden/design/art-bible/gameplay-active.png (reference, sha256 e4810894943a8e02b2b8a190a69de998c71310ce19987e278ad2f11e43e682f3)
  • pipeline/refrain-garden/design/art-bible/gameplay-state-matrix.png (visual-output, sha256 569e9fb6f0d90420d3c4f17f82d6df352561ab5abb951a7667a87bbbc239bec9)
  • pipeline/refrain-garden/design/art-bible/home-herbarium.png (visual-output, sha256 c9cae4ac2d498dc5c4633a4dbbf0764b2d77a210be1b7a2f85669bc6502f9eea)
  • pipeline/refrain-garden/design/art-bible/implementation-board.png (visual-board, sha256 78116172af8b8f36d02c41c012701aff40f655c9417235f728668dd82687d13e)
  • pipeline/refrain-garden/design/art-bible/legal-error.png (visual-output, sha256 b20aef0232f4127ec1ef3864993ab47a47cdbf58529614823a7f6b67f3d0aa94)
  • pipeline/refrain-garden/design/art-bible/onboarding-fresh.png (visual-output, sha256 4183f0da571670b74e7ad07185ca91d7603c322c1110ff23d4ad5e671c80d432)
  • pipeline/refrain-garden/design/art-bible/pause-overlay.png (visual-output, sha256 05b74955f17e489e82e1b42db6bad1d6e380694049c91f28c7597d5043ee2755)
  • pipeline/refrain-garden/design/art-bible/settings.png (visual-output, sha256 b726e83ee8028fea20744115d3bfe5e8c07b8a660bfca934b030fdb709af76c3)
  • pipeline/refrain-garden/design/art-bible/success-result.png (visual-output, sha256 dc1bd2be07150b28ad99dc87b525e1903b93cdb5aca9361a80f5069020038f4b)
  • pipeline/refrain-garden/design/art-bible/visual-blueprint.png (visual-board, sha256 af69011fab817c0b360ef2c7964e93c62e51191390689e48fe2a76d567cd5e5d)
  • pipeline/refrain-garden/design/asset-manifest.json (asset-manifest, sha256 8c0dc278ba507d56522feeb7513a46bed5f5ac58021c835bbed7fda43c92ac2b)
  • pipeline/refrain-garden/design/board-spec.json (board-spec, sha256 e5ef4d6fa52e058e15e5284b02f8ae1a997e03be099a83f151443ceb7c146c16)
  • pipeline/refrain-garden/design/gdd.md (gdd, sha256 0233cfab19c9b4b5f9aa9eae3838c9262c10d8303fc810e12732799c011f7843)
  • pipeline/refrain-garden/design/image-prompts/accessibility.txt (prompt, sha256 d3d720dd08813eacedd15581b894f429985cfeee042f96f3e698cb0595352bcf)
  • pipeline/refrain-garden/design/image-prompts/bed-select.txt (prompt, sha256 c03a0c093339bdf688614f49a52949d4ca5462b2c72584c3504dd3d54a3fd5ad)
  • pipeline/refrain-garden/design/image-prompts/failure-result.txt (prompt, sha256 fa894f1cdab63e4e83f963d28862df3f0b103e300b10b0765c5d53aa19f533d3)
  • pipeline/refrain-garden/design/image-prompts/gameplay-active.txt (prompt, sha256 a3a1c4f3e1cdbbec2a28d2b015825a195703a60845e8f1fe689af485363c8f4a)
  • pipeline/refrain-garden/design/image-prompts/gameplay-states.txt (prompt, sha256 9597e759209cf4b2d9996ccfa85e80813cf860ca8f7a4c9997d9249e5ed6000d)
  • pipeline/refrain-garden/design/image-prompts/home-herbarium.txt (prompt, sha256 25492c19f7d85192674709f691606ee9ec769c5e1b570c546926711a36e04253)
  • pipeline/refrain-garden/design/image-prompts/legal-error.txt (prompt, sha256 3c06d3b2cefa375baa4b389e5c3590f934fe2ead3fcdc332c7b8940fdc7246e6)
  • pipeline/refrain-garden/design/image-prompts/onboarding-fresh.txt (prompt, sha256 da2dc3af857af5755ca77cbcf074874a51c13693bdbf9043d48ee900061a0559)
  • pipeline/refrain-garden/design/image-prompts/pause-overlay.txt (prompt, sha256 bb8dbc323c499aa33add0d4ce89d49ab34a66a2fcf684c16f54f7a1c9b11305d)
  • pipeline/refrain-garden/design/image-prompts/settings.txt (prompt, sha256 3e26c9b09506bdc4484832813d3c50372e87064da0c980784c9bef272942b7a1)
  • pipeline/refrain-garden/design/image-prompts/success-result.txt (prompt, sha256 5696cb910f0305e0a4c04a025c2e5a5d57484aa24df16ad754c11fe3c86c4106)
  • pipeline/refrain-garden/design/machine-validation.json (machine-validation, sha256 bdd364a5460ebd51ce050538a026eb4e9478e54352ee706b8145a71be80e0b8b)
  • pipeline/refrain-garden/design/ux-flow.md (ux-flow, sha256 ce53bbee54dcc467e25ff053d5b28bf9eb8b2e30fdd84831640f0b5296421486)
  • pipeline/refrain-garden/design/visual-brief.md (visual-brief, sha256 e3c2607798a12eb49160365389b039dec8be24eecb7441cc4a073ef343754f4b)
  • pipeline/refrain-garden/design/visual-qa.json (visual-qa, sha256 05a6a2b71dffe152a27479292561edb70fbecc22530a64185c6a681505d713c8)
Revision 1
Hash
96f92203ff9fb57d38e494b0d38798800935132cdecbc050afec5c9b227f4528
Created
2026-08-19T15:51:14.214Z
Release
2.0.5
Build
0d95bca 2026-08-19 16:14Z
Change summary
Built a dependency-free Refrain Garden mechanics sandbox with permanent current replay, exact four-beat preview, vector composition, simultaneous movement, glyph blooms, thorn failure, fresh FTUE, and touch/mouse/keyboard controls.
Title
Refrain Garden
Pitch
Draw one wind ribbon through a moonlit garden; every ribbon you commit pulses again on each later turn, so guiding the next seed means composing with all the currents you already created.
State
shipped
Stage
10
GDD excerpt
This document is the authoritative player-facing contract for concept refrain-garden. The source brief and mobile/no-visual-novel constraints are CONFIRMED. Rules, scope, content counts, UX targets, and technical budgets are DESIGN TARGETS until prototype or player evidence exists. Originality, demand, retention, acquisition cost, conversion, and revenue are UNKNOWN here and belong only to later gates. The definin...
Art excerpt
Run 2026-08-mobile-originality-live-test-en-us; concept refrain-garden. This is an implementation contract for the exact bound GDD revision, not a moodboard.

Source files:

  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/00-brief/creative-brief.md (source-brief, sha256 00dd4c68e1f33f705696cb21a3ddf77f89badc38ba30f3d4b09321ebb831b680)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/00-brief/request.json (frozen-request, sha256 f987af541a3e928ee5b0e9f7daed6edbe90b5c7a4454d555f06516fa503f25d5)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/01-idea/idea.json (idea-contract, sha256 774ffe34cb80d325b5dd1893acf27068a73c8f41f670cb18a30c4b1db48b3c75)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/03-gdd-audit/audit.json (gdd-audit, sha256 b794cb1f807ec3629caf0109fdf79b3c27d43f702ca2138e48104b2c8d718f63)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/04-market-analysis/evidence-index.json (evidence-index, sha256 67e51d6e04733b7e8c73c95fb9c16719cab8b57a0534fdf921ba2a8950eb9348)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/04-market-analysis/market-analysis.json (market-analysis, sha256 2f2e66bfb0a46df8ba5ce4df9a47655d137be140d6cf7da085c23c06e7f7ee2f)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/05-product-direction/product-direction.json (product-direction, sha256 9dddb0299b7fa6a6d9614c4ecf3fb8273ff4d6eb0463e205d2aa93592ccd1609)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/06-ux/screen-inventory.json (screen-inventory, sha256 3ee83b380229f763b86d8091f4be6491df8182f12048812acd262e645fe16bd3)
  • idea-lab/outputs/2026-08-mobile-originality-live-test-en-us/08-art-audit/art-audit.json (art-audit, sha256 cbf646a456a27be58c5b1875ddbc2924134166b4df592b9e1b8763732c9b5456)
  • pipeline/refrain-garden/design/art-bible.md (art-bible, sha256 1ec25d37bd203ac931cfa45e1f74678986c2beb0e69ae5af2778c0f20e361264)
  • pipeline/refrain-garden/design/art-bible/accessibility.png (visual-output, sha256 a3dda620d580e38067f94f9ac24fd98f95128cfdb45def637572d44c2825730b)
  • pipeline/refrain-garden/design/art-bible/bed-select.png (visual-output, sha256 0ef15b133cc5c6eec651cd2b10d19802fcea1bdf7739c697efc2cf1fd7894aad)
  • pipeline/refrain-garden/design/art-bible/failure-collision.png (visual-output, sha256 b3f0037b78c3c4fba466df1f625322f9f889542473049b4c30460475120faaf2)
  • pipeline/refrain-garden/design/art-bible/gameplay-active.png (reference, sha256 e4810894943a8e02b2b8a190a69de998c71310ce19987e278ad2f11e43e682f3)
  • pipeline/refrain-garden/design/art-bible/gameplay-state-matrix.png (visual-output, sha256 569e9fb6f0d90420d3c4f17f82d6df352561ab5abb951a7667a87bbbc239bec9)
  • pipeline/refrain-garden/design/art-bible/home-herbarium.png (visual-output, sha256 c9cae4ac2d498dc5c4633a4dbbf0764b2d77a210be1b7a2f85669bc6502f9eea)
  • pipeline/refrain-garden/design/art-bible/implementation-board.png (visual-board, sha256 78116172af8b8f36d02c41c012701aff40f655c9417235f728668dd82687d13e)
  • pipeline/refrain-garden/design/art-bible/legal-error.png (visual-output, sha256 b20aef0232f4127ec1ef3864993ab47a47cdbf58529614823a7f6b67f3d0aa94)
  • pipeline/refrain-garden/design/art-bible/onboarding-fresh.png (visual-output, sha256 4183f0da571670b74e7ad07185ca91d7603c322c1110ff23d4ad5e671c80d432)
  • pipeline/refrain-garden/design/art-bible/pause-overlay.png (visual-output, sha256 05b74955f17e489e82e1b42db6bad1d6e380694049c91f28c7597d5043ee2755)
  • pipeline/refrain-garden/design/art-bible/settings.png (visual-output, sha256 b726e83ee8028fea20744115d3bfe5e8c07b8a660bfca934b030fdb709af76c3)
  • pipeline/refrain-garden/design/art-bible/success-result.png (visual-output, sha256 dc1bd2be07150b28ad99dc87b525e1903b93cdb5aca9361a80f5069020038f4b)
  • pipeline/refrain-garden/design/art-bible/visual-blueprint.png (visual-board, sha256 af69011fab817c0b360ef2c7964e93c62e51191390689e48fe2a76d567cd5e5d)
  • pipeline/refrain-garden/design/asset-manifest.json (asset-manifest, sha256 8c0dc278ba507d56522feeb7513a46bed5f5ac58021c835bbed7fda43c92ac2b)
  • pipeline/refrain-garden/design/board-spec.json (board-spec, sha256 e5ef4d6fa52e058e15e5284b02f8ae1a997e03be099a83f151443ceb7c146c16)
  • pipeline/refrain-garden/design/gdd.md (gdd, sha256 0233cfab19c9b4b5f9aa9eae3838c9262c10d8303fc810e12732799c011f7843)
  • pipeline/refrain-garden/design/image-prompts/accessibility.txt (prompt, sha256 d3d720dd08813eacedd15581b894f429985cfeee042f96f3e698cb0595352bcf)
  • pipeline/refrain-garden/design/image-prompts/bed-select.txt (prompt, sha256 c03a0c093339bdf688614f49a52949d4ca5462b2c72584c3504dd3d54a3fd5ad)
  • pipeline/refrain-garden/design/image-prompts/failure-result.txt (prompt, sha256 fa894f1cdab63e4e83f963d28862df3f0b103e300b10b0765c5d53aa19f533d3)
  • pipeline/refrain-garden/design/image-prompts/gameplay-active.txt (prompt, sha256 a3a1c4f3e1cdbbec2a28d2b015825a195703a60845e8f1fe689af485363c8f4a)
  • pipeline/refrain-garden/design/image-prompts/gameplay-states.txt (prompt, sha256 9597e759209cf4b2d9996ccfa85e80813cf860ca8f7a4c9997d9249e5ed6000d)
  • pipeline/refrain-garden/design/image-prompts/home-herbarium.txt (prompt, sha256 25492c19f7d85192674709f691606ee9ec769c5e1b570c546926711a36e04253)
  • pipeline/refrain-garden/design/image-prompts/legal-error.txt (prompt, sha256 3c06d3b2cefa375baa4b389e5c3590f934fe2ead3fcdc332c7b8940fdc7246e6)
  • pipeline/refrain-garden/design/image-prompts/onboarding-fresh.txt (prompt, sha256 da2dc3af857af5755ca77cbcf074874a51c13693bdbf9043d48ee900061a0559)
  • pipeline/refrain-garden/design/image-prompts/pause-overlay.txt (prompt, sha256 bb8dbc323c499aa33add0d4ce89d49ab34a66a2fcf684c16f54f7a1c9b11305d)
  • pipeline/refrain-garden/design/image-prompts/settings.txt (prompt, sha256 3e26c9b09506bdc4484832813d3c50372e87064da0c980784c9bef272942b7a1)
  • pipeline/refrain-garden/design/image-prompts/success-result.txt (prompt, sha256 5696cb910f0305e0a4c04a025c2e5a5d57484aa24df16ad754c11fe3c86c4106)
  • pipeline/refrain-garden/design/machine-validation.json (machine-validation, sha256 bdd364a5460ebd51ce050538a026eb4e9478e54352ee706b8145a71be80e0b8b)
  • pipeline/refrain-garden/design/ux-flow.md (ux-flow, sha256 ce53bbee54dcc467e25ff053d5b28bf9eb8b2e30fdd84831640f0b5296421486)
  • pipeline/refrain-garden/design/visual-brief.md (visual-brief, sha256 e3c2607798a12eb49160365389b039dec8be24eecb7441cc4a073ef343754f4b)
  • pipeline/refrain-garden/design/visual-qa.json (visual-qa, sha256 05a6a2b71dffe152a27479292561edb70fbecc22530a64185c6a681505d713c8)

Source package files (20)

artifacts/board-spec.json

application/json, 9993 bytes · https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/artifacts/board-spec.json

{
  "version": 1,
  "title": "Refrain Garden",
  "subtitle": "Permanent-current mobile puzzle — gameplay and UI implementation guide",
  "theme": {
    "background": "#081425",
    "surface": "#142940",
    "paper": "#e9e2ce",
    "ink": "#132132",
    "muted": "#9fb3c4",
    "accent": "#55dfe6",
    "danger": "#f06d62",
    "gold": "#f1c66a"
  },
  "overview": [
    {
      "label": "Fantasy",
      "text": "Conduct living wind through a moonlit garden so glyph seeds bloom their matching flowers.",
      "sourceRefs": [
        "E-SEED",
        "E-FLOWER",
        "ENV-GARDEN"
      ]
    },
    {
      "label": "Genre",
      "text": "Portrait deterministic motion-composition puzzle with authored 45–120 second boards.",
      "sourceRefs": [
        "M-RIBBON",
        "M-BREATH"
      ]
    },
    {
      "label": "Platform",
      "text": "Mobile-first phone and tablet, portrait only, offline-first, one-finger snapped paths.",
      "sourceRefs": [
        "SCR-GAMEPLAY",
        "E-ANCHOR"
      ]
    },
    {
      "label": "Core loop",
      "text": "Read → draw one ribbon → inspect four beats → commit → every old current replays → bloom or retry.",
      "sourceRefs": [
        "M-RIBBON",
        "M-PREVIEW",
        "M-BREATH",
        "M-BLOOM",
        "M-RETRY"
      ]
    },
    {
      "label": "Visual identity",
      "text": "Indigo pressed-paper garden, pale anchors, cyan numbered currents, glyph seeds, coral hazards, warm blooms.",
      "sourceRefs": [
        "ENV-NIGHT",
        "E-ANCHOR",
        "E-SEED",
        "E-THORN",
        "V-BLOOM"
      ]
    },
    {
      "label": "Camera",
      "text": "Locked orthographic top-down board; the full integer grid remains visible and never rotates or crops.",
      "sourceRefs": [
        "ENV-GARDEN",
        "SCR-GAMEPLAY"
      ]
    },
    {
      "label": "Readability",
      "text": "Glyphs, outlines, hatches, numbered seals, chevrons, beat labels, and text duplicate every semantic color.",
      "sourceRefs": [
        "A-COLOR",
        "A-TEXT",
        "UI-TIMELINE"
      ]
    },
    {
      "label": "Hard exclusions",
      "text": "No freeform physics, pipe connection, perspective, characters, currencies, boosters, dialogue, or hidden cells.",
      "sourceRefs": [
        "M-VECTOR",
        "UI-UNLOCK"
      ]
    }
  ],
  "gameplayFlow": [
    {
      "step": 1,
      "title": "Read the live garden",
      "description": "Identify seeds, matching flowers, old numbered ribbons, hazards, gates, and remaining ribbon budget.",
      "assetId": "ART-GAMEPLAY",
      "sourceRefs": [
        "ST-ACTIVE",
        "E-SEED",
        "E-FLOWER",
        "E-THORN",
        "E-GATE"
      ]
    },
    {
      "step": 2,
      "title": "Draw one snapped ribbon",
      "description": "Start on an enabled border anchor and cross unique orthogonal cells to another enabled anchor.",
      "assetId": "ART-ONBOARDING",
      "sourceRefs": [
        "ST-DRAWING",
        "M-RIBBON",
        "E-ANCHOR"
      ]
    },
    {
      "step": 3,
      "title": "Inspect four exact beats",
      "description": "Scrub Start through beat 4 and read every seed intent, block, gate, collision, and projected bloom.",
      "assetId": "ART-GAMEPLAY",
      "sourceRefs": [
        "ST-PREVIEW",
        "M-PREVIEW",
        "UI-TIMELINE"
      ]
    },
    {
      "step": 4,
      "title": "Commit the new current",
      "description": "The new ribbon is numbered and becomes a permanent vector field beside every prior ribbon.",
      "assetId": "ART-GAMEPLAY",
      "sourceRefs": [
        "M-RIBBON",
        "M-VECTOR",
        "V-RIBBON"
      ]
    },
    {
      "step": 5,
      "title": "Resolve together",
      "description": "All seeds calculate and move simultaneously for four beats through combined old and new vectors.",
      "assetId": "ART-GAMEPLAY",
      "sourceRefs": [
        "ST-RESOLVING",
        "M-BREATH",
        "V-PULSE"
      ]
    },
    {
      "step": 6,
      "title": "Bloom or learn",
      "description": "Valid matching flowers bloom; a fatal rule preserves decisive cells and supports immediate retry.",
      "assetId": "ART-SUCCESS",
      "sourceRefs": [
        "ST-SUCCESS",
        "ST-FAILURE",
        "M-BLOOM",
        "M-RETRY"
      ]
    }
  ],
  "tutorial": [
    {
      "title": "Match",
      "instruction": "Find the seed and sleeping flower with the same glyph and outline.",
      "sourceRefs": [
        "E-SEED",
        "E-FLOWER",
        "A-COLOR"
      ]
    },
    {
      "title": "Anchor",
      "instruction": "Press one glowing border anchor; disabled anchors show a slash and label.",
      "sourceRefs": [
        "E-ANCHOR",
        "ST-DISABLED"
      ]
    },
    {
      "title": "Draw",
      "instruction": "Drag through snapped orthogonal cells without revisiting a cell.",
      "sourceRefs": [
        "M-RIBBON",
        "ST-DRAWING"
      ]
    },
    {
      "title": "Preview",
      "instruction": "Use Start, 1, 2, 3, 4 to inspect the exact result before committing.",
      "sourceRefs": [
        "M-PREVIEW",
        "UI-TIMELINE"
      ]
    },
    {
      "title": "Commit",
      "instruction": "Commit only when every visible beat is acceptable; release alone never commits.",
      "sourceRefs": [
        "UI-PRIMARY",
        "ST-PREVIEW"
      ]
    },
    {
      "title": "Refrain",
      "instruction": "Watch the old numbered current replay together with the current you just added.",
      "sourceRefs": [
        "M-BREATH",
        "V-PULSE"
      ]
    },
    {
      "title": "Collision",
      "instruction": "Same-cell and swap intents identify both seeds and the decisive beat.",
      "sourceRefs": [
        "V-COLLISION",
        "ST-FAILURE"
      ]
    },
    {
      "title": "Retry",
      "instruction": "Restart the exact authored garden immediately without currency or delay.",
      "sourceRefs": [
        "M-RETRY",
        "SCR-FAILURE"
      ]
    }
  ],
  "entityCards": [
    {
      "title": "Glyph seed",
      "description": "Luminous seed with unique glyph and outline; idle, projected, moving, blocked, collision, and bloom-bound states.",
      "sourceRefs": [
        "E-SEED",
        "A-COLOR"
      ]
    },
    {
      "title": "Sleeping flower",
      "description": "Closed paper-light bud with matching glyph ring; sleeping, eligible, wrong-order, and bloomed states.",
      "sourceRefs": [
        "E-FLOWER",
        "M-BLOOM"
      ]
    },
    {
      "title": "Thorn and stone",
      "description": "Coral spike-hatch is fatal; pale solid stone blocks movement and leaves the seed in place.",
      "sourceRefs": [
        "E-THORN",
        "E-STONE"
      ]
    },
    {
      "title": "Anchor and gate",
      "description": "Large border anchors begin/end ribbons; aperture gates show open/closed state and beat numeral.",
      "sourceRefs": [
        "E-ANCHOR",
        "E-GATE"
      ]
    }
  ],
  "systemCards": [
    {
      "title": "Permanent ribbon",
      "description": "Each committed path remains visible, numbered by age, and active on every later breath.",
      "sourceRefs": [
        "M-RIBBON",
        "V-RIBBON"
      ]
    },
    {
      "title": "Vector composition",
      "description": "Opposites cancel, reinforcement remains one cell, and perpendicular inputs form one diagonal move.",
      "sourceRefs": [
        "M-VECTOR"
      ]
    },
    {
      "title": "Exact preview",
      "description": "Five inspectable frames show the same deterministic outcome that Commit will resolve.",
      "sourceRefs": [
        "M-PREVIEW",
        "UI-TIMELINE"
      ]
    },
    {
      "title": "Four-beat breath",
      "description": "All remaining seeds resolve simultaneous intent, blocking, collision, and bloom checks four times.",
      "sourceRefs": [
        "M-BREATH",
        "M-BLOOM"
      ]
    }
  ],
  "screenAssetIds": [
    "ART-GAMEPLAY",
    "ART-GAMEPLAY-STATES",
    "ART-ONBOARDING",
    "ART-HOME",
    "ART-BED-SELECT",
    "ART-PAUSE",
    "ART-SUCCESS",
    "ART-FAILURE",
    "ART-SETTINGS",
    "ART-ACCESSIBILITY",
    "ART-LEGAL-ERROR"
  ],
  "implementationNotes": [
    {
      "label": "HUD",
      "text": "Budget and bed stay above the board; Start/1/2/3/4 remains between HUD and garden.",
      "sourceRefs": [
        "UI-TOPBAR",
        "UI-TIMELINE"
      ]
    },
    {
      "label": "Touch",
      "text": "Anchors are 56×56 plus inward extension; all other controls are at least 48×48.",
      "sourceRefs": [
        "E-ANCHOR",
        "UI-PRIMARY"
      ]
    },
    {
      "label": "Type",
      "text": "Essential text starts at 17 logical px and scales to 150% without covering cells.",
      "sourceRefs": [
        "A-TEXT"
      ]
    },
    {
      "label": "Motion",
      "text": "Each beat is at most 300 ms; reduced motion uses four 100 ms stepped highlights.",
      "sourceRefs": [
        "V-PULSE",
        "A-MOTION"
      ]
    },
    {
      "label": "Access",
      "text": "Glyphs, hatches, seals, chevrons, labels, haptic settings, and cell summaries reinforce state.",
      "sourceRefs": [
        "A-COLOR",
        "A-HAPTIC"
      ]
    },
    {
      "label": "Export",
      "text": "Layered runtime sources, 1×/2×/3× atlases, whole-pixel grid edges, and no runtime generated art.",
      "sourceRefs": [
        "ENV-GARDEN",
        "V-RIBBON"
      ]
    }
  ],
  "sourceRefs": [
    "M-RIBBON",
    "M-PREVIEW",
    "M-BREATH",
    "M-VECTOR",
    "M-BLOOM",
    "M-RETRY",
    "E-SEED",
    "E-FLOWER",
    "E-ANCHOR",
    "E-THORN",
    "E-STONE",
    "E-GATE",
    "ENV-GARDEN",
    "ENV-NIGHT",
    "ENV-HERBARIUM",
    "UI-TOPBAR",
    "UI-TIMELINE",
    "UI-PRIMARY",
    "UI-MODAL",
    "UI-UNLOCK",
    "A-COLOR",
    "A-MOTION",
    "A-TEXT",
    "A-HAPTIC",
    "V-RIBBON",
    "V-PULSE",
    "V-BLOOM",
    "V-THORN",
    "V-EDGE",
    "V-COLLISION",
    "V-ORDER",
    "V-SUCCESS"
  ]
}

artifacts/image-prompts/accessibility.txt

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

Use case: ui-mockup
Asset type: mobile accessibility screen reference
Input images: Image 1 is the authoritative gameplay master and locked visual reference
Primary request: Create Refrain Garden's portrait Accessibility screen with a live miniature garden preview. Show Glyph Labels, High Contrast, Reduced Motion, Text Size at 125%, Step Preview, Haptics, Screen Reader Summaries, Music, and Effects as independent controls. The preview must show a glyph seed, matching flower, numbered ribbon, hatched thorn, solid stone, beat gate, anchor, and Start/1/2/3/4 buttons.
Style/medium: polished shippable 2D mobile UI matching Image 1, practical implementation reference rather than concept art
Composition/framing: one edge-to-edge 9:20 portrait screen, no phone hardware; live preview upper third, settings lower area, Reset and Done actions
Text (verbatim): "ACCESSIBILITY", "GLYPH LABELS", "HIGH CONTRAST", "REDUCED MOTION", "TEXT SIZE 125%", "STEP PREVIEW", "HAPTICS", "SCREEN READER SUMMARIES", "MUSIC", "EFFECTS", "RESET", "DONE"
Source refs: SCR-ACCESSIBILITY, E-SEED, E-FLOWER, E-ANCHOR, E-THORN, E-STONE, E-GATE, UI-TIMELINE, UI-PRIMARY, A-COLOR, A-MOTION, A-TEXT, A-HAPTIC
Constraints: preserve Image 1 entity grammar; demonstrate non-color redundancy; no new assistive mechanic, currency, characters, logos, or watermark

artifacts/image-prompts/bed-select.txt

text/plain; charset=utf-8, 1224 bytes · https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/artifacts/image-prompts/bed-select.txt

Use case: ui-mockup
Asset type: mobile level-selection screen reference
Input images: Image 1 is the authoritative gameplay master and locked visual reference
Primary request: Create Refrain Garden's Bed Map screen as a portrait herbarium path. Show five named beds, each with six numbered board seals: First Breath, Crosscurrent, Quiet Stone, Timed Petals, Full Chorus. Clearly distinguish completed, current, available, and locked boards using shape, glyph, ring, and label rather than color alone. Show dew seals as cosmetic completion marks and a back button. No energy or timer.
Style/medium: polished shippable 2D mobile UI matching Image 1, layered botanical paper map with restrained premium detail
Composition/framing: one edge-to-edge 9:20 portrait screen, no phone hardware; scroll-like vertical path but entire five-bed overview visible as a reference composition
Text (verbatim): "BED MAP", "FIRST BREATH", "CROSSCURRENT", "QUIET STONE", "TIMED PETALS", "FULL CHORUS", "18 / 30"
Source refs: SCR-BED-SELECT, ST-DISABLED, ENV-HERBARIUM, UI-PRIMARY, A-COLOR, A-TEXT
Constraints: preserve Image 1 palette and glyph grammar; no currency, stamina, daily countdown, shop, characters, extra beds, logos, or watermark

artifacts/image-prompts/failure-result.txt

text/plain; charset=utf-8, 1219 bytes · https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/artifacts/image-prompts/failure-result.txt

Use case: ui-mockup
Asset type: mobile failure result screen reference
Input images: Image 1 is the authoritative gameplay master and locked visual reference
Primary request: Create a Refrain Garden failure screen preserving the decisive beat. Show two different glyph seeds attempting the same highlighted cell, intersecting intent arrows, a coral collision symbol, Start/1/2/3/4 timeline stopped at beat 3, and plain-language cause. Offer Retry as primary, Inspect Timeline, and Home. Keep the board visible behind a restrained modal.
Style/medium: polished shippable 2D mobile UI matching Image 1; coral danger with glyph and hatch redundancy, no flashing
Composition/framing: one edge-to-edge 9:20 portrait screen, no phone hardware; decisive board upper area, explanatory modal lower area
Text (verbatim): "CURRENTS COLLIDED", "Two seeds tried to share row 4, column 3 on beat 3.", "RETRY", "INSPECT TIMELINE", "HOME"
Source refs: SCR-FAILURE, ST-FAILURE, M-RETRY, E-SEED, E-THORN, E-GATE, ENV-GARDEN, UI-TIMELINE, UI-MODAL, UI-PRIMARY, A-COLOR, V-THORN, V-EDGE, V-COLLISION, V-ORDER
Constraints: preserve Image 1 palette and grid; no purchase, ad, countdown, shame copy, game over character, logos, or watermark

artifacts/image-prompts/gameplay-active.txt

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

Use case: ui-mockup
Asset type: authoritative mobile gameplay master for a GDD-bound Art Bible
Primary request: Create a polished, implementation-oriented portrait mobile game screen for Refrain Garden, a deterministic top-down puzzle. Show a full 6x8 night-garden grid, three enabled border anchors, two numbered committed wind ribbons, one draft ribbon, two glyph-marked luminous seeds, matching sleeping flowers, coral thorns, one stone, one beat gate, combined cell-vector chevrons, and an exact four-beat preview. The visual must make it obvious that old currents remain and combine with the new current.
Scene/backdrop: fixed orthographic indigo garden bed with subtle handmade paper and pressed-botanical texture; no perspective and no hidden cells
Style/medium: realistic shippable 2D mobile UI mockup, layered tactile paper-light materials, crisp vector-like gameplay symbols, restrained premium indie polish; not concept art
Composition/framing: one edge-to-edge 9:20 portrait interface centered inside the output; reserve solid dark indigo side gutters outside the centered 9:20 column if the generated canvas is wider; no phone hardware. Top safe-area status and Start/1/2/3/4 timeline, large central board, lower thumb zone with Commit and Cancel, 56px anchors, 48px controls.
Lighting/mood: moonlit, calm, precise; cyan current light, warm bloom halos, coral danger accents
Color palette: deep indigo #081425, garden surface #142940, pale stone #E9E2CE, cyan #55DFE6, coral #F06D62, warm gold #F1C66A; critical states also differ by glyph, outline, hatch, numeral, and chevron
Text (verbatim): "BED 2 · 04", "RIBBONS 2/4", "START", "1", "2", "3", "4", "COMMIT", "CANCEL"
Source refs: SCR-GAMEPLAY, ST-ACTIVE, ST-DRAWING, ST-PREVIEW, ST-RESOLVING, M-RIBBON, M-PREVIEW, M-BREATH, M-VECTOR, M-BLOOM, M-RETRY, E-SEED, E-FLOWER, E-ANCHOR, E-THORN, E-STONE, E-GATE, ENV-GARDEN, ENV-NIGHT, UI-TOPBAR, UI-TIMELINE, UI-PRIMARY, A-COLOR, A-MOTION, A-TEXT, A-HAPTIC, V-RIBBON, V-PULSE, V-BLOOM
Constraints: entire board and every cell visible; exact flat grid; readable foreground/background separation; numbered ribbons; no overlap between HUD and board; no currencies, boosters, energy, shop, dialogue, characters, realistic 3D, camera perspective, decorative foliage over cells, extra mechanics, logos, or watermark
Avoid: Blek-like freeform doodle field, Flow Free pipe presentation, neon cyberpunk, generic fantasy garden, photorealism, tiny text, illegible glyphs, cropped controls

artifacts/image-prompts/gameplay-states.txt

text/plain; charset=utf-8, 1698 bytes · https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/artifacts/image-prompts/gameplay-states.txt

Use case: ui-mockup
Asset type: gameplay state reference sheet for a GDD-bound Art Bible
Input images: Image 1 is the authoritative Refrain Garden gameplay master and the locked style, palette, entity, grid, and UI reference
Primary request: Create one 9:20 portrait implementation sheet divided into six equal, clearly separated mini-panels showing the same garden through DRAWING, PREVIEW, RESOLVING, LOADING, DISABLED, and INTERRUPTED states. DRAWING shows a snapped candidate with valid and invalid segments; PREVIEW shows Start/1/2/3/4 and projected seed trails; RESOLVING shows simultaneous cyan beat pulses; LOADING shows a non-interactive garden skeleton; DISABLED shows a slashed anchor and disabled Commit with labels; INTERRUPTED shows the last stable garden dimmed beneath a paused-recovery notice.
Style/medium: realistic shippable 2D mobile UI state sheet matching Image 1 exactly; tactile indigo paper-light garden, crisp vectors, coral failures, warm blooms
Composition/framing: one centered edge-to-edge 9:20 portrait sheet, no phone hardware; six stacked or 2x3 panels with enough separation to read state differences
Text (verbatim): "DRAWING", "PREVIEW", "RESOLVING", "LOADING", "DISABLED", "INTERRUPTED", "START", "1", "2", "3", "4"
Source refs: ST-DRAWING, ST-PREVIEW, ST-RESOLVING, ST-LOADING, ST-DISABLED, ST-INTERRUPTED, M-RIBBON, M-PREVIEW, M-BREATH, M-VECTOR, E-SEED, E-ANCHOR, E-GATE, ENV-GARDEN, ENV-NIGHT, UI-TIMELINE, UI-PRIMARY, UI-MODAL, A-COLOR, A-MOTION, V-PULSE, V-THORN, V-EDGE, V-COLLISION, V-ORDER
Constraints: preserve Image 1 visual language; same grid symbols and entity grammar; no new mechanics, currencies, characters, perspective, logos, or watermark

artifacts/image-prompts/home-herbarium.txt

text/plain; charset=utf-8, 1200 bytes · https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/artifacts/image-prompts/home-herbarium.txt

Use case: ui-mockup
Asset type: mobile home screen reference
Input images: Image 1 is the authoritative gameplay master and locked visual reference
Primary request: Create Refrain Garden's portrait home screen. Show the title, a tactile restored herbarium diorama with five layered paper garden beds, a prominent Continue button, current bed and board, Bed Map, Herbarium, Settings, and a discreet Legal link. Include a small optional full-game unlock card beneath progress, clearly secondary and not a shop takeover. No gameplay grid.
Style/medium: polished shippable 2D mobile UI matching Image 1, indigo pressed-paper botanical atlas, cyan navigation accents, warm restored flowers
Composition/framing: one edge-to-edge 9:20 portrait screen, no phone hardware; safe title zone, hero herbarium, lower thumb actions
Text (verbatim): "REFRAIN GARDEN", "CONTINUE", "CROSSCURRENT · 04", "BED MAP", "HERBARIUM", "SETTINGS", "UNLOCK FULL GARDEN", "LEGAL"
Source refs: SCR-HOME, ENV-HERBARIUM, ENV-NIGHT, UI-PRIMARY, UI-UNLOCK, A-TEXT
Constraints: preserve Image 1 materials and palette; no daily reward, energy, currency balance, boosters, ad button, characters, perspective scene, logos, or watermark

artifacts/image-prompts/legal-error.txt

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

Use case: ui-mockup
Asset type: mobile legal screen with recoverable error reference
Input images: Image 1 is the authoritative gameplay master and locked visual reference
Primary request: Create Refrain Garden's portrait Legal & Support screen, not gameplay. Show cached Privacy, Terms, Credits, Licenses, Support, Purchase & Consent, and last-updated rows. At the bottom, include a restrained recoverable offline error card saying the latest document could not be reached and the saved copy is shown, with Retry and Back. No gameplay HUD or board.
Style/medium: polished shippable 2D mobile UI matching Image 1, quiet indigo paper document panels with high readability
Composition/framing: one edge-to-edge 9:20 portrait screen, no phone hardware; safe heading, document rows, lower error card and actions
Text (verbatim): "LEGAL & SUPPORT", "PRIVACY", "TERMS", "CREDITS", "LICENSES", "SUPPORT", "PURCHASE & CONSENT", "LAST UPDATED AUG 19, 2026", "OFFLINE — SHOWING SAVED COPY", "RETRY", "BACK"
Source refs: SCR-LEGAL, ST-ERROR, UI-MODAL, UI-PRIMARY, A-TEXT
Constraints: preserve Image 1 palette and type tone; no gameplay HUD, grid, currencies, characters, logos, or watermark

artifacts/image-prompts/onboarding-fresh.txt

text/plain; charset=utf-8, 1389 bytes · https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/artifacts/image-prompts/onboarding-fresh.txt

Use case: ui-mockup
Asset type: mobile onboarding screen reference
Input images: Image 1 is the authoritative gameplay master and locked visual reference
Primary request: Create the first Refrain Garden onboarding screen: a simple full 3x4 orthographic night-garden board with one circle-glyph luminous seed, one matching sleeping flower, two large border anchors, and one short ghost ribbon. Show a single hand-trace gesture from anchor to anchor, four projected seed positions, a visible Skip action, an Accessibility shortcut, and Commit inactive until the valid endpoint is reached. This teaches a real puzzle, not a carousel.
Style/medium: polished shippable 2D mobile UI matching Image 1, calm tactile pressed-paper garden with cyan current and warm flower
Composition/framing: one edge-to-edge 9:20 portrait screen centered in output, no phone hardware; safe top copy, large central board, lower thumb action
Text (verbatim): "DRAW A CURRENT", "Old currents return every breath.", "SKIP", "ACCESSIBILITY", "COMMIT"
Source refs: SCR-ONBOARDING, ST-FRESH, M-RIBBON, M-PREVIEW, M-BREATH, M-BLOOM, E-SEED, E-FLOWER, E-ANCHOR, ENV-GARDEN, ENV-NIGHT, UI-TIMELINE, UI-PRIMARY, A-COLOR, A-MOTION, V-RIBBON, V-BLOOM
Constraints: preserve Image 1 palette, glyph grammar, and flat grid; no menus carousel, characters, currency, ads, dialogue, perspective, extra entities, logos, or watermark

artifacts/image-prompts/pause-overlay.txt

text/plain; charset=utf-8, 948 bytes · https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/artifacts/image-prompts/pause-overlay.txt

Use case: ui-mockup
Asset type: mobile pause overlay reference
Input images: Image 1 is the authoritative gameplay master and locked visual reference
Primary request: Create the Refrain Garden pause state over the same frozen gameplay context. Preserve the readable garden behind a 68 percent indigo scrim. Center a tactile paper-light modal with Resume, Restart, Settings, and Home. Keep the exact board, numbered currents, and timeline visibly frozen. No draft in progress.
Style/medium: polished shippable 2D mobile UI matching Image 1
Composition/framing: one edge-to-edge 9:20 portrait screen, no phone hardware; safe centered modal with four large actions
Text (verbatim): "PAUSED", "RESUME", "RESTART", "SETTINGS", "HOME"
Source refs: SCR-PAUSE, ST-PAUSED, ENV-GARDEN, ENV-NIGHT, UI-MODAL, UI-PRIMARY, A-MOTION
Constraints: preserve Image 1 board and palette; no new mechanics, monetization, character art, perspective, logos, or watermark

artifacts/image-prompts/settings.txt

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

Use case: ui-mockup
Asset type: mobile settings screen reference
Input images: Image 1 is the authoritative gameplay master and locked visual reference
Primary request: Create Refrain Garden's complete portrait Settings screen. Use clear grouped rows for Music, Night Ambience, Effects, Haptics, Tutorial Replay, Accessibility, Restore Purchase, Data & Consent, Support, Legal, and Reset Progress. Show explicit labels and values, practical large toggles, and a back button. No gameplay HUD.
Style/medium: polished shippable 2D mobile UI matching Image 1, indigo pressed-paper panels with pale text and cyan focus accents
Composition/framing: one edge-to-edge 9:20 portrait screen, no phone hardware; safe heading, grouped scrollable settings reference, lower back route
Text (verbatim): "SETTINGS", "MUSIC", "NIGHT AMBIENCE", "EFFECTS", "HAPTICS", "TUTORIAL REPLAY", "ACCESSIBILITY", "RESTORE PURCHASE", "DATA & CONSENT", "SUPPORT", "LEGAL", "RESET PROGRESS"
Source refs: SCR-SETTINGS, ENV-NIGHT, UI-MODAL, UI-PRIMARY, A-HAPTIC, A-TEXT
Constraints: preserve Image 1 palette and materials; practical settings UI, no shop, currency, characters, gameplay grid, logos, or watermark

artifacts/image-prompts/success-result.txt

text/plain; charset=utf-8, 1135 bytes · https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/artifacts/image-prompts/success-result.txt

Use case: ui-mockup
Asset type: mobile success result screen reference
Input images: Image 1 is the authoritative gameplay master and locked visual reference
Primary request: Create a Refrain Garden success screen after every seed has bloomed correctly. Show a compact final garden with numbered cyan ribbons, three warm paper-light flowers open, a restored herbarium page detail, ribbons used 3/4, two earned dew seals and one outlined unearned seal, with Next as primary plus Replay and Home. Celebration is quiet and readable.
Style/medium: polished shippable 2D mobile UI matching Image 1, warm bloom halo and restrained botanical confetti within runtime budget
Composition/framing: one edge-to-edge 9:20 portrait screen, no phone hardware; final garden upper half, result card lower half
Text (verbatim): "GARDEN IN CHORUS", "RIBBONS 3/4", "NEXT", "REPLAY", "HOME"
Source refs: SCR-SUCCESS, ST-SUCCESS, M-BLOOM, E-SEED, E-FLOWER, ENV-GARDEN, ENV-HERBARIUM, UI-PRIMARY, A-COLOR, V-BLOOM, V-SUCCESS
Constraints: preserve Image 1 visual language; no score currency, chest, ad, purchase, leaderboard, characters, logos, or watermark

market/evidence-index.json

application/json, 3277 bytes · https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/market/evidence-index.json

{
  "version": 1,
  "status": "indexed",
  "evidence": [
    {
      "id": "apple-flow-free-market",
      "kind": "store-signal",
      "truthLabel": "CONFIRMED",
      "url": "https://apps.apple.com/us/app/flow-free/id526641427",
      "retrievedAt": "2026-08-19T03:20:00.000Z",
      "finding": "The US listing shows 402K ratings at 4.8, free entry with IAP, more than 2,500 free puzzles, daily puzzles, multiple board sizes, and color-impaired labels."
    },
    {
      "id": "google-flow-free-market",
      "kind": "store-signal",
      "truthLabel": "CONFIRMED",
      "url": "https://play.google.com/store/apps/dev?id=5251530371678806790",
      "retrievedAt": "2026-08-19T03:20:00.000Z",
      "finding": "Google Play reports Flow Free at 100M+ downloads and 1.55M reviews with ads, in-app purchases, and Play Pass availability."
    },
    {
      "id": "google-brain-it-on-market",
      "kind": "store-signal",
      "truthLabel": "CONFIRMED",
      "url": "https://play.google.com/store/apps/dev?id=5976616910996789779",
      "retrievedAt": "2026-08-19T03:20:00.000Z",
      "finding": "Google Play reports Brain It On at 50M+ downloads and 525K reviews with ads, in-app purchases, and Play Pass availability."
    },
    {
      "id": "apple-brain-it-on-market",
      "kind": "store-signal",
      "truthLabel": "CONFIRMED",
      "url": "https://apps.apple.com/us/app/brain-it-on/id985367692",
      "retrievedAt": "2026-08-19T03:20:00.000Z",
      "finding": "The US listing shows 5.1K ratings at 4.5, free entry with IAP, dozens of draw-shape physics puzzles, and multiple-solution positioning."
    },
    {
      "id": "apple-blek-market",
      "kind": "monetization-signal",
      "truthLabel": "CONFIRMED",
      "url": "https://apps.apple.com/us/app/blek/id742625884",
      "retrievedAt": "2026-08-19T03:20:00.000Z",
      "finding": "The US listing shows a $4.99 premium price, 799 ratings at 4.5, Editors' Choice recognition, and a repeating drawn-line promise."
    },
    {
      "id": "apple-cosmic-express-market",
      "kind": "monetization-signal",
      "truthLabel": "CONFIRMED",
      "url": "https://apps.apple.com/us/app/cosmic-express/id1152474226",
      "retrievedAt": "2026-08-19T03:20:00.000Z",
      "finding": "The US listing shows a $5.99 premium price, 198 ratings at 4.8, hundreds of authored route-planning levels, and no ads or in-app purchases."
    },
    {
      "id": "apple-draw-wind-market",
      "kind": "competition-signal",
      "truthLabel": "CONFIRMED",
      "url": "https://apps.apple.com/us/app/draw-wind/id1510294136",
      "retrievedAt": "2026-08-19T03:20:00.000Z",
      "finding": "The US listing uses the promise Draw your winds, get your boat to destination, but shows only two ratings at 1.5 and provides no deeper feature description."
    },
    {
      "id": "refrain-demand-inference",
      "kind": "analysis",
      "truthLabel": "INFERRED",
      "url": "https://apps.apple.com/us/app/flow-free/id526641427",
      "retrievedAt": "2026-08-19T03:20:00.000Z",
      "finding": "Large adjacent line-puzzle demand and premium niche precedents justify a bounded prototype investment, but do not confirm acquisition cost, retention, or willingness to pay for cumulative vector replay."
    }
  ]
}

validation/asset-manifest.json

application/json, 20695 bytes · https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/validation/asset-manifest.json

{
  "version": 3,
  "status": "complete",
  "model": "gpt-image-2",
  "lineage": {
    "runId": "2026-08-mobile-originality-live-test-en-us",
    "conceptId": "refrain-garden"
  },
  "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": "051b71f70396dec14d55ebefb8b33f07f652cbc1ba53cfdb5f841d3a16fcef08"
    },
    "gddAudit": {
      "source": "03-gdd-audit/audit.json",
      "snapshot": "gdd-audit.json",
      "sha256": "6d8e08f4f6f38c664b40c6bd4d08d729b933fe1c1dbd02871826542d5a4a8fa0"
    },
    "marketAnalysis": {
      "source": "04-market-analysis/market-analysis.json",
      "snapshot": "market-analysis.json",
      "sha256": "0421f6782cf37a4ad4154293760c1c1f5598284e5ebf7cb0cc922cf3b8c164dd"
    },
    "productDirection": {
      "source": "05-product-direction/product-direction.json",
      "snapshot": "product-direction.json",
      "sha256": "75629cc2e7dd7b09cebe7f08ea03bfb07711b91a9101c4cd02138e68664dd0ef"
    },
    "uxFlow": {
      "source": "06-ux/ux-flow.md",
      "snapshot": "ux-flow.md",
      "sha256": "ce53bbee54dcc467e25ff053d5b28bf9eb8b2e30fdd84831640f0b5296421486"
    }
  },
  "inventory": {
    "screens": [
      {
        "id": "SCR-ONBOARDING",
        "role": "onboarding",
        "sourceRefs": [
          "SCR-ONBOARDING"
        ]
      },
      {
        "id": "SCR-HOME",
        "role": "home",
        "sourceRefs": [
          "SCR-HOME"
        ]
      },
      {
        "id": "SCR-BED-SELECT",
        "role": "level-select",
        "sourceRefs": [
          "SCR-BED-SELECT"
        ]
      },
      {
        "id": "SCR-GAMEPLAY",
        "role": "gameplay",
        "sourceRefs": [
          "SCR-GAMEPLAY"
        ]
      },
      {
        "id": "SCR-PAUSE",
        "role": "pause",
        "sourceRefs": [
          "SCR-PAUSE"
        ]
      },
      {
        "id": "SCR-SUCCESS",
        "role": "success",
        "sourceRefs": [
          "SCR-SUCCESS"
        ]
      },
      {
        "id": "SCR-FAILURE",
        "role": "failure",
        "sourceRefs": [
          "SCR-FAILURE"
        ]
      },
      {
        "id": "SCR-SETTINGS",
        "role": "settings",
        "sourceRefs": [
          "SCR-SETTINGS"
        ]
      },
      {
        "id": "SCR-ACCESSIBILITY",
        "role": "accessibility",
        "sourceRefs": [
          "SCR-ACCESSIBILITY"
        ]
      },
      {
        "id": "SCR-LEGAL",
        "role": "legal",
        "sourceRefs": [
          "SCR-LEGAL"
        ]
      }
    ],
    "states": [
      {
        "id": "ST-FRESH",
        "role": "fresh",
        "important": true,
        "sourceRefs": [
          "ST-FRESH"
        ]
      },
      {
        "id": "ST-DRAWING",
        "role": "drawing",
        "important": false,
        "sourceRefs": [
          "ST-DRAWING"
        ]
      },
      {
        "id": "ST-PREVIEW",
        "role": "preview",
        "important": false,
        "sourceRefs": [
          "ST-PREVIEW"
        ]
      },
      {
        "id": "ST-RESOLVING",
        "role": "resolving",
        "important": false,
        "sourceRefs": [
          "ST-RESOLVING"
        ]
      },
      {
        "id": "ST-ACTIVE",
        "role": "active",
        "important": true,
        "sourceRefs": [
          "ST-ACTIVE"
        ]
      },
      {
        "id": "ST-PAUSED",
        "role": "paused",
        "important": true,
        "sourceRefs": [
          "ST-PAUSED"
        ]
      },
      {
        "id": "ST-SUCCESS",
        "role": "success",
        "important": true,
        "sourceRefs": [
          "ST-SUCCESS"
        ]
      },
      {
        "id": "ST-FAILURE",
        "role": "failure",
        "important": true,
        "sourceRefs": [
          "ST-FAILURE"
        ]
      },
      {
        "id": "ST-ERROR",
        "role": "error",
        "important": true,
        "sourceRefs": [
          "ST-ERROR"
        ]
      },
      {
        "id": "ST-LOADING",
        "role": "loading",
        "important": false,
        "sourceRefs": [
          "ST-LOADING"
        ]
      },
      {
        "id": "ST-DISABLED",
        "role": "disabled",
        "important": false,
        "sourceRefs": [
          "ST-DISABLED"
        ]
      },
      {
        "id": "ST-INTERRUPTED",
        "role": "interrupted",
        "important": false,
        "sourceRefs": [
          "ST-INTERRUPTED"
        ]
      }
    ],
    "mechanics": [
      {
        "id": "M-RIBBON",
        "sourceRefs": [
          "M-RIBBON"
        ]
      },
      {
        "id": "M-PREVIEW",
        "sourceRefs": [
          "M-PREVIEW"
        ]
      },
      {
        "id": "M-BREATH",
        "sourceRefs": [
          "M-BREATH"
        ]
      },
      {
        "id": "M-VECTOR",
        "sourceRefs": [
          "M-VECTOR"
        ]
      },
      {
        "id": "M-BLOOM",
        "sourceRefs": [
          "M-BLOOM"
        ]
      },
      {
        "id": "M-RETRY",
        "sourceRefs": [
          "M-RETRY"
        ]
      }
    ],
    "entities": [
      {
        "id": "E-SEED",
        "sourceRefs": [
          "E-SEED"
        ]
      },
      {
        "id": "E-FLOWER",
        "sourceRefs": [
          "E-FLOWER"
        ]
      },
      {
        "id": "E-ANCHOR",
        "sourceRefs": [
          "E-ANCHOR"
        ]
      },
      {
        "id": "E-THORN",
        "sourceRefs": [
          "E-THORN"
        ]
      },
      {
        "id": "E-STONE",
        "sourceRefs": [
          "E-STONE"
        ]
      },
      {
        "id": "E-GATE",
        "sourceRefs": [
          "E-GATE"
        ]
      }
    ],
    "environments": [
      {
        "id": "ENV-GARDEN",
        "sourceRefs": [
          "ENV-GARDEN"
        ]
      },
      {
        "id": "ENV-NIGHT",
        "sourceRefs": [
          "ENV-NIGHT"
        ]
      },
      {
        "id": "ENV-HERBARIUM",
        "sourceRefs": [
          "ENV-HERBARIUM"
        ]
      }
    ],
    "ui": [
      {
        "id": "UI-TOPBAR",
        "sourceRefs": [
          "UI-TOPBAR"
        ]
      },
      {
        "id": "UI-TIMELINE",
        "sourceRefs": [
          "UI-TIMELINE"
        ]
      },
      {
        "id": "UI-PRIMARY",
        "sourceRefs": [
          "UI-PRIMARY"
        ]
      },
      {
        "id": "UI-MODAL",
        "sourceRefs": [
          "UI-MODAL"
        ]
      },
      {
        "id": "UI-UNLOCK",
        "sourceRefs": [
          "UI-UNLOCK"
        ]
      }
    ],
    "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"
        ]
      }
    ],
    "vfx": [
      {
        "id": "V-RIBBON",
        "sourceRefs": [
          "V-RIBBON"
        ]
      },
      {
        "id": "V-PULSE",
        "sourceRefs": [
          "V-PULSE"
        ]
      },
      {
        "id": "V-BLOOM",
        "sourceRefs": [
          "V-BLOOM"
        ]
      },
      {
        "id": "V-THORN",
        "sourceRefs": [
          "V-THORN"
        ]
      },
      {
        "id": "V-EDGE",
        "sourceRefs": [
          "V-EDGE"
        ]
      },
      {
        "id": "V-COLLISION",
        "sourceRefs": [
          "V-COLLISION"
        ]
      },
      {
        "id": "V-ORDER",
        "sourceRefs": [
          "V-ORDER"
        ]
      },
      {
        "id": "V-SUCCESS",
        "sourceRefs": [
          "V-SUCCESS"
        ]
      }
    ]
  },
  "logicalLayouts": {
    "portrait": {
      "width": 360,
      "height": 800,
      "aspectRatio": "9:20"
    },
    "landscape": {
      "width": 800,
      "height": 360,
      "aspectRatio": "20:9"
    }
  },
  "supportedOrientations": [
    "portrait"
  ],
  "assets": [
    {
      "id": "ART-GAMEPLAY",
      "master": true,
      "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-ACTIVE",
        "M-RIBBON",
        "M-PREVIEW",
        "M-BREATH",
        "M-VECTOR",
        "M-BLOOM",
        "M-RETRY",
        "E-SEED",
        "E-FLOWER",
        "E-ANCHOR",
        "E-THORN",
        "E-STONE",
        "E-GATE",
        "ENV-GARDEN",
        "ENV-NIGHT",
        "UI-TOPBAR",
        "UI-TIMELINE",
        "UI-PRIMARY",
        "A-COLOR",
        "A-MOTION",
        "A-TEXT",
        "A-HAPTIC",
        "V-RIBBON",
        "V-PULSE",
        "V-BLOOM"
      ],
      "covers": {
        "screens": [
          "SCR-GAMEPLAY"
        ],
        "states": [
          "ST-ACTIVE"
        ],
        "mechanics": [
          "M-RIBBON",
          "M-PREVIEW",
          "M-BREATH",
          "M-VECTOR",
          "M-BLOOM",
          "M-RETRY"
        ],
        "entities": [
          "E-SEED",
          "E-FLOWER",
          "E-ANCHOR",
          "E-THORN",
          "E-STONE",
          "E-GATE"
        ],
        "environments": [
          "ENV-GARDEN",
          "ENV-NIGHT"
        ],
        "ui": [
          "UI-TOPBAR",
          "UI-TIMELINE",
          "UI-PRIMARY"
        ],
        "accessibility": [
          "A-COLOR",
          "A-MOTION",
          "A-TEXT",
          "A-HAPTIC"
        ],
        "vfx": [
          "V-RIBBON",
          "V-PULSE",
          "V-BLOOM"
        ]
      },
      "provenance": {
        "createdBy": "OpenAI gpt-image-2 via Codex",
        "createdAt": "2026-08-19T03:27:00.000Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "360x800 portrait",
          "full 6x8 grid visible",
          "two persistent numbered ribbons visible",
          "four-beat preview visible",
          "no placeholder pixels"
        ]
      }
    },
    {
      "id": "ART-GAMEPLAY-STATES",
      "standalone": false,
      "orientation": "portrait",
      "dimensions": {
        "width": 360,
        "height": 800
      },
      "prompt": "image-prompts/gameplay-states.txt",
      "output": "art-bible/gameplay-state-matrix.png",
      "references": [
        "art-bible/gameplay-active.png"
      ],
      "sourceRefs": [
        "ST-DRAWING",
        "ST-PREVIEW",
        "ST-RESOLVING",
        "ST-LOADING",
        "ST-DISABLED",
        "ST-INTERRUPTED",
        "M-RIBBON",
        "M-PREVIEW",
        "M-BREATH",
        "M-VECTOR",
        "E-SEED",
        "E-ANCHOR",
        "E-GATE",
        "ENV-GARDEN",
        "ENV-NIGHT",
        "UI-TIMELINE",
        "UI-PRIMARY",
        "UI-MODAL",
        "A-COLOR",
        "A-MOTION",
        "V-PULSE",
        "V-THORN",
        "V-EDGE",
        "V-COLLISION",
        "V-ORDER"
      ],
      "covers": {
        "screens": [],
        "states": [
          "ST-DRAWING",
          "ST-PREVIEW",
          "ST-RESOLVING",
          "ST-LOADING",
          "ST-DISABLED",
          "ST-INTERRUPTED"
        ],
        "mechanics": [
          "M-RIBBON",
          "M-PREVIEW",
          "M-BREATH",
          "M-VECTOR"
        ],
        "entities": [
          "E-SEED",
          "E-ANCHOR",
          "E-GATE"
        ],
        "environments": [
          "ENV-GARDEN",
          "ENV-NIGHT"
        ],
        "ui": [
          "UI-TIMELINE",
          "UI-PRIMARY",
          "UI-MODAL"
        ],
        "accessibility": [
          "A-COLOR",
          "A-MOTION"
        ],
        "vfx": [
          "V-PULSE",
          "V-THORN",
          "V-EDGE",
          "V-COLLISION",
          "V-ORDER"
        ]
      },
      "provenance": {
        "createdBy": "OpenAI gpt-image-2 via Codex",
        "createdAt": "2026-08-19T03:34:00.000Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "360x800 portrait",
          "six distinct state panels",
          "drawing preview resolving loading disabled and interruption visible"
        ]
      }
    },
    {
      "id": "ART-ONBOARDING",
      "standalone": true,
      "orientation": "portrait",
      "dimensions": {
        "width": 360,
        "height": 800
      },
      "prompt": "image-prompts/onboarding-fresh.txt",
      "output": "art-bible/onboarding-fresh.png",
      "references": [
        "art-bible/gameplay-active.png"
      ],
      "sourceRefs": [
        "SCR-ONBOARDING",
        "ST-FRESH",
        "M-RIBBON",
        "M-PREVIEW",
        "M-BREATH",
        "M-BLOOM",
        "E-SEED",
        "E-FLOWER",
        "E-ANCHOR",
        "ENV-GARDEN",
        "ENV-NIGHT",
        "UI-TIMELINE",
        "UI-PRIMARY",
        "A-COLOR",
        "A-MOTION",
        "V-RIBBON",
        "V-BLOOM"
      ],
      "covers": {
        "screens": [
          "SCR-ONBOARDING"
        ],
        "states": [
          "ST-FRESH"
        ],
        "mechanics": [
          "M-RIBBON",
          "M-PREVIEW",
          "M-BREATH",
          "M-BLOOM"
        ],
        "entities": [
          "E-SEED",
          "E-FLOWER",
          "E-ANCHOR"
        ],
        "environments": [
          "ENV-GARDEN",
          "ENV-NIGHT"
        ],
        "ui": [
          "UI-TIMELINE",
          "UI-PRIMARY"
        ],
        "accessibility": [
          "A-COLOR",
          "A-MOTION"
        ],
        "vfx": [
          "V-RIBBON",
          "V-BLOOM"
        ]
      },
      "provenance": {
        "createdBy": "OpenAI gpt-image-2 via Codex",
        "createdAt": "2026-08-19T03:36:00.000Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "360x800 portrait",
          "corrected exact 3x4 grid",
          "one real ribbon lesson",
          "Skip and Accessibility visible"
        ]
      }
    },
    {
      "id": "ART-HOME",
      "standalone": true,
      "orientation": "portrait",
      "dimensions": {
        "width": 360,
        "height": 800
      },
      "prompt": "image-prompts/home-herbarium.txt",
      "output": "art-bible/home-herbarium.png",
      "references": [
        "art-bible/gameplay-active.png"
      ],
      "sourceRefs": [
        "SCR-HOME",
        "ENV-HERBARIUM",
        "ENV-NIGHT",
        "UI-PRIMARY",
        "UI-UNLOCK",
        "A-TEXT"
      ],
      "covers": {
        "screens": [
          "SCR-HOME"
        ],
        "states": [],
        "mechanics": [],
        "entities": [],
        "environments": [
          "ENV-HERBARIUM",
          "ENV-NIGHT"
        ],
        "ui": [
          "UI-PRIMARY",
          "UI-UNLOCK"
        ],
        "accessibility": [
          "A-TEXT"
        ],
        "vfx": []
      },
      "provenance": {
        "createdBy": "OpenAI gpt-image-2 via Codex",
        "createdAt": "2026-08-19T03:38:00.000Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "360x800 portrait",
          "five-bed herbarium visible",
          "unlock is secondary",
          "no economy HUD"
        ]
      }
    },
    {
      "id": "ART-BED-SELECT",
      "standalone": true,
      "orientation": "portrait",
      "dimensions": {
        "width": 360,
        "height": 800
      },
      "prompt": "image-prompts/bed-select.txt",
      "output": "art-bible/bed-select.png",
      "references": [
        "art-bible/gameplay-active.png"
      ],
      "sourceRefs": [
        "SCR-BED-SELECT",
        "ST-DISABLED",
        "ENV-HERBARIUM",
        "UI-PRIMARY",
        "A-COLOR",
        "A-TEXT"
      ],
      "covers": {
        "screens": [
          "SCR-BED-SELECT"
        ],
        "states": [
          "ST-DISABLED"
        ],
        "mechanics": [],
        "entities": [],
        "environments": [
          "ENV-HERBARIUM"
        ],
        "ui": [
          "UI-PRIMARY"
        ],
        "accessibility": [
          "A-COLOR",
          "A-TEXT"
        ],
        "vfx": []
      },
      "provenance": {
        "createdBy": "OpenAI gpt-image-2 via Codex",
        "createdAt": "2026-08-19T03:39:00.000Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "360x800 portrait",
          "five named beds and thirty boards visible",
          "completed current available and locked states distinct"
        ]
      }
    },
    {
      "id": "ART-PAUSE",
      "standalone": true,
      "orientation": "portrait",
      "dimensions": {
        "width": 360,
        "height": 800
      },
      "prompt": "image-prompts/pause-overlay.txt",
      "output": "art-bible/pause-overlay.png",
      "references": [
        "art-bible/gameplay-active.png"
      ],
      "sourceRefs": [
        "SCR-PAUSE",
        "ST-PAUSED",
        "ENV-GARDEN",
        "ENV-NIGHT",
        "UI-MODAL",
        "UI-PRIMARY",
        "A-MOTION"
      ],
      "covers": {
        "screens": [
          "SCR-PAUSE"
        ],
        "states": [
          "ST-PAUSED"
        ],
        "mechanics": [],
        "entities": [],
        "environments": [
          "ENV-GARDEN",
          "ENV-NIGHT"
        ],
        "ui": [
          "UI-MODAL",
          "UI-PRIMARY"
        ],
        "accessibility": [
          "A-MOTION"
        ],
        "vfx": []
      },
      "provenance": {
        "createdBy": "OpenAI gpt-image-2 via Codex",
        "createdAt": "2026-08-19T03:40:00.000Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "360x800 portrait",
          "frozen board context visible",
          "four pause actions legible"
        ]
      }
    },
    {
      "id": "ART-SUCCESS",
      "standalone": true,
      "orientation": "portrait",
      "dimensions": {
        "width": 360,
        "height": 800
      },
      "prompt": "image-prompts/success-result.txt",
      "output": "art-bible/success-result.png",
      "references": [
        "art-bible/gameplay-active.png"
      ],
      "sourceRefs": [
        "SCR-SUCCESS",
        "ST-SUCCESS",
        "M-BLOOM",
        "E-SEED",
        "E-FLOWER",
        "ENV-GARDEN",
        "ENV-HERBARIUM",
        "UI-PRIMARY",
        "A-COLOR",
        "V-BLOOM",
        "V-SUCCESS"
      ],
      "covers": {
        "screens": [
          "SCR-SUCCESS"
        ],
        "states": [
          "ST-SUCCESS"
        ],
        "mechanics": [
          "M-BLOOM"
        ],
        "entities": [
          "E-SEED",
          "E-FLOWER"
        ],
        "environments": [
          "ENV-GARDEN",
          "ENV-HERBARIUM"
        ],
        "ui": [
          "UI-PRIMARY"
        ],
        "accessibility": [
          "A-COLOR"
        ],
        "vfx": [
          "V-BLOOM",
          "V-SUCCESS"
        ]
      },
      "provenance": {
        "createdBy": "OpenAI gpt-image-2 via Codex",
        "createdAt": "2026-08-19T03:42:00.000Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "360x800 portrait",
          "corrected all flowers open",
          "zero seeds remain",
          "result actions legible"
        ]
      }
    },
    {
      "id": "ART-FAILURE",
      "standalone": true,
      "orientation": "portrait",
      "dimensions": {
        "width": 360,
        "height": 800
      },
      "prompt": "image-prompts/failure-result.txt",
      "output": "art-bible/failure-collision.png",
      "references": [
        "art-bible/gameplay-active.png"
      ],
      "sourceRefs": [
        "SCR-FAILURE",
        "ST-FAILURE",
        "M-RETRY",
        "E-SEED",
        "E-THORN",
        "E-GATE",
        "ENV-GARDEN",
        "UI-TIMELINE",
        "UI-MODAL",
        "UI-PRIMARY",
        "A-COLOR",
        "V-THORN",
        "V-EDGE",
        "V-COLLISION",
        "V-ORDER"
      ],
      "covers": {
        "screens": [
          "SCR-FAILURE"
        ],
        "states": [
          "ST-FAILURE"
        ],
        "mechanics": [
          "M-RETRY"
        ],
        "entities": [
          "E-SEED",
          "E-THORN",
          "E-GATE"
        ],
        "environments": [
          "ENV-GARDEN"
        ],
        "ui": [
          "UI-TIMELINE",
          "UI-MODAL",
          "UI-PRIMARY"
        ],
        "accessibility": [
          "A-COLOR"
        ],
        "vfx": [
          "V-THORN",
          "V-EDGE",
          "V-COLLISION",
          "V-ORDER"
        ]
      },
      "provenance": {
        "createdBy": "OpenAI gpt-image-2 via Codex",
        "createdAt": "2026-08-19T03:44:00.000Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "360x800 portrait",
          "corrected decisive cell depicts two colliding seeds",
          "beat 3 and failure cause agree",
          "no commerce"
        ]
      }
    },
    {
      "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",
        "ENV-NIGHT",
        "UI-MODAL",
        "UI-PRIMARY",
        "A-HAPTIC",
        "A-TEXT"
      ],
      "covers": {
        "screens": [
          "SCR-SETTINGS"
        ],
        "states": [],
        "mechanics": [],
        "entities": [],
        "environments": [
          "ENV-NIGHT"
        ],
        "ui": [
          "UI-MODAL",
          "UI-PRIMARY"
        ],
        "accessibility": [
          "A-HAPTIC",
          "A-TEXT"
        ],
        "vfx": []
      },
      "provenance": {
        "createdBy": "OpenAI gpt-image-2 via Codex",
        "createdAt": "2026-08-19T03:45:00.000Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "360x800 portrait",
          "all required settings and routes visible",
          "explicit labels and values"
        ]
      }
    },
    {
      "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",
        "E-SEED",
        "E-FLOWER",
        "E-ANCHOR",
        "E-THORN",
        "E-STONE",
        "E-GATE",
        "UI-TIMELINE",
        "UI-PRIMARY",
        "A-COLOR",
        "A-MOTION",
        "A-TEXT",
        "A-HAPTIC"
      ],
      "covers": {
        "screens": [
          "SCR-ACCESSIBILITY"
        ],
        "states": [],
        "mechanics": [],
        "entities": [
          "E-SEED",
          "E-FLOWER",
          "E-ANCHOR",
          "E-THORN",
          "E-STONE",
          "E-GATE"
        ],
        "environments": [],
        "ui": [
          "UI-TIMELINE",
          "UI-PRIMARY"
        ],
        "accessibility": [
          "A-COLOR",
          "A-MOTION",
          "A-TEXT",
          "A-HAPTIC"
        ],
        "vfx": []
      },
      "provenance": {
        "createdBy": "OpenAI gpt-image-2 via Codex",
        "createdAt": "2026-08-19T03:46:00.000Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "360x800 portrait",
          "live symbol preview visible",
          "independent accessibility controls visible"
        ]
      }
    },
    {
      "id": "ART-LEGAL-ERROR",
      "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-MODAL",
        "UI-PRIMARY",
        "A-TEXT"
      ],
      "covers": {
        "screens": [
          "SCR-LEGAL"
        ],
        "states": [
          "ST-ERROR"
        ],
        "mechanics": [],
        "entities": [],
        "environments": [],
        "ui": [
          "UI-MODAL",
          "UI-PRIMARY"
        ],
        "accessibility": [
          "A-TEXT"
        ],
        "vfx": []
      },
      "provenance": {
        "createdBy": "OpenAI gpt-image-2 via Codex",
        "createdAt": "2026-08-19T03:47:00.000Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "360x800 portrait",
          "all legal routes visible",
          "saved-copy recovery explicit",
          "no gameplay HUD"
        ]
      }
    }
  ],
  "visualBoards": [
    {
      "id": "BOARD-VISUAL-BLUEPRINT",
      "role": "generation-blueprint",
      "output": "art-bible/visual-blueprint.png",
      "dimensions": {
        "width": 2048,
        "height": 1152
      },
      "assetIds": [
        "ART-GAMEPLAY"
      ],
      "sourceRefs": [
        "M-RIBBON",
        "M-PREVIEW",
        "M-BREATH",
        "M-VECTOR",
        "E-SEED",
        "E-FLOWER",
        "E-ANCHOR",
        "E-THORN",
        "E-STONE",
        "E-GATE",
        "UI-TOPBAR",
        "UI-TIMELINE",
        "A-COLOR",
        "V-RIBBON"
      ],
      "provenance": {
        "createdBy": "deterministic board compositor",
        "createdAt": "2026-08-19T03:31:37.202Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "2048x1152 exact dimensions",
          "composed after gameplay master and before companion generation",
          "deterministic text and GDD-bound structure"
        ]
      }
    },
    {
      "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-BED-SELECT",
        "ART-PAUSE",
        "ART-SUCCESS",
        "ART-FAILURE",
        "ART-SETTINGS",
        "ART-ACCESSIBILITY",
        "ART-LEGAL-ERROR"
      ],
      "sourceRefs": [
        "M-RIBBON",
        "M-PREVIEW",
        "M-BREATH",
        "M-VECTOR",
        "M-BLOOM",
        "M-RETRY",
        "A-COLOR",
        "A-MOTION",
        "A-TEXT",
        "A-HAPTIC"
      ],
      "provenance": {
        "createdBy": "deterministic board compositor",
        "createdAt": "2026-08-19T04:10:10.261Z"
      },
      "machineQa": {
        "status": "passed",
        "checks": [
          "valid PNG",
          "3840x2160 exact dimensions",
          "all eleven accepted generated assets represented",
          "deterministic GDD and UX copy remains legible at full resolution"
        ]
      }
    }
  ]
}

validation/machine-validation.json

application/json, 753 bytes · https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/validation/machine-validation.json

{
  "version": 1,
  "validatorVersion": 3,
  "status": "passed",
  "packageHash": "342def2c22be62597864c09d2d25283d43fb6ee6d6e560e3475a121d94e2e5e2",
  "validatedAt": "2026-08-19T04:10:45.728Z",
  "checks": {
    "manifestSchema": "passed",
    "sourceBindings": "passed",
    "writtenDesignSections": "passed",
    "crossDocumentIds": "passed",
    "inventoryCoverage": "passed",
    "standaloneScreens": "passed",
    "importantStates": "passed",
    "pngIntegrity": "passed",
    "exactDimensions": "passed",
    "distinctImageBytes": "passed",
    "singleGameplayMaster": "passed",
    "boardSpecTraceability": "passed",
    "generationBlueprint": "passed",
    "implementationOverview": "passed",
    "completeBoardAssetMembership": "passed"
  }
}

validation/visual-qa.json

application/json, 1790 bytes · https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/validation/visual-qa.json

{
  "version": 1,
  "status": "pending",
  "packageHash": "342def2c22be62597864c09d2d25283d43fb6ee6d6e560e3475a121d94e2e5e2",
  "reviewedBy": null,
  "reviewerRole": null,
  "reviewedAt": null,
  "checks": {},
  "generatorSelfReview": {
    "status": "passed-with-owner-review-required",
    "reviewedBy": "Codex visual design operator",
    "reviewedAt": "2026-08-19T04:10:45.728Z",
    "checks": {
      "elevenGeneratedFrames": "passed",
      "screenAndStateCoverage": "passed",
      "gddFidelity": "passed",
      "grayscaleLegibility": "passed",
      "portraitSafeAreas": "passed",
      "noMonetizationOrNewMechanics": "passed",
      "onboardingGrid": "fixed-to-exact-3x4-and-rechecked",
      "successResolution": "fixed-to-all-flowers-open-and-rechecked",
      "failureCause": "fixed-to-visible-same-cell-collision-and-rechecked",
      "exactPngDimensions": "passed",
      "visualBlueprintLayout": "passed",
      "implementationBoardLayout": "passed-after-eleventh-frame-wrap-fix"
    },
    "evidence": [
      "art-bible/visual-blueprint.png",
      "art-bible/implementation-board.png",
      "art-bible/gameplay-active.png",
      "art-bible/gameplay-state-matrix.png",
      "art-bible/onboarding-fresh.png",
      "art-bible/home-herbarium.png",
      "art-bible/bed-select.png",
      "art-bible/pause-overlay.png",
      "art-bible/success-result.png",
      "art-bible/failure-collision.png",
      "art-bible/settings.png",
      "art-bible/accessibility.png",
      "art-bible/legal-error.png",
      "C:/Users/haseeb/.codex/visualizations/2026/08/18/01a01515-76a6-7183-a849-4244e9488f7e/refrain-garden-art-bible-grayscale.png"
    ],
    "note": "Generator self-review is advisory and cannot satisfy the independent manual user Art Bible review in Codex."
  }
}