Generated Asset Gallery
Generated Images
Click a tile to inspect it, select multiple assets to regenerate, or rate strong images as reinforcement.
Section Editor
PDF Layout Standard
Test 1 · approved
Review / Edit / Regenerate / Lock
Locked Section
This section is approved and locked. Unlock it before editing or regenerating.
Preview
Rendered Section Preview
PDF Layout Standard
Approved layout: Table-Ready Classic
Target pages: 8 / max 10
Design Notes
- Two-column interior with compact sidebars. - Small portrait and token strips only where they help scanning. - Battlemaps appear as thumbnails with encounter notes; full-size images go in the package.
Page Plan
1. Cover and One-Shot Brief - Title, level range, party size, premise, stakes, cover/setting image. 2. Adventure Overview - GM summary, scene flow, clocks/timers, objective, fail-forward guidance. 3. Scene 1-2 - Opening, first location, read-aloud, clues, quick checks. 4. Scene 3-4 - Core investigation or exploration scenes with callouts. 5. Finale Encounter - Battlefield notes, boss objective, hazards, scaling. 6. NPC and Clue Reference - NPC cards, clue matrix, secrets, stuck-player rescues. 7. Stat Blocks - Compact stat blocks and tactics. 8. Assets and Handouts - Map thumbnails, token reference, rewards, package manifest.
```odos-pdf-layout-manifest { "schema": "odos.pdf_layout_standard.v1", "approved_at": "2026-06-08T05:06:26+00:00", "project_id": 1, "draft": { "key": "table_ready_classic", "name": "Table-Ready Classic", "target_pages": 8, "best_for": "Fast DM scanning, print-friendly tables, strongest default for repeatable monthly releases.", "design_notes": [ "Two-column interior with compact sidebars.", "Small portrait and token strips only where they help scanning.", "Battlemaps appear as thumbnails with encounter notes; full-size images go in the package." ], "pages": [ { "page": 1, "title": "Cover and One-Shot Brief", "content": "Title, level range, party size, premise, stakes, cover/setting image." }, { "page": 2, "title": "Adventure Overview", "content": "GM summary, scene flow, clocks/timers, objective, fail-forward guidance." }, { "page": 3, "title": "Scene 1-2", "content": "Opening, first location, read-aloud, clues, quick checks." }, { "page": 4, "title": "Scene 3-4", "content": "Core investigation or exploration scenes with callouts." }, { "page": 5, "title": "Finale Encounter", "content": "Battlefield notes, boss objective, hazards, scaling." }, { "page": 6, "title": "NPC and Clue Reference", "content": "NPC cards, clue matrix, secrets, stuck-player rescues." }, { "page": 7, "title": "Stat Blocks", "content": "Compact stat blocks and tactics." }, { "page": 8, "title": "Assets and Handouts", "content": "Map thumbnails, token reference, rewards, package manifest." } ], "coverage": { "sections": [ { "key": "locked_concept", "label": "Locked Concept", "status": "approved", "words": 63 }, { "key": "dm_packet", "label": "Dm Packet", "status": "approved", "words": 3420 }, { "key": "npc_suite", "label": "Npc Suite", "status": "approved", "words": 2384 }, { "key": "clue_web", "label": "Clue Web", "status": "approved", "words": 3416 }, { "key": "stat_blocks", "label": "Stat Blocks", "status": "approved", "words": 2773 }, { "key": "art_prompts", "label": "Art Prompts", "status": "approved", "words": 3365 } ], "assets": { "setting_images": { "label": "Setting Images", "folder": "setting_images", "count": 9, "files": [ { "public_path": "/assets/generated-art/project_1/setting_images/01-floating-carnival-cover.png", "title": "01 Floating Carnival Cover", "size_bytes": 2772082 }, { "public_path": "/assets/generated-art/project_1/setting_images/02-rooftop-fairground-edge.png", "title": "02 Rooftop Fairground Edge", "size_bytes": 2582142 }, { "public_path": "/assets/generated-art/project_1/setting_images/03-midway-of-whirling-delights.png", "title": "03 Midway Of Whirling Delights", "size_bytes": 2867834 }, { "public_path": "/assets/generated-art/project_1/setting_images/04-parade-rig-and-ringmaster-s-loft.png", "title": "04 Parade Rig And Ringmaster S Loft", "size_bytes": 2818362 }, { "public_path": "/assets/generated-art/project_1/setting_images/regen-20260607-185113-floating-carnival-cover.png", "title": "Floating Carnival Cover", "size_bytes": 2920414 }, { "public_path": "/assets/generated-art/project_1/setting_images/regen-20260607-185315-rooftop-fairground-edge.png", "title": "Rooftop Fairground Edge", "size_bytes": 2986101 }, { "public_path": "/assets/generated-art/project_1/setting_images/regen-20260607-185441-midway-of-whirling-delights.png", "title": "Midway Of Whirling Delights", "size_bytes": 3230511 }, { "public_path": "/assets/generated-art/project_1/setting_images/regen-20260607-185604-parade-rig-and-ringmaster-s-loft.png", "title": "Parade Rig And Ringmaster S Loft", "size_bytes": 2960421 }, { "public_path": "/assets/generated-art/project_1/setting_images/regen-20260607-190141-floating-carnival-cover.png", "title": "Floating Carnival Cover", "size_bytes": 2184217 } ] }, "npc_images": { "label": "NPC Images", "folder": "npc_images", "count": 13, "files": [ { "public_path": "/assets/generated-art/project_1/npc_images/01-core-npc-profiles.png", "title": "01 Core Npc Profiles", "size_bytes": 1812944 }, { "public_path": "/assets/generated-art/project_1/npc_images/02-mira-quill.png", "title": "02 Mira Quill", "size_bytes": 1690635 }, { "public_path": "/assets/generated-art/project_1/npc_images/03-fizzle-threadwhistle.png", "title": "03 Fizzle Threadwhistle", "size_bytes": 1616827 }, { "public_path": "/assets/generated-art/project_1/npc_images/04-bramble-the-balloon-smith.png", "title": "04 Bramble The Balloon Smith", "size_bytes": 1910517 }, { "public_path": "/assets/generated-art/project_1/npc_images/05-ringmaster-vaelor-vane.png", "title": "05 Ringmaster Vaelor Vane", "size_bytes": 1803122 }, { "public_path": "/assets/generated-art/project_1/npc_images/06-antagonist-deepening.png", "title": "06 Antagonist Deepening", "size_bytes": 1676089 }, { "public_path": "/assets/generated-art/project_1/npc_images/07-ringmaster-vaelor-vane-pressure-profile.png", "title": "07 Ringmaster Vaelor Vane Pressure Profile", "size_bytes": 1775983 }, { "public_path": "/assets/generated-art/project_1/npc_images/08-improvisation-support.png", "title": "08 Improvisation Support", "size_bytes": 1806994 }, { "public_path": "/assets/generated-art/project_1/npc_images/20260607-202738-core-npc-profiles-207f0e.png", "title": "Core Npc Profiles", "size_bytes": 1572939 }, { "public_path": "/assets/generated-art/project_1/npc_images/20260607-204748-mira-quill-5aa4da.png", "title": "Mira Quill", "size_bytes": 1614739 }, { "public_path": "/assets/generated-art/project_1/npc_images/20260607-204852-fizzle-threadwhistle-11c387.png", "title": "Fizzle Threadwhistle", "size_bytes": 1842427 }, { "public_path": "/assets/generated-art/project_1/npc_images/20260607-204956-bramble-the-balloon-smith-d1e16d.png", "title": "Bramble The Balloon Smith", "size_bytes": 1877041 } ] }, "monster_art": { "label": "Monster Art", "folder": "monster_images", "count": 10, "files": [ { "public_path": "/assets/generated-art/project_1/monster_images/20260608-022941-midway-juggler-gear-d82864.png", "title": "Midway Juggler Gear", "size_bytes": 3101553 }, { "public_path": "/assets/generated-art/project_1/monster_images/20260608-023210-midway-juggler-gear-9aaa81.png", "title": "Midway Juggler Gear", "size_bytes": 3203872 }, { "public_path": "/assets/generated-art/project_1/monster_images/20260608-023302-clatterclown-guard-14726a.png", "title": "Clatterclown Guard", "size_bytes": 3581812 }, { "public_path": "/assets/generated-art/project_1/monster_images/20260608-023353-ringmaster-vaelor-vane-dd15b6.png", "title": "Ringmaster Vaelor Vane", "size_bytes": 2803221 }, { "public_path": "/assets/generated-art/project_1/monster_images/20260608-023441-midway-juggler-gear-201a5c.png", "title": "Midway Juggler Gear", "size_bytes": 2754398 }, { "public_path": "/assets/generated-art/project_1/monster_images/20260608-024229-midway-juggler-gear-53ef6f.png", "title": "Midway Juggler Gear", "size_bytes": 2709448 }, { "public_path": "/assets/generated-art/project_1/monster_images/20260608-024324-clatterclown-guard-087c4a.png", "title": "Clatterclown Guard", "size_bytes": 2812480 }, { "public_path": "/assets/generated-art/project_1/monster_images/20260608-024412-midway-juggler-gear-346f42.png", "title": "Midway Juggler Gear", "size_bytes": 3031717 }, { "public_path": "/assets/generated-art/project_1/monster_images/20260608-024542-clatterclown-guard-dc0f80.png", "title": "Clatterclown Guard", "size_bytes": 2686688 }, { "public_path": "/assets/generated-art/project_1/monster_images/20260608-042040-parade-float-husk-abc589.png", "title": "Parade Float Husk", "size_bytes": 3005734 } ] }, "token_pack": { "label": "Token Pack", "folder": "token_pack", "count": 3, "files": [ { "public_path": "/assets/generated-art/project_1/token_pack/20260608-042311-ringmaster-vaelor-vane-token-267e0e.png", "title": "Ringmaster Vaelor Vane Token", "size_bytes": 1669828 }, { "public_path": "/assets/generated-art/project_1/token_pack/bramble-the-balloon-smith-token.png", "title": "Bramble The Balloon Smith Token", "size_bytes": 374210 }, { "public_path": "/assets/generated-art/project_1/token_pack/midway-juggler-gear-token.png", "title": "Midway Juggler Gear Token", "size_bytes": 317974 } ] }, "battlemaps": { "label": "Battlemaps", "folder": "battlemaps", "count": 3, "files": [ { "public_path": "/assets/generated-art/project_1/battlemaps/20260608-044027-primary-encounter-map-e48cdc.png", "title": "Primary Encounter Map", "size_bytes": 2361570 }, { "public_path": "/assets/generated-art/project_1/battlemaps/20260608-044551-the-path-1e39cf.png", "title": "The Path", "size_bytes": 2163170 }, { "public_path": "/assets/generated-art/project_1/battlemaps/20260608-044937-of-the-mirrored-hall-should-count-as-success-a098d0.png", "title": "Of The Mirrored Hall Should Count As Success", "size_bytes": 2782605 } ] }, "layout_art": { "label": "Layout / PDF Art", "folder": "layout_art", "count": 0, "files": [] } }, "has_core_text": true, "approved_layout": null }, "preview_assets": { "cover": { "public_path": "/assets/generated-art/project_1/setting_images/01-floating-carnival-cover.png", "title": "01 Floating Carnival Cover", "size_bytes": 2772082 }, "scene": { "public_path": "/assets/generated-art/project_1/setting_images/01-floating-carnival-cover.png", "title": "01 Floating Carnival Cover", "size_bytes": 2772082 }, "map": { "public_path": "/assets/generated-art/project_1/battlemaps/20260608-044027-primary-encounter-map-e48cdc.png", "title": "Primary Encounter Map", "size_bytes": 2361570 }, "portraits": [ { "public_path": "/assets/generated-art/project_1/npc_images/01-core-npc-profiles.png", "title": "01 Core Npc Profiles", "size_bytes": 1812944 }, { "public_path": "/assets/generated-art/project_1/npc_images/02-mira-quill.png", "title": "02 Mira Quill", "size_bytes": 1690635 }, { "public_path": "/assets/generated-art/project_1/npc_images/03-fizzle-threadwhistle.png", "title": "03 Fizzle Threadwhistle", "size_bytes": 1616827 }, { "public_path": "/assets/generated-art/project_1/npc_images/04-bramble-the-balloon-smith.png", "title": "04 Bramble The Balloon Smith", "size_bytes": 1910517 } ], "tokens": [ { "public_path": "/assets/generated-art/project_1/token_pack/20260608-042311-ringmaster-vaelor-vane-token-267e0e.png", "title": "Ringmaster Vaelor Vane Token", "size_bytes": 1669828 }, { "public_path": "/assets/generated-art/project_1/token_pack/bramble-the-balloon-smith-token.png", "title": "Bramble The Balloon Smith Token", "size_bytes": 374210 }, { "public_path": "/assets/generated-art/project_1/token_pack/midway-juggler-gear-token.png", "title": "Midway Juggler Gear Token", "size_bytes": 317974 } ], "layout": [] } }, "rules": { "max_pages": 10, "target_pages": 8, "deterministic_template": true, "battlemap_delivery": "Thumbnail and tactical notes in PDF; full-size maps packaged separately.", "token_delivery": "Reference strip in PDF; PNG token files packaged separately." } } ```