# Refrain Garden — idea dossier

Source page: https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/

## 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`.

## Gallery (13 images)

### implementation-board

![Refrain Garden implementation board visual reference](https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/images/art-bible/implementation-board.webp)

Size: 2048x1152

### visual-blueprint

![Refrain Garden visual blueprint visual reference](https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/images/art-bible/visual-blueprint.webp)

Size: 2048x1152

### accessibility

![Refrain Garden accessibility visual reference](https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/images/art-bible/accessibility.webp)

Size: 360x800

Generation prompt: 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

### bed-select

![Refrain Garden bed select visual reference](https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/images/art-bible/bed-select.webp)

Size: 360x800

Generation prompt: 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

### failure-collision

![Refrain Garden failure collision visual reference](https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/images/art-bible/failure-collision.webp)

Size: 360x800

### gameplay-active

![Refrain Garden gameplay active visual reference](https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/images/art-bible/gameplay-active.webp)

Size: 360x800

Generation prompt: 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

### gameplay-state-matrix

![Refrain Garden gameplay state matrix visual reference](https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/images/art-bible/gameplay-state-matrix.webp)

Size: 360x800

### home-herbarium

![Refrain Garden home herbarium visual reference](https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/images/art-bible/home-herbarium.webp)

Size: 360x800

Generation prompt: 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

### legal-error

![Refrain Garden legal error visual reference](https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/images/art-bible/legal-error.webp)

Size: 360x800

Generation prompt: 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

### onboarding-fresh

![Refrain Garden onboarding fresh visual reference](https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/images/art-bible/onboarding-fresh.webp)

Size: 360x800

Generation prompt: 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

### pause-overlay

![Refrain Garden pause overlay visual reference](https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/images/art-bible/pause-overlay.webp)

Size: 360x800

Generation prompt: 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

### settings

![Refrain Garden settings visual reference](https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/images/art-bible/settings.webp)

Size: 360x800

Generation prompt: 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

### success-result

![Refrain Garden success result visual reference](https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/images/art-bible/success-result.webp)

Size: 360x800

Generation prompt: 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

## 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)

Images are listed with direct URLs in the Gallery section.

### artifacts/board-spec.json

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

```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

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

```text
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

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

```text
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

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

```text
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

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

```text
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

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

```text
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

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

```text
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

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

```text
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

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

```text
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

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

```text
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

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

```text
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

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

```text
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
```

### docs/art-bible.md

URL: https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/docs/art-bible.md
Type: text/markdown; charset=utf-8, 9260 bytes

Full text is reproduced above under "Art Bible".

### docs/gdd.md

URL: https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/docs/gdd.md
Type: text/markdown; charset=utf-8, 23195 bytes

Full text is reproduced above under "Game design document".

### docs/ux-flow.md

URL: https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/docs/ux-flow.md
Type: text/markdown; charset=utf-8, 10030 bytes

Full text is reproduced above under "UX flow".

### docs/visual-brief.md

URL: https://autechsolutions-game-factory.pages.dev/ideas/refrain-garden/files/docs/visual-brief.md
Type: text/markdown; charset=utf-8, 7488 bytes

Full text is reproduced above under "Visual brief".

### market/evidence-index.json

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

```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

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

```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

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

```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

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

```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."
  }
}
```
