From 56e093de805faa2f95aab7dce10d7e139894aeb9 Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Sun, 3 May 2026 10:30:58 +0100 Subject: [PATCH] Add global image style cue --- AGENTS.md | 3 +++ docs/architecture/ink-branching-scenes.md | 9 +++++++-- ...s-species-strikes.branch-and-fold.v0.training.json | 11 +++++++++-- notes/fresh-workspace-handoff.md | 3 ++- notes/ghostlight-current-system-map.md | 9 +++++---- notes/ghostlight-implementation-plan.md | 3 ++- prompts/README.md | 3 +++ prompts/visual-scene-continuity-reviewer.md | 9 +++++++++ state/evidence.jsonl | 1 + state/map.yaml | 4 ++-- 10 files changed, 43 insertions(+), 12 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index f9206c1..7a37323 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -150,6 +150,9 @@ When the user says to prepare for imminent compaction: fictional objects and body affordances in visible terms: geometry, materials, lighting, stance, interfaces, tools, supports, cables, fluids, screens, and crowd positions. +- If a fixture has a target visual style, store that style cue once in the + sidecar and include it in every assembled image prompt. Do not rely on memory + or unstated website context to carry the look. - Do not treat a character name as a visual description. Illustrated fixtures need stable character visual refs for every recurring named character, and scene prompts should either include those refs during prompt assembly or carry diff --git a/docs/architecture/ink-branching-scenes.md b/docs/architecture/ink-branching-scenes.md index 44bf548..4f21269 100644 --- a/docs/architecture/ink-branching-scenes.md +++ b/docs/architecture/ink-branching-scenes.md @@ -384,6 +384,8 @@ the point is to let the image and silence do the work. Each distinct visual section should preserve an art-direction block with: +- global style cue: the fixture-level visual language when the art direction + depends on a specific non-default look - establishing shot: location, scale, camera distance, and dominant geometry - light and color: practical light sources, palette, exposure, haze, glare, reflection, water, vacuum, screen glow, or other atmosphere @@ -433,7 +435,8 @@ Every visual section should identify: Prompt assembly for illustrated replay should combine: ```text -global visual continuity +global style cue + + global visual continuity + visual_character_refs for visible named characters + visual section base_image_prompt + triggered state or branch image modifiers @@ -442,7 +445,9 @@ global visual continuity The base image prompt is allowed to focus on the room and staging only if the assembled prompt includes the relevant character refs. If a tool sends the base prompt alone to imagegen, the base prompt must carry enough character detail by -itself. Names are handles, not faces. +itself. The same applies to visual style: if a fixture depends on a specific +look, the assembled prompt must carry that style cue every time. Names are +handles, not faces. The coordinator owns this surface for now. The responder should not receive omniscient visual art direction unless the character can observe it. Character diff --git a/examples/ink/pallas-species-strikes.branch-and-fold.v0.training.json b/examples/ink/pallas-species-strikes.branch-and-fold.v0.training.json index af80025..259bc6b 100644 --- a/examples/ink/pallas-species-strikes.branch-and-fold.v0.training.json +++ b/examples/ink/pallas-species-strikes.branch-and-fold.v0.training.json @@ -1341,11 +1341,13 @@ "trigger": "media_visibility >= 2", "prompt": "Add an outside-feed or public mirror indicator reflected on a slate or wall display." } - ] + ], + "global_style_cue": "Style: Media Molecule Dreams-style 3D volumetric brushstroke painting; visible sculpted fleck strokes; painterly VR-made geometry; every detail is made of brush matter that feels partly solid, partly liquid, partly gas. Extremely detailed but soft, handmade, and non-photoreal. Tiny brushstrokes are allowed and encouraged, but the broad composition must remain readable.", + "prompt_assembly_rule": "Assemble each image prompt from visual_scene_plan.global_style_cue, global location continuity, visible character visual refs, the scene base_image_prompt, and any triggered state_image_modifiers or global_branch_image_modifiers." }, "visual_character_refs": { "purpose": "Stable named-character visual identities for prompt assembly. Image prompts must include these refs for every named visible character; scene prompts alone are not expected to teach imagegen what Lio, Nara, Orrin, Teth, or Ilya look like.", - "prompt_assembly_rule": "For each visual_scene_plan scene, assemble the image prompt from global location continuity, each visible character visual_ref, the scene base_image_prompt, and any triggered state_image_modifiers or global_branch_image_modifiers.", + "prompt_assembly_rule": "For each visual_scene_plan scene, assemble the image prompt from visual_scene_plan.global_style_cue, global location continuity, each visible character visual_ref, the scene base_image_prompt, and any triggered state_image_modifiers or global_branch_image_modifiers.", "characters": { "lio_vale": { "display_name": "Lio Vale", @@ -1413,5 +1415,10 @@ ] } } + }, + "branch_compiler_notes": { + "review_notes": [ + "Added a global Media Molecule Dreams-style volumetric brushstroke cue so image prompt assembly carries the intended non-photoreal handmade visual language without repeating it in every scene." + ] } } diff --git a/notes/fresh-workspace-handoff.md b/notes/fresh-workspace-handoff.md index a3f7087..8c0671b 100644 --- a/notes/fresh-workspace-handoff.md +++ b/notes/fresh-workspace-handoff.md @@ -159,7 +159,8 @@ bypass, gives `evidence_of_sentience`, `nara_centered`, and `formal_stoppage` later reads, and gives visual sidecar states explicit trigger mappings. It now segments the introduction, branch locations, Kappa red alert, climax decision, and aftermath into click-through visual sections with -`visual_scene_id` anchors, stable `visual_character_refs`, and imagegen-ready +`visual_scene_id` anchors, stable `visual_character_refs`, a global +Media Molecule Dreams-style volumetric brushstroke cue, and imagegen-ready prompts that explain fictional equipment in visible terms. Treat it as coordinator/IF scaffold training data, not raw responder gold. diff --git a/notes/ghostlight-current-system-map.md b/notes/ghostlight-current-system-map.md index d0bf484..0eaebce 100644 --- a/notes/ghostlight-current-system-map.md +++ b/notes/ghostlight-current-system-map.md @@ -54,10 +54,11 @@ touchstone for counterbalancing bleakness without dissolving consequence. Visual replay is a live seam too. Illustrated IF fixtures need click-through sections with stable `visual_scene_id` anchors, stable visual character refs -for recurring named characters, imagegen-ready base prompts, character -visibility and stance controls, and branch/state modifiers. One whole-fixture -image prompt is not enough when the prose moves through several places, focal -objects, alarms, standoffs, and aftermath states. Names are handles, not faces. +for recurring named characters, a global style cue when the visual language +matters, imagegen-ready base prompts, character visibility and stance controls, +and branch/state modifiers. One whole-fixture image prompt is not enough when +the prose moves through several places, focal objects, alarms, standoffs, and +aftermath states. Names are handles, not faces. ## Important Contracts diff --git a/notes/ghostlight-implementation-plan.md b/notes/ghostlight-implementation-plan.md index 41dda4f..a8fd397 100644 --- a/notes/ghostlight-implementation-plan.md +++ b/notes/ghostlight-implementation-plan.md @@ -59,7 +59,8 @@ not carry live next-action lists. Each visual section needs an imagegen-ready prompt that describes fictional equipment and body affordances in visible terms. Named recurring characters need stable visual character refs; names are handles, - not faces. + not faces. When a fixture targets a specific image language, store one + global style cue and include it in every assembled image prompt. - IF review correction: run an independent artifact reviewer after branch/Ink generation and before acceptance. The reviewer audits fake variables, cosmetic choices, missing state reads, fake folds, unearned convergence, state-named-instead-of-checked prose, visual callback gaps, and endings that ignore major state. The first Cold Wake user review is a seed failure taxonomy for this evaluator path. - Visual review correction: run a visual scene continuity reviewer for illustrated fixtures. It audits oversized Ink screens, missing visual diff --git a/prompts/README.md b/prompts/README.md index 3adae6c..86cad28 100644 --- a/prompts/README.md +++ b/prompts/README.md @@ -36,6 +36,9 @@ should be authored here first and referenced from artifacts or tools. fixture can need several click-through screens inside one narrative scene; each distinct place, focal area, pivotal moment, and branch-visible state needs an imagegen-ready prompt or modifier. +- Treat visual style as prompt-relevant state when the fixture needs a specific + look. Store the style cue once in the sidecar and include it during prompt + assembly for every generated image. - Treat named characters as handles, not visual descriptions. Illustrated IF sidecars need stable visual character refs for recurring named characters, and prompt assembly must include those refs when the character is visible. diff --git a/prompts/visual-scene-continuity-reviewer.md b/prompts/visual-scene-continuity-reviewer.md index fbc2b21..b5426fd 100644 --- a/prompts/visual-scene-continuity-reviewer.md +++ b/prompts/visual-scene-continuity-reviewer.md @@ -41,6 +41,10 @@ intent, but they do not excuse missing reader/player-facing structure. ### Visual Scene Anchors - Does each major section or location have a stable visual scene id? +- Does the sidecar define a global style cue when the fixture depends on a + specific image language? +- Does prompt assembly include the global style cue in every generated image + prompt rather than relying on a reviewer or human to remember it? - Does each visual scene have a base image prompt specific enough for imagegen without requiring Aetheria lore knowledge? - Does the prompt describe geometry, camera distance, lighting, palette, @@ -139,6 +143,9 @@ Each finding must include: - Judge replay experience, not only prose quality. - Do not accept one all-purpose base prompt for a multi-location or multi-focus scene. +- Do not accept style-critical fixtures that omit the style cue from prompt + assembly. A beautiful scene prompt in the wrong visual language is still the + wrong prompt. - Do not accept visual prompts that rely on unexplained setting jargon. - Do not accept named characters as visual descriptions. "Lio Vale stands by the manifold" is not enough unless the sidecar provides a stable visual @@ -167,6 +174,8 @@ Use these labels when applicable: - `single_prompt_for_multi_scene_fixture` - `image_prompt_lore_password` - `weak_geometry_prompt` +- `missing_global_style_cue` +- `style_cue_not_in_prompt_assembly` - `weak_character_staging` - `missing_character_visibility` - `missing_character_design_ref` diff --git a/state/evidence.jsonl b/state/evidence.jsonl index 6fbf25b..1d59405 100644 --- a/state/evidence.jsonl +++ b/state/evidence.jsonl @@ -45,3 +45,4 @@ {"ts": "2026-05-03T08:41:33+00:00", "type": "review", "status": "ok", "note": "Pallas Species Strikes IF fixture was reviewed by narrative-quality subagent, revised for shared character onboarding, conditional folded callbacks, materialized variables, BioElevate/ALF in-text bridges, visual trigger mapping, and accepted as coordinator/IF scaffold training data after cleanup."} {"ts": "2026-05-03T09:08:30+00:00", "type": "review", "status": "ok", "note": "Added visual scene continuity reviewer prompt and revised Pallas IF fixture for illustrated replay: click-through visual scene anchors, imagegen-ready per-section prompts, character visibility/stance controls, branch/state visual modifiers, and acceptance after visual review cleanup."} {"ts": "2026-05-03T09:25:38+00:00", "type": "review", "status": "ok", "note": "Added stable visual character refs for the Pallas illustrated IF fixture and updated visual review doctrine so named characters cannot rely on imagegen knowing their appearance from names alone."} +{"ts": "2026-05-03T09:30:46+00:00", "type": "design", "status": "ok", "note": "Illustrated IF fixtures with a target look should store a global visual style cue and include it in every assembled image prompt; the Pallas fixture now carries the Dreams-style volumetric brushstroke cue."} diff --git a/state/map.yaml b/state/map.yaml index 629f9c5..59f1598 100644 --- a/state/map.yaml +++ b/state/map.yaml @@ -42,7 +42,7 @@ hard_boundaries: - Technology exploration must emit game-usable item, component, assembly, supply-chain, compatibility, and provenance data mapped toward Aetheria-Economy. - Interactive-fiction fixtures should branch and fold: normalize most consequences into compact state variables and shared-scene conditionals, reserving isolated route splits for major world-changing divergence. - Interactive-fiction fixtures require independent artifact review before acceptance; tracked variables must materially affect later affordances, risk, appraisal, callbacks, visual state, or outcomes, unless explicitly marked telemetry-only. - - Complete interactive-fiction fixtures must emit visual art direction for website imagery, with click-through visual scene segmentation, stable visual character refs for recurring named characters, one durable base image prompt per distinct section, character visibility and stance controls, and additive modification prompts for branch-visible consequences and scene-state changes. + - Complete interactive-fiction fixtures must emit visual art direction for website imagery, with click-through visual scene segmentation, stable visual character refs for recurring named characters, a global style cue when the visual language matters, one durable base image prompt per distinct section, character visibility and stance controls, and additive modification prompts for branch-visible consequences and scene-state changes. - Archived local-model prototype runners are receipts and plumbing tests, not the gold-data path. live_architecture: @@ -182,5 +182,5 @@ data_flow: - If state grows faster than understanding, cut it back. current_status: - summary: Pallas Species Strikes now has a reviewer-revised accepted-as-draft branch-and-fold IF fixture grounded in AU cavity-yard labor, Awakened Labor organizing, BioElevate uplift/biodrone systems, baseline displacement fear, cephalopod maintenance leverage, click-through visual segmentation, stable visual character refs, and imagegen-ready scene prompts. Cold Wake remains an archived historical fixture and local-model receipt surface, not the active gold-data path. + summary: Pallas Species Strikes now has a reviewer-revised accepted-as-draft branch-and-fold IF fixture grounded in AU cavity-yard labor, Awakened Labor organizing, BioElevate uplift/biodrone systems, baseline displacement fear, cephalopod maintenance leverage, click-through visual segmentation, stable visual character refs, a global Dreams-style image cue, and imagegen-ready scene prompts. Cold Wake remains an archived historical fixture and local-model receipt surface, not the active gold-data path. next_action: Add the corpus coverage ledger seam or select the next Aetheria fixture from the 100-150 broad coverage target.