AiComicFactory2 / page_layouts.yaml
Julian Bilcke
fix default values
d8a17a7
# Page layouts configuration for multi-image PDF generation
# Each layout defines how images are arranged on a page
# Positions are defined as (x, y, width, height) in relative units (0-1)
# Coordinate system: (0,0) is top-left, X increases right, Y increases down
#
# Panel metadata helps guide image generation:
# - panel_type: establishing/action/closeup/dialogue/reaction/transition/detail/splash
# - focus: environment/character/characters/action/emotion/object/event
# - composition: wide/tall/square/portrait/landscape
# - shot_type: extreme_wide/wide/full/medium_full/medium/medium_closeup/closeup/extreme_closeup
# - camera_angle: eye_level/high_angle/low_angle/overhead/dutch_angle/over_shoulder/pov
layouts:
1_image:
- id: "full_bleed"
label: "Full Bleed"
description: "Single image filling entire page"
positions:
- [0.0, 0.0, 1.0, 1.0]
metadata:
- {panel_type: "splash", focus: "event", composition: "square", shot_type: "full", camera_angle: "eye_level"}
2_images:
- id: "horizontal_split"
label: "Even Split"
description: "Two equal panels side by side"
positions:
- [0.02, 0.02, 0.47, 0.96]
- [0.51, 0.02, 0.47, 0.96]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "portrait", shot_type: "wide", camera_angle: "eye_level"}
- {panel_type: "action", focus: "character", composition: "portrait", shot_type: "full", camera_angle: "low_angle"}
- id: "vertical_split"
label: "Top & Bottom"
description: "Stacked panels"
positions:
- [0.02, 0.02, 0.96, 0.47]
- [0.02, 0.51, 0.96, 0.47]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "wide", shot_type: "extreme_wide", camera_angle: "high_angle"}
- {panel_type: "action", focus: "event", composition: "wide", shot_type: "full", camera_angle: "eye_level"}
- id: "hero_sidekick"
label: "Hero & Sidekick"
description: "Large main panel with small detail"
positions:
- [0.02, 0.02, 0.65, 0.96]
- [0.69, 0.25, 0.29, 0.5]
metadata:
- {panel_type: "action", focus: "character", composition: "portrait", shot_type: "full", camera_angle: "eye_level"}
- {panel_type: "reaction", focus: "emotion", composition: "portrait", shot_type: "closeup", camera_angle: "eye_level"}
- id: "before_after"
label: "Before & After"
description: "Cause and effect layout"
positions:
- [0.02, 0.02, 0.96, 0.44]
- [0.02, 0.48, 0.96, 0.5]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "wide", shot_type: "wide", camera_angle: "eye_level"}
- {panel_type: "action", focus: "event", composition: "wide", shot_type: "medium_full", camera_angle: "dutch_angle"}
- id: "diagonal_tension"
label: "Diagonal Tension"
description: "Overlapping dynamic panels"
positions:
- [0.02, 0.02, 0.6, 0.6]
- [0.38, 0.38, 0.6, 0.6]
metadata:
- {panel_type: "action", focus: "event", composition: "square", shot_type: "medium", camera_angle: "high_angle"}
- {panel_type: "action", focus: "event", composition: "square", shot_type: "medium", camera_angle: "low_angle"}
3_images:
- id: "triptych"
label: "Triptych"
description: "Three equal vertical panels"
positions:
- [0.02, 0.02, 0.31, 0.96]
- [0.345, 0.02, 0.31, 0.96]
- [0.67, 0.02, 0.31, 0.96]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "portrait", shot_type: "wide", camera_angle: "eye_level"}
- {panel_type: "action", focus: "character", composition: "portrait", shot_type: "full", camera_angle: "eye_level"}
- {panel_type: "reaction", focus: "emotion", composition: "portrait", shot_type: "medium_closeup", camera_angle: "eye_level"}
- id: "hero_top"
label: "Establishing Shot"
description: "Large top panel with details below"
positions:
- [0.02, 0.02, 0.96, 0.5]
- [0.02, 0.54, 0.47, 0.44]
- [0.51, 0.54, 0.47, 0.44]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "wide", shot_type: "extreme_wide", camera_angle: "high_angle"}
- {panel_type: "action", focus: "character", composition: "square", shot_type: "medium", camera_angle: "eye_level"}
- {panel_type: "reaction", focus: "emotion", composition: "square", shot_type: "closeup", camera_angle: "eye_level"}
- id: "l_shape"
label: "L-Shape Flow"
description: "Reading flow in L pattern"
positions:
- [0.02, 0.02, 0.47, 0.47]
- [0.51, 0.02, 0.47, 0.47]
- [0.02, 0.51, 0.96, 0.47]
metadata:
- {panel_type: "dialogue", focus: "character", composition: "square", shot_type: "medium_closeup", camera_angle: "eye_level"}
- {panel_type: "dialogue", focus: "character", composition: "square", shot_type: "medium_closeup", camera_angle: "over_shoulder"}
- {panel_type: "action", focus: "event", composition: "wide", shot_type: "full", camera_angle: "eye_level"}
- id: "spotlight"
label: "Spotlight"
description: "Central focus with side panels"
positions:
- [0.02, 0.15, 0.28, 0.7]
- [0.32, 0.02, 0.36, 0.96]
- [0.7, 0.15, 0.28, 0.7]
metadata:
- {panel_type: "reaction", focus: "character", composition: "portrait", shot_type: "medium_closeup", camera_angle: "eye_level"}
- {panel_type: "action", focus: "character", composition: "portrait", shot_type: "full", camera_angle: "low_angle"}
- {panel_type: "reaction", focus: "character", composition: "portrait", shot_type: "closeup", camera_angle: "eye_level"}
- id: "vertical_flow"
label: "Vertical Flow"
description: "Three stacked panels for sequential action"
positions:
- [0.02, 0.02, 0.96, 0.31]
- [0.02, 0.345, 0.96, 0.31]
- [0.02, 0.67, 0.96, 0.31]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "wide", shot_type: "wide", camera_angle: "eye_level"}
- {panel_type: "action", focus: "event", composition: "wide", shot_type: "medium_full", camera_angle: "eye_level"}
- {panel_type: "action", focus: "event", composition: "wide", shot_type: "medium", camera_angle: "dutch_angle"}
- id: "manga_action"
label: "Manga Action"
description: "Dynamic manga-style layout"
positions:
- [0.52, 0.02, 0.46, 0.45]
- [0.02, 0.02, 0.48, 0.65]
- [0.02, 0.69, 0.96, 0.29]
metadata:
- {panel_type: "reaction", focus: "emotion", composition: "square", shot_type: "closeup", camera_angle: "low_angle"}
- {panel_type: "action", focus: "character", composition: "portrait", shot_type: "full", camera_angle: "low_angle"}
- {panel_type: "action", focus: "event", composition: "wide", shot_type: "wide", camera_angle: "overhead"}
4_images:
- id: "grid_2x2"
label: "Classic Grid"
description: "Traditional 2x2 layout"
positions:
- [0.02, 0.02, 0.47, 0.47]
- [0.51, 0.02, 0.47, 0.47]
- [0.02, 0.51, 0.47, 0.47]
- [0.51, 0.51, 0.47, 0.47]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "square", shot_type: "wide", camera_angle: "high_angle"}
- {panel_type: "dialogue", focus: "character", composition: "square", shot_type: "medium_closeup", camera_angle: "eye_level"}
- {panel_type: "action", focus: "event", composition: "square", shot_type: "medium", camera_angle: "eye_level"}
- {panel_type: "reaction", focus: "emotion", composition: "square", shot_type: "closeup", camera_angle: "eye_level"}
- id: "widescreen"
label: "Widescreen Strips"
description: "Four cinematic horizontal strips"
positions:
- [0.02, 0.02, 0.96, 0.23]
- [0.02, 0.27, 0.96, 0.23]
- [0.02, 0.52, 0.96, 0.23]
- [0.02, 0.77, 0.96, 0.21]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "wide", shot_type: "extreme_wide", camera_angle: "eye_level"}
- {panel_type: "dialogue", focus: "characters", composition: "wide", shot_type: "medium", camera_angle: "eye_level"}
- {panel_type: "action", focus: "event", composition: "wide", shot_type: "full", camera_angle: "low_angle"}
- {panel_type: "reaction", focus: "emotion", composition: "wide", shot_type: "medium_closeup", camera_angle: "eye_level"}
- id: "hero_cluster"
label: "Hero with Cluster"
description: "Large panel with three supporting"
positions:
- [0.02, 0.02, 0.6, 0.63]
- [0.64, 0.02, 0.34, 0.3]
- [0.64, 0.34, 0.34, 0.31]
- [0.02, 0.67, 0.96, 0.31]
metadata:
- {panel_type: "action", focus: "event", composition: "square", shot_type: "full", camera_angle: "low_angle"}
- {panel_type: "detail", focus: "object", composition: "landscape", shot_type: "extreme_closeup", camera_angle: "eye_level"}
- {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
- {panel_type: "transition", focus: "environment", composition: "wide", shot_type: "wide", camera_angle: "eye_level"}
- id: "comic_strip"
label: "Comic Strip"
description: "Newspaper strip style"
positions:
- [0.02, 0.3, 0.23, 0.4]
- [0.27, 0.3, 0.23, 0.4]
- [0.52, 0.3, 0.23, 0.4]
- [0.77, 0.3, 0.21, 0.4]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "portrait", shot_type: "full", camera_angle: "eye_level"}
- {panel_type: "dialogue", focus: "characters", composition: "portrait", shot_type: "medium", camera_angle: "eye_level"}
- {panel_type: "action", focus: "event", composition: "portrait", shot_type: "medium", camera_angle: "eye_level"}
- {panel_type: "reaction", focus: "emotion", composition: "portrait", shot_type: "closeup", camera_angle: "eye_level"}
- id: "z_pattern"
label: "Z-Pattern"
description: "Natural reading flow in Z shape"
positions:
- [0.02, 0.02, 0.47, 0.35]
- [0.51, 0.02, 0.47, 0.35]
- [0.02, 0.39, 0.47, 0.59]
- [0.51, 0.39, 0.47, 0.59]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "landscape", shot_type: "wide", camera_angle: "high_angle"}
- {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium", camera_angle: "eye_level"}
- {panel_type: "action", focus: "character", composition: "portrait", shot_type: "full", camera_angle: "low_angle"}
- {panel_type: "action", focus: "event", composition: "portrait", shot_type: "medium_full", camera_angle: "dutch_angle"}
- id: "explosion"
label: "Explosion"
description: "Central impact with surrounding panels"
positions:
- [0.02, 0.02, 0.35, 0.35]
- [0.63, 0.02, 0.35, 0.35]
- [0.27, 0.27, 0.46, 0.46]
- [0.02, 0.63, 0.96, 0.35]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "square", shot_type: "wide", camera_angle: "eye_level"}
- {panel_type: "detail", focus: "object", composition: "square", shot_type: "extreme_closeup", camera_angle: "overhead"}
- {panel_type: "action", focus: "event", composition: "square", shot_type: "medium", camera_angle: "low_angle"}
- {panel_type: "reaction", focus: "characters", composition: "wide", shot_type: "medium_full", camera_angle: "eye_level"}
5_images:
- id: "hero_banner"
label: "Hero Banner"
description: "Wide establishing shot with four panels below"
positions:
- [0.02, 0.02, 0.96, 0.38]
- [0.02, 0.42, 0.47, 0.28]
- [0.51, 0.42, 0.47, 0.28]
- [0.02, 0.72, 0.47, 0.26]
- [0.51, 0.72, 0.47, 0.26]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "wide", shot_type: "extreme_wide", camera_angle: "high_angle"}
- {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium_closeup", camera_angle: "eye_level"}
- {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium_closeup", camera_angle: "over_shoulder"}
- {panel_type: "action", focus: "event", composition: "landscape", shot_type: "medium", camera_angle: "eye_level"}
- {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
- id: "manga_vertical"
label: "Manga Vertical"
description: "Japanese right-to-left vertical flow"
positions:
- [0.52, 0.02, 0.46, 0.32]
- [0.02, 0.02, 0.48, 0.32]
- [0.52, 0.36, 0.46, 0.3]
- [0.02, 0.36, 0.48, 0.3]
- [0.02, 0.68, 0.96, 0.3]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "landscape", shot_type: "wide", camera_angle: "eye_level"}
- {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium", camera_angle: "eye_level"}
- {panel_type: "action", focus: "character", composition: "landscape", shot_type: "full", camera_angle: "low_angle"}
- {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
- {panel_type: "action", focus: "event", composition: "wide", shot_type: "full", camera_angle: "overhead"}
#
# disabled because his "pyramid" effect does't work well with only 5 images,
# (it doesn't fit the whole page)
#
#- id: "pyramid"
# label: "Pyramid"
# description: "Building tension from top to bottom"
# positions:
# - [0.25, 0.02, 0.5, 0.25]
# - [0.02, 0.29, 0.47, 0.3]
# - [0.51, 0.29, 0.47, 0.3]
# - [0.02, 0.61, 0.31, 0.37]
# - [0.67, 0.61, 0.31, 0.37]
# metadata:
# - {panel_type: "establishing", focus: "environment", composition: "landscape", shot_type: "wide", camera_angle: "high_angle"}
# - {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium", camera_angle: "eye_level"}
# - {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium_closeup", camera_angle: "over_shoulder"}
# - {panel_type: "action", focus: "event", composition: "portrait", shot_type: "full", camera_angle: "low_angle"}
# - {panel_type: "action", focus: "event", composition: "portrait", shot_type: "medium", camera_angle: "dutch_angle"}
#
# disabled because it doesn't look good, it creates a lot of empty spots in the cardinal directions,
# plus there is some overlap between the central image and the 4 others
#
#- id: "spotlight_drama"
# label: "Spotlight Drama"
# description: "Central focus with corner details"
# positions:
# - [0.02, 0.02, 0.35, 0.35]
# - [0.63, 0.02, 0.35, 0.35]
# - [0.22, 0.22, 0.56, 0.56]
# - [0.02, 0.63, 0.35, 0.35]
# - [0.63, 0.63, 0.35, 0.35]
# metadata:
# - {panel_type: "detail", focus: "object", composition: "square", shot_type: "extreme_closeup", camera_angle: "overhead"}
# - {panel_type: "detail", focus: "object", composition: "square", shot_type: "extreme_closeup", camera_angle: "eye_level"}
# - {panel_type: "action", focus: "character", composition: "square", shot_type: "full", camera_angle: "low_angle"}
# - {panel_type: "reaction", focus: "emotion", composition: "square", shot_type: "closeup", camera_angle: "low_angle"}
# - {panel_type: "reaction", focus: "emotion", composition: "square", shot_type: "closeup", camera_angle: "high_angle"}
- id: "euro_bd"
label: "Euro BD Classic"
description: "Franco-Belgian structured layout"
positions:
- [0.02, 0.02, 0.47, 0.29]
- [0.51, 0.02, 0.47, 0.29]
- [0.02, 0.33, 0.96, 0.31]
- [0.02, 0.66, 0.47, 0.32]
- [0.51, 0.66, 0.47, 0.32]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "landscape", shot_type: "wide", camera_angle: "eye_level"}
- {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium", camera_angle: "eye_level"}
- {panel_type: "action", focus: "event", composition: "wide", shot_type: "full", camera_angle: "eye_level"}
- {panel_type: "dialogue", focus: "characters", composition: "landscape", shot_type: "medium", camera_angle: "over_shoulder"}
- {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "medium_closeup", camera_angle: "eye_level"}
- id: "action_burst"
label: "Action Burst"
description: "Dynamic superhero action layout"
positions:
- [0.02, 0.02, 0.55, 0.55]
- [0.59, 0.02, 0.39, 0.26]
- [0.59, 0.3, 0.39, 0.27]
- [0.02, 0.59, 0.47, 0.39]
- [0.51, 0.59, 0.47, 0.39]
metadata:
- {panel_type: "action", focus: "event", composition: "square", shot_type: "full", camera_angle: "low_angle"}
- {panel_type: "detail", focus: "object", composition: "landscape", shot_type: "extreme_closeup", camera_angle: "eye_level"}
- {panel_type: "closeup", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "low_angle"}
- {panel_type: "action", focus: "character", composition: "landscape", shot_type: "medium_full", camera_angle: "dutch_angle"}
- {panel_type: "reaction", focus: "characters", composition: "landscape", shot_type: "medium", camera_angle: "eye_level"}
6_images:
- id: "classic_grid"
label: "Classic 2x3 Grid"
description: "Traditional American comic layout"
positions:
- [0.02, 0.02, 0.47, 0.31]
- [0.51, 0.02, 0.47, 0.31]
- [0.02, 0.345, 0.47, 0.31]
- [0.51, 0.345, 0.47, 0.31]
- [0.02, 0.67, 0.47, 0.31]
- [0.51, 0.67, 0.47, 0.31]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "landscape", shot_type: "wide", camera_angle: "high_angle"}
- {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium_closeup", camera_angle: "eye_level"}
- {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium_closeup", camera_angle: "over_shoulder"}
- {panel_type: "action", focus: "event", composition: "landscape", shot_type: "medium", camera_angle: "eye_level"}
- {panel_type: "action", focus: "event", composition: "landscape", shot_type: "full", camera_angle: "low_angle"}
- {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
# disabled as there is too much empty space around the central image
#- id: "hero_surround"
# label: "Hero Surrounded"
# description: "Large central panel with five around it"
# positions:
# - [0.02, 0.02, 0.31, 0.28]
# - [0.67, 0.02, 0.31, 0.28]
# - [0.02, 0.7, 0.31, 0.28]
# - [0.67, 0.7, 0.31, 0.28]
# - [0.25, 0.25, 0.5, 0.5]
# - [0.35, 0.35, 0.63, 0.33]
# metadata:
# - {panel_type: "detail", focus: "object", composition: "square", shot_type: "extreme_closeup", camera_angle: "overhead"}
# - {panel_type: "detail", focus: "object", composition: "square", shot_type: "extreme_closeup", camera_angle: "eye_level"}
# - {panel_type: "detail", focus: "object", composition: "square", shot_type: "closeup", camera_angle: "low_angle"}
# - {panel_type: "detail", focus: "character", composition: "square", shot_type: "closeup", camera_angle: "eye_level"}
# - {panel_type: "action", focus: "character", composition: "square", shot_type: "full", camera_angle: "low_angle"}
# - {panel_type: "action", focus: "event", composition: "landscape", shot_type: "medium", camera_angle: "dutch_angle"}
- id: "staircase"
label: "Staircase"
description: "Diagonal reading flow"
positions:
- [0.02, 0.02, 0.45, 0.3]
- [0.49, 0.02, 0.49, 0.3]
- [0.02, 0.34, 0.45, 0.3]
- [0.49, 0.34, 0.49, 0.3]
- [0.02, 0.66, 0.45, 0.32]
- [0.49, 0.66, 0.49, 0.32]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "landscape", shot_type: "wide", camera_angle: "eye_level"}
- {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium", camera_angle: "eye_level"}
- {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium_closeup", camera_angle: "over_shoulder"}
- {panel_type: "action", focus: "event", composition: "landscape", shot_type: "medium_full", camera_angle: "eye_level"}
- {panel_type: "action", focus: "character", composition: "landscape", shot_type: "full", camera_angle: "low_angle"}
- {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
# disabled as there is too much empty space around the central image
#- id: "splash_detail"
# label: "Splash with Details"
# description: "Full-page moment with detail insets"
# positions:
# - [0.05, 0.05, 0.4, 0.4]
# - [0.55, 0.05, 0.4, 0.4]
# - [0.05, 0.55, 0.4, 0.4]
# - [0.55, 0.55, 0.4, 0.4]
# - [0.25, 0.25, 0.5, 0.5]
# - [0.35, 0.35, 0.3, 0.3]
# metadata:
# - {panel_type: "detail", focus: "environment", composition: "square", shot_type: "closeup", camera_angle: "eye_level"}
# - {panel_type: "detail", focus: "object", composition: "square", shot_type: "extreme_closeup", camera_angle: "overhead"}
# - {panel_type: "detail", focus: "object", composition: "square", shot_type: "closeup", camera_angle: "low_angle"}
# - {panel_type: "detail", focus: "character", composition: "square", shot_type: "closeup", camera_angle: "eye_level"}
# - {panel_type: "action", focus: "event", composition: "square", shot_type: "full", camera_angle: "low_angle"}
# - {panel_type: "closeup", focus: "emotion", composition: "square", shot_type: "extreme_closeup", camera_angle: "eye_level"}
- id: "manga_4koma_plus"
label: "Manga 4-Koma Plus"
description: "Japanese 4-panel with header/footer"
positions:
- [0.02, 0.02, 0.96, 0.15]
- [0.02, 0.19, 0.47, 0.25]
- [0.51, 0.19, 0.47, 0.25]
- [0.02, 0.46, 0.47, 0.25]
- [0.51, 0.46, 0.47, 0.25]
- [0.02, 0.73, 0.96, 0.25]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "wide", shot_type: "extreme_wide", camera_angle: "eye_level"}
- {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium", camera_angle: "eye_level"}
- {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium", camera_angle: "over_shoulder"}
- {panel_type: "action", focus: "event", composition: "landscape", shot_type: "medium_full", camera_angle: "eye_level"}
- {panel_type: "action", focus: "event", composition: "landscape", shot_type: "full", camera_angle: "dutch_angle"}
- {panel_type: "reaction", focus: "emotion", composition: "wide", shot_type: "medium_closeup", camera_angle: "eye_level"}
- id: "tension_build"
label: "Tension Builder"
description: "Progressive revelation layout"
positions:
- [0.02, 0.02, 0.96, 0.22]
- [0.02, 0.26, 0.47, 0.22]
- [0.51, 0.26, 0.47, 0.22]
- [0.02, 0.5, 0.31, 0.48]
- [0.345, 0.5, 0.31, 0.48]
- [0.67, 0.5, 0.31, 0.48]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "wide", shot_type: "wide", camera_angle: "high_angle"}
- {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium", camera_angle: "eye_level"}
- {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium_closeup", camera_angle: "over_shoulder"}
- {panel_type: "action", focus: "character", composition: "portrait", shot_type: "full", camera_angle: "low_angle"}
- {panel_type: "action", focus: "character", composition: "portrait", shot_type: "medium_full", camera_angle: "dutch_angle"}
- {panel_type: "closeup", focus: "emotion", composition: "portrait", shot_type: "extreme_closeup", camera_angle: "eye_level"}
7_images:
# disabled as there is too much empty space around the central image plus some overlapping
#- id: "hero_hexagon"
# label: "Hero Hexagon"
# description: "Central focus with six surrounding"
# positions:
# - [0.28, 0.02, 0.44, 0.3]
# - [0.02, 0.25, 0.3, 0.25]
# - [0.68, 0.25, 0.3, 0.25]
# - [0.25, 0.35, 0.5, 0.3]
# - [0.02, 0.52, 0.3, 0.25]
# - [0.68, 0.52, 0.3, 0.25]
# - [0.28, 0.68, 0.44, 0.3]
# metadata:
# - {panel_type: "establishing", focus: "environment", composition: "landscape", shot_type: "wide", camera_angle: "high_angle"}
# - {panel_type: "detail", focus: "object", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
# - {panel_type: "detail", focus: "object", composition: "landscape", shot_type: "extreme_closeup", camera_angle: "overhead"}
# - {panel_type: "action", focus: "character", composition: "landscape", shot_type: "full", camera_angle: "low_angle"}
# - {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium_closeup", camera_angle: "eye_level"}
# - {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium_closeup", camera_angle: "over_shoulder"}
# - {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
- id: "narrative_flow"
label: "Narrative Flow"
description: "Story progression with varied sizes"
positions:
- [0.02, 0.02, 0.47, 0.28]
- [0.51, 0.02, 0.47, 0.28]
- [0.02, 0.32, 0.96, 0.24]
- [0.02, 0.58, 0.31, 0.4]
- [0.345, 0.58, 0.31, 0.4]
- [0.67, 0.58, 0.31, 0.2]
- [0.67, 0.8, 0.31, 0.18]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "landscape", shot_type: "wide", camera_angle: "eye_level"}
- {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium", camera_angle: "eye_level"}
- {panel_type: "action", focus: "event", composition: "wide", shot_type: "full", camera_angle: "low_angle"}
- {panel_type: "action", focus: "character", composition: "portrait", shot_type: "full", camera_angle: "eye_level"}
- {panel_type: "action", focus: "character", composition: "portrait", shot_type: "medium_full", camera_angle: "dutch_angle"}
- {panel_type: "closeup", focus: "emotion", composition: "portrait", shot_type: "closeup", camera_angle: "low_angle"}
- {panel_type: "detail", focus: "object", composition: "portrait", shot_type: "extreme_closeup", camera_angle: "overhead"}
- id: "double_spread"
label: "Double Feature"
description: "Two hero panels with details"
positions:
- [0.02, 0.02, 0.47, 0.45]
- [0.51, 0.02, 0.47, 0.45]
- [0.02, 0.49, 0.31, 0.24]
- [0.345, 0.49, 0.31, 0.24]
- [0.67, 0.49, 0.31, 0.24]
- [0.02, 0.75, 0.47, 0.23]
- [0.51, 0.75, 0.47, 0.23]
metadata:
- {panel_type: "action", focus: "event", composition: "portrait", shot_type: "full", camera_angle: "low_angle"}
- {panel_type: "action", focus: "event", composition: "portrait", shot_type: "full", camera_angle: "high_angle"}
- {panel_type: "detail", focus: "object", composition: "landscape", shot_type: "extreme_closeup", camera_angle: "eye_level"}
- {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium_closeup", camera_angle: "eye_level"}
- {panel_type: "detail", focus: "object", composition: "landscape", shot_type: "closeup", camera_angle: "overhead"}
- {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
- {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "medium_closeup", camera_angle: "over_shoulder"}
# disabled as there is too much empty space around the central image
#- id: "spiral_narrative"
# label: "Spiral Narrative"
# description: "Circular reading flow"
# positions:
# - [0.28, 0.02, 0.44, 0.25]
# - [0.52, 0.15, 0.46, 0.25]
# - [0.52, 0.42, 0.46, 0.25]
# - [0.28, 0.55, 0.44, 0.25]
# - [0.02, 0.42, 0.44, 0.25]
# - [0.02, 0.15, 0.44, 0.25]
# - [0.3, 0.3, 0.4, 0.22]
# metadata:
# - {panel_type: "establishing", focus: "environment", composition: "landscape", shot_type: "wide", camera_angle: "high_angle"}
# - {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium", camera_angle: "eye_level"}
# - {panel_type: "action", focus: "event", composition: "landscape", shot_type: "medium_full", camera_angle: "eye_level"}
# - {panel_type: "action", focus: "event", composition: "landscape", shot_type: "full", camera_angle: "low_angle"}
# - {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium_closeup", camera_angle: "over_shoulder"}
# - {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
# - {panel_type: "closeup", focus: "character", composition: "landscape", shot_type: "extreme_closeup", camera_angle: "pov"}
- id: "action_montage"
label: "Action Montage"
description: "Fast-paced action sequence"
positions:
- [0.02, 0.02, 0.96, 0.3]
- [0.02, 0.34, 0.31, 0.3]
- [0.345, 0.34, 0.31, 0.3]
- [0.67, 0.34, 0.31, 0.3]
- [0.02, 0.66, 0.23, 0.32]
- [0.27, 0.66, 0.23, 0.32]
- [0.52, 0.66, 0.46, 0.32]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "wide", shot_type: "extreme_wide", camera_angle: "eye_level"}
- {panel_type: "action", focus: "event", composition: "square", shot_type: "medium", camera_angle: "dutch_angle"}
- {panel_type: "action", focus: "event", composition: "square", shot_type: "medium_full", camera_angle: "low_angle"}
- {panel_type: "action", focus: "event", composition: "square", shot_type: "full", camera_angle: "high_angle"}
- {panel_type: "closeup", focus: "emotion", composition: "portrait", shot_type: "closeup", camera_angle: "low_angle"}
- {panel_type: "closeup", focus: "emotion", composition: "portrait", shot_type: "extreme_closeup", camera_angle: "eye_level"}
- {panel_type: "reaction", focus: "characters", composition: "landscape", shot_type: "medium", camera_angle: "eye_level"}
- id: "cinematic_sequence"
label: "Cinematic Sequence"
description: "Movie-like panel progression"
positions:
- [0.02, 0.02, 0.96, 0.28]
- [0.02, 0.32, 0.47, 0.2]
- [0.51, 0.32, 0.47, 0.2]
- [0.02, 0.54, 0.31, 0.21]
- [0.345, 0.54, 0.31, 0.21]
- [0.67, 0.54, 0.31, 0.21]
- [0.02, 0.77, 0.96, 0.21]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "wide", shot_type: "extreme_wide", camera_angle: "high_angle"}
- {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium", camera_angle: "eye_level"}
- {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium_closeup", camera_angle: "over_shoulder"}
- {panel_type: "action", focus: "event", composition: "square", shot_type: "medium_full", camera_angle: "eye_level"}
- {panel_type: "action", focus: "event", composition: "square", shot_type: "full", camera_angle: "dutch_angle"}
- {panel_type: "closeup", focus: "emotion", composition: "square", shot_type: "extreme_closeup", camera_angle: "pov"}
- {panel_type: "reaction", focus: "characters", composition: "wide", shot_type: "medium", camera_angle: "eye_level"}
8_images:
- id: "mega_grid"
label: "Mega Grid"
description: "Classic 4x2 grid"
positions:
- [0.02, 0.02, 0.23, 0.47]
- [0.27, 0.02, 0.23, 0.47]
- [0.52, 0.02, 0.23, 0.47]
- [0.77, 0.02, 0.21, 0.47]
- [0.02, 0.51, 0.23, 0.47]
- [0.27, 0.51, 0.23, 0.47]
- [0.52, 0.51, 0.23, 0.47]
- [0.77, 0.51, 0.21, 0.47]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "portrait", shot_type: "wide", camera_angle: "high_angle"}
- {panel_type: "dialogue", focus: "character", composition: "portrait", shot_type: "medium", camera_angle: "eye_level"}
- {panel_type: "dialogue", focus: "character", composition: "portrait", shot_type: "medium_closeup", camera_angle: "over_shoulder"}
- {panel_type: "action", focus: "event", composition: "portrait", shot_type: "medium_full", camera_angle: "eye_level"}
- {panel_type: "action", focus: "event", composition: "portrait", shot_type: "full", camera_angle: "low_angle"}
- {panel_type: "action", focus: "character", composition: "portrait", shot_type: "medium", camera_angle: "dutch_angle"}
- {panel_type: "closeup", focus: "emotion", composition: "portrait", shot_type: "closeup", camera_angle: "eye_level"}
- {panel_type: "reaction", focus: "emotion", composition: "portrait", shot_type: "extreme_closeup", camera_angle: "low_angle"}
- id: "chapter_opener"
label: "Chapter Opener"
description: "Splash page with progressive reveal"
positions:
- [0.02, 0.02, 0.96, 0.45]
- [0.02, 0.49, 0.23, 0.24]
- [0.27, 0.49, 0.23, 0.24]
- [0.52, 0.49, 0.23, 0.24]
- [0.77, 0.49, 0.21, 0.24]
- [0.02, 0.75, 0.23, 0.23]
- [0.27, 0.75, 0.23, 0.23]
- [0.52, 0.75, 0.46, 0.23]
metadata:
- {panel_type: "splash", focus: "environment", composition: "wide", shot_type: "extreme_wide", camera_angle: "high_angle"}
- {panel_type: "detail", focus: "object", composition: "square", shot_type: "extreme_closeup", camera_angle: "overhead"}
- {panel_type: "detail", focus: "character", composition: "square", shot_type: "closeup", camera_angle: "low_angle"}
- {panel_type: "dialogue", focus: "character", composition: "square", shot_type: "medium_closeup", camera_angle: "eye_level"}
- {panel_type: "dialogue", focus: "character", composition: "square", shot_type: "medium", camera_angle: "over_shoulder"}
- {panel_type: "action", focus: "event", composition: "square", shot_type: "medium_full", camera_angle: "eye_level"}
- {panel_type: "closeup", focus: "emotion", composition: "square", shot_type: "extreme_closeup", camera_angle: "pov"}
- {panel_type: "reaction", focus: "characters", composition: "landscape", shot_type: "medium", camera_angle: "eye_level"}
- id: "parallel_stories"
label: "Parallel Stories"
description: "Two simultaneous narratives"
positions:
- [0.02, 0.02, 0.47, 0.23]
- [0.51, 0.02, 0.47, 0.23]
- [0.02, 0.27, 0.47, 0.23]
- [0.51, 0.27, 0.47, 0.23]
- [0.02, 0.52, 0.47, 0.23]
- [0.51, 0.52, 0.47, 0.23]
- [0.02, 0.77, 0.47, 0.21]
- [0.51, 0.77, 0.47, 0.21]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "landscape", shot_type: "wide", camera_angle: "eye_level"}
- {panel_type: "establishing", focus: "environment", composition: "landscape", shot_type: "wide", camera_angle: "high_angle"}
- {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium", camera_angle: "eye_level"}
- {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium_closeup", camera_angle: "over_shoulder"}
- {panel_type: "action", focus: "event", composition: "landscape", shot_type: "full", camera_angle: "low_angle"}
- {panel_type: "action", focus: "event", composition: "landscape", shot_type: "medium_full", camera_angle: "dutch_angle"}
- {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
- {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
#- id: "hero_explosion"
# label: "Hero Explosion"
# description: "Central impact radiating outward"
# positions:
# - [0.02, 0.02, 0.3, 0.3]
# - [0.68, 0.02, 0.3, 0.3]
# - [0.02, 0.68, 0.3, 0.3]
# - [0.68, 0.68, 0.3, 0.3]
# - [0.34, 0.02, 0.32, 0.28]
# - [0.02, 0.34, 0.28, 0.32]
# - [0.7, 0.34, 0.28, 0.32]
# - [0.34, 0.7, 0.32, 0.28]
# metadata:
# - {panel_type: "detail", focus: "object", composition: "square", shot_type: "closeup", camera_angle: "overhead"}
# - {panel_type: "detail", focus: "object", composition: "square", shot_type: "extreme_closeup", camera_angle: "eye_level"}
# - {panel_type: "detail", focus: "character", composition: "square", shot_type: "closeup", camera_angle: "low_angle"}
# - {panel_type: "detail", focus: "character", composition: "square", shot_type: "closeup", camera_angle: "high_angle"}
# - {panel_type: "action", focus: "event", composition: "landscape", shot_type: "medium", camera_angle: "dutch_angle"}
# - {panel_type: "action", focus: "event", composition: "portrait", shot_type: "full", camera_angle: "low_angle"}
# - {panel_type: "action", focus: "event", composition: "portrait", shot_type: "medium_full", camera_angle: "high_angle"}
# - {panel_type: "closeup", focus: "emotion", composition: "landscape", shot_type: "extreme_closeup", camera_angle: "pov"}
- id: "magazine_style"
label: "Magazine Style"
description: "Editorial layout with varied sizes"
positions:
- [0.02, 0.02, 0.63, 0.35]
- [0.67, 0.02, 0.31, 0.35]
- [0.02, 0.39, 0.31, 0.28]
- [0.35, 0.39, 0.31, 0.28]
- [0.68, 0.39, 0.3, 0.28]
- [0.02, 0.69, 0.31, 0.29]
- [0.35, 0.69, 0.31, 0.29]
- [0.68, 0.69, 0.3, 0.29]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "landscape", shot_type: "wide", camera_angle: "high_angle"}
- {panel_type: "dialogue", focus: "character", composition: "portrait", shot_type: "medium", camera_angle: "eye_level"}
- {panel_type: "detail", focus: "object", composition: "square", shot_type: "extreme_closeup", camera_angle: "overhead"}
- {panel_type: "action", focus: "event", composition: "square", shot_type: "medium_full", camera_angle: "eye_level"}
- {panel_type: "dialogue", focus: "character", composition: "square", shot_type: "medium_closeup", camera_angle: "over_shoulder"}
- {panel_type: "action", focus: "character", composition: "square", shot_type: "full", camera_angle: "low_angle"}
- {panel_type: "closeup", focus: "emotion", composition: "square", shot_type: "closeup", camera_angle: "eye_level"}
- {panel_type: "reaction", focus: "emotion", composition: "square", shot_type: "extreme_closeup", camera_angle: "pov"}
- id: "epic_finale"
label: "Epic Finale"
description: "Climactic page layout"
positions:
- [0.02, 0.02, 0.31, 0.25]
- [0.345, 0.02, 0.31, 0.25]
- [0.67, 0.02, 0.31, 0.25]
- [0.02, 0.29, 0.47, 0.4]
- [0.51, 0.29, 0.47, 0.4]
- [0.02, 0.71, 0.31, 0.27]
- [0.345, 0.71, 0.31, 0.27]
- [0.67, 0.71, 0.31, 0.27]
metadata:
- {panel_type: "detail", focus: "object", composition: "landscape", shot_type: "extreme_closeup", camera_angle: "overhead"}
- {panel_type: "dialogue", focus: "character", composition: "landscape", shot_type: "medium_closeup", camera_angle: "eye_level"}
- {panel_type: "detail", focus: "object", composition: "landscape", shot_type: "closeup", camera_angle: "low_angle"}
- {panel_type: "action", focus: "event", composition: "portrait", shot_type: "full", camera_angle: "low_angle"}
- {panel_type: "action", focus: "event", composition: "portrait", shot_type: "full", camera_angle: "high_angle"}
- {panel_type: "closeup", focus: "emotion", composition: "landscape", shot_type: "closeup", camera_angle: "eye_level"}
- {panel_type: "reaction", focus: "emotion", composition: "landscape", shot_type: "extreme_closeup", camera_angle: "pov"}
- {panel_type: "reaction", focus: "characters", composition: "landscape", shot_type: "medium", camera_angle: "eye_level"}
# Page layouts configuration for multi-image PDF generation
# Each layout defines how images are arranged on a page
# Positions are defined as (x, y, width, height) in relative units (0-1)
# Coordinate system: (0,0) is top-left, X increases right, Y increases down
#
# Panel metadata helps guide image generation:
# - panel_type: establishing/action/closeup/dialogue/reaction/transition/detail/splash
# - focus: environment/character/characters/action/emotion/object/event
# - composition: wide/tall/square/portrait/landscape
layouts:
1_image:
- id: "full_bleed"
label: "Full Bleed"
description: "Single image filling entire page"
positions:
- [0.0, 0.0, 1.0, 1.0]
metadata:
- {panel_type: "splash", focus: "event", composition: "square"}
- id: "classic_frame"
label: "Classic Frame"
description: "Single image with traditional margins"
positions:
- [0.05, 0.05, 0.9, 0.9]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "square"}
- id: "portrait_focus"
label: "Portrait Focus"
description: "Vertical emphasis for character shots"
positions:
- [0.15, 0.02, 0.7, 0.96]
metadata:
- {panel_type: "closeup", focus: "character", composition: "portrait"}
- id: "cinematic_wide"
label: "Cinematic Wide"
description: "Wide letterbox format"
positions:
- [0.02, 0.25, 0.96, 0.5]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "wide"}
- id: "floating_center"
label: "Floating Center"
description: "Centered with breathing room"
positions:
- [0.1, 0.15, 0.8, 0.7]
metadata:
- {panel_type: "dialogue", focus: "character", composition: "square"}
2_images:
- id: "horizontal_split"
label: "Even Split"
description: "Two equal panels side by side"
positions:
- [0.02, 0.02, 0.47, 0.96]
- [0.51, 0.02, 0.47, 0.96]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "portrait"}
- {panel_type: "action", focus: "character", composition: "portrait"}
- id: "vertical_split"
label: "Top & Bottom"
description: "Stacked panels"
positions:
- [0.02, 0.02, 0.96, 0.47]
- [0.02, 0.51, 0.96, 0.47]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "wide"}
- {panel_type: "action", focus: "event", composition: "wide"}
- id: "hero_sidekick"
label: "Hero & Sidekick"
description: "Large main panel with small detail"
positions:
- [0.02, 0.02, 0.65, 0.96]
- [0.69, 0.25, 0.29, 0.5]
metadata:
- {panel_type: "action", focus: "character", composition: "portrait"}
- {panel_type: "reaction", focus: "emotion", composition: "portrait"}
- id: "before_after"
label: "Before & After"
description: "Cause and effect layout"
positions:
- [0.02, 0.02, 0.96, 0.44]
- [0.02, 0.48, 0.96, 0.5]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "wide"}
- {panel_type: "action", focus: "event", composition: "wide"}
- id: "diagonal_tension"
label: "Diagonal Tension"
description: "Overlapping dynamic panels"
positions:
- [0.02, 0.02, 0.6, 0.6]
- [0.38, 0.38, 0.6, 0.6]
metadata:
- {panel_type: "action", focus: "event", composition: "square"}
- {panel_type: "action", focus: "event", composition: "square"}
3_images:
- id: "triptych"
label: "Triptych"
description: "Three equal vertical panels"
positions:
- [0.02, 0.02, 0.31, 0.96]
- [0.345, 0.02, 0.31, 0.96]
- [0.67, 0.02, 0.31, 0.96]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "portrait"}
- {panel_type: "action", focus: "character", composition: "portrait"}
- {panel_type: "reaction", focus: "emotion", composition: "portrait"}
- id: "hero_top"
label: "Establishing Shot"
description: "Large top panel with details below"
positions:
- [0.02, 0.02, 0.96, 0.5]
- [0.02, 0.54, 0.47, 0.44]
- [0.51, 0.54, 0.47, 0.44]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "wide"}
- {panel_type: "action", focus: "character", composition: "square"}
- {panel_type: "reaction", focus: "emotion", composition: "square"}
- id: "l_shape"
label: "L-Shape Flow"
description: "Reading flow in L pattern"
positions:
- [0.02, 0.02, 0.47, 0.47]
- [0.51, 0.02, 0.47, 0.47]
- [0.02, 0.51, 0.96, 0.47]
metadata:
- {panel_type: "dialogue", focus: "character", composition: "square"}
- {panel_type: "dialogue", focus: "character", composition: "square"}
- {panel_type: "action", focus: "event", composition: "wide"}
- id: "spotlight"
label: "Spotlight"
description: "Central focus with side panels"
positions:
- [0.02, 0.15, 0.28, 0.7]
- [0.32, 0.02, 0.36, 0.96]
- [0.7, 0.15, 0.28, 0.7]
metadata:
- {panel_type: "reaction", focus: "character", composition: "portrait"}
- {panel_type: "action", focus: "character", composition: "portrait"}
- {panel_type: "reaction", focus: "character", composition: "portrait"}
- id: "vertical_flow"
label: "Vertical Flow"
description: "Three stacked panels for sequential action"
positions:
- [0.02, 0.02, 0.96, 0.31]
- [0.02, 0.345, 0.96, 0.31]
- [0.02, 0.67, 0.96, 0.31]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "wide"}
- {panel_type: "action", focus: "event", composition: "wide"}
- {panel_type: "action", focus: "event", composition: "wide"}
- id: "manga_action"
label: "Manga Action"
description: "Dynamic manga-style layout"
positions:
- [0.52, 0.02, 0.46, 0.45]
- [0.02, 0.02, 0.48, 0.65]
- [0.02, 0.69, 0.96, 0.29]
metadata:
- {panel_type: "reaction", focus: "emotion", composition: "square"}
- {panel_type: "action", focus: "character", composition: "portrait"}
- {panel_type: "action", focus: "event", composition: "wide"}
4_images:
- id: "grid_2x2"
label: "Classic Grid"
description: "Traditional 2x2 layout"
positions:
- [0.02, 0.02, 0.47, 0.47]
- [0.51, 0.02, 0.47, 0.47]
- [0.02, 0.51, 0.47, 0.47]
- [0.51, 0.51, 0.47, 0.47]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "square"}
- {panel_type: "dialogue", focus: "character", composition: "square"}
- {panel_type: "action", focus: "event", composition: "square"}
- {panel_type: "reaction", focus: "emotion", composition: "square"}
- id: "widescreen"
label: "Widescreen Strips"
description: "Four cinematic horizontal strips"
positions:
- [0.02, 0.02, 0.96, 0.23]
- [0.02, 0.27, 0.96, 0.23]
- [0.02, 0.52, 0.96, 0.23]
- [0.02, 0.77, 0.96, 0.21]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "wide"}
- {panel_type: "dialogue", focus: "characters", composition: "wide"}
- {panel_type: "action", focus: "event", composition: "wide"}
- {panel_type: "reaction", focus: "emotion", composition: "wide"}
- id: "hero_cluster"
label: "Hero with Cluster"
description: "Large panel with three supporting"
positions:
- [0.02, 0.02, 0.6, 0.63]
- [0.64, 0.02, 0.34, 0.3]
- [0.64, 0.34, 0.34, 0.31]
- [0.02, 0.67, 0.96, 0.31]
metadata:
- {panel_type: "action", focus: "event", composition: "square"}
- {panel_type: "detail", focus: "object", composition: "landscape"}
- {panel_type: "reaction", focus: "emotion", composition: "landscape"}
- {panel_type: "transition", focus: "environment", composition: "wide"}
- id: "comic_strip"
label: "Comic Strip"
description: "Newspaper strip style"
positions:
- [0.02, 0.3, 0.23, 0.4]
- [0.27, 0.3, 0.23, 0.4]
- [0.52, 0.3, 0.23, 0.4]
- [0.77, 0.3, 0.21, 0.4]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "portrait"}
- {panel_type: "dialogue", focus: "characters", composition: "portrait"}
- {panel_type: "action", focus: "event", composition: "portrait"}
- {panel_type: "reaction", focus: "emotion", composition: "portrait"}
- id: "z_pattern"
label: "Z-Pattern"
description: "Natural reading flow in Z shape"
positions:
- [0.02, 0.02, 0.47, 0.35]
- [0.51, 0.02, 0.47, 0.35]
- [0.02, 0.39, 0.47, 0.59]
- [0.51, 0.39, 0.47, 0.59]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "landscape"}
- {panel_type: "dialogue", focus: "character", composition: "landscape"}
- {panel_type: "action", focus: "character", composition: "portrait"}
- {panel_type: "action", focus: "event", composition: "portrait"}
- id: "explosion"
label: "Explosion"
description: "Central impact with surrounding panels"
positions:
- [0.02, 0.02, 0.35, 0.35]
- [0.63, 0.02, 0.35, 0.35]
- [0.27, 0.27, 0.46, 0.46]
- [0.02, 0.63, 0.96, 0.35]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "square"}
- {panel_type: "detail", focus: "object", composition: "square"}
- {panel_type: "action", focus: "event", composition: "square"}
- {panel_type: "reaction", focus: "characters", composition: "wide"}
5_images:
- id: "hero_banner"
label: "Hero Banner"
description: "Wide establishing shot with four panels below"
positions:
- [0.02, 0.02, 0.96, 0.38]
- [0.02, 0.42, 0.47, 0.28]
- [0.51, 0.42, 0.47, 0.28]
- [0.02, 0.72, 0.47, 0.26]
- [0.51, 0.72, 0.47, 0.26]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "wide"}
- {panel_type: "dialogue", focus: "character", composition: "landscape"}
- {panel_type: "dialogue", focus: "character", composition: "landscape"}
- {panel_type: "action", focus: "event", composition: "landscape"}
- {panel_type: "reaction", focus: "emotion", composition: "landscape"}
- id: "manga_vertical"
label: "Manga Vertical"
description: "Japanese right-to-left vertical flow"
positions:
- [0.52, 0.02, 0.46, 0.32]
- [0.02, 0.02, 0.48, 0.32]
- [0.52, 0.36, 0.46, 0.3]
- [0.02, 0.36, 0.48, 0.3]
- [0.02, 0.68, 0.96, 0.3]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "landscape"}
- {panel_type: "dialogue", focus: "character", composition: "landscape"}
- {panel_type: "action", focus: "character", composition: "landscape"}
- {panel_type: "reaction", focus: "emotion", composition: "landscape"}
- {panel_type: "action", focus: "event", composition: "wide"}
# disabled as it doesn't work great
#- id: "pyramid"
# label: "Pyramid"
# description: "Building tension from top to bottom"
# positions:
# - [0.25, 0.02, 0.5, 0.25]
# - [0.02, 0.29, 0.47, 0.3]
# - [0.51, 0.29, 0.47, 0.3]
# - [0.02, 0.61, 0.31, 0.37]
# - [0.67, 0.61, 0.31, 0.37]
# metadata:
# - {panel_type: "establishing", focus: "environment", composition: "landscape"}
# - {panel_type: "dialogue", focus: "character", composition: "landscape"}
# - {panel_type: "dialogue", focus: "character", composition: "landscape"}
# - {panel_type: "action", focus: "event", composition: "portrait"}
# - {panel_type: "action", focus: "event", composition: "portrait"}
- id: "spotlight_drama"
label: "Spotlight Drama"
description: "Central focus with corner details"
positions:
- [0.02, 0.02, 0.35, 0.35]
- [0.63, 0.02, 0.35, 0.35]
- [0.22, 0.22, 0.56, 0.56]
- [0.02, 0.63, 0.35, 0.35]
- [0.63, 0.63, 0.35, 0.35]
metadata:
- {panel_type: "detail", focus: "object", composition: "square"}
- {panel_type: "detail", focus: "object", composition: "square"}
- {panel_type: "action", focus: "character", composition: "square"}
- {panel_type: "reaction", focus: "emotion", composition: "square"}
- {panel_type: "reaction", focus: "emotion", composition: "square"}
- id: "euro_bd"
label: "Euro BD Classic"
description: "Franco-Belgian structured layout"
positions:
- [0.02, 0.02, 0.47, 0.29]
- [0.51, 0.02, 0.47, 0.29]
- [0.02, 0.33, 0.96, 0.31]
- [0.02, 0.66, 0.47, 0.32]
- [0.51, 0.66, 0.47, 0.32]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "landscape"}
- {panel_type: "dialogue", focus: "character", composition: "landscape"}
- {panel_type: "action", focus: "event", composition: "wide"}
- {panel_type: "dialogue", focus: "characters", composition: "landscape"}
- {panel_type: "reaction", focus: "emotion", composition: "landscape"}
- id: "action_burst"
label: "Action Burst"
description: "Dynamic superhero action layout"
positions:
- [0.02, 0.02, 0.55, 0.55]
- [0.59, 0.02, 0.39, 0.26]
- [0.59, 0.3, 0.39, 0.27]
- [0.02, 0.59, 0.47, 0.39]
- [0.51, 0.59, 0.47, 0.39]
metadata:
- {panel_type: "action", focus: "event", composition: "square"}
- {panel_type: "detail", focus: "object", composition: "landscape"}
- {panel_type: "closeup", focus: "emotion", composition: "landscape"}
- {panel_type: "action", focus: "character", composition: "landscape"}
- {panel_type: "reaction", focus: "characters", composition: "landscape"}
6_images:
- id: "classic_grid"
label: "Classic 2x3 Grid"
description: "Traditional American comic layout"
positions:
- [0.02, 0.02, 0.47, 0.31]
- [0.51, 0.02, 0.47, 0.31]
- [0.02, 0.345, 0.47, 0.31]
- [0.51, 0.345, 0.47, 0.31]
- [0.02, 0.67, 0.47, 0.31]
- [0.51, 0.67, 0.47, 0.31]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "landscape"}
- {panel_type: "dialogue", focus: "character", composition: "landscape"}
- {panel_type: "dialogue", focus: "character", composition: "landscape"}
- {panel_type: "action", focus: "event", composition: "landscape"}
- {panel_type: "action", focus: "event", composition: "landscape"}
- {panel_type: "reaction", focus: "emotion", composition: "landscape"}
- id: "hero_surround"
label: "Hero Surrounded"
description: "Large central panel with five around it"
positions:
- [0.02, 0.02, 0.31, 0.28]
- [0.67, 0.02, 0.31, 0.28]
- [0.02, 0.7, 0.31, 0.28]
- [0.67, 0.7, 0.31, 0.28]
- [0.25, 0.25, 0.5, 0.5]
- [0.35, 0.35, 0.63, 0.33]
metadata:
- {panel_type: "detail", focus: "object", composition: "square"}
- {panel_type: "detail", focus: "object", composition: "square"}
- {panel_type: "detail", focus: "object", composition: "square"}
- {panel_type: "detail", focus: "object", composition: "square"}
- {panel_type: "action", focus: "character", composition: "square"}
- {panel_type: "action", focus: "event", composition: "landscape"}
- id: "staircase"
label: "Staircase"
description: "Diagonal reading flow"
positions:
- [0.02, 0.02, 0.45, 0.3]
- [0.49, 0.02, 0.49, 0.3]
- [0.02, 0.34, 0.45, 0.3]
- [0.49, 0.34, 0.49, 0.3]
- [0.02, 0.66, 0.45, 0.32]
- [0.49, 0.66, 0.49, 0.32]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "landscape"}
- {panel_type: "dialogue", focus: "character", composition: "landscape"}
- {panel_type: "dialogue", focus: "character", composition: "landscape"}
- {panel_type: "action", focus: "event", composition: "landscape"}
- {panel_type: "action", focus: "character", composition: "landscape"}
- {panel_type: "reaction", focus: "emotion", composition: "landscape"}
- id: "splash_detail"
label: "Splash with Details"
description: "Full-page moment with detail insets"
positions:
- [0.05, 0.05, 0.4, 0.4]
- [0.55, 0.05, 0.4, 0.4]
- [0.05, 0.55, 0.4, 0.4]
- [0.55, 0.55, 0.4, 0.4]
- [0.25, 0.25, 0.5, 0.5]
- [0.35, 0.35, 0.3, 0.3]
metadata:
- {panel_type: "detail", focus: "environment", composition: "square"}
- {panel_type: "detail", focus: "object", composition: "square"}
- {panel_type: "detail", focus: "object", composition: "square"}
- {panel_type: "detail", focus: "character", composition: "square"}
- {panel_type: "action", focus: "event", composition: "square"}
- {panel_type: "closeup", focus: "emotion", composition: "square"}
- id: "manga_4koma_plus"
label: "Manga 4-Koma Plus"
description: "Japanese 4-panel with header/footer"
positions:
- [0.02, 0.02, 0.96, 0.15]
- [0.02, 0.19, 0.47, 0.25]
- [0.51, 0.19, 0.47, 0.25]
- [0.02, 0.46, 0.47, 0.25]
- [0.51, 0.46, 0.47, 0.25]
- [0.02, 0.73, 0.96, 0.25]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "wide"}
- {panel_type: "dialogue", focus: "character", composition: "landscape"}
- {panel_type: "dialogue", focus: "character", composition: "landscape"}
- {panel_type: "action", focus: "event", composition: "landscape"}
- {panel_type: "action", focus: "event", composition: "landscape"}
- {panel_type: "reaction", focus: "emotion", composition: "wide"}
- id: "tension_build"
label: "Tension Builder"
description: "Progressive revelation layout"
positions:
- [0.02, 0.02, 0.96, 0.22]
- [0.02, 0.26, 0.47, 0.22]
- [0.51, 0.26, 0.47, 0.22]
- [0.02, 0.5, 0.31, 0.48]
- [0.345, 0.5, 0.31, 0.48]
- [0.67, 0.5, 0.31, 0.48]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "wide"}
- {panel_type: "dialogue", focus: "character", composition: "landscape"}
- {panel_type: "dialogue", focus: "character", composition: "landscape"}
- {panel_type: "action", focus: "character", composition: "portrait"}
- {panel_type: "action", focus: "character", composition: "portrait"}
- {panel_type: "closeup", focus: "emotion", composition: "portrait"}
7_images:
#- id: "hero_hexagon"
# label: "Hero Hexagon"
# description: "Central focus with six surrounding"
# positions:
# - [0.28, 0.02, 0.44, 0.3]
# - [0.02, 0.25, 0.3, 0.25]
# - [0.68, 0.25, 0.3, 0.25]
# - [0.25, 0.35, 0.5, 0.3]
# - [0.02, 0.52, 0.3, 0.25]
# - [0.68, 0.52, 0.3, 0.25]
# - [0.28, 0.68, 0.44, 0.3]
# metadata:
# - {panel_type: "establishing", focus: "environment", composition: "landscape"}
# - {panel_type: "detail", focus: "object", composition: "landscape"}
# - {panel_type: "detail", focus: "object", composition: "landscape"}
# - {panel_type: "action", focus: "character", composition: "landscape"}
# - {panel_type: "dialogue", focus: "character", composition: "landscape"}
# - {panel_type: "dialogue", focus: "character", composition: "landscape"}
# - {panel_type: "reaction", focus: "emotion", composition: "landscape"}
- id: "narrative_flow"
label: "Narrative Flow"
description: "Story progression with varied sizes"
positions:
- [0.02, 0.02, 0.47, 0.28]
- [0.51, 0.02, 0.47, 0.28]
- [0.02, 0.32, 0.96, 0.24]
- [0.02, 0.58, 0.31, 0.4]
- [0.345, 0.58, 0.31, 0.4]
- [0.67, 0.58, 0.31, 0.2]
- [0.67, 0.8, 0.31, 0.18]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "landscape"}
- {panel_type: "dialogue", focus: "character", composition: "landscape"}
- {panel_type: "action", focus: "event", composition: "wide"}
- {panel_type: "action", focus: "character", composition: "portrait"}
- {panel_type: "action", focus: "character", composition: "portrait"}
- {panel_type: "closeup", focus: "emotion", composition: "portrait"}
- {panel_type: "detail", focus: "object", composition: "portrait"}
- id: "double_spread"
label: "Double Feature"
description: "Two hero panels with details"
positions:
- [0.02, 0.02, 0.47, 0.45]
- [0.51, 0.02, 0.47, 0.45]
- [0.02, 0.49, 0.31, 0.24]
- [0.345, 0.49, 0.31, 0.24]
- [0.67, 0.49, 0.31, 0.24]
- [0.02, 0.75, 0.47, 0.23]
- [0.51, 0.75, 0.47, 0.23]
metadata:
- {panel_type: "action", focus: "event", composition: "portrait"}
- {panel_type: "action", focus: "event", composition: "portrait"}
- {panel_type: "detail", focus: "object", composition: "landscape"}
- {panel_type: "dialogue", focus: "character", composition: "landscape"}
- {panel_type: "detail", focus: "object", composition: "landscape"}
- {panel_type: "reaction", focus: "emotion", composition: "landscape"}
- {panel_type: "reaction", focus: "emotion", composition: "landscape"}
# disabled as it doesn't work great
#- id: "spiral_narrative"
# label: "Spiral Narrative"
# description: "Circular reading flow"
# positions:
# - [0.28, 0.02, 0.44, 0.25]
# - [0.52, 0.15, 0.46, 0.25]
# - [0.52, 0.42, 0.46, 0.25]
# - [0.28, 0.55, 0.44, 0.25]
# - [0.02, 0.42, 0.44, 0.25]
# - [0.02, 0.15, 0.44, 0.25]
# - [0.3, 0.3, 0.4, 0.22]
# metadata:
# - {panel_type: "establishing", focus: "environment", composition: "landscape"}
# - {panel_type: "dialogue", focus: "character", composition: "landscape"}
# - {panel_type: "action", focus: "event", composition: "landscape"}
# - {panel_type: "action", focus: "event", composition: "landscape"}
# - {panel_type: "dialogue", focus: "character", composition: "landscape"}
# - {panel_type: "reaction", focus: "emotion", composition: "landscape"}
# - {panel_type: "closeup", focus: "character", composition: "landscape"}
- id: "action_montage"
label: "Action Montage"
description: "Fast-paced action sequence"
positions:
- [0.02, 0.02, 0.96, 0.3]
- [0.02, 0.34, 0.31, 0.3]
- [0.345, 0.34, 0.31, 0.3]
- [0.67, 0.34, 0.31, 0.3]
- [0.02, 0.66, 0.23, 0.32]
- [0.27, 0.66, 0.23, 0.32]
- [0.52, 0.66, 0.46, 0.32]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "wide"}
- {panel_type: "action", focus: "event", composition: "square"}
- {panel_type: "action", focus: "event", composition: "square"}
- {panel_type: "action", focus: "event", composition: "square"}
- {panel_type: "closeup", focus: "emotion", composition: "portrait"}
- {panel_type: "closeup", focus: "emotion", composition: "portrait"}
- {panel_type: "reaction", focus: "characters", composition: "landscape"}
- id: "cinematic_sequence"
label: "Cinematic Sequence"
description: "Movie-like panel progression"
positions:
- [0.02, 0.02, 0.96, 0.28]
- [0.02, 0.32, 0.47, 0.2]
- [0.51, 0.32, 0.47, 0.2]
- [0.02, 0.54, 0.31, 0.21]
- [0.345, 0.54, 0.31, 0.21]
- [0.67, 0.54, 0.31, 0.21]
- [0.02, 0.77, 0.96, 0.21]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "wide"}
- {panel_type: "dialogue", focus: "character", composition: "landscape"}
- {panel_type: "dialogue", focus: "character", composition: "landscape"}
- {panel_type: "action", focus: "event", composition: "square"}
- {panel_type: "action", focus: "event", composition: "square"}
- {panel_type: "closeup", focus: "emotion", composition: "square"}
- {panel_type: "reaction", focus: "characters", composition: "wide"}
8_images:
- id: "mega_grid"
label: "Mega Grid"
description: "Classic 4x2 grid"
positions:
- [0.02, 0.02, 0.23, 0.47]
- [0.27, 0.02, 0.23, 0.47]
- [0.52, 0.02, 0.23, 0.47]
- [0.77, 0.02, 0.21, 0.47]
- [0.02, 0.51, 0.23, 0.47]
- [0.27, 0.51, 0.23, 0.47]
- [0.52, 0.51, 0.23, 0.47]
- [0.77, 0.51, 0.21, 0.47]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "portrait"}
- {panel_type: "dialogue", focus: "character", composition: "portrait"}
- {panel_type: "dialogue", focus: "character", composition: "portrait"}
- {panel_type: "action", focus: "event", composition: "portrait"}
- {panel_type: "action", focus: "event", composition: "portrait"}
- {panel_type: "action", focus: "character", composition: "portrait"}
- {panel_type: "closeup", focus: "emotion", composition: "portrait"}
- {panel_type: "reaction", focus: "emotion", composition: "portrait"}
- id: "chapter_opener"
label: "Chapter Opener"
description: "Splash page with progressive reveal"
positions:
- [0.02, 0.02, 0.96, 0.45]
- [0.02, 0.49, 0.23, 0.24]
- [0.27, 0.49, 0.23, 0.24]
- [0.52, 0.49, 0.23, 0.24]
- [0.77, 0.49, 0.21, 0.24]
- [0.02, 0.75, 0.23, 0.23]
- [0.27, 0.75, 0.23, 0.23]
- [0.52, 0.75, 0.46, 0.23]
metadata:
- {panel_type: "splash", focus: "environment", composition: "wide"}
- {panel_type: "detail", focus: "object", composition: "square"}
- {panel_type: "detail", focus: "character", composition: "square"}
- {panel_type: "dialogue", focus: "character", composition: "square"}
- {panel_type: "dialogue", focus: "character", composition: "square"}
- {panel_type: "action", focus: "event", composition: "square"}
- {panel_type: "closeup", focus: "emotion", composition: "square"}
- {panel_type: "reaction", focus: "characters", composition: "landscape"}
- id: "parallel_stories"
label: "Parallel Stories"
description: "Two simultaneous narratives"
positions:
- [0.02, 0.02, 0.47, 0.23]
- [0.51, 0.02, 0.47, 0.23]
- [0.02, 0.27, 0.47, 0.23]
- [0.51, 0.27, 0.47, 0.23]
- [0.02, 0.52, 0.47, 0.23]
- [0.51, 0.52, 0.47, 0.23]
- [0.02, 0.77, 0.47, 0.21]
- [0.51, 0.77, 0.47, 0.21]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "landscape"}
- {panel_type: "establishing", focus: "environment", composition: "landscape"}
- {panel_type: "dialogue", focus: "character", composition: "landscape"}
- {panel_type: "dialogue", focus: "character", composition: "landscape"}
- {panel_type: "action", focus: "event", composition: "landscape"}
- {panel_type: "action", focus: "event", composition: "landscape"}
- {panel_type: "reaction", focus: "emotion", composition: "landscape"}
- {panel_type: "reaction", focus: "emotion", composition: "landscape"}
- id: "hero_explosion"
label: "Hero Explosion"
description: "Central impact radiating outward"
positions:
- [0.02, 0.02, 0.3, 0.3]
- [0.68, 0.02, 0.3, 0.3]
- [0.02, 0.68, 0.3, 0.3]
- [0.68, 0.68, 0.3, 0.3]
- [0.34, 0.02, 0.32, 0.28]
- [0.02, 0.34, 0.28, 0.32]
- [0.7, 0.34, 0.28, 0.32]
- [0.34, 0.7, 0.32, 0.28]
metadata:
- {panel_type: "detail", focus: "object", composition: "square"}
- {panel_type: "detail", focus: "object", composition: "square"}
- {panel_type: "detail", focus: "character", composition: "square"}
- {panel_type: "detail", focus: "character", composition: "square"}
- {panel_type: "action", focus: "event", composition: "landscape"}
- {panel_type: "action", focus: "event", composition: "portrait"}
- {panel_type: "action", focus: "event", composition: "portrait"}
- {panel_type: "closeup", focus: "emotion", composition: "landscape"}
- id: "magazine_style"
label: "Magazine Style"
description: "Editorial layout with varied sizes"
positions:
- [0.02, 0.02, 0.63, 0.35]
- [0.67, 0.02, 0.31, 0.35]
- [0.02, 0.39, 0.31, 0.28]
- [0.35, 0.39, 0.31, 0.28]
- [0.68, 0.39, 0.3, 0.28]
- [0.02, 0.69, 0.31, 0.29]
- [0.35, 0.69, 0.31, 0.29]
- [0.68, 0.69, 0.3, 0.29]
metadata:
- {panel_type: "establishing", focus: "environment", composition: "landscape"}
- {panel_type: "dialogue", focus: "character", composition: "portrait"}
- {panel_type: "detail", focus: "object", composition: "square"}
- {panel_type: "action", focus: "event", composition: "square"}
- {panel_type: "dialogue", focus: "character", composition: "square"}
- {panel_type: "action", focus: "character", composition: "square"}
- {panel_type: "closeup", focus: "emotion", composition: "square"}
- {panel_type: "reaction", focus: "emotion", composition: "square"}
- id: "epic_finale"
label: "Epic Finale"
description: "Climactic page layout"
positions:
- [0.02, 0.02, 0.31, 0.25]
- [0.345, 0.02, 0.31, 0.25]
- [0.67, 0.02, 0.31, 0.25]
- [0.02, 0.29, 0.47, 0.4]
- [0.51, 0.29, 0.47, 0.4]
- [0.02, 0.71, 0.31, 0.27]
- [0.345, 0.71, 0.31, 0.27]
- [0.67, 0.71, 0.31, 0.27]
metadata:
- {panel_type: "detail", focus: "object", composition: "landscape"}
- {panel_type: "dialogue", focus: "character", composition: "landscape"}
- {panel_type: "detail", focus: "object", composition: "landscape"}
- {panel_type: "action", focus: "event", composition: "portrait"}
- {panel_type: "action", focus: "event", composition: "portrait"}
- {panel_type: "closeup", focus: "emotion", composition: "landscape"}
- {panel_type: "reaction", focus: "emotion", composition: "landscape"}
- {panel_type: "reaction", focus: "characters", composition: "landscape"}