Coheronia Wiki

Coheronia Asset Roadmap And Prompt Packs

HTML wiki page generated from the current repo-backed markdown source. This keeps browsing in HTML while preserving markdown as the maintainable source format.

Generated HTML Page

Coheronia Asset Roadmap And Prompt Packs

Status: FQ-09A authority — the concrete asset map for future human and LLM art passes. Style, tone, palette, and meaning come from docs/ART_DIRECTION_AND_CANON.md; naming, sizes, and review rules from art/source_templates/ASSET_TEMPLATE.md; plane separation and wall/backdrop rules from art/source_templates/BACKGROUND_TEMPLATE.md. This document never overrides those authorities — it maps them onto every current and near-term asset id.

Decision (per the FQ-09A scope rule): no data/asset_manifest.json is introduced, because no code or validation consumes one — the runtime already resolves every asset by convention. This human-readable roadmap is the manifest.

How The Pipeline Works (for any art agent)

  • Drop a PNG at art/generated/<category>/<id>.png and it is live on the

next world entry / app start. No Godot import step, no code change, no manifest edit (Image.load_from_file at runtime).

  • Missing art is never an error: every id below renders today from a

generated color/shape/code-drawn fallback. Art replaces fallbacks one file at a time.

  • Variant pools (FQ-09V): <id>_01.png<id>_08.png (consecutive, first

gap ends the scan) render as deterministic per-cell variety for blocks and as 8 fps cel frames for opening scenes.

  • The validator treats convention-path gaps as INFO only; it fails only

broken explicit entries in data/visual_assets.json (which you normally never need to touch).

  • Never bake words into any image. COHERONIA, By Paul Peck, the tagline,

and all copy are engine-rendered — an image containing text is rejected.

  • Author at 100% target size and judge at 100% zoom; nearest-neighbor

scaling only.

Priorities: P1 = biggest visible win first (terrain, player, hall); P2 = core loop surfaces (items, live enemies, stations when they land); P3 = presentation polish (opening cel frames, backgrounds, UI icons). Planned ids must not be produced before their systems exist unless the operator asks — the manifest stays honest.

Live Assets (current authored coverage)

Blocks — art/generated/blocks/<id>.png, 16x16

IdsTransparencyAuthored stateRuntime variety
dirt, grass, stone, ore, woodopaquecanonical livethree _01.._03 variants each
coal, copper_ore, tin_ore, iron_ore, silver_ore, crystalopaquecanonical livethree _01.._03 variants each
farm_soilopaquecanonical livethree _01.._03 variants
crop_seedling, crop_ripetransparentcanonical livethree _01.._03 variants each
tree_trunk, tree_leaves, berry_bushtransparentcanonical livethree _01.._03 variants each
torch, lantern, town_hall_coremixedcanonical livecanonical only

Variant pools are deterministic per world seed + cell. Once a pool exists the block renderer chooses from _01.._03; keep the canonical <id>.png as the identity/reference asset and fallback for canonical-only tooling.

Items — art/generated/items/<id>.png, 16x16, transparent

All current inventory and live-drop ids now have canonical transparent icons:

  • foundational: dirt, grass, wood, stone, ore, torch, lantern,

berry_bush, food, slime_gel, wet_fiber, tiny_core, pick, axe, sword, armor;

  • ore/farm: coal, copper_ore, tin_ore, iron_ore, silver_ore,

crystal, farm_soil, crop_seedling, crop_ripe, crop_seeds;

  • intermediates: copper_ingot, tin_ingot, iron_ingot, silver_ingot,

bronze_ingot;

  • live enemy drops: meat, thorn_quill, hide_scrap, ore_flecks,

shell, oil_rags, torch_heads, chitin, silk, eyes, coins, scrap_weapons.

Items remain canonical-only by design so cached inventory stacks never change appearance during refreshes. The color-swatch fallback remains intact for any future id that lands before art.

Enemies — art/generated/enemies/<id>.png, 16x16, transparent

IdFamilyAuthored stateRuntime variety
surface_slimesurfacecanonical live_01.._03
thornratsurfacecanonical live_01.._03
cave_crawlerundergroundcanonical live_01.._03
ore_tickundergroundcanonical live_01.._03
raider_basicraidercanonical live_01.._03
raider_torchbearerraidercanonical live_01.._03

Engine draws hurt tint and health bar; sprites must leave headroom for both.

Player bodies - art/generated/players/<body_id>.png, 16x32, transparent

Live body ids: human, human_female, dwarf, dwarf_female, elf, elf_female, goblin, goblin_female, orc, orc_female. Runtime path: data/player_visuals.json, scripts/player/player_visual.gd, and scenes/player/Player.tscn.

Player art is live now. Appearance palettes recolor only exact rig-defined skin colors inside rig-defined regions, so every canonical and _NN Look must retain those byte-exact palette entries; use scripts/art/restore_player_skin_palette.py after generation. Body variant selection is saved with the character, and gameplay collision remains 12x28. Base bodies stay in simple clothing with no armor; equipment art belongs in art/generated/player_gear/.

Every body id has two authored Look alternatives (_01, _02) in addition to its canonical body. The shell Look selector now reads the real pool length, so it cannot offer absent/no-op values.

Equipment overlays and UI placeholders

Equipment panels are text-only, so 16x16 equipment item icons have no live consumer and remain deferred. player_visual has live 16x32 overlay hooks (<item_id>_<body_id>.png, then generic <item_id>.png, plus three tool-swing phases). The repository now ships 120 body-specific PNGs: crude helmet/torso/ feet across all ten bodies and phases 0/1/2 for the basic pick, forged pick, and crude axe. Swords, iron armor, rings, amulet, and accessory remain on the procedural fallback. Cross-body load/transition alignment and the stepped three-pose motion remain active polish issues.

art/generated/ui/ contains fifteen 32x32 legacy/reserved hooks. The primary bottom dock now consumes the native 19-asset ui_painted kit plus hud_dock_layout.json; authored source and per-file replacement prompts live under art/source_templates/hud_dock/ and docs/wiki/hud_asset_replacement_studio.md. Health/attunement fill, values, icons, counts, hotkeys, and state remain runtime children. The FQ-21 sliced band and FQ-19 modular path are fallbacks. Nonmodal modules use profile-backed move/resize/edit behavior; Map and Events can remain open together.

Backing walls — art/generated/back_walls/<id>.png, 16x16, seamless

IdStatusFallbackPriorityPrompt note
dirt_walllivedarkened dirt textureP1seamless packed-earth rear wall, ~40-50% value of dirt, opaque
stone_walllivedarkened stone textureP1seamless rough stone rear wall, quieter than foreground stone

Rules: opaque centers (underground air must never read as sky), edge-tiling continuity, visually quieter and darker than the matching foreground block.

Structures - art/generated/structures/<id>.png

IdStatusShapePriorityPrompt note
town_halllive56x48 transparent spriteP1founding timber hall; damage stays an engine overlay; fallback remains procedural

Scenic backgrounds — art/generated/backgrounds/<id>.png

IdStatusShapePriorityPrompt note
surface_skylive640x360 full frame, opaqueP3day-neutral sky field; engine tints day/night/storm — author neutral, no sun/moon, no baked lighting events
surface_far_terrainlive640x36 tiling RGBA strip, transparent topP3distant ridge silhouettes, low contrast/saturation
surface_mid_silhouettelive640x20 tiling RGBA strip, transparent topP3nearer tree/hill silhouettes, still below foreground contrast

Opening cinematic cel frames — art/generated/opening/<scene_id>_01.png

Eight scene ids (FQ-09C; 640x360 masters, up to 8 frames each, looped at 8 fps for the scene in place of the code-plotted shot; the puppet/plotted rendering is the permanent fallback): opening_01_first_star, opening_02_unraveling_roads, opening_03_scattered_peoples, opening_04_darkness_measures_light, opening_05_first_hall_raised, opening_06_attunement_pulse, opening_07_civilization_pushes_back, opening_08_title_card. All eight pools are currently authored: scene 1 has three frames and the other seven scenes have one static cel each, for ten PNGs total. Priority P3, in storyboard order. Every frame is wordless; scene copy, title, and By Paul Peck remain engine labels. Composition, beats, and palette per scene are locked in docs/OPENING_STORYBOARD.md — frames re-draw those beats as hand-authored animation, they do not invent new ones. Keep meaningful action above the lower-quarter text band.

Remaining Drawn-Shape Actor

SurfaceTodayPlanned asset shape
Attunement pulseradial gradient lightoptional star-white ring sprite (structural, no fireball)

Planned Assets (systems not live yet — do not produce early)

FamilyIdsArrives withSize
Stationsworkbench, furnace, anvilFQ-1116x16 blocks (possibly multi-tile)
Enemies (data-planned)ash_wasp, mudling, hollow_stag, lantern_leech, stoneback_beetle, sporekin, burrow_maw, raider_sapper, hungry_deserter, false_taxman; bosses hollow_king, world_wormlater waves16x16+
Action effectsmining/chop arc, placement pulse, hurt/collapse feedback, forge confirmationFQ-09Msmall transparent overlays
Back wallsore_cave_wall, fungal_wall, crystal_wall, timber_wallwith their environments16x16 seamless
Backgroundscave_far, deep_cavern_farwith cave backdrop wiring640x360
Ancestry sprites (deep/planned)deep_dwarf, deep_elf, deep_goblin, gnome, deep_gnome, lizardfolk, dragonkin (6 dragonkin types)phase C-E ancestries16x32
UI replacement artnative dock chrome and framed panelscurrent HUD polish pass via HUD Asset Replacement Studiocontract-specific native canvases

Prompt Packs

Use the shared preamble, then the category block, then the per-id note from the tables above. Iterate in an isolated image-model staging area entirely outside the game and validation; only the final PNG enters the repo.

Shared preamble (every prompt)

Coheronia, "Mythic Frontier Pixel Diorama": side-view pixel art for a survival settlement game. Crisp integer pixel clusters, limited family palette, one-pixel outline policy, readable at 100% zoom. Palette roles: amber/warm parchment/brass = maintained civilization; indigo/blue-black/ cool slate = exposure and the unknown; star-white/pale cyan/muted violet = attunement insight; moss/loam/timber/stone/iron = the material world; controlled rust/bruised red = danger only. Hopeful under pressure, frontier myth, labor-centered. NEVER: glossy mobile fantasy, neon sci-fi, generic fireball magic, grimdark decay, painterly noise, baked-in text of any kind.

Blocks / back walls (16x16)

One 16x16 side-view terrain tile of <id>: <per-id note>. Flat readable material, subtle 1px edge shading, tiles seamlessly with itself. [back walls only:] This is a REAR cave wall: 40-50% the value of its foreground block, fully opaque, visually quiet. [variants:] Produce N interchangeable variants sharing silhouette, palette, and edge treatment.

Items / equipment icons (16x16, transparent)

One 16x16 inventory icon of <id>: <per-id note>. Single centered object silhouette on transparency, 1px outline, readable against dark UI panels.

Enemies (16x16, transparent)

One 16x16 side-view creature sprite of <id> (<family> family): <per-id note>. Strong silhouette, one accent color from its family palette, no background, leaves 2px headroom for an engine-drawn health bar.

Player / ancestry sprites (16x32, transparent — live for current five species)

One 16x32 side-view settler sprite: <ancestry> (<build notes: human balanced/upright; dwarf low/compact/heavy; elf narrow/vertical; orc broad/grounded; goblin small/quick>). Practical frontier work clothes, tool-belt reading, no armor spectacle. Use rig-defined skin masks only for appearance recolor; clothing must remain stable across tan/pale/umber/ash.

Opening cel frames (640x360, wordless)

Frame <n> of <=8 for cinematic scene <scene_id>: <storyboard beat from docs/OPENING_STORYBOARD.md>. 640x360 pixel-art master in the "Coheronia DOS Vector Cinematic" register: predominantly black/blue-black negative space, ~30% cool monoline structure, ~10% amber/star-white accents, hard-edged indexed color, no gradients or bloom. Absolutely no letters, numerals, or logos anywhere. Keep the lower quarter compositionally calm (engine text band).

Scenic backgrounds (640x360 / tiling strips)

<surface_sky | far terrain strip | mid silhouette strip>: side-view backdrop plane, contrast and saturation clearly below gameplay sprites, no baked light sources or weather (the engine tints day/night/storm), no implied walkable terrain, [strips:] tiles horizontally, transparent above the ridge line.

Audio Assets (FQ-09U program — planned; authored in M8str0)

Music production has its own authority pair: docs/WORK_ORDER_FQ_09U_ADAPTIVE_MUSIC.md (architecture, state model, gating) and audio/source_templates/MUSIC_TEMPLATE.md (production contract, mood vocabulary, prompt packs, render checklist), with data/music_manifest.json as the machine contract. Nothing at runtime consumes these until FQ-09U1.

FamilyIdsArrives withContract
Context loopscoheronia_surface_day, coheronia_surface_night, coheronia_underground, coheronia_crisisFQ-09U1one adaptive suite: 72 BPM, 4/4, 16 bars (53.333 s), shared key family and phrase grid, OGG
Stemsstem_foundation, stem_hearth, stem_motion, stem_pressure, stem_attunement, stem_fractureFQ-09U2phase-locked 16-bar layers, any subset musical
Stingersstinger_dawn, stinger_nightfall, stinger_raid_warning, stinger_attunement, stinger_base_advanceFQ-09U3one-shots under 8 s, built from suite material
Opening cuescue_opening_01_drone_bell … cue_opening_08_title_chord (audio/opening/<id>.ogg)live hooks since FQ-09C (silent-skip)restrained one-shots per the storyboard's sound direction

Review Gate

Every candidate passes art/source_templates/ASSET_TEMPLATE.md's checklist (and BACKGROUND_TEMPLATE's for walls/backdrops) before entering the repo: correct path/size, seamless where required, readable at 100%, quieter than foreground where applicable, no text, fallback still works when the file is removed. Validator, smoke, screenshot tour, and git diff --check stay green — the smoke's art checks prove both directions (image wins when present, fallback returns on removal).