V3 uses a layered schema. The user sees a simple control panel and profile library; the agent uses a stricter execution schema; adapters derive scenario variants; generation uses quality constraints.
{
"version": "3.0",
"persistence_state": "unsaved_candidate | saved_profile | saved_adapter",
"profile_id": "my-design-profile-01 | null",
"profile_name": "Cyber Minimal Editorial",
"current_profile_version": "v001 | null",
"source": {},
"discovery": {},
"user_dna": {},
"execution_dna": {},
"design_prompt": {},
"negative_constraints": [],
"tokens": {},
"profile_metadata": {},
"versioning": {},
"compact_usage": {},
"adapters": {},
"quality_constraints": {}
}For unsaved active Design DNA candidates, profile_id, current_profile_version, profile_metadata, versioning, compact_usage, and adapters may be absent or null. The candidate is valid for generating the current deck after the Design DNA Panel is accepted.
For saved profiles, profile_metadata and versioning are required. compact_usage is optional and must not be updated by default during one-off deck generation. discovery is required when the profile came from no-image Design Discovery. adapters is required only when scenario variants are created.
The default result of extraction/discovery is an unsaved active candidate, not a saved profile.
Required for deck generation:
versionpersistence_state: "unsaved_candidate"sourceordiscoveryuser_dnaexecution_dnatokens- reference subject firewall policy when the candidate came from images
negative_constraintsdesign_promptquality_constraints
Do not write this candidate to design-profiles/ by default. If the user approves saving after reviewing the generated deck, promote the candidate into a saved profile by assigning profile_id, profile_name, current_profile_version, profile_metadata, and versioning.
A saved Design Profile should keep only what is needed to reproduce the style.
Required in every version snapshot:
versionprofile_idprofile_namesourceordiscoveryuser_dnaexecution_dnatokens- reference subject firewall policy when the profile came from images
negative_constraintsdesign_promptquality_constraints
Required in profile.json:
profile_iddisplay_namecurrent_versioncreated_atupdated_atsource_summarybest_forrisky_forprimary_moodsone_line_summaryversionsadapters, if any
Optional by default:
- copied reference images
- thumbnail galleries
- detailed usage logs
- exported prompts
- exported design tokens
- human-readable reports
Store bulky or derived assets only when the user asks for them. The source of truth is the version snapshot JSON, not exported prompts or reports.
Records where the style came from and how references were fused.
Valid input_mode values:
single_imagemulti_imagesaved_profileno_image_discoverynamed_style_discovery
{
"source": {
"input_mode": "multi_image",
"fusion_strategy": "blend",
"source_assets": [
{
"id": "img_01",
"type": "game_screenshot",
"description": "Cyberpunk 2077 neon city scene",
"weight": 0.45,
"role": "style_reference",
"style_traits_allowed": [
"dark cinematic atmosphere",
"neon accent contrast",
"high contrast lighting",
"immersive depth"
],
"subject_matter_detected": [
"vehicles",
"people",
"buildings"
],
"subject_replication_policy": "forbidden"
},
{
"id": "img_02",
"type": "website_screenshot",
"description": "Notion homepage",
"weight": 0.55,
"role": "style_reference",
"style_traits_allowed": [
"high whitespace",
"strict grid",
"calm typography",
"low visual noise"
],
"subject_matter_detected": [
"specific UI surface",
"icons",
"logo"
],
"subject_replication_policy": "forbidden"
}
],
"extraction_confidence": 0.82
}
}role must distinguish style_reference from content_asset. Style references must not be embedded in the deck by default.
For every style_reference, record style_traits_allowed, subject_matter_detected, and subject_replication_policy. The default policy is forbidden: identifiable subjects in reference images are not reusable visual content and cannot be redrawn, traced, stylized, approximated, abstracted into mascots, or rebuilt as CSS/SVG/HTML/AI visuals. A cat reference may produce yellow palette, hand-drawn line quality, soft color blocks, or playful hierarchy; it must not produce a cat, cat outline, cat ears, cat face, or cat-shaped decoration.
Allowed style traits include palette, type mood, composition rhythm, border/shadow treatment, material, texture, line quality, information density, crop behavior, contrast behavior, and motion feeling. Forbidden subject matter includes people, animals, characters, mascots, specific products, buildings, vehicles, toys, recognizable objects, and subject parts such as faces, eyes, ears, tails, fins, horns, wings, paws, posture, clothing, fur, scales, and silhouettes.
When Design DNA comes from no-image discovery, record questions, answers, named style parsing, and chosen direction.
{
"discovery": {
"mode": "no_image",
"named_style_input": "OpenAI style but for university defense",
"answers": {
"first_impression": "authoritative and credible",
"density": "balanced for live explanation",
"closest_world": "academic/research"
},
"directions": [
{
"name": "OpenAI Minimal Academic",
"summary": "Calm, credible, medium-density research presentation."
},
{
"name": "Editorial Research",
"summary": "Magazine-like narrative research deck."
}
],
"selected_direction": "OpenAI Minimal Academic"
}
}Saved profiles need enough metadata to become manageable assets.
{
"profile_metadata": {
"profile_id": "cyber-minimal-editorial",
"display_name": "Cyber Minimal Editorial",
"created_at": "2026-06-05T21:40:00+08:00",
"updated_at": "2026-06-05T22:10:00+08:00",
"last_used_at": "2026-06-05T22:30:00+08:00",
"last_output_path": "outputs/math-modeling-defense/index.html",
"best_for": ["product launch", "tech portfolio", "creative pitch"],
"risky_for": ["formula-heavy defense", "dense financial report"],
"primary_moods": ["minimal", "tech", "editorial"],
"one_line_summary": "Dark tech mood softened by Notion-like grid clarity."
}
}Versions are immutable Design DNA snapshots. Tuning creates a new version.
{
"versioning": {
"current_version": "v002",
"versions": [
{
"version_id": "v001",
"created_at": "2026-06-05T21:40:00+08:00",
"change_reason": "original extraction",
"snapshot_path": "versions/v001.json"
},
{
"version_id": "v002",
"created_at": "2026-06-05T22:10:00+08:00",
"parent_version_id": "v001",
"change_reason": "reduced cyber intensity and increased whitespace",
"snapshot_path": "versions/v002.json",
"diff_path": "diffs/v001-to-v002.md"
}
]
}
}This is the visible control panel. It should be easy to understand and tune.
These exist for every profile:
- whitespace
- information_density
- image_weight
- title_weight
- chart_weight
- text_density
- formula_friendliness
- grid_strictness
- hierarchy_strength
- motion_intensity
The minimum panel shown to users must include:
Whitespace
Information density
Image/visual weight
Title weight
Chart weight
Text density
Motion intensity
These are inferred from references or discovery answers and may vary:
- cyber
- minimal
- editorial
- academic
- tech
- premium
- futuristic
- business
- playful
- serious
- youthful
- luxurious
- cinematic
- trustworthy
- experimental
- toy_3d
- candy_color
- soft_future
Example:
{
"user_dna": {
"fixed_parameters": {
"whitespace": 70,
"information_density": 35,
"image_weight": 65,
"title_weight": 85,
"chart_weight": 35,
"text_density": 30,
"formula_friendliness": 20,
"grid_strictness": 78,
"hierarchy_strength": 85,
"motion_intensity": 35
},
"semantic_tags": {
"minimal": 90,
"cyber": 30,
"tech": 82,
"editorial": 55,
"academic": 20,
"business": 45,
"playful": 12,
"serious": 68,
"premium": 74,
"emotional": 28
},
"plain_language_summary": "A restrained cyber-minimal design combining dark tech atmosphere with Notion-like grid clarity."
}
}Mood is visual psychology. It must not be reduced to colors.
Recommended fields:
- minimal
- tech
- academic
- business
- futuristic
- premium
- editorial
- youthful
- playful
- serious
- authoritative
- trustworthy
- emotional
- experimental
- luxurious
Impact examples:
- high minimal -> fewer blocks, more whitespace, fewer colors
- high academic -> more chart weight, formula friendliness, clearer citations
- high cyber -> darker surfaces, neon accents, stronger contrast
- high premium -> restrained palette, larger whitespace, refined type hierarchy
Composition controls how slides are organized.
Recommended fields:
- whitespace
- information_density
- alignment
- grid_system
- grid_strictness
- hierarchy_strength
- visual_focus
- asymmetry
- layout_rhythm
- section_rhythm
- preferred_layout_archetypes
- forbidden_layout_patterns
Visual controls design tokens and treatments.
Recommended fields:
- primary_background
- secondary_background
- primary_text
- secondary_text
- accent_primary
- accent_secondary
- neutral_scale
- heading_style
- body_style
- font_candidates
- type_scale
- line_height
- radius
- border_style
- shadow_style
- gradient_usage
- material
- texture
- image_treatment
- crop_strategy
Content Strategy defines what the style can safely carry.
Recommended fields:
- density_mode
- max_words_per_slide
- max_bullets_per_slide
- max_bullet_length
- image_text_ratio
- image_weight
- chart_weight
- formula_friendliness
- data_table_friendliness
- text_heavy_tolerance
- preferred_content_forms
- split_rules
Presentation controls rhythm, motion, and storytelling.
Recommended fields:
- pacing
- narrative_style
- speaker_led_vs_reading_first
- animation_intensity
- transition_style
- section_break_frequency
- emotional_curve
- reveal_strategy
- motion_recipes
Execution DNA is the stricter internal schema used to generate slides.
It should include:
- fixed 16:9 canvas
- safe margins
- design tokens
- grid rules
- layout behavior
- typography scale
- density gates
- image treatment rules
- reference subject firewall
- mechanical layout preflight requirements
- motion rules
- negative constraints
Example:
{
"execution_dna": {
"canvas": {
"aspect_ratio": "16:9",
"target_size": { "width": 1920, "height": 1080 },
"safe_margin": { "top": 90, "right": 110, "bottom": 90, "left": 110 }
},
"composition_rules": {
"max_primary_blocks": 3,
"max_nested_cards": 0,
"snap_to_grid": true,
"avoid_centered_everything": true,
"prefer_single_primary_focus": true
},
"density_rules": {
"max_words_per_slide": 55,
"minimum_font_size": 24,
"split_when_overflow": true
},
"reference_subject_firewall": {
"enabled": true,
"forbidden_subjects": [
"people",
"animals",
"characters",
"mascots",
"specific objects from references"
],
"allowed_surrogates": [
"typographic visual",
"abstract material object",
"geometric diagram",
"texture",
"pattern",
"intentional whitespace"
],
"forbid_subject_silhouette": true,
"forbid_subject_parts": true,
"forbid_svg_redraw": true,
"forbid_ai_redraw": true
},
"mechanical_layout_preflight": {
"required_before_html": true,
"estimate_text_fit": true,
"reserve_visual_effect_padding": true,
"reserve_nav_safe_zone": true,
"check_collision_pairs": true,
"if_fail": "recompose_reduce_copy_reduce_title_or_split_slide"
},
"layout_box_budget": {
"required_before_html": true,
"required_height_formula": "estimated_lines * font_size * line_height + glyph_pad_top + glyph_pad_bottom + visual_effect_pad",
"chain_readable_zones": true,
"forbid_independent_absolute_top_for_content": true,
"forbid_dom_order_overlap_fix": true,
"forbid_z_index_collision_fix": true,
"display_serif_line_height_min": 1.02,
"display_serif_multiline_line_height_min": 1.06,
"display_title_single_line_decorative_floor": 0.95,
"body_and_card_multiline_line_height_min": 1.28,
"descender_pad_em": "0.18-0.28",
"if_fail": "lower_title_size_or_move_next_zone_or_split_slide"
},
"motion_rules": {
"max_motion_intensity": 45,
"prefers_reduced_motion": true,
"avoid_generic_repeated_animation": true
}
}
}Adapters are derived scenario variants of a profile.
{
"adapters": {
"academic": {
"adapter_id": "cyber-minimal-academic",
"adapter_name": "Cyber Minimal Academic",
"base_profile_id": "cyber-minimal-editorial",
"base_version_id": "v002",
"current_adapter_version": "a001",
"scenario": "math_modeling",
"selected_strategy": "cell_division",
"preserve": ["minimal grid", "dark tech mood", "single accent"],
"adapt": {
"semantic_tags.cyber": { "from": 30, "to": 15 },
"semantic_tags.academic": { "from": 20, "to": 65 },
"fixed_parameters.information_density": { "from": 35, "to": 65 },
"fixed_parameters.chart_weight": { "from": 35, "to": 80 },
"fixed_parameters.whitespace": { "from": 70, "to": 50 }
},
"conflicts": [
"Base profile has low information density for math modeling.",
"Base profile has low formula friendliness."
],
"visual_director_advice": "Preserve cyber-minimal identity but give evidence slides more room.",
"diff_path": "adapters/academic/diffs/base-to-a001.md"
}
}
}Adapter changes must include visual consequences, not only numeric deltas.
Every profile must include "do not" rules. These are often more effective than style adjectives.
Examples:
- Do not shrink text below the minimum readable size.
- Do not use more than one accent color on one slide unless DNA supports it.
- Do not create dense card walls unless the scenario explicitly requires dashboard density.
- Do not preserve high whitespace when it makes charts unreadable.
- Do not use decorative effects that compete with the core message.
- Do not mix unrelated visual systems inside one deck.
- Do not place reference images into the deck unless explicitly marked as content.
The design prompt is compiled from the schema. It is not the source of truth. Exporting a prompt must not mutate the profile. To change style, update Design DNA, create a new version or adapter version, then regenerate the derived prompt.
{
"design_prompt": {
"short": "Cyber Minimal Editorial: controlled dark tech mood, Notion-like grid clarity, high whitespace, single-focus slides.",
"long": "Use a restrained cyber-minimal visual system. Preserve dark technology atmosphere but reduce neon intensity and visual noise. Combine it with Notion-like spacing, grid clarity, calm editorial structure, large titles, single focal visuals, short claims, and precise diagrams.",
"style_do": [
"Use high whitespace and clear typographic hierarchy",
"Use one accent color per slide",
"Use large single-focus visuals",
"Use grid-aligned layouts"
],
"style_dont": [
"Do not use multiple neon colors together",
"Do not create dense card walls",
"Do not shrink text to fit content",
"Do not mix gaming UI language with academic diagrams without adaptation"
]
}
}