@oh-story/dsh 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +38 -0
- package/cordis.patch.yml +3 -0
- package/lib/client.js +1201 -0
- package/lib/client.js.map +7 -0
- package/lib/drama/LICENSE.upstream +21 -0
- package/lib/drama/manifest.json +1012 -0
- package/lib/drama/skills/short-drama/SKILL.md +153 -0
- package/lib/drama/skills/short-drama/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama/assets/creator-decision.example.jsonl +4 -0
- package/lib/drama/skills/short-drama/assets/production-observation.example.jsonl +2 -0
- package/lib/drama/skills/short-drama/assets/project-template/short-drama.json +36 -0
- package/lib/drama/skills/short-drama/assets/reference-observation.example.jsonl +2 -0
- package/lib/drama/skills/short-drama/references/audience-reveal.md +74 -0
- package/lib/drama/skills/short-drama/references/contract-and-ownership.md +94 -0
- package/lib/drama/skills/short-drama/references/creator-workflow.md +82 -0
- package/lib/drama/skills/short-drama/references/form-cards/Q/347/211/210/350/241/250/350/276/276.md +73 -0
- package/lib/drama/skills/short-drama/references/form-cards//344/272/214/347/273/264/345/212/250/346/200/201/346/274/253.md +74 -0
- package/lib/drama/skills/short-drama/references/form-cards//345/233/275/346/274/253/344/272/214/346/254/241/345/205/203.md +79 -0
- package/lib/drama/skills/short-drama/references/form-cards//345/256/236/346/213/215.md +75 -0
- package/lib/drama/skills/short-drama/references/form-cards//346/260/264/345/242/250/347/254/224/350/247/246.md +85 -0
- package/lib/drama/skills/short-drama/references/form-cards//351/243/216/346/240/274/345/214/226/344/270/211/347/273/264.md +72 -0
- package/lib/drama/skills/short-drama/references/knowhow-index.md +80 -0
- package/lib/drama/skills/short-drama/references/lifecycle-commands.md +130 -0
- package/lib/drama/skills/short-drama/references/look-development.md +52 -0
- package/lib/drama/skills/short-drama/references/pickup-and-alternate.md +58 -0
- package/lib/drama/skills/short-drama/references/production-form-profiles.md +126 -0
- package/lib/drama/skills/short-drama/references/reference-roles.md +142 -0
- package/lib/drama/skills/short-drama/references/runtime-preflight.md +27 -0
- package/lib/drama/skills/short-drama/scripts/project_tool.py +1963 -0
- package/lib/drama/skills/short-drama/scripts/selftest.py +287 -0
- package/lib/drama/skills/short-drama-assets/SKILL.md +187 -0
- package/lib/drama/skills/short-drama-assets/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-assets/assets/character-look.example.jsonl +3 -0
- package/lib/drama/skills/short-drama-assets/assets/continuity.example.jsonl +4 -0
- package/lib/drama/skills/short-drama-assets/assets/decisions.example.jsonl +5 -0
- package/lib/drama/skills/short-drama-assets/assets/location-view.example.jsonl +3 -0
- package/lib/drama/skills/short-drama-assets/assets/occurrences.example.jsonl +5 -0
- package/lib/drama/skills/short-drama-assets/assets/prop-state.example.jsonl +3 -0
- package/lib/drama/skills/short-drama-assets/examples/minimal/characters.jsonl +2 -0
- package/lib/drama/skills/short-drama-assets/examples/minimal/looks.jsonl +2 -0
- package/lib/drama/skills/short-drama-assets/references/asset-review-checklist.md +89 -0
- package/lib/drama/skills/short-drama-assets/references/character-and-look.md +164 -0
- package/lib/drama/skills/short-drama-assets/references/continuity-delta.md +123 -0
- package/lib/drama/skills/short-drama-assets/references/identity-vs-variant.md +146 -0
- package/lib/drama/skills/short-drama-assets/references/location-and-view.md +84 -0
- package/lib/drama/skills/short-drama-assets/references/occurrence-extraction.md +111 -0
- package/lib/drama/skills/short-drama-assets/references/prop-and-state.md +107 -0
- package/lib/drama/skills/short-drama-assets/references/stage-contract.md +136 -0
- package/lib/drama/skills/short-drama-assets/references/voice-direction.md +171 -0
- package/lib/drama/skills/short-drama-assets/scripts/asset_check.py +267 -0
- package/lib/drama/skills/short-drama-assets/scripts/selftest.py +89 -0
- package/lib/drama/skills/short-drama-develop/SKILL.md +157 -0
- package/lib/drama/skills/short-drama-develop/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-develop/assets/adaptation-map.example.jsonl +1 -0
- package/lib/drama/skills/short-drama-develop/assets/creative-brief.md +120 -0
- package/lib/drama/skills/short-drama-develop/assets/episode-map.jsonl +1 -0
- package/lib/drama/skills/short-drama-develop/assets/story-engine.md +181 -0
- package/lib/drama/skills/short-drama-develop/references/adaptation-craft.md +219 -0
- package/lib/drama/skills/short-drama-develop/references/creative-reference-intake.md +57 -0
- package/lib/drama/skills/short-drama-develop/references/director-brief-craft.md +113 -0
- package/lib/drama/skills/short-drama-develop/references/episode-design.md +509 -0
- package/lib/drama/skills/short-drama-develop/references/genre-and-hook-playbook.md +240 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//344/272/262/345/255/220/351/232/220/347/247/230.md +112 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//344/273/231/344/276/240/344/277/256/347/234/237.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//345/212/250/344/275/234/344/273/273/345/212/241.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//345/217/244/350/243/205/346/235/203/350/260/213.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//345/244/215/344/273/207/346/211/223/350/204/270.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//345/256/266/345/272/255/345/205/263/347/263/273.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//346/202/254/347/226/221/350/247/204/345/210/231.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//347/224/237/346/264/273/346/265/201.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//347/240/264/351/225/234/351/207/215/345/234/206.md +109 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//350/201/214/345/234/272/345/226/234/345/211/247.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//350/261/252/351/227/250/345/251/232/346/201/213.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards//350/272/253/344/273/275/351/224/231/344/275/215.md +51 -0
- package/lib/drama/skills/short-drama-develop/references/genre-cards.md +92 -0
- package/lib/drama/skills/short-drama-develop/references/mechanism-loop.md +282 -0
- package/lib/drama/skills/short-drama-develop/references/multi-episode-intake.md +128 -0
- package/lib/drama/skills/short-drama-develop/references/premise-devices.md +211 -0
- package/lib/drama/skills/short-drama-develop/references/reveal-reversal-payoff.md +99 -0
- package/lib/drama/skills/short-drama-develop/references/serial-character-and-memory.md +293 -0
- package/lib/drama/skills/short-drama-develop/references/stage-contract.md +88 -0
- package/lib/drama/skills/short-drama-develop/references/story-craft.md +359 -0
- package/lib/drama/skills/short-drama-develop/scripts/episode_intake.py +699 -0
- package/lib/drama/skills/short-drama-develop/scripts/selftest.py +47 -0
- package/lib/drama/skills/short-drama-image-prompts/SKILL.md +181 -0
- package/lib/drama/skills/short-drama-image-prompts/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-image-prompts/assets/image-prompt-spec.jsonl.md +187 -0
- package/lib/drama/skills/short-drama-image-prompts/assets/image-prompts.md +37 -0
- package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-frame-spec.jsonl.md +128 -0
- package/lib/drama/skills/short-drama-image-prompts/assets/lookdev-prompts.md +31 -0
- package/lib/drama/skills/short-drama-image-prompts/examples/minimal-image-prompt-specs.jsonl +2 -0
- package/lib/drama/skills/short-drama-image-prompts/references/character-and-look.md +154 -0
- package/lib/drama/skills/short-drama-image-prompts/references/common-recipe.md +231 -0
- package/lib/drama/skills/short-drama-image-prompts/references/edit-and-revision.md +122 -0
- package/lib/drama/skills/short-drama-image-prompts/references/location-plate.md +152 -0
- package/lib/drama/skills/short-drama-image-prompts/references/look-and-state-variant.md +96 -0
- package/lib/drama/skills/short-drama-image-prompts/references/lookdev-frame.md +38 -0
- package/lib/drama/skills/short-drama-image-prompts/references/production-sheet-recipes.md +177 -0
- package/lib/drama/skills/short-drama-image-prompts/references/prop-plate.md +140 -0
- package/lib/drama/skills/short-drama-image-prompts/references/review-and-fixtures.md +92 -0
- package/lib/drama/skills/short-drama-image-prompts/references/stage-contract.md +89 -0
- package/lib/drama/skills/short-drama-image-prompts/scripts/image_prompt_check.py +443 -0
- package/lib/drama/skills/short-drama-image-prompts/scripts/selftest.py +93 -0
- package/lib/drama/skills/short-drama-novel-analyze/SKILL.md +245 -0
- package/lib/drama/skills/short-drama-novel-analyze/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-novel-analyze/assets/episode-candidate.example.jsonl +3 -0
- package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-triage.md +116 -0
- package/lib/drama/skills/short-drama-novel-analyze/references/adaptation-value.md +124 -0
- package/lib/drama/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +155 -0
- package/lib/drama/skills/short-drama-novel-analyze/references/chapter-extraction.md +141 -0
- package/lib/drama/skills/short-drama-novel-analyze/references/stage-contract.md +67 -0
- package/lib/drama/skills/short-drama-novel-analyze/scripts/novel_index.py +651 -0
- package/lib/drama/skills/short-drama-novel-analyze/scripts/selftest.py +51 -0
- package/lib/drama/skills/short-drama-produce/SKILL.md +103 -0
- package/lib/drama/skills/short-drama-produce/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-produce/references/adapter-contract.md +140 -0
- package/lib/drama/skills/short-drama-produce/references/providers/gpt-image-2.md +24 -0
- package/lib/drama/skills/short-drama-produce/references/providers/minimax-music.md +25 -0
- package/lib/drama/skills/short-drama-produce/references/providers/seedance.md +40 -0
- package/lib/drama/skills/short-drama-produce/scripts/fixture_adapter.py +60 -0
- package/lib/drama/skills/short-drama-produce/scripts/production_tool.py +1635 -0
- package/lib/drama/skills/short-drama-produce/scripts/provider_adapters.py +964 -0
- package/lib/drama/skills/short-drama-produce/scripts/selftest.py +134 -0
- package/lib/drama/skills/short-drama-review/SKILL.md +178 -0
- package/lib/drama/skills/short-drama-review/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-review/assets/finding-template.jsonl +2 -0
- package/lib/drama/skills/short-drama-review/assets/supersession-decision.example.json +42 -0
- package/lib/drama/skills/short-drama-review/assets/verdict-template.json +32 -0
- package/lib/drama/skills/short-drama-review/examples/minimal-findings.jsonl +2 -0
- package/lib/drama/skills/short-drama-review/examples/minimal-verdict.json +34 -0
- package/lib/drama/skills/short-drama-review/references/anti-template-repair.md +114 -0
- package/lib/drama/skills/short-drama-review/references/production-quality-gates.md +270 -0
- package/lib/drama/skills/short-drama-review/references/project-calibration.md +85 -0
- package/lib/drama/skills/short-drama-review/references/review-method.md +82 -0
- package/lib/drama/skills/short-drama-review/references/rubric-assets-prompts.md +115 -0
- package/lib/drama/skills/short-drama-review/references/rubric-source-analysis.md +108 -0
- package/lib/drama/skills/short-drama-review/references/rubric-story-script.md +164 -0
- package/lib/drama/skills/short-drama-review/references/rubric-visual-motion.md +166 -0
- package/lib/drama/skills/short-drama-review/references/stage-contract.md +87 -0
- package/lib/drama/skills/short-drama-review/scripts/review_check.py +325 -0
- package/lib/drama/skills/short-drama-review/scripts/selftest.py +87 -0
- package/lib/drama/skills/short-drama-storyboard/SKILL.md +264 -0
- package/lib/drama/skills/short-drama-storyboard/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-storyboard/assets/coverage-audition.example.jsonl +2 -0
- package/lib/drama/skills/short-drama-storyboard/assets/coverage-template.json +49 -0
- package/lib/drama/skills/short-drama-storyboard/assets/keyframe-prompts.md +32 -0
- package/lib/drama/skills/short-drama-storyboard/assets/keyframe-template.jsonl +2 -0
- package/lib/drama/skills/short-drama-storyboard/assets/revision-lineage.fragment.json +12 -0
- package/lib/drama/skills/short-drama-storyboard/assets/scene-visual-plan.example.jsonl +2 -0
- package/lib/drama/skills/short-drama-storyboard/assets/shot-template.jsonl +2 -0
- package/lib/drama/skills/short-drama-storyboard/references/blocking-playbooks.md +241 -0
- package/lib/drama/skills/short-drama-storyboard/references/coverage-audition.md +39 -0
- package/lib/drama/skills/short-drama-storyboard/references/keyframe-craft.md +169 -0
- package/lib/drama/skills/short-drama-storyboard/references/production-shot-grammar.md +264 -0
- package/lib/drama/skills/short-drama-storyboard/references/review-and-fixtures.md +70 -0
- package/lib/drama/skills/short-drama-storyboard/references/scene-visual-plan.md +39 -0
- package/lib/drama/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +157 -0
- package/lib/drama/skills/short-drama-storyboard/references/shot-craft.md +192 -0
- package/lib/drama/skills/short-drama-storyboard/references/shot-revision-identity.md +29 -0
- package/lib/drama/skills/short-drama-storyboard/references/stage-contract.md +110 -0
- package/lib/drama/skills/short-drama-storyboard/scripts/selftest.py +191 -0
- package/lib/drama/skills/short-drama-storyboard/scripts/storyboard_check.py +824 -0
- package/lib/drama/skills/short-drama-video-prompts/SKILL.md +245 -0
- package/lib/drama/skills/short-drama-video-prompts/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-video-prompts/assets/coverage-scope.fragment.json +21 -0
- package/lib/drama/skills/short-drama-video-prompts/assets/delivery-container.jsonl.md +101 -0
- package/lib/drama/skills/short-drama-video-prompts/assets/motion-spec.jsonl.md +212 -0
- package/lib/drama/skills/short-drama-video-prompts/assets/motion-terminal.example.jsonl +2 -0
- package/lib/drama/skills/short-drama-video-prompts/assets/music-spec.jsonl.md +31 -0
- package/lib/drama/skills/short-drama-video-prompts/assets/performance.fragment.json +38 -0
- package/lib/drama/skills/short-drama-video-prompts/assets/video-prompts.md +46 -0
- package/lib/drama/skills/short-drama-video-prompts/examples/minimal-music-specs.jsonl +2 -0
- package/lib/drama/skills/short-drama-video-prompts/references/camera-audio-continuity.md +240 -0
- package/lib/drama/skills/short-drama-video-prompts/references/delivery-profile.md +255 -0
- package/lib/drama/skills/short-drama-video-prompts/references/generability.md +93 -0
- package/lib/drama/skills/short-drama-video-prompts/references/motion-recipe.md +304 -0
- package/lib/drama/skills/short-drama-video-prompts/references/performance-action-timing.md +191 -0
- package/lib/drama/skills/short-drama-video-prompts/references/production-prompt-grammar.md +312 -0
- package/lib/drama/skills/short-drama-video-prompts/references/review-and-fixtures.md +168 -0
- package/lib/drama/skills/short-drama-video-prompts/references/stage-contract.md +110 -0
- package/lib/drama/skills/short-drama-video-prompts/scripts/container_check.py +329 -0
- package/lib/drama/skills/short-drama-video-prompts/scripts/motion_timing_check.py +450 -0
- package/lib/drama/skills/short-drama-video-prompts/scripts/music_spec_check.py +327 -0
- package/lib/drama/skills/short-drama-video-prompts/scripts/selftest.py +82 -0
- package/lib/drama/skills/short-drama-write/SKILL.md +284 -0
- package/lib/drama/skills/short-drama-write/agents/openai.yaml +4 -0
- package/lib/drama/skills/short-drama-write/assets/beats.jsonl +2 -0
- package/lib/drama/skills/short-drama-write/assets/episode-card-standalone.json +120 -0
- package/lib/drama/skills/short-drama-write/assets/episode-card.json +55 -0
- package/lib/drama/skills/short-drama-write/assets/screenplay.md +36 -0
- package/lib/drama/skills/short-drama-write/assets/voice-record-sheet.jsonl.md +89 -0
- package/lib/drama/skills/short-drama-write/references/dialogue-craft.md +519 -0
- package/lib/drama/skills/short-drama-write/references/production-format-dialect.md +273 -0
- package/lib/drama/skills/short-drama-write/references/scene-handoff-capsule.md +51 -0
- package/lib/drama/skills/short-drama-write/references/scene-sound-dramaturgy.md +43 -0
- package/lib/drama/skills/short-drama-write/references/screenplay-format.md +260 -0
- package/lib/drama/skills/short-drama-write/references/script-craft.md +558 -0
- package/lib/drama/skills/short-drama-write/references/stage-contract.md +94 -0
- package/lib/drama/skills/short-drama-write/references/substitutable-realization.md +107 -0
- package/lib/drama/skills/short-drama-write/scripts/duration_estimate.py +309 -0
- package/lib/drama/skills/short-drama-write/scripts/screenplay_index.py +1091 -0
- package/lib/drama/skills/short-drama-write/scripts/selftest.py +229 -0
- package/lib/drama/skills/short-drama-write/scripts/voice_sheet_check.py +416 -0
- package/lib/index.js +756 -0
- package/lib/index.js.map +7 -0
- package/lib/oh-story/LICENSE.upstream +21 -0
- package/lib/oh-story/manifest.json +1351 -0
- package/lib/oh-story/roles/chapter-extractor.md +314 -0
- package/lib/oh-story/roles/character-designer.md +169 -0
- package/lib/oh-story/roles/consistency-checker.md +190 -0
- package/lib/oh-story/roles/narrative-writer.md +294 -0
- package/lib/oh-story/roles/story-architect.md +195 -0
- package/lib/oh-story/roles/story-explorer.md +364 -0
- package/lib/oh-story/roles/story-researcher.md +304 -0
- package/lib/oh-story/skills/browser-cdp/SKILL.md +175 -0
- package/lib/oh-story/skills/story/SKILL.md +116 -0
- package/lib/oh-story/skills/story/VERSION +1 -0
- package/lib/oh-story/skills/story-cover/SKILL.md +327 -0
- package/lib/oh-story/skills/story-cover/references/cover-styles.md +210 -0
- package/lib/oh-story/skills/story-deslop/SKILL.md +445 -0
- package/lib/oh-story/skills/story-deslop/references/anti-ai-writing.md +582 -0
- package/lib/oh-story/skills/story-deslop/references/banned-words.md +147 -0
- package/lib/oh-story/skills/story-deslop/scripts/check-ai-patterns.js +1371 -0
- package/lib/oh-story/skills/story-deslop/scripts/check-degeneration.js +330 -0
- package/lib/oh-story/skills/story-deslop/scripts/check-outline-copy.js +241 -0
- package/lib/oh-story/skills/story-deslop/scripts/normalize-punctuation.js +410 -0
- package/lib/oh-story/skills/story-import/SKILL.md +634 -0
- package/lib/oh-story/skills/story-import/references/character-state-reverse.md +82 -0
- package/lib/oh-story/skills/story-import/references/format-and-structure.md +169 -0
- package/lib/oh-story/skills/story-import/references/length-routing.md +134 -0
- package/lib/oh-story/skills/story-import/references/state-tracking.md +108 -0
- package/lib/oh-story/skills/story-import/references/structure-mapping-long.md +442 -0
- package/lib/oh-story/skills/story-import/references/structure-mapping-short.md +175 -0
- package/lib/oh-story/skills/story-import/references/tracking-transaction.md +161 -0
- package/lib/oh-story/skills/story-import/scripts/tracking_commit.py +1139 -0
- package/lib/oh-story/skills/story-long-analyze/SKILL.md +329 -0
- package/lib/oh-story/skills/story-long-analyze/references/deconstruction-notes.md +270 -0
- package/lib/oh-story/skills/story-long-analyze/references/material-decomposition.md +530 -0
- package/lib/oh-story/skills/story-long-analyze/references/output-templates.md +559 -0
- package/lib/oh-story/skills/story-long-analyze/references/pipeline-ops.md +80 -0
- package/lib/oh-story/skills/story-long-analyze/references/style-profile-generator.md +149 -0
- package/lib/oh-story/skills/story-long-analyze/references/style-profile-protocol.md +133 -0
- package/lib/oh-story/skills/story-long-scan/SKILL.md +342 -0
- package/lib/oh-story/skills/story-long-scan/references/genre-trends.md +197 -0
- package/lib/oh-story/skills/story-long-scan/references/publishing-guide.md +114 -0
- package/lib/oh-story/skills/story-long-scan/references/reader-profiling.md +105 -0
- package/lib/oh-story/skills/story-long-scan/references/scan-output-format.md +207 -0
- package/lib/oh-story/skills/story-long-scan/references/topic-decision.md +78 -0
- package/lib/oh-story/skills/story-long-write/SKILL.md +327 -0
- package/lib/oh-story/skills/story-long-write/references/anti-ai-writing.md +582 -0
- package/lib/oh-story/skills/story-long-write/references/artifact-protocols.md +302 -0
- package/lib/oh-story/skills/story-long-write/references/banned-words.md +147 -0
- package/lib/oh-story/skills/story-long-write/references/character-basics.md +445 -0
- package/lib/oh-story/skills/story-long-write/references/character-design-methods.md +428 -0
- package/lib/oh-story/skills/story-long-write/references/character-relations.md +385 -0
- package/lib/oh-story/skills/story-long-write/references/commercial-core-methods.md +502 -0
- package/lib/oh-story/skills/story-long-write/references/cross-book-recall.md +62 -0
- package/lib/oh-story/skills/story-long-write/references/dialogue-mastery.md +282 -0
- package/lib/oh-story/skills/story-long-write/references/emotional-arc-design.md +426 -0
- package/lib/oh-story/skills/story-long-write/references/emotional-methods.md +209 -0
- package/lib/oh-story/skills/story-long-write/references/female-audience-writing.md +188 -0
- package/lib/oh-story/skills/story-long-write/references/format-and-structure.md +169 -0
- package/lib/oh-story/skills/story-long-write/references/genre-catalog.md +480 -0
- package/lib/oh-story/skills/story-long-write/references/genre-core-mechanics.md +415 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//344/270/234/346/226/271/344/273/231/344/276/240.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//344/274/240/347/273/237/347/216/204/345/271/273.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/216/206/345/217/262/345/217/244/344/273/243.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/216/206/345/217/262/350/204/221/346/264/236.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +53 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/244/350/250/200/350/204/221/346/264/236.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/217/244/351/243/216/344/270/226/346/203/205.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/245/263/351/242/221/346/202/254/347/226/221.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/245/263/351/242/221/347/247/215/347/224/260.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/256/253/346/226/227/345/256/205/346/226/227.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/271/264/344/273/243.md +53 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//345/277/253/347/251/277.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/202/254/347/226/221/347/201/265/345/274/202.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/202/254/347/226/221/350/204/221/346/264/236.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/210/230/347/245/236/350/265/230/345/251/277.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/212/227/346/210/230/350/260/215/346/210/230.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/230/237/345/205/211/347/222/200/347/222/250.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/260/221/345/233/275/350/250/200/346/203/205.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//346/270/270/346/210/217/344/275/223/350/202/262.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/216/204/345/271/273/350/204/221/346/264/236.md +53 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/216/204/345/271/273/350/250/200/346/203/205.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/216/260/350/250/200/350/204/221/346/264/236.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//347/247/221/345/271/273/346/234/253/344/270/226.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//350/201/214/345/234/272/345/251/232/346/201/213.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//350/245/277/346/226/271/345/245/207/345/271/273.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//350/261/252/351/227/250/346/200/273/350/243/201.md +53 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/344/277/256/347/234/237.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/346/227/245/345/270/270.md +53 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/347/247/215/347/224/260.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/350/204/221/346/264/236.md +53 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/203/275/345/270/202/351/253/230/346/255/246.md +53 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards//351/235/222/346/230/245/347/224/234/345/256/240.md +51 -0
- package/lib/oh-story/skills/story-long-write/references/genre-prose-cards.md +91 -0
- package/lib/oh-story/skills/story-long-write/references/genre-readers.md +235 -0
- package/lib/oh-story/skills/story-long-write/references/genre-writing-formulas.md +444 -0
- package/lib/oh-story/skills/story-long-write/references/hooks-chapter.md +225 -0
- package/lib/oh-story/skills/story-long-write/references/hooks-paragraph.md +146 -0
- package/lib/oh-story/skills/story-long-write/references/hooks-suspense.md +352 -0
- package/lib/oh-story/skills/story-long-write/references/opening-design.md +349 -0
- package/lib/oh-story/skills/story-long-write/references/outline-conflict.md +457 -0
- package/lib/oh-story/skills/story-long-write/references/outline-methods.md +287 -0
- package/lib/oh-story/skills/story-long-write/references/outline-rhythm.md +389 -0
- package/lib/oh-story/skills/story-long-write/references/outline-structure-theory.md +326 -0
- package/lib/oh-story/skills/story-long-write/references/plot-core-methods.md +522 -0
- package/lib/oh-story/skills/story-long-write/references/plot-emotion-system.md +354 -0
- package/lib/oh-story/skills/story-long-write/references/plot-frameworks.md +711 -0
- package/lib/oh-story/skills/story-long-write/references/plot-special-topics.md +622 -0
- package/lib/oh-story/skills/story-long-write/references/quality-checklist.md +184 -0
- package/lib/oh-story/skills/story-long-write/references/reader-contract-and-progression.md +109 -0
- package/lib/oh-story/skills/story-long-write/references/reversal-toolkit.md +349 -0
- package/lib/oh-story/skills/story-long-write/references/state-tracking.md +108 -0
- package/lib/oh-story/skills/story-long-write/references/style-combat-face.md +409 -0
- package/lib/oh-story/skills/story-long-write/references/style-craft.md +347 -0
- package/lib/oh-story/skills/story-long-write/references/style-genre-modules.md +510 -0
- package/lib/oh-story/skills/story-long-write/references/tracking-transaction.md +161 -0
- package/lib/oh-story/skills/story-long-write/references/workflow-chapter.md +140 -0
- package/lib/oh-story/skills/story-long-write/references/workflow-daily.md +171 -0
- package/lib/oh-story/skills/story-long-write/references/workflow-revision.md +99 -0
- package/lib/oh-story/skills/story-long-write/references/workflow-setup.md +284 -0
- package/lib/oh-story/skills/story-long-write/references/writing-craft.md +421 -0
- package/lib/oh-story/skills/story-long-write/scripts/check-ai-patterns.js +1371 -0
- package/lib/oh-story/skills/story-long-write/scripts/check-degeneration.js +330 -0
- package/lib/oh-story/skills/story-long-write/scripts/check-outline-copy.js +241 -0
- package/lib/oh-story/skills/story-long-write/scripts/normalize-punctuation.js +410 -0
- package/lib/oh-story/skills/story-long-write/scripts/tracking_commit.py +1139 -0
- package/lib/oh-story/skills/story-review/SKILL.md +483 -0
- package/lib/oh-story/skills/story-review/references/anti-ai-writing.md +582 -0
- package/lib/oh-story/skills/story-review/references/banned-words.md +147 -0
- package/lib/oh-story/skills/story-review/references/character-relations.md +385 -0
- package/lib/oh-story/skills/story-review/references/dialogue-mastery.md +282 -0
- package/lib/oh-story/skills/story-review/references/plot-core-methods.md +522 -0
- package/lib/oh-story/skills/story-review/references/quality-checklist.md +250 -0
- package/lib/oh-story/skills/story-review/references/quality-rubric.md +55 -0
- package/lib/oh-story/skills/story-review/references/rubrics/fanqie.md +18 -0
- package/lib/oh-story/skills/story-review/references/rubrics/qidian.md +19 -0
- package/lib/oh-story/skills/story-review/references/rubrics/zhihu.md +20 -0
- package/lib/oh-story/skills/story-review/references/tracking-transaction.md +161 -0
- package/lib/oh-story/skills/story-review/scripts/check-ai-patterns.js +1371 -0
- package/lib/oh-story/skills/story-review/scripts/check-degeneration.js +330 -0
- package/lib/oh-story/skills/story-review/scripts/normalize-punctuation.js +410 -0
- package/lib/oh-story/skills/story-review/scripts/tracking_commit.py +1139 -0
- package/lib/oh-story/skills/story-setup/SKILL.md +495 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/anti-ai-writing.md +582 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/banned-words.md +147 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/character-basics.md +445 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/character-design-methods.md +428 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/character-relations.md +385 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/dialogue-mastery.md +282 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/emotional-arc-design.md +426 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/emotional-methods.md +179 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/format-and-structure.md +169 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-catalog.md +480 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-core-mechanics.md +415 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//344/270/234/346/226/271/344/273/231/344/276/240.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//344/274/240/347/273/237/347/216/204/345/271/273.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/216/206/345/217/262/345/217/244/344/273/243.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/216/206/345/217/262/350/204/221/346/264/236.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/214/347/224/267/344/270/273.md +53 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/244/350/250/200/350/204/221/346/264/236.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/217/244/351/243/216/344/270/226/346/203/205.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/245/263/351/242/221/346/202/254/347/226/221.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/245/263/351/242/221/347/247/215/347/224/260.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/256/253/346/226/227/345/256/205/346/226/227.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/271/264/344/273/243.md +53 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//345/277/253/347/251/277.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/202/254/347/226/221/347/201/265/345/274/202.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/202/254/347/226/221/350/204/221/346/264/236.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/210/230/347/245/236/350/265/230/345/251/277.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/212/227/346/210/230/350/260/215/346/210/230.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/230/237/345/205/211/347/222/200/347/222/250.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/260/221/345/233/275/350/250/200/346/203/205.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//346/270/270/346/210/217/344/275/223/350/202/262.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/216/204/345/271/273/350/204/221/346/264/236.md +53 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/216/204/345/271/273/350/250/200/346/203/205.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/216/260/350/250/200/350/204/221/346/264/236.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//347/247/221/345/271/273/346/234/253/344/270/226.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//350/201/214/345/234/272/345/251/232/346/201/213.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//350/245/277/346/226/271/345/245/207/345/271/273.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//350/261/252/351/227/250/346/200/273/350/243/201.md +53 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/344/277/256/347/234/237.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/346/227/245/345/270/270.md +53 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/347/247/215/347/224/260.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/350/204/221/346/264/236.md +53 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/203/275/345/270/202/351/253/230/346/255/246.md +53 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards//351/235/222/346/230/245/347/224/234/345/256/240.md +51 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-prose-cards.md +91 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-readers.md +235 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/genre-writing-formulas.md +444 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/hooks-chapter.md +225 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/hooks-suspense.md +352 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/opening-design.md +349 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/outline-conflict.md +457 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/outline-methods.md +287 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/outline-rhythm.md +389 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/plot-core-methods.md +522 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/quality-checklist.md +247 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/reversal-toolkit.md +349 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/style-combat-face.md +409 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/style-genre-modules.md +510 -0
- package/lib/oh-story/skills/story-setup/references/agent-references/writing-craft.md +421 -0
- package/lib/oh-story/skills/story-short-analyze/SKILL.md +278 -0
- package/lib/oh-story/skills/story-short-analyze/references/anti-ai-writing.md +582 -0
- package/lib/oh-story/skills/story-short-analyze/references/banned-words.md +147 -0
- package/lib/oh-story/skills/story-short-analyze/references/character-basics.md +453 -0
- package/lib/oh-story/skills/story-short-analyze/references/character-design-methods.md +438 -0
- package/lib/oh-story/skills/story-short-analyze/references/character-relations.md +395 -0
- package/lib/oh-story/skills/story-short-analyze/references/deconstruction-examples.md +79 -0
- package/lib/oh-story/skills/story-short-analyze/references/genre-catalog.md +490 -0
- package/lib/oh-story/skills/story-short-analyze/references/genre-core-mechanics.md +425 -0
- package/lib/oh-story/skills/story-short-analyze/references/genre-readers.md +245 -0
- package/lib/oh-story/skills/story-short-analyze/references/genre-writing-formulas.md +453 -0
- package/lib/oh-story/skills/story-short-analyze/references/genre-writing-techniques.md +475 -0
- package/lib/oh-story/skills/story-short-analyze/references/hooks-chapter.md +225 -0
- package/lib/oh-story/skills/story-short-analyze/references/hooks-paragraph.md +146 -0
- package/lib/oh-story/skills/story-short-analyze/references/hooks-suspense.md +352 -0
- package/lib/oh-story/skills/story-short-analyze/references/material-decomposition.md +685 -0
- package/lib/oh-story/skills/story-short-analyze/references/output-contract.md +165 -0
- package/lib/oh-story/skills/story-short-analyze/references/output-templates.md +561 -0
- package/lib/oh-story/skills/story-short-analyze/references/quality-checklist.md +242 -0
- package/lib/oh-story/skills/story-short-analyze/references/real-market-data.md +90 -0
- package/lib/oh-story/skills/story-short-analyze/references/zhihu-style.md +54 -0
- package/lib/oh-story/skills/story-short-scan/SKILL.md +212 -0
- package/lib/oh-story/skills/story-short-scan/references/real-market-data.md +90 -0
- package/lib/oh-story/skills/story-short-write/SKILL.md +433 -0
- package/lib/oh-story/skills/story-short-write/references/banned-words.md +147 -0
- package/lib/oh-story/skills/story-short-write/references/cross-book-recall.md +62 -0
- package/lib/oh-story/skills/story-short-write/references/dialogue-mastery.md +282 -0
- package/lib/oh-story/skills/story-short-write/references/emotional-methods.md +179 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//344/270/226/346/203/205/346/211/223/350/204/270.md +159 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//345/217/214/347/224/267/344/270/273.md +156 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//345/244/215/344/273/207/346/211/223/350/204/270.md +163 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//345/256/205/346/226/227/345/256/253/346/226/227.md +167 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/200/273/350/243/201/350/261/252/351/227/250.md +178 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/202/254/347/226/221.md +166 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/260/221/344/277/227/346/200/252/350/260/210.md +159 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//346/262/231/351/233/225/350/204/221/346/264/236.md +151 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//347/224/234/345/256/240.md +153 -0
- package/lib/oh-story/skills/story-short-write/references/genre-styles//350/277/275/345/246/273/347/201/253/350/221/254/345/234/272.md +210 -0
- package/lib/oh-story/skills/story-short-write/references/genre-writing-formulas.md +444 -0
- package/lib/oh-story/skills/story-short-write/references/genre-writing-techniques.md +488 -0
- package/lib/oh-story/skills/story-short-write/references/hooks-chapter.md +225 -0
- package/lib/oh-story/skills/story-short-write/references/hooks-paragraph.md +146 -0
- package/lib/oh-story/skills/story-short-write/references/hooks-suspense.md +352 -0
- package/lib/oh-story/skills/story-short-write/references/output-contract.md +165 -0
- package/lib/oh-story/skills/story-short-write/references/quality-checklist.md +222 -0
- package/lib/oh-story/skills/story-short-write/references/reversal-toolkit.md +349 -0
- package/lib/oh-story/skills/story-short-write/references/short-craft.md +185 -0
- package/lib/oh-story/skills/story-short-write/references/short-deslop.md +133 -0
- package/lib/oh-story/skills/story-short-write/references/short-format.md +167 -0
- package/lib/oh-story/skills/story-short-write/references/submission-craft.md +35 -0
- package/lib/oh-story/skills/story-short-write/references/villain-and-reveal.md +158 -0
- package/lib/oh-story/skills/story-short-write/references/writing-workflow.md +153 -0
- package/lib/oh-story/skills/story-short-write/scripts/check-ai-patterns.js +1371 -0
- package/lib/oh-story/skills/story-short-write/scripts/check-degeneration.js +330 -0
- package/lib/oh-story/skills/story-short-write/scripts/check-outline-copy.js +241 -0
- package/lib/oh-story/skills/story-short-write/scripts/normalize-punctuation.js +410 -0
- package/lib/types/client/file-activity.d.ts +30 -0
- package/lib/types/client/file-activity.d.ts.map +1 -0
- package/lib/types/client/file-tree.d.ts +20 -0
- package/lib/types/client/file-tree.d.ts.map +1 -0
- package/lib/types/client/index.d.ts +12 -0
- package/lib/types/client/index.d.ts.map +1 -0
- package/lib/types/client/jsonl-preview.d.ts +15 -0
- package/lib/types/client/jsonl-preview.d.ts.map +1 -0
- package/lib/types/client/markdown-preview.d.ts +38 -0
- package/lib/types/client/markdown-preview.d.ts.map +1 -0
- package/lib/types/index.d.ts +25 -0
- package/lib/types/index.d.ts.map +1 -0
- package/lib/types/native-hooks.d.ts +16 -0
- package/lib/types/native-hooks.d.ts.map +1 -0
- package/lib/types/role-provider.d.ts +6 -0
- package/lib/types/role-provider.d.ts.map +1 -0
- package/lib/types/role-tool.d.ts +10 -0
- package/lib/types/role-tool.d.ts.map +1 -0
- package/lib/types/skill-provider.d.ts +15 -0
- package/lib/types/skill-provider.d.ts.map +1 -0
- package/lib/types/workspace-request-trust.d.ts +13 -0
- package/lib/types/workspace-request-trust.d.ts.map +1 -0
- package/lib/types/workspace-route.d.ts +10 -0
- package/lib/types/workspace-route.d.ts.map +1 -0
- package/lib/types/workspace-security.d.ts +9 -0
- package/lib/types/workspace-security.d.ts.map +1 -0
- package/package.json +107 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
# 人物设定图与 Look Variant
|
|
2
|
+
|
|
3
|
+
## 身份测试 (`IMG-03`)
|
|
4
|
+
|
|
5
|
+
人物设定图必须始终可识别为同一个 accepted identity,同时只呈现一套自洽
|
|
6
|
+
Look。不要把互不兼容的服装、发型、伤势、年龄或风化状态平均成一个合成人。
|
|
7
|
+
|
|
8
|
+
## 目录
|
|
9
|
+
|
|
10
|
+
1. 人物设定图解决什么
|
|
11
|
+
2. 身份层与 Look 层
|
|
12
|
+
3. 构图方法
|
|
13
|
+
4. Look/state variant
|
|
14
|
+
5. 输出与审查
|
|
15
|
+
6. 制作形态投影与模板槽位
|
|
16
|
+
|
|
17
|
+
## 1. 人物设定图解决什么
|
|
18
|
+
|
|
19
|
+
人物设定图的首要任务是让后续镜头认出“同一个人、此刻这一套状态”,而不是把一生造型或情绪表演塞入一张图。输入包括接受的 Character、一个精确 Look、用途、视觉风格、构图、背景/光线以及来源指针。
|
|
20
|
+
|
|
21
|
+
**`reviewed_invariant`**:一条 character-sheet 规格必须保持一个身份和一套内在一致的 Look。互斥年龄、发型、服装、伤势、干湿或清洁状态不能并存。
|
|
22
|
+
|
|
23
|
+
## 2. 身份层与 Look 层
|
|
24
|
+
|
|
25
|
+
### Character 身份锚点
|
|
26
|
+
|
|
27
|
+
只选跨该项目多个 Look 仍稳定的识别事实:
|
|
28
|
+
|
|
29
|
+
- 年龄区间与体态(确有识别价值时);
|
|
30
|
+
- 面部轮廓、眉眼/鼻唇的相对特征,不用审美评分;
|
|
31
|
+
- 固定发质/发际/自然发色;若发型会换则放 Look;
|
|
32
|
+
- 不会随场景消失的痣、胎记、旧伤或身体特征;
|
|
33
|
+
- 与身份绑定、项目确认长期保留的配饰。
|
|
34
|
+
|
|
35
|
+
不要为了“独特”新造疤痕、异色瞳、纹身。不要用“网红脸、完美五官、顶级美女”覆盖已接受的不对称或生活痕迹。
|
|
36
|
+
|
|
37
|
+
### Look 可变状态
|
|
38
|
+
|
|
39
|
+
Look 描述一个有效区间内的整体:发型整理方式、服装单品与穿法、鞋、妆面、临时配饰、污渍/水/血/新伤、服装损坏。每个 delta 应回答:相对哪个 base,变了什么,为什么/从何时生效,保持到哪里。
|
|
40
|
+
|
|
41
|
+
- **`craft_default`**:先写剪裁、层次、领口/袖口、材质与主次色,再写“职业感”“落魄”等抽象效果。
|
|
42
|
+
- **`reviewed_invariant`**:服装和状态要能在同一时刻成立。例如“外套完整扣好”和“外套撕开露出内层”需明确区域,否则冲突。
|
|
43
|
+
- **`taste_option`**:姿态、表情范围、视图数量依参考用途决定,不固定三视图或固定表情格。
|
|
44
|
+
|
|
45
|
+
## 3. 构图方法
|
|
46
|
+
|
|
47
|
+
### 单图选择
|
|
48
|
+
|
|
49
|
+
1. **身份板**:中性全身或三分之二身为主,清楚显示比例与一套 Look;可附少量正/侧细节,但所有视图是同一时刻、同一 Look。
|
|
50
|
+
2. **面部识别板**:头肩为主,均匀光,发际与轮廓完整;适合妆面/身份锚点,不承担服装全貌。
|
|
51
|
+
3. **服装 Look 板**:全身正面与必要背面/局部,突出层次、穿法和鞋;面部仍保持身份,不能换成无脸 mannequin 除非创作者明确只做服装。
|
|
52
|
+
4. **状态板**:同一 Look 的有因果差异,如雨后湿袖、包扎后的左腕;只展示已接受状态,不把“前后对比”默认塞进一个画面。
|
|
53
|
+
|
|
54
|
+
### 参考友好性
|
|
55
|
+
|
|
56
|
+
- 身体不要被道具、极端透视或强烈运动遮住关键特征。
|
|
57
|
+
- 背景与光线服务识别;默认简洁、中性、均匀,但视觉风格可覆盖。
|
|
58
|
+
- 表情以用途为准:身份板可平静或低强度角色态;表演测试可给有限表情范围,但不要把不同剧情时刻混成同一 pose。
|
|
59
|
+
- 配饰说明佩戴位置、相对尺度、材质与是否属于 Look;手持剧情道具不是默认身份锚点。
|
|
60
|
+
|
|
61
|
+
### 提示词写作顺序
|
|
62
|
+
|
|
63
|
+
```text
|
|
64
|
+
人物设定图用途 + 角色身份锚点
|
|
65
|
+
→ 当前单一 Look(从头到脚、delta 清楚)
|
|
66
|
+
→ 构图/视图/姿态/表情
|
|
67
|
+
→ 材质与主次色、识别友好光线
|
|
68
|
+
→ 简洁背景
|
|
69
|
+
→ 保持与排除
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
“23 岁”若来源只写“二十多岁”,不得假精确。身体描述以可见生产需要为限,避免与剧情无关的物化细节。
|
|
73
|
+
|
|
74
|
+
## 4. Look/state variant
|
|
75
|
+
|
|
76
|
+
Variant prompt 不是完整身份重写。先复用 Character anchors,再突出 delta:
|
|
77
|
+
|
|
78
|
+
- **基准**:`CHAR-* + LOOK-base` 的精确接受引用;
|
|
79
|
+
- **变化**:位置、范围、材质/颜色变化,例如“右袖肘以下被雨淋深一度,肩部仍干”;
|
|
80
|
+
- **保持**:脸、发际、体态、未变服装结构、未受影响区域;
|
|
81
|
+
- **连续性**:起因、有效场景/镜头范围及下游绑定。
|
|
82
|
+
|
|
83
|
+
若只是镜头内瞬时表情或姿势,通常由 storyboard/keyframe 拥有,不新建 Look。若 delta 要改变身份事实,先退回 assets,而不是用 edit prompt 越权。
|
|
84
|
+
|
|
85
|
+
## 5. 输出与审查
|
|
86
|
+
|
|
87
|
+
### 失败征兆
|
|
88
|
+
|
|
89
|
+
- 同时写制服和便装、受伤和无伤、干发和滴水发;
|
|
90
|
+
- 不同视图变脸、换衣或配饰位置漂移;
|
|
91
|
+
- 只有“年轻漂亮、电影感、精致五官”,没有身份锚点;
|
|
92
|
+
- 强戏剧阴影遮住脸部或服装结构,却声称是识别板;
|
|
93
|
+
- 把一次手持物、表情、站姿永久写入人物身份。
|
|
94
|
+
|
|
95
|
+
### 证据式检查
|
|
96
|
+
|
|
97
|
+
| 问题 | 分类 | 证据 |
|
|
98
|
+
|---|---|---|
|
|
99
|
+
| exact Character/Look 是否解析 | `structural_invariant` | 规格引用与接受快照 |
|
|
100
|
+
| 是否只有一个连贯 Look | `reviewed_invariant` | Look 字段与 prompt 对应句 |
|
|
101
|
+
| 是否保持区别性身份 | `reviewed_invariant` | Character anchors 与画面描述 |
|
|
102
|
+
| 泛化美词是否挤压锚点 | `craft_default` | 指出可删词与缺失的可见事实 |
|
|
103
|
+
| 中性姿态/背景是否适合 | `craft_default` | 用途与构图的关系 |
|
|
104
|
+
| 表情强度、板式数量 | `taste_option` | 创作者/视觉方向 |
|
|
105
|
+
|
|
106
|
+
最终必须产生一个结构化 spec 和一段无需资产库暗知识也能复制理解的通用 prompt;不产生图片。
|
|
107
|
+
|
|
108
|
+
## 6. 制作形态投影与模板槽位
|
|
109
|
+
|
|
110
|
+
已接受的 `short-drama.json#/creator_authority/{visual_direction,production_profile}` 决定这张
|
|
111
|
+
人物板用什么词汇画,不决定画的是谁。形态词表见
|
|
112
|
+
本阶段需要从制作形态取得哪些输入,见 [阶段契约](stage-contract.md) 的“制作形态需要什么”。
|
|
113
|
+
|
|
114
|
+
### 从形态取什么
|
|
115
|
+
|
|
116
|
+
| 取用项 | 形态回答的问题 | 落到提示词的位置 |
|
|
117
|
+
|---|---|---|
|
|
118
|
+
| 形状语言 | 轮廓简化到什么程度、比例体系是否夸张 | 身份锚点的表达颗粒度 |
|
|
119
|
+
| 线条与表面 | 线稿封闭还是散边、平涂/厚涂/照片式表面 | 材质与主次色段 |
|
|
120
|
+
| 材质对光的响应 | 布料、皮肤、金属在该形态里怎样出现明暗与高光 | 识别友好光线段 |
|
|
121
|
+
| 层拆 | 身份层、服装可动层、效果层各自承担什么 | 构图与保持/排除段 |
|
|
122
|
+
| 识别通道 | 观众主要靠面部结构、剪影、还是线条特征认人 | 锚点选择与视图数量 |
|
|
123
|
+
|
|
124
|
+
### 形态不得改写什么
|
|
125
|
+
|
|
126
|
+
- Character 身份锚点集合本身:年龄区间、体态、面部结构、永久特征、长期配饰;
|
|
127
|
+
- Look 的已接受组成、cause 与有效范围;
|
|
128
|
+
- 手持道具的归属(仍属 Prop/State)与可读文字政策;
|
|
129
|
+
- 故事状态:伤势、湿污、包扎的因果与生效时间。
|
|
130
|
+
|
|
131
|
+
形态改变的是**同一锚点走哪条表达通道**,不是锚点集合。若形态以剪影为主要识别通道,就要
|
|
132
|
+
为已接受锚点找到剪影能承载的写法(发际形状→发型剪影缺口、旧伤→轮廓上的缺口、体态→肩背
|
|
133
|
+
重心),而不是新增、替换或悄悄删掉锚点。找不到可靠通道时记 `creator_decision_needed`,退回
|
|
134
|
+
资产或创作者,不擅自换一个更好画的身份。
|
|
135
|
+
|
|
136
|
+
### 模板槽位不得覆盖身份锚点
|
|
137
|
+
|
|
138
|
+
**`reviewed_invariant`**:模板槽位不得覆盖已接受的身份锚点;当模板默认值与已接受身份冲突时,
|
|
139
|
+
**身份优先,模板让位**。
|
|
140
|
+
|
|
141
|
+
合成例:角色甲的已接受身份是五十岁上下、体格厚重、肩背略沉。若人物板模板对每个角色机械
|
|
142
|
+
追加“九头身黄金比例、极度修长的双腿”,这条默认槽位就把角色甲改写成了另一个人,而且因为它
|
|
143
|
+
出现在每张板上,下游会把它当成风格统一而不是错误。角色乙即使确实修长,也应由已接受的
|
|
144
|
+
Character 锚点写出,而不是由模板默认值代写。
|
|
145
|
+
|
|
146
|
+
排查方式:把同一批人物板的提示词并排看,找出**逐字重复且与身份无关**的句子。重复出现的
|
|
147
|
+
审美句若不能追溯到某个角色的接受快照,就是模板残留,删除或改写成该角色的真实锚点。
|
|
148
|
+
|
|
149
|
+
| 检查 | 分类 | 证据 |
|
|
150
|
+
|---|---|---|
|
|
151
|
+
| 形态投影是否只落在词汇层 | `reviewed_invariant` | 形态卡字段与提示词对应句 |
|
|
152
|
+
| 锚点是否在该形态下真的可见 | `reviewed_invariant` | 识别通道与所选锚点 |
|
|
153
|
+
| 模板默认值是否覆盖身份 | `reviewed_invariant` | 跨角色重复句与接受快照 |
|
|
154
|
+
| 形态未定时是否停在提问 | `structural_invariant` | `visual_direction` 状态为 `unset` |
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
# 通用资产图片提示词配方
|
|
2
|
+
|
|
3
|
+
## 目录
|
|
4
|
+
|
|
5
|
+
1. 目的与输入
|
|
6
|
+
2. 从资产事实到画面语言
|
|
7
|
+
3. 八段式配方
|
|
8
|
+
4. 锚点、约束与取舍
|
|
9
|
+
5. 输出、失败征兆与检查
|
|
10
|
+
|
|
11
|
+
## 本文负责的做法
|
|
12
|
+
|
|
13
|
+
- `IMG-01` — 先把规格绑定到状态为 `accepted` 的准确资产 ID 和版本 ID,再写自然语言;
|
|
14
|
+
别名或“看起来像”不算有效绑定。
|
|
15
|
+
- `IMG-02` — 识别性身份、地理、尺度和当前状态优先;质量/风格词只能精炼
|
|
16
|
+
这些事实,不能替代它们。
|
|
17
|
+
- `IMG-07` — 将文字策略解析为结构化选择。必须可读的文字与全局“不要文字”
|
|
18
|
+
约束不能同时激活。
|
|
19
|
+
- `IMG-08` — 参考图进入制作前也要通过文字政策审查;“不要文字”之类的负面提示不能清除
|
|
20
|
+
参考图已经携带的字形、标牌、界面、水印或字幕残留。
|
|
21
|
+
- `IMG-09` — 每张参考图只决定已经声明的内容;同时写明可以参考和不能照搬的
|
|
22
|
+
可见事实,避免构图/尺度/效果参考改写身份、文字或故事状态。
|
|
23
|
+
|
|
24
|
+
## 1. 目的与输入
|
|
25
|
+
|
|
26
|
+
资产提示词不是剧情镜头,也不是形容词收藏。它要把已接受资产中最值得稳定的事实,变成一张便于识别、比较和后续复用的参考图意图。
|
|
27
|
+
|
|
28
|
+
开始前取得:准确的资产 ID 和版本 ID、接受快照与字段位置、用途、目标构图、视觉风格、
|
|
29
|
+
背景与光线、文字政策、创作者引用 `REF-*`、约束与排除项。身份尚未确定时停在提案,
|
|
30
|
+
不要用提示词文案掩盖缺口。
|
|
31
|
+
|
|
32
|
+
## 2. 从资产事实到画面语言
|
|
33
|
+
|
|
34
|
+
把事实分成四类,而不是把整本设定集照抄进去:
|
|
35
|
+
|
|
36
|
+
| 篮子 | 问题 | 写法 |
|
|
37
|
+
|---|---|---|
|
|
38
|
+
| 识别锚点 | 去掉服装/天气后,凭什么认出它? | 可见形状、比例、相对位置、材质特征 |
|
|
39
|
+
| 状态差异 | 这次与基准版本具体差在哪? | 有边界、能直接看到的变化 |
|
|
40
|
+
| 复用几何 | 后续镜头最怕哪里漂移? | 方位、尺度、入口、握持面、结构关系 |
|
|
41
|
+
| 呈现条件 | 怎样最利于读清以上事实? | 构图、视角、背景、光线、空场政策 |
|
|
42
|
+
|
|
43
|
+
抽象标签需要翻译成证据。例如“冷峻”本身不够;可在人物表情、站姿、服装线条或冷色环境中选择与资产事实相符的可见载体,但不得臆造伤疤、身份或剧情。
|
|
44
|
+
|
|
45
|
+
### 锚点选择启发
|
|
46
|
+
|
|
47
|
+
- **`craft_default`**:选少量、作用不重复的锚点。轮廓、比例、一个局部特征和一个材质或
|
|
48
|
+
色彩关系,通常比十个近义形容词更稳。
|
|
49
|
+
- **`reviewed_invariant`**:锚点必须足以让审查者区分该身份及所选版本;
|
|
50
|
+
“漂亮、奢华、高清”不能代替识别证据。
|
|
51
|
+
- **`craft_default`**:用相对关系表达空间,如“服务台在主入口右前方,后墙有唯一金属门”,比散列物件清单更可复用。
|
|
52
|
+
- **`taste_option`**:锚点可以用简洁技术文风或富有气氛的中文表达,只要不改变事实优先级。
|
|
53
|
+
|
|
54
|
+
## 3. 八段式配方
|
|
55
|
+
|
|
56
|
+
顺序是信息保真策略,不是必须出现八段标题的僵硬格式。省略不适用段,不省略类型必需事实。
|
|
57
|
+
|
|
58
|
+
1. **用途与主体**:先说是人物设定图、场景空镜、道具参考还是局部修改,以及主体是谁。
|
|
59
|
+
2. **稳定锚点**:身份、地理或形制的持久事实;写可见和可比较的内容。
|
|
60
|
+
3. **版本差异**:只写这次造型、视角或状态相对基准版本的差异,以及当前状态。
|
|
61
|
+
4. **构图与尺度**:视角、画幅用途、主体占比、方向、相对位置、比例参照。
|
|
62
|
+
5. **材质、色彩与光线**:说明对识别有用的表面、主次色关系、光向和亮暗逻辑。
|
|
63
|
+
6. **背景/舞台政策**:干净背景、环境内展示或 `empty_stage`;说明是否允许人群、手或支架。
|
|
64
|
+
7. **文字与功能**:引用资产来源中的文字政策,再明确选择
|
|
65
|
+
`readable | symbolic | blank | postproduction` 这四种呈现方法之一,并说明功能件怎样可见。
|
|
66
|
+
8. **排除与保留**:只写当前最可能出现的误读;局部修改要先说明必须保留什么。
|
|
67
|
+
|
|
68
|
+
### 可复制文体
|
|
69
|
+
|
|
70
|
+
把内部字段翻译成 `#/format/prompt_language` 声明的那门语言的自然表述——不是固定的中文,
|
|
71
|
+
模板与本节都不替项目决定这件事。避免输出 JSON 键名、`hash`、审查指令、重试历史、
|
|
72
|
+
“请模型务必”、权重语法或某家模型专用的控制词。ID 与来源放在 Markdown 元信息里,
|
|
73
|
+
不要塞进正文。正文可以分句,但离开内部资料后仍应读得懂。
|
|
74
|
+
|
|
75
|
+
### 通用骨架
|
|
76
|
+
|
|
77
|
+
```text
|
|
78
|
+
[参考图类型与用途],[主体与稳定身份/地理/形制锚点];当前为[该版本的可见差异]。
|
|
79
|
+
采用[构图/视角/方向/尺度与空间关系];[材质、色彩、光向和气氛];[背景或空场政策]。
|
|
80
|
+
文字政策:[政策与精确要求]。保持[必要事实];排除[与必需事实不冲突的高风险误读]。
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
这只是填写顺序,不是固定答案。删掉空项和机械标签,使成品像视觉部门能直接使用的工作说明。
|
|
84
|
+
|
|
85
|
+
### 按产物类型裁剪规格
|
|
86
|
+
|
|
87
|
+
- `character_sheet`:身份锚点绑定一个造型版本,选择便于识别的构图;没有文字承载面时删除文字字段。
|
|
88
|
+
- `location_plate`:写清地理、方向和空场政策;标牌文字必须先有已接受的资产政策。
|
|
89
|
+
- `prop_plate`:同时交代轮廓、功能、尺度和适用的文字处理。
|
|
90
|
+
- `look_state_variant`:绑定基础来源、可见变化和有效范围;姿势本身不自动成为新版本。
|
|
91
|
+
- `edit_delta`:只保留精确目标、变化、保持项和连续性影响;上游负责的变化先取得其接受。
|
|
92
|
+
|
|
93
|
+
`reference_bindings` 不是普通参考图清单。每条只声明一个主要用途,分别写清可借用和不可带入的事实;
|
|
94
|
+
没有参考媒体时用空数组,没有观察证据时保持 `unverified` 并列出风险。
|
|
95
|
+
|
|
96
|
+
## 4. 锚点、约束与取舍
|
|
97
|
+
|
|
98
|
+
### 身份
|
|
99
|
+
|
|
100
|
+
身份锚点必须在临时状态改变后仍然成立。服装、淋湿、污渍、手持物和当下表情通常属于
|
|
101
|
+
造型或状态,而非身份。若“银灰短发”既可能是永久特征,也可能是假发,先回资产环节
|
|
102
|
+
解决,不在提示词里擅自定性。
|
|
103
|
+
|
|
104
|
+
### 场景地理
|
|
105
|
+
|
|
106
|
+
场景地理用固定入口、主要区块、视觉轴和锚点之间的关系表达。镜头角度变化不会自动
|
|
107
|
+
创造新地点。提示词可以选择一个视角,但不得为了“好看”搬动门窗。
|
|
108
|
+
|
|
109
|
+
空间纵深来自可通行路线、遮挡、重叠、尺度参照、光向和空气层次共同建立。前/中/后景
|
|
110
|
+
是可选组织方法,不是每条场景提示词必须填满的三栏;单房、平面化视觉方向或需要明确
|
|
111
|
+
留白时可以不用。资产场景参考图默认说明可复用地理,不把剧中盟友、敌人和当前动作提前
|
|
112
|
+
摆进去;人物关系、站位与视线由分镜关键帧在准确剧情状态下拥有。
|
|
113
|
+
|
|
114
|
+
### 尺度
|
|
115
|
+
|
|
116
|
+
尺度最好绑定同画面中的中性参照或明确尺寸关系,而不是只写“巨大”或“小巧”。参照物
|
|
117
|
+
不可引入剧情角色,也不能与 `empty_stage` 的空场要求冲突;道具可以用带刻度的底座、
|
|
118
|
+
常见手掌尺度或已知功能结构作参照。
|
|
119
|
+
|
|
120
|
+
### 文字政策
|
|
121
|
+
|
|
122
|
+
文字有两层,不得混成一个枚举:
|
|
123
|
+
|
|
124
|
+
1. **资产来源政策(由资产负责人管理)**:`exact_readable | graphic_only |
|
|
125
|
+
no_readable_text | pending_creator_text`,回答剧情/资产真相是什么。
|
|
126
|
+
2. **本次提示词的呈现方法(由图片提示词环节管理)**:`readable | symbolic |
|
|
127
|
+
blank | postproduction`,回答这次参考图怎样处理该真相。
|
|
128
|
+
|
|
129
|
+
规格必须保存来源政策的产物引用(`src` 与 `record_id`)、字段位置、两层选择和对应理由。
|
|
130
|
+
默认映射:
|
|
131
|
+
|
|
132
|
+
| 资产来源政策 | 允许的呈现方法 | 要求 |
|
|
133
|
+
|---|---|---|
|
|
134
|
+
| `exact_readable` | `readable` 或 `postproduction` | 前者逐字引用;后者保留承载区与精确文字引用 |
|
|
135
|
+
| `graphic_only` | `symbolic` | 保留图形存在/布局,不新造可辨字义 |
|
|
136
|
+
| `no_readable_text` | `blank` 或明确不可读的 `symbolic` | 不得偶然造成新名字/号码 |
|
|
137
|
+
| `pending_creator_text` | `postproduction` 暂存,或阻断 `readable` | 不猜文字;保留 `unresolved` 状态与下游影响 |
|
|
138
|
+
|
|
139
|
+
不按默认对应关系时,必须有创作者明确改写,并且不得篡改资产来源政策。
|
|
140
|
+
|
|
141
|
+
- `readable`:正文逐字引用已接受文字,并允许清晰可读;不要同时要求“不要文字”。
|
|
142
|
+
- `symbolic`:允许文字感图形,但明确不要求可辨字义。
|
|
143
|
+
- `blank`:承载面保持空白。
|
|
144
|
+
- `postproduction`:预留干净区域与透视/光照条件,文字后期加入。
|
|
145
|
+
|
|
146
|
+
文字政策不是对模型效果的保证,而是创作和后期工作的要求。专名、号码或网址尚未获得
|
|
147
|
+
明确接受时,不要编造。
|
|
148
|
+
|
|
149
|
+
“语义上必须出现签名”不等于已经拥有可复制的正式签名字形。只有签名归属或剧情职责、没有
|
|
150
|
+
创作者接受的字形资产时,保留准确来源引用并阻断 `readable`;仅在已接受文字政策允许
|
|
151
|
+
`postproduction` 时可预留承载区,不得用姓名、伪签名或自行设计的笔画冒充正式字形。
|
|
152
|
+
若人物的接收或反转依赖这项文字,不得一面保留空白承载区、一面让人物认出签名;候选文本
|
|
153
|
+
保留 `<正式签名字形-ref>` 未决引用,并把涉及可读识别的帧/提示词范围标为 `blocked`,直到
|
|
154
|
+
字形或已接受的合成处理真正到位。
|
|
155
|
+
|
|
156
|
+
### 检查输入参考图(`IMG-08`)
|
|
157
|
+
|
|
158
|
+
文字政策同时管输出意图和输入参考。只有创作者/参考图权利人给出可以核对的画面
|
|
159
|
+
说明时把状态写为 `creator_described`;运行环境明确授权智能体检查输入参考并完成检查时,
|
|
160
|
+
把状态写为 `visually_inspected`。此时才判断可辨文字、近似字形、号码、
|
|
161
|
+
标牌、屏幕界面、水印和字幕残留;不能只检查提示词正文有没有写“无文字”。只有文本
|
|
162
|
+
记录、媒体不可见或未获授权时保持 `unverified`,不能编造观察结论。
|
|
163
|
+
|
|
164
|
+
- `no_readable_text`:若参考仍带文字风险,先**裁切、清理、遮罩或替换**;会破坏
|
|
165
|
+
身份/地理/构图时,退回资产或选择后期处理,不得靠更强的负面词假装风险消失。
|
|
166
|
+
- `exact_readable`:只允许批准的承载面和逐字内容;旧版本、冲突号码、其他标牌或
|
|
167
|
+
字幕不能借参考图进入生成。
|
|
168
|
+
- `graphic_only`:允许的只是已接受的图形职责,不把偶然可辨的伪字当作合格符号。
|
|
169
|
+
- 这一步只记录输入参考图的检查资料与文字风险;本提示词阶段不生成或验收成片,也不从
|
|
170
|
+
提示词声称文字已经正确渲染。
|
|
171
|
+
|
|
172
|
+
**`reviewed_invariant`**:依据创作者或参考图权利人提供的画面说明,审查者
|
|
173
|
+
核对参考图、文字政策与裁切/清理/遮罩/替换决定是否有来源、是否互相矛盾;没有
|
|
174
|
+
检查资料时保持 `unresolved`。**“不要文字”之类的负面提示不能清除**参考图中已有的文字风险。
|
|
175
|
+
|
|
176
|
+
### 参考图可以决定哪些内容(`IMG-09`)
|
|
177
|
+
|
|
178
|
+
`reference_bindings` 为每张参考记录稳定 `slot_id`、显式唯一 `order`、准确的 `artifact_ref`
|
|
179
|
+
(文件头 `sources` 中的快照键 `src` 加该参考的 `record_id`)、一个主要 `role`、`may_control`、`must_not_control`、`admission_status`、可选的准确
|
|
180
|
+
`reference_observation_ref` 与 `unresolved_risks`。数组重排或插入新参考不能改变已有槽位语义。
|
|
181
|
+
常见用途包括身份、造型/状态、
|
|
182
|
+
地理、构图、尺度和效果;项目也可以增加更具体的用途。
|
|
183
|
+
|
|
184
|
+
- 身份参考不自动决定姿势、构图或临时造型;
|
|
185
|
+
- 构图/尺度参考只借用占比、机位所在一侧、留白或相对尺度,不带入图中人物与事件;
|
|
186
|
+
- 效果参考只控制已接受目标的形态/范围,不让非目标对象一起消失、复制或变形;
|
|
187
|
+
- 任一参考都继续服从文字政策与已确认来源,冲突时退回负责方,不用“全参考”。
|
|
188
|
+
|
|
189
|
+
这项质量要结合当前项目资料判断,不能按参考图数量、`role` 关键词或固定裁切方式机械判定。
|
|
190
|
+
|
|
191
|
+
### 负面约束
|
|
192
|
+
|
|
193
|
+
- **`craft_default`**:负面约束针对可预见失败,如“不要混入第二套制服”“空场,不出现演员”。
|
|
194
|
+
- 不要用“不要模糊、不要肢体错误、杰作”等套话覆盖真正的锚点。
|
|
195
|
+
- 排除项不得否定必需项,例如要求旧铜锈又排除所有磨损,要求 `readable` 又全局禁字。
|
|
196
|
+
- **`reviewed_invariant`**:审查排除项是否会把人物特色、场景功能或道具使用方式一并抹掉。
|
|
197
|
+
|
|
198
|
+
### 审美语言
|
|
199
|
+
|
|
200
|
+
“电影感、质感、高级、氛围感”只有在落实为构图、材质、色彩关系、光向或景深选择时才有信息量。
|
|
201
|
+
|
|
202
|
+
- **`craft_default`**:每个审美词尽量落到一个可观察选择;删掉相互替换不改变画面的近义词。
|
|
203
|
+
- **`craft_default`**:先建立清楚,再添加风格。参考板需要可比较性时,均匀光常优于戏剧光;但这是用途相关默认,不是硬规则。
|
|
204
|
+
- **`taste_option`**:写实度、媒介、颗粒、色调和镜头感由视觉风格或创作者决定。
|
|
205
|
+
- 禁止用固定词表或形容词比例阻断交付;描述是否空泛,由审查者指出具体缺了什么。
|
|
206
|
+
|
|
207
|
+
## 5. 输出、常见问题与检查
|
|
208
|
+
|
|
209
|
+
### 输出
|
|
210
|
+
|
|
211
|
+
- 一条带准确来源引用与配方版本的结构化规格;
|
|
212
|
+
- 一条标注清楚、可以复制的通用提示词;
|
|
213
|
+
- 必要的警告或改写说明,不含媒体文件或远端任务信息。
|
|
214
|
+
|
|
215
|
+
### 失败征兆
|
|
216
|
+
|
|
217
|
+
- 单看提示词无法分辨究竟是哪一个身份或版本;
|
|
218
|
+
- 锚点被风格套话淹没;临时伤势被写进永久面貌;
|
|
219
|
+
- 空间只有物品清单,没有方向/关系;尺度靠“很大”;
|
|
220
|
+
- “不要文字”与 `readable` 同时存在;负面约束否定了主体;
|
|
221
|
+
- 参考图含有与文字政策冲突的标牌、界面、号码、水印或字幕,却只在正文追加“不要文字”;
|
|
222
|
+
- 文案含用户抱怨、内部字段、生成次数或“根据上图保持一致”却无目标引用。
|
|
223
|
+
|
|
224
|
+
### 检查
|
|
225
|
+
|
|
226
|
+
1. **结构**:检查 ID、版本、类型必需字段、来源引用、参考图准入状态、来源政策到呈现方法
|
|
227
|
+
的对应关系,以及可以直接确定的矛盾。
|
|
228
|
+
2. **内容**:审查者引用资产字段和提示词句子,判断身份、场景地理和尺度是否保持,
|
|
229
|
+
不能只说“不够高级”。
|
|
230
|
+
3. **默认**:把泛化词提前、堆砌或重复视作可改进警告;只在必需事实缺失时才升级。
|
|
231
|
+
4. **选择**:风格和文体差异不单独阻断;记录创作者选择后,在重新导出文本时应保持。
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# Scoped Edit 与自然语言修订
|
|
2
|
+
|
|
3
|
+
## 有界编辑合同 (`IMG-06`)
|
|
4
|
+
|
|
5
|
+
每次 edit 都声明精确 target/region、要改什么、必须保留什么、以及预期的
|
|
6
|
+
continuity impact。如果期望变更会改写 identity 或 accepted 上游事实,路由给
|
|
7
|
+
该 owner,不要伪装成局部 prompt revision。
|
|
8
|
+
|
|
9
|
+
## 目录
|
|
10
|
+
|
|
11
|
+
1. 两类修改
|
|
12
|
+
2. Edit-delta 配方
|
|
13
|
+
3. 自然语言 spec → diff → accept → rerender
|
|
14
|
+
4. 缓存漂移的 restore/adopt
|
|
15
|
+
5. 失败与检查
|
|
16
|
+
|
|
17
|
+
## 1. 两类修改
|
|
18
|
+
|
|
19
|
+
- **对画面目标的 edit**:产出 `edit_delta` 提示词,例如改变一件衣服局部状态;不执行图像编辑。
|
|
20
|
+
- **对提示词本身的 revision**:创作者用自然语言修改规格;先提案 diff,接受后重渲染 Markdown。
|
|
21
|
+
|
|
22
|
+
二者都不能改写 assets 拥有的身份/variant 事实。若请求是“把这扇门移到另一面墙”但 Location 地理未变更,应发 assets/storyboard 相关 revision request,而不是悄悄写进 edit。
|
|
23
|
+
|
|
24
|
+
## 2. Edit-delta 配方
|
|
25
|
+
|
|
26
|
+
四个问题缺一不可:
|
|
27
|
+
|
|
28
|
+
```text
|
|
29
|
+
Target:哪个精确来源快照(`sources` 键)、记录、entity 和 region?
|
|
30
|
+
Change:哪些有边界、可观察的变化?
|
|
31
|
+
Preserve:身份、构图、光线、空间以及哪些未影响 entity/region 必须不变?
|
|
32
|
+
Continuity impact:预期对应哪个 accepted State/binding,有效到哪里?
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### Target
|
|
36
|
+
|
|
37
|
+
- 用元信息绑定目标快照;copyable 正文用自然语言明确主体和区域。
|
|
38
|
+
- “改背景”“让她更狼狈”过宽;需要具体新 View/区域与可观察变化。
|
|
39
|
+
- 多个不相干 target 默认拆为多个 edit,防止 preserve 集失焦。
|
|
40
|
+
|
|
41
|
+
### Change
|
|
42
|
+
|
|
43
|
+
按位置、方向、范围、程度、材质/色彩结果写 delta。例如“右袖肘部以下呈雨水浸湿后的深色,衣料贴合但无撕裂”,比“衣服弄湿”可控。不得补写未接受的伤势或剧情因果。
|
|
44
|
+
|
|
45
|
+
### Preserve
|
|
46
|
+
|
|
47
|
+
先列最容易被误改的高价值事实:面部/体态身份、未变 Look 部件、固定地理、道具轮廓与文字、构图/机位、光向、未选区域。不要写“其他全部保持”代替边界思考;允许最后用它概括已经点名的 preserve set。
|
|
48
|
+
|
|
49
|
+
### Continuity impact
|
|
50
|
+
|
|
51
|
+
引用 道具状态/Look/View 或提出 owner revision;记录受影响的 prompt/shot/keyframe,而非在 edit 中成为新的连续性权威。若没有影响,也明确 `none` 及理由。
|
|
52
|
+
|
|
53
|
+
- **`structural_invariant`**:`target_ref`、region、changes、preserve 和 impact 必须存在且没有显式冲突。
|
|
54
|
+
- **`reviewed_invariant`**:修改范围是否足够清楚、preserve 是否保护真正身份/地理,需要 reviewer 引用证据判断。
|
|
55
|
+
- **`craft_default`**:一次 edit 聚焦少量相互关联的 delta;复杂重构改用新 variant/plate。
|
|
56
|
+
- **`taste_option`**:变化的视觉强度由创作者决定,只要状态事实未变。
|
|
57
|
+
|
|
58
|
+
## 3. 自然语言 spec → diff → accept → rerender
|
|
59
|
+
|
|
60
|
+
用户不需要知道 JSONL 字段。对“把工作服换成深蓝,但保留脸和袖口油渍”执行:
|
|
61
|
+
|
|
62
|
+
1. **读取权威源**:当前 accepted spec、asset refs 与 recipe version。
|
|
63
|
+
2. **解释请求**:区分 prompt-owned 改动、source-owned 事实、含糊项与可能影响。
|
|
64
|
+
3. **生成候选 spec**:不覆盖 accepted spec;不确定值保持 unresolved。
|
|
65
|
+
4. **展示语义 diff**:字段路径、before、after、理由、影响、是否需上游 owner。
|
|
66
|
+
5. **展示新 prompt 预览**:让创作者看实际文案效果,而非只看字段。
|
|
67
|
+
6. **接受/拒绝**:接受才提交;拒绝使原 spec 与 Markdown byte-identical。
|
|
68
|
+
7. **重渲染**:从 accepted spec 与 recipe version 导出 Markdown,更新下游 stale 状态。
|
|
69
|
+
|
|
70
|
+
建议预览:
|
|
71
|
+
|
|
72
|
+
```markdown
|
|
73
|
+
### 提议修改 `IMG-...`
|
|
74
|
+
- `variant_delta.uniform.color`: `灰蓝` → `深蓝`
|
|
75
|
+
- `preserve`: 新增 `右袖口原有油渍的形状与位置`
|
|
76
|
+
- 未改:Character identity、服装剪裁、背景、构图、光向
|
|
77
|
+
- 影响:仅当前 Look prompt;若资产 Look 尚未接受深蓝色,先请求 assets 修改
|
|
78
|
+
- 未映射:无
|
|
79
|
+
|
|
80
|
+
**重渲染预览**
|
|
81
|
+
> ...
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
对“更有电影感”不能擅自选择一串风格字段。给两三个互斥但可解释的候选(如更明确光比/构图/色彩关系),标为 `taste_option` 让创作者选。
|
|
85
|
+
|
|
86
|
+
## 4. 缓存漂移的 restore/adopt
|
|
87
|
+
|
|
88
|
+
`image-prompts.md` 是缓存视图。发现它与 spec 不一致时暂停覆盖:
|
|
89
|
+
|
|
90
|
+
### Restore
|
|
91
|
+
|
|
92
|
+
- 展示当前手改文本与将恢复的 canonical preview;
|
|
93
|
+
- 创作者接受后从 accepted spec 重渲染;
|
|
94
|
+
- 不把手改内容静默写回 spec。
|
|
95
|
+
|
|
96
|
+
### Adopt
|
|
97
|
+
|
|
98
|
+
- 将可表示的手改语义解析为候选 spec diff;
|
|
99
|
+
- 逐条列出 `mapped`、`unmapped`、`lossy`;
|
|
100
|
+
- 有 unmapped/lossy 或改动 source-owned 事实时阻断 adopt,保留原文件与冲突副本;
|
|
101
|
+
- 安全且被接受后,先提交 spec,再重渲染成规范 Markdown。最终文本可能排版变化,但语义 diff 必须无损。
|
|
102
|
+
|
|
103
|
+
选择 `merge` 时也先生成候选 diff;不能以“最后写入者获胜”处理创作权威。
|
|
104
|
+
|
|
105
|
+
## 5. 失败与检查
|
|
106
|
+
|
|
107
|
+
### 失败征兆
|
|
108
|
+
|
|
109
|
+
- 直接改 accepted JSONL 或只改 Markdown;
|
|
110
|
+
- diff 只写“优化措辞”,没有字段和语义影响;
|
|
111
|
+
- 把身份、Location 地理、道具状态 在 prompt 层擅自改掉;
|
|
112
|
+
- edit 只有 Change 没有 Preserve;
|
|
113
|
+
- unmapped 手改被自动丢弃;拒绝后文件仍改变。
|
|
114
|
+
|
|
115
|
+
### 完成检查
|
|
116
|
+
|
|
117
|
+
- source-owned 请求已路由给正确 owner;
|
|
118
|
+
- 候选与 accepted 分离,diff 可读、可拒绝,预览可复制;
|
|
119
|
+
- accept 顺序是 spec commit 后 rerender;reject 不变;
|
|
120
|
+
- restore/adopt 都有预览,无法对应字段的改动保留为冲突;
|
|
121
|
+
- 本提示词修订流程不调用媒体生成或 provider API;实际生产交 `$short-drama-produce`
|
|
122
|
+
并对精确任务预览单独确认。
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# 场景空镜与地理保持
|
|
2
|
+
|
|
3
|
+
## 地理测试 (`IMG-04`)
|
|
4
|
+
|
|
5
|
+
场景空镜保持 accepted layout、orientation、fixed anchors、materials 与光向。
|
|
6
|
+
默认不带角色,以保持作为地理参考的复用性;只在创作者明确需要尺度参照
|
|
7
|
+
或剧情所有的 occupancy state 时加人。
|
|
8
|
+
|
|
9
|
+
## 目录
|
|
10
|
+
|
|
11
|
+
1. 目的与输入
|
|
12
|
+
2. Location 与 View
|
|
13
|
+
3. 地理优先的编写法
|
|
14
|
+
4. 光线、气氛与空场
|
|
15
|
+
5. 输出与审查
|
|
16
|
+
6. 制作形态投影
|
|
17
|
+
|
|
18
|
+
## 1. 目的与输入
|
|
19
|
+
|
|
20
|
+
Location plate 的价值是让后续镜头共享同一可导航空间。输入是已接受 Location、一个精确 View/时间天气状态、固定锚点、材质与视觉风格、空场政策、光向及来源指针。
|
|
21
|
+
|
|
22
|
+
**`reviewed_invariant`**:提示词必须保持场景的地理、方向、固定锚点及其相对关系。装饰丰富不能补救门窗移位或尺度不明。
|
|
23
|
+
|
|
24
|
+
## 2. Location 与 View
|
|
25
|
+
|
|
26
|
+
- **Location** 拥有不会随镜头轻易变化的边界、入口、功能区、固定结构和关键材质。
|
|
27
|
+
- **View** 选择观察方向、可见区块、局部 dressing、时间/天气/灯光状态;它不是随意重建 Location。
|
|
28
|
+
- 镜头焦段、机位高低或画幅通常属于构图选择,不足以单独成为新 Location。若一个角度显示不同侧,需要 View 而非新场景。
|
|
29
|
+
|
|
30
|
+
先画“文字地图”:从哪个入口看向哪个方向,前/中/后景分别是什么,关键锚点在彼此哪一侧,演员可能从哪里进出。只有与识别、调度或连续性有关的结构进入 prompt。
|
|
31
|
+
|
|
32
|
+
## 3. 地理优先的编写法
|
|
33
|
+
|
|
34
|
+
### 必要层次
|
|
35
|
+
|
|
36
|
+
1. **身份与功能**:这是什么空间,服务什么活动,整体尺度。
|
|
37
|
+
2. **View 与方向**:观察位置、朝向、可见边界;必要时给左右以画面/场内参照,避免“左边”含义漂移。
|
|
38
|
+
3. **入口与路线**:门、走廊、楼梯、通道在哪里,彼此如何连接。
|
|
39
|
+
4. **固定锚点**:柜台、柱、窗、机器、壁炉等不可移动物及相对关系。
|
|
40
|
+
5. **材料与色彩**:对辨认结构有用的墙地顶、磨损和主次色。
|
|
41
|
+
6. **当前 state**:摆设、天气、时间与光线变化,不把临时 dressing 写成永久地理。
|
|
42
|
+
|
|
43
|
+
### 空间语言
|
|
44
|
+
|
|
45
|
+
- **`craft_default`**:用“两两关系 + 视线终点”而非无序 inventory。例如“从卷帘门向内看,检修台沿右墙延伸,尽头唯一安全门正对通道”。
|
|
46
|
+
- **`craft_default`**:优先保持一至三个强锚点,次要装饰可概括,防止提示词在细节噪声中失去布局。
|
|
47
|
+
- **`reviewed_invariant`**:同一 View 中的前后左右、入口和光向必须能共存;不能在一句中把同一门同时置于左右墙。
|
|
48
|
+
- **`taste_option`**:广角或标准视角、对称或偏心构图、写实或插画由视觉方向决定。
|
|
49
|
+
|
|
50
|
+
## 4. 光线、气氛与空场
|
|
51
|
+
|
|
52
|
+
### 光线连续性
|
|
53
|
+
|
|
54
|
+
说明主光来源与方向、时间/天气关系、实际灯具及需要保留的暗区。不要只说“电影光”。若 visual style 要冷色但场景有暖色实际灯,写清主次关系而非删掉其一。
|
|
55
|
+
|
|
56
|
+
### 跨 View 的光线一致性 (`IMG-10`)
|
|
57
|
+
|
|
58
|
+
上一条管的是**一个 View 内部**光向自洽。同一 Location 通常按观察方向拆成多个 View
|
|
59
|
+
(例如同一条走廊分别做朝北与朝东两块板),这些板会被同一场戏的正反打互相剪接,
|
|
60
|
+
所以它们之间也要能对上。
|
|
61
|
+
|
|
62
|
+
**`reviewed_invariant`**:同一 Location 在同一时间/天气 state 下的各个 View,必须共享
|
|
63
|
+
同一套主光来源、色温关系与光比方向;差异只能来自已记录的成因,并写进对应的 delta。
|
|
64
|
+
|
|
65
|
+
失效机制是不对称的:地理错位一眼能看出来,色温和主光位不一致却常常各自都“很好看”,
|
|
66
|
+
只在两块板被剪在一起时才暴露成两个不同的时间或两个不同的房间。逐板单独审查抓不到它,
|
|
67
|
+
必须把同一 Location 同一 state 的板并排比。
|
|
68
|
+
|
|
69
|
+
对齐清单(同一 Location + 同一 time/weather state 内):
|
|
70
|
+
|
|
71
|
+
- **主光来源**:是同一个窗、同一组灯具、同一片天空吗?换 View 只应改变我们从哪一侧看它,
|
|
72
|
+
不改变它是什么。
|
|
73
|
+
- **色温关系**:冷暖主次是否一致。某块板把暖色实际灯升为主光而别的板压成次要,就是一次
|
|
74
|
+
未记录的变化。
|
|
75
|
+
- **光比与暗区方向**:亮暗落差的量级,以及暗区落在空间的哪一侧。
|
|
76
|
+
- **实际灯具开关状态**:同一 state 下不能一块板亮着吊灯、另一块板熄着。
|
|
77
|
+
|
|
78
|
+
允许且应当记录的差异:View 朝向决定的逆光/顺光关系、遮挡造成的局部落影、以及朝窗与
|
|
79
|
+
背窗的自然亮度差。这些是同一光源在不同观察方向下的正常表现,写清来源即可,不需要拉平。
|
|
80
|
+
|
|
81
|
+
需要改光时(时段推进、停电、开灯、天气转变),走 delta:它是一个新的 time/weather state,
|
|
82
|
+
同一 Location 的**所有**已存在 View 都要一起交代如何变化,不能只改被用到的那一块。
|
|
83
|
+
|
|
84
|
+
### `empty_stage` 政策
|
|
85
|
+
|
|
86
|
+
- `required`:不出现剧情角色、临时群众或叙事动作;固定家具/功能设备保留。
|
|
87
|
+
- `preferred`:以空场为主,允许不具身份的尺度提示,但必须不妨碍地理读取。
|
|
88
|
+
- `not_required`:可有人群或工作痕迹,但不能编造具体角色事件。
|
|
89
|
+
|
|
90
|
+
**`structural_invariant`**:`empty_stage: required` 与“主角站在入口”等演员要求显式冲突。若确需人物尺度参照,先改政策或使用无身份中性参照,经创作者接受。
|
|
91
|
+
|
|
92
|
+
### 气氛
|
|
93
|
+
|
|
94
|
+
把“压抑、危险、温暖”翻译为已经有依据的空间选择:通道狭窄感、光比、材质反射、空气状态、色温关系。不得为气氛新增剧情事故、封锁出口或移动固定结构。
|
|
95
|
+
|
|
96
|
+
## 5. 输出与审查
|
|
97
|
+
|
|
98
|
+
### 失败征兆
|
|
99
|
+
|
|
100
|
+
- 场景像装饰清单,没有入口、方向或相对位置;
|
|
101
|
+
- 为不同 View 搬动固定门窗,或把临时箱子写成永久锚点;
|
|
102
|
+
- `empty_stage` 要求空场却出现演员、冲突人群或剧情动作;
|
|
103
|
+
- 夜雨状态被混入晴天基准 plate,没有 variant;
|
|
104
|
+
- 光线来源互相矛盾;所谓“宽阔”没有任何尺度关系;
|
|
105
|
+
- 同一 Location 同一 state 的各 View 各自选了不同主光或冷暖主次,单看都成立、剪在一起
|
|
106
|
+
却像两个时间。
|
|
107
|
+
|
|
108
|
+
### 检查
|
|
109
|
+
|
|
110
|
+
| 检查 | 分类 | 处理 |
|
|
111
|
+
|---|---|---|
|
|
112
|
+
| Location/View ID 与版本可解析 | `structural_invariant` | 未解析阻断 |
|
|
113
|
+
| empty-stage 与人物要求显式冲突 | `structural_invariant` | 先解决政策 |
|
|
114
|
+
| 地理、方向、固定锚点被保留 | `reviewed_invariant` | reviewer 引用资产字段与 prompt |
|
|
115
|
+
| 装饰是否压过布局 | `craft_default` | 精简无功能 inventory |
|
|
116
|
+
| 光线是否可解释且连续 | `reviewed_invariant` | 指出光源/方向冲突 |
|
|
117
|
+
| 同一 Location 同一 state 各 View 的主光、色温与光比是否对齐 | `reviewed_invariant` | 并排比同组 View,差异需成因与 delta |
|
|
118
|
+
| 镜头审美与构图 | `taste_option` | 保留创作者选择 |
|
|
119
|
+
|
|
120
|
+
输出一条 location-plate spec 和 copyable prompt;ID 留在元信息,正文用清楚自然语言。不得生成 plate 图片。
|
|
121
|
+
|
|
122
|
+
## 6. 制作形态投影
|
|
123
|
+
|
|
124
|
+
已接受的 `short-drama.json#/creator_authority/{visual_direction,production_profile}` 决定这张
|
|
125
|
+
场景板用什么词汇表达空间,不决定空间长什么样。形态词表见
|
|
126
|
+
本阶段需要从制作形态取得哪些输入,见 [阶段契约](stage-contract.md) 的“制作形态需要什么”。
|
|
127
|
+
|
|
128
|
+
### 从形态取什么
|
|
129
|
+
|
|
130
|
+
- **背景密度与信息层级**:绘制形态常靠密度差和留白建立主次,实拍形态常靠光比、景深和
|
|
131
|
+
空气层次;同一份地理在两种形态里选择不同的详略分配。
|
|
132
|
+
- **层拆**:固定地理层、可动层(帘、水、灯)、效果层各自画什么;哪些层在参考板上必须
|
|
133
|
+
处于静止的已接受状态。
|
|
134
|
+
- **边缘处理**:封闭轮廓、散边、洇化或摄影式虚实——决定入口与锚点的边界怎样被读出来。
|
|
135
|
+
- **材质对光的响应**:墙地顶的反射、粗糙与透明关系在该形态里由什么承担(笔触、平涂关系、
|
|
136
|
+
真实光源)。
|
|
137
|
+
- **留白是否是合法的空间语言**:某些形态用留白表达纵深与压力,这是可执行词汇,不是省略。
|
|
138
|
+
|
|
139
|
+
### 形态不得改写什么
|
|
140
|
+
|
|
141
|
+
- 入口、路径、固定锚点及其相对关系与观察方向;
|
|
142
|
+
- `empty_stage` 政策与允许出现的人物类别;
|
|
143
|
+
- 标牌与界面的文字政策及承载面;
|
|
144
|
+
- 已接受的时间、天气、光态版本与光源的可解释来源。
|
|
145
|
+
|
|
146
|
+
**`reviewed_invariant`**:简化掉的只能是装饰,不能是本 View 必须可核对的地理证据。若形态
|
|
147
|
+
要求大面积留白或两层平涂,先确定“从卷帘门向内看,检修台沿右墙延伸,尽头唯一安全门正对
|
|
148
|
+
通道”这类关系仍然可读;不能因为并进墙面更整齐就让安全门消失。做不到时缩小留白范围或
|
|
149
|
+
改选观察面,并把冲突记为 `creator_decision_needed`,不静默丢锚点。
|
|
150
|
+
|
|
151
|
+
同理,形态可以决定“气氛靠什么承担”,但不得为了形态好看新增剧情事故、封锁出口、移动固定
|
|
152
|
+
结构,或把临时 dressing 提升为永久地理。
|