@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,79 @@
|
|
|
1
|
+
# 形态卡:国漫二次元
|
|
2
|
+
|
|
3
|
+
上层选择、构成差异与跨阶段责任见 [production-form-profiles.md](../production-form-profiles.md)。
|
|
4
|
+
本卡回答:选了这个形态之后,可执行文本本身变成什么样。示例均为合成改写。
|
|
5
|
+
|
|
6
|
+
## 叙事职责
|
|
7
|
+
|
|
8
|
+
用**高完成度的单帧**承担情绪与人物魅力:观众在一张画面里就接受身份、状态和关系。
|
|
9
|
+
它擅长情绪特写、氛围色、强光效瞬间,也擅长用高质量定帧加少量运动撑住长对白场面。
|
|
10
|
+
它不擅长复杂的连续空间调度;更要紧的是,它有一个别的形态没有的头号风险——
|
|
11
|
+
**全剧人物互相趋同**。精修画风会把不同角色拉平,这必须在形态卡里被主动对抗。
|
|
12
|
+
|
|
13
|
+
## 身份锚点载体
|
|
14
|
+
|
|
15
|
+
因为五官是精修的,识别**不能靠精度,只能靠可枚举的结构差异**:脸型轮廓(下颌线与颊线)、
|
|
16
|
+
眼型与瞳孔结构(瞳色分层、高光形状)、发型的分层结构与发色渐变的位置,
|
|
17
|
+
以及至少一件跨造型不摘的配件。
|
|
18
|
+
|
|
19
|
+
形态卡必须显式写出:**这个角色与同剧其他角色在哪些结构上不同**,逐条枚举而不是一句概括;
|
|
20
|
+
枚举到能把同组角色两两分开为止,不按条数验收。这是本形态与二维动态漫最大的执行差异——
|
|
21
|
+
后者靠剪影就够,前者剪影往往相似,必须落到结构条目上。写「清冷美人」
|
|
22
|
+
不构成锚点;写「下颌比同组角色更方、瞳孔上缘是横向条状高光、左耳一枚不摘的银环」才可执行。
|
|
23
|
+
|
|
24
|
+
## 连续性载体
|
|
25
|
+
|
|
26
|
+
- **必须传递**:脸型与眼型结构、瞳色与高光形状、发色渐变与发丝分层规则、固定配件、
|
|
27
|
+
当前氛围色与光源色温、脸上高光与阴影的落位逻辑。
|
|
28
|
+
- **可以省**:背景纵深细节、不承重的装饰。
|
|
29
|
+
- **最常断裂处**:瞳色与发色在不同氛围光下漂移到认不出、高光形状逐镜变化、角色互相趋同。
|
|
30
|
+
|
|
31
|
+
## 层级拆分
|
|
32
|
+
|
|
33
|
+
- 身份层:脸 / 眼 / 发 / 配件的结构与色卡;
|
|
34
|
+
- 环境层:绘制背景,写实度通常比角色层低一档,这个**差档必须被声明**;
|
|
35
|
+
- 可动层:眼(眨、转)、口、发梢、衣饰、一只手;
|
|
36
|
+
- 效果层:氛围色、光斑、光晕、粒子、景深虚化。
|
|
37
|
+
|
|
38
|
+
硬规则:效果层的氛围色可以覆盖环境层,覆盖到身份层时必须保留瞳色与发色的可识别性——
|
|
39
|
+
**氛围色不得吃掉识别色**。背景与角色的写实度差档若不声明,成品会出现贴纸感。
|
|
40
|
+
|
|
41
|
+
## 光与材质词汇
|
|
42
|
+
|
|
43
|
+
可执行词汇是**光源色 + 反射光色 + 高光形状 + 阴影边界硬度**:暖色主光来自右上、
|
|
44
|
+
冷色反射光落在左侧轮廓、瞳孔上缘一处横向高光、阴影边界在脸上是硬边而在布料上是渐变。
|
|
45
|
+
材质写分层方式:分层平涂还是厚涂、发丝是分层块还是逐丝、布料有没有笔刷纹理。
|
|
46
|
+
「精致」「唯美」「高清」不是规格,写进去等于没写。
|
|
47
|
+
|
|
48
|
+
## 运动预算
|
|
49
|
+
|
|
50
|
+
介于二维动态漫与三维之间:**关键情绪镜给全动作,其余给高质量定帧加局部循环**。
|
|
51
|
+
分配原则:承担情绪转折的镜头(眼神变化、转身、伸手)值得全动作;对白镜用口型、眨眼、
|
|
52
|
+
发梢循环和极轻的呼吸位移撑住;氛围与时间流逝交给效果层(光斑飘动、粒子、景深呼吸)。
|
|
53
|
+
镜头常用极缓推拉与视差分层避免静止感,但推拉要写明叙事职责,否则每一镜都会默认变成缓推。
|
|
54
|
+
|
|
55
|
+
## 声音与文字职责
|
|
56
|
+
|
|
57
|
+
通常做完整或接近完整口型,需在形态卡里确认——它直接决定台词长度与画外台词的比例。
|
|
58
|
+
本形态常配情绪化的环境声与留白式静默,要写明哪些静默是设计的、持续到哪个事件为止。
|
|
59
|
+
画面文字方面,手机屏与聊天框是这个形态的高频文字载体,必须预先声明可读还是符号化,
|
|
60
|
+
并走资产 text policy;不要默认「屏幕反正看得清」。
|
|
61
|
+
|
|
62
|
+
## 跨阶段传递
|
|
63
|
+
|
|
64
|
+
| 阶段 | 这个形态额外要写的 |
|
|
65
|
+
|---|---|
|
|
66
|
+
| develop | 人物差异化设计的枚举、氛围色策略、口型策略、全动作预算给哪类镜头 |
|
|
67
|
+
| assets | 脸 / 眼 / 发 / 配件结构与色卡、角色间差异清单、背景写实度差档、表情库 |
|
|
68
|
+
| image-prompts | 单帧的结构差异、色卡、光源色与高光形状、氛围色允许的范围 |
|
|
69
|
+
| storyboard | 注意力与视差分层、哪些镜进入全动作预算、遮挡与信息权限 |
|
|
70
|
+
| video-prompts | 口型与眨眼、发梢与衣饰循环、效果层时机、缓推的叙事职责 |
|
|
71
|
+
| review | 角色是否互相趋同、识别色是否被氛围色吃掉、全动作预算是否落在情绪转折镜 |
|
|
72
|
+
|
|
73
|
+
## 常见失效
|
|
74
|
+
|
|
75
|
+
- 全剧人物趋同——最常见,也最晚被发现;
|
|
76
|
+
- 氛围色吃掉瞳色与发色,跨镜认不出人;
|
|
77
|
+
- 高光形状逐镜变化,脸看起来不是同一个人;
|
|
78
|
+
- 背景与角色的写实度差档没声明,人物像贴纸;
|
|
79
|
+
- 把「精致」「唯美」当规格写进说明,整段没有一个可执行字段。
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# 形态卡:实拍
|
|
2
|
+
|
|
3
|
+
上层选择、构成差异与跨阶段责任见 [production-form-profiles.md](../production-form-profiles.md)。
|
|
4
|
+
本卡回答:选了这个形态之后,可执行文本本身变成什么样。示例均为合成改写。
|
|
5
|
+
|
|
6
|
+
## 叙事职责
|
|
7
|
+
|
|
8
|
+
让观众用日常经验直接读出处境:衣服的旧、屋子的挤、手上的伤,不需要翻译。实拍最擅长
|
|
9
|
+
承担**当场证据与即时后果**——事实放在一个能搭建、能收音的空间里,犹豫和选择由表演
|
|
10
|
+
本身携带。它不擅长廉价地跨越尺度、时间与非人身体;那类段落要么改写成可搭建的版本,
|
|
11
|
+
要么在 develop 阶段就换形态,不要拖到视频提示词阶段才发现不可执行。
|
|
12
|
+
|
|
13
|
+
## 身份锚点载体
|
|
14
|
+
|
|
15
|
+
演员的面部结构、身高和体态是天然锚点,不需要提示词反复描述。跨镜可辨认真正靠
|
|
16
|
+
**造型状态**:发型走向与凌乱度、妆面完成度、服装层次与穿法(袖挽到哪一截、扣到第几颗)、
|
|
17
|
+
随身物件的固定位置。所以实拍的身份字段写的是可比较的状态,不是长相评价:
|
|
18
|
+
「左眉一道旧疤,右手食指常缠创可贴」可执行;「英俊坚毅」没有任何可执行内容。
|
|
19
|
+
|
|
20
|
+
## 连续性载体
|
|
21
|
+
|
|
22
|
+
- **必须逐镜传递**:造型层次与整洁度、湿/污/伤的程度与位置、手中物与放置位置、
|
|
23
|
+
光源时段与方向、妆发沿时间线的衰减。
|
|
24
|
+
- **可以省**:不出画的服装内层、观众无从比较的背景陈设、只在一镜出现且不影响后果的道具细节。
|
|
25
|
+
- **最常断裂处**:袖口与衣褶、烟酒食物的消耗量、伤妆的进展方向。
|
|
26
|
+
|
|
27
|
+
## 层级拆分
|
|
28
|
+
|
|
29
|
+
实拍的层不是画面图层,是**可控性分层**:
|
|
30
|
+
|
|
31
|
+
- 身份层:演员与造型,跨镜锁定;
|
|
32
|
+
- 环境层:可搭建空间、陈设、可用入口与遮挡体;
|
|
33
|
+
- 可动层:表演动作、道具操作、机位运动;
|
|
34
|
+
- 效果层:需要单独安排的现场物理(烟、雨、火、闪光)。
|
|
35
|
+
|
|
36
|
+
每镜只写本镜发生变化的层,不重复描述不变层。
|
|
37
|
+
|
|
38
|
+
## 光与材质词汇
|
|
39
|
+
|
|
40
|
+
可执行的光是**来源 + 方向 + 遮挡 + 反射 + 叙事用途**:窗在人物左后、百叶把光切成条、
|
|
41
|
+
桌面亚光不返光、金属号牌是画面里唯一的高光点。材质写能被光验证的表面:起球的毛料、
|
|
42
|
+
洗得发白的棉、干涸后发暗的血、湿透后贴身的布。色彩写关系——谁最亮、谁最饱和、
|
|
43
|
+
什么与什么撞色。不可执行的写法:电影感、高级灰、大师光、氛围感。
|
|
44
|
+
|
|
45
|
+
## 运动预算
|
|
46
|
+
|
|
47
|
+
实拍默认全动作,人在画面里就在活着;预算问题是反过来的——**哪些必须被限制**。
|
|
48
|
+
需要控制的是同镜并行动作数、道具交接的手数、台词相对动作的先后位置。可由剪辑承接的:
|
|
49
|
+
长距离位移、换装、时间跨度。必须在镜内完成的:因果转折点、证据交接、被看见的选择。
|
|
50
|
+
不要把心理状态默认翻译成身体症状(发抖、瞳孔放大、冷汗)当成表演方案。
|
|
51
|
+
|
|
52
|
+
## 声音与文字职责
|
|
53
|
+
|
|
54
|
+
现场声源要写出来:谁在说、说话时手上在做什么、环境里有哪条持续声(空调、雨、走廊脚步)、
|
|
55
|
+
哪个声音先于画面进入。旁白只在项目已选择旁白体时使用。可读文字(合同、手机屏、门牌)
|
|
56
|
+
仍走资产的 text policy,不因为「实拍反正拍得到」就默认可读。
|
|
57
|
+
|
|
58
|
+
## 跨阶段传递
|
|
59
|
+
|
|
60
|
+
| 阶段 | 这个形态额外要写的 |
|
|
61
|
+
|---|---|
|
|
62
|
+
| develop | 确认这是可搭建、可表演、可收音的版本;标出需要特殊物理的段落为待试验 |
|
|
63
|
+
| assets | 造型状态版本、地点观察视角与可用入口、道具的持有人与状况 |
|
|
64
|
+
| image-prompts | 单帧的造型状态与地理关系;不写演员长相评价 |
|
|
65
|
+
| storyboard | 机位动机、可表演的起点姿态与持物、遮挡与信息权限 |
|
|
66
|
+
| video-prompts | 动作链顺序、接触与交接、台词相对动作的位置、现场声源 |
|
|
67
|
+
| review | 造型状态与光源方向是否逐镜可比较,特殊物理是否已被授权 |
|
|
68
|
+
|
|
69
|
+
## 常见失效
|
|
70
|
+
|
|
71
|
+
- 把情绪写成症状,用一套通用微表情替代人物正在处理的对象与选择;
|
|
72
|
+
- 用形容词代替光源,审查时无从比较;
|
|
73
|
+
- 让一只手同时完成三件事,或道具交接缺一次换手;
|
|
74
|
+
- 跨镜衣着「自动整齐」、伤妆自动消退;
|
|
75
|
+
- 把需要特殊物理(水下、高空、动物、婴儿)的段落当普通场景一路写到底。
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# 形态卡:水墨笔触
|
|
2
|
+
|
|
3
|
+
上层选择、构成差异与跨阶段责任见 [production-form-profiles.md](../production-form-profiles.md)。
|
|
4
|
+
本卡回答:选了这个形态之后,可执行文本本身变成什么样。示例均为合成改写。
|
|
5
|
+
|
|
6
|
+
## 叙事职责
|
|
7
|
+
|
|
8
|
+
用**显与隐**说话:墨色浓淡决定观众先看到什么,留白决定什么被允许暂时不知道。它擅长
|
|
9
|
+
关系压力、动作余势、时间流逝和心理距离,也擅长在不画满的情况下建立信息层级。它不擅长
|
|
10
|
+
承载精确地理、机械结构和可读细节——这些必须另找载体保住,否则会被形态吃掉。
|
|
11
|
+
|
|
12
|
+
## 身份锚点载体
|
|
13
|
+
|
|
14
|
+
**轮廓的笔势 + 不可散的墨记号**。因为边缘可以散、可以飞白,身份不能靠细节,
|
|
15
|
+
只能靠起笔与收笔构成的形:发髻的走向、衣纹的三笔主线、腰间最浓的一块墨。
|
|
16
|
+
本形态卡必须显式点名:**哪些边缘绝不允许洇化**。没有这一条,下游每一次「加点水墨感」
|
|
17
|
+
都会合法地把人物吃掉一点。
|
|
18
|
+
|
|
19
|
+
## 连续性载体
|
|
20
|
+
|
|
21
|
+
- **必须传递**:不可散的轮廓与墨记号、浓淡层级(本场谁最浓)、手中物的位置、
|
|
22
|
+
必要地理(门、桌、水岸)、留白的方位。
|
|
23
|
+
- **可以省**:精确光向、纹理细节、背景纵深。
|
|
24
|
+
- **最常断裂处**:角色被洇化吃掉、手中物在留白里消失、同场浓淡层级前后颠倒。
|
|
25
|
+
|
|
26
|
+
## 层级拆分
|
|
27
|
+
|
|
28
|
+
- 身份层:不可散的轮廓与墨记号;
|
|
29
|
+
- 环境层:必要地理的最少笔数,加留白的方位;
|
|
30
|
+
- 可动层:允许运动的墨迹(余势、洇开、飘散);
|
|
31
|
+
- 效果层:压暗、渗化、飞白扩散、纸纹。
|
|
32
|
+
|
|
33
|
+
硬规则:效果层的变化可以合理影响周边明度和边缘,但不得改动身份层点名的不可散边缘。
|
|
34
|
+
|
|
35
|
+
## 光与材质词汇
|
|
36
|
+
|
|
37
|
+
本形态的可执行词汇不是光,而是**墨的六项**,每项都要带叙事职责:
|
|
38
|
+
|
|
39
|
+
| 项 | 承担什么 |
|
|
40
|
+
|---|---|
|
|
41
|
+
| 浓淡 | 分配注意力顺序 |
|
|
42
|
+
| 干湿 | 时间与用力程度 |
|
|
43
|
+
| 飞白 | 速度与撕裂 |
|
|
44
|
+
| 洇化 | 情绪扩散或时间流失 |
|
|
45
|
+
| 留白 | 未知、距离或被拒绝的信息 |
|
|
46
|
+
| 笔势 | 动作方向与余势 |
|
|
47
|
+
|
|
48
|
+
「衣袖三笔飞白向左,收笔处最浓」可执行;「水墨感」「国风意境」不可执行。若项目在水墨上
|
|
49
|
+
着彩,先声明彩色承担什么信息——通常只给一个焦点,多给一处就会和浓淡抢注意力。
|
|
50
|
+
|
|
51
|
+
## 运动预算
|
|
52
|
+
|
|
53
|
+
默认极低预算:大部分画面 hold,只让少数墨迹动。可动的通常是洇开的一小块、飘散的笔触、
|
|
54
|
+
从留白里进入的一笔、纸面极轻的呼吸。转折靠**墨的状态变化**承接,而不是靠角色全动作;
|
|
55
|
+
位移与时间跨越交给剪辑。不要给所有笔触加持续抖动——那会把画面变成噪点,
|
|
56
|
+
而且会同时破坏浓淡层级和留白。
|
|
57
|
+
|
|
58
|
+
## 声音与文字职责
|
|
59
|
+
|
|
60
|
+
本形态常配旁白体或极简对白。使用旁白时,形态卡要写清旁白与画面的关系:旁白说画面没画的
|
|
61
|
+
部分,不复述已经画出来的。声音上的留白同样可执行——静默是一种选择,但要写明静默持续到
|
|
62
|
+
哪个事件为止。画面文字(题款、竖排字)是合法载体,须走资产 text policy,
|
|
63
|
+
并声明是画内笔墨还是后期层。
|
|
64
|
+
|
|
65
|
+
## 跨阶段传递
|
|
66
|
+
|
|
67
|
+
| 阶段 | 这个形态额外要写的 |
|
|
68
|
+
|---|---|
|
|
69
|
+
| develop | 旁白策略、着彩策略、留白承担哪一类未知 |
|
|
70
|
+
| assets | 不可散的轮廓与墨记号、浓淡层级、必要地理的最少笔数 |
|
|
71
|
+
| image-prompts | 单帧的浓淡分配、留白方位、边缘散与不散的清单 |
|
|
72
|
+
| storyboard | 注意力顺序、留白的信息权限、本镜哪些边缘冻结 |
|
|
73
|
+
| video-prompts | 会动的墨迹及其叙事职责、静默边界、效果层时机 |
|
|
74
|
+
| review | 关键证据是否按叙事职责变得可辨或不可辨;手中物与必要地理是否仍可读 |
|
|
75
|
+
|
|
76
|
+
审查这个形态时不要求只有一个像素区域发生变化:压暗与洇化本来就会影响周边明度和边缘。
|
|
77
|
+
要问的是因果是否仍能读清。
|
|
78
|
+
|
|
79
|
+
## 常见失效
|
|
80
|
+
|
|
81
|
+
- 用「水墨感」覆盖地理与手中物;
|
|
82
|
+
- 不可散的边缘被洇化吃掉;
|
|
83
|
+
- 浓淡层级逐镜漂移,注意力顺序失效;
|
|
84
|
+
- 把留白当成「还没想好」,而不是被设计的未知;
|
|
85
|
+
- 给所有笔触加运动,画面退化成噪点。
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# 形态卡:风格化三维
|
|
2
|
+
|
|
3
|
+
上层选择、构成差异与跨阶段责任见 [production-form-profiles.md](../production-form-profiles.md)。
|
|
4
|
+
本卡回答:选了这个形态之后,可执行文本本身变成什么样。示例均为合成改写。
|
|
5
|
+
|
|
6
|
+
## 叙事职责
|
|
7
|
+
|
|
8
|
+
用**重量与空间**说话:接触、承重、碰撞、遮挡关系和有动机的镜头运动,让观众相信人和物
|
|
9
|
+
在同一个空间里且有质量。它擅长连续的空间调度、复杂机位和可复用的角色资产。它不擅长
|
|
10
|
+
靠单帧信息密度取胜,也不擅长随手改变角色比例——比例一旦定下就是全剧硬约束。
|
|
11
|
+
|
|
12
|
+
## 身份锚点载体
|
|
13
|
+
|
|
14
|
+
**比例 + 剪影 + rig 能达到的姿势范围**。识别靠头身比、肩宽、手长、材质分区,不靠妆造描述。
|
|
15
|
+
身份字段应写两件别的形态不写的事:哪些比例与剪影不能被镜头畸变或姿势掩盖,
|
|
16
|
+
以及 rig 做不到的姿势有哪些。后者是硬约束,写进形态卡可以让下游不去要求不可执行的动作。
|
|
17
|
+
|
|
18
|
+
## 连续性载体
|
|
19
|
+
|
|
20
|
+
- **必须传递**:比例与剪影、材质分区与粗糙度、接触点(脚踩在哪个面、手握在物体哪一段)、
|
|
21
|
+
光的方向与体积介质、摄影机空间的连续(轴线、机位高度)。
|
|
22
|
+
- **可以省**:逐帧的次要形变、观众看不到的背面细节。
|
|
23
|
+
- **最常断裂处**:脚离地或穿模、持物无来源换手、同场两镜光向相反、轴线翻转。
|
|
24
|
+
|
|
25
|
+
## 层级拆分
|
|
26
|
+
|
|
27
|
+
- 身份层:模型、比例、材质分区;
|
|
28
|
+
- 环境层:场景几何、地面高度、可通行路径、遮挡体;
|
|
29
|
+
- 可动层:角色动作、道具的物理响应、摄影机;
|
|
30
|
+
- 效果层:体积光、粒子、景深、分级。
|
|
31
|
+
|
|
32
|
+
若与二维线稿、绘制背景或特效混合,必须逐项声明谁负责身份、深度、边缘、光和运动。
|
|
33
|
+
两层同时决定同一事实是这个形态最贵的错误:边缘会抖,光会打架,改一处要改两处。
|
|
34
|
+
|
|
35
|
+
## 光与材质词汇
|
|
36
|
+
|
|
37
|
+
可执行词汇是**表面如何响应光**:粗糙还是光滑、高光是圆点还是拉长条、透光还是不透光、
|
|
38
|
+
边缘有没有轮廓光、体积光里有没有介质(雾、尘、烟)。「湿沥青上拉长的高光条」可执行,
|
|
39
|
+
「电影级光照」不可执行。接触与重量的词汇同等重要:落脚时的下沉、被压出的形变、
|
|
40
|
+
碰撞后的余势——这些比「流畅自然的动作」更可验证。
|
|
41
|
+
|
|
42
|
+
## 运动预算
|
|
43
|
+
|
|
44
|
+
默认可以全动作,但**摄影机是最贵的那一层**。分配原则:必须全动作的是承担因果的接触事件
|
|
45
|
+
(递交、抓握、推倒、落地);可以复用的是循环步态与待机姿势;可以由剪辑承接的是长距离
|
|
46
|
+
位移和转身。摄影机运动必须有动机——跟随、揭示、施压——不为炫技做连续长镜。混合形态时,
|
|
47
|
+
效果层可以承接一部分本应由动作表达的力度,但要先声明,不能事后补。
|
|
48
|
+
|
|
49
|
+
## 声音与文字职责
|
|
50
|
+
|
|
51
|
+
这个形态里**接触即有声**:落地、放置、碰撞、摩擦都应有对应声源,缺失会让重量感垮掉。
|
|
52
|
+
口型通常可做完整口型,仍需在形态卡里确认,因为它决定台词长度与画外比例。可读文字若是
|
|
53
|
+
场景内几何体(招牌、屏幕、包装),走资产 text policy,并声明是贴图还是后期层。
|
|
54
|
+
|
|
55
|
+
## 跨阶段传递
|
|
56
|
+
|
|
57
|
+
| 阶段 | 这个形态额外要写的 |
|
|
58
|
+
|---|---|
|
|
59
|
+
| develop | 可复用资产范围、混合层策略、项目对摄影机运动的态度 |
|
|
60
|
+
| assets | 模型比例、材质分区、rig 姿势边界、场景几何与可通行路径 |
|
|
61
|
+
| image-prompts | 单帧的比例、剪影、材质响应与摄影机空间 |
|
|
62
|
+
| storyboard | 轴线、机位高度、遮挡、接触点的起止状态 |
|
|
63
|
+
| video-prompts | 接触事件与重量结果、摄影机动机与速度、循环与全动作的分配 |
|
|
64
|
+
| review | 接触点与光向是否逐镜一致,混合层是否有重复决定 |
|
|
65
|
+
|
|
66
|
+
## 常见失效
|
|
67
|
+
|
|
68
|
+
- 脚离地、穿模、持物无来源换手;
|
|
69
|
+
- 同场光向翻转或轴线翻转;
|
|
70
|
+
- 摄影机运动没有动机,只为显示空间存在;
|
|
71
|
+
- 用「流畅」「自然」代替可验证的接触与重量;
|
|
72
|
+
- 混合二维层时身份边缘被两层同时决定,导致边缘抖动且改不动。
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# 规则与路由索引
|
|
2
|
+
|
|
3
|
+
本文件只做两件事:把每类决策路由到**负责的技能**,以及定义规则分级与冲突优先级。
|
|
4
|
+
它不复制任何规则正文——每个技能的预检、所有权边界、形态输入与完整规则表,都在该技能
|
|
5
|
+
自己的 `references/stage-contract.md` 里。核心不代子技能决定读哪一份资料。
|
|
6
|
+
|
|
7
|
+
## 目录
|
|
8
|
+
|
|
9
|
+
- [主题权威路由](#主题权威路由)
|
|
10
|
+
- [规则分级](#规则分级)
|
|
11
|
+
- [冲突优先级](#冲突优先级)
|
|
12
|
+
|
|
13
|
+
## 主题权威路由
|
|
14
|
+
|
|
15
|
+
路由到技能后由它自行加载资料。表中「不适用边界」是该技能**不得**越过的地方。
|
|
16
|
+
|
|
17
|
+
| 主题 | 负责技能 | 何时读取 | 不适用边界 |
|
|
18
|
+
|---|---|---|---|
|
|
19
|
+
| 长篇原著切片与逐章功能提取 | `$short-drama-novel-analyze` | 导入小说、连载或多集散稿,需要可追溯的分析层 | 不写改编契约与分集地图,不建资产 |
|
|
20
|
+
| 抽样快评一本书值不值得拆 | `$short-drama-novel-analyze` | 全量拆解前先按抽样判断改编密度与风险 | 结论限于抽样范围,不产候选集条目 |
|
|
21
|
+
| 改编价值与分集候选 | `$short-drama-novel-analyze` | 判断哪些单元在屏幕上成立、按戏剧结果切候选集 | 候选不是决定;集数由创作者与 develop 定 |
|
|
22
|
+
| 故事承诺与冲突引擎 | `$short-drama-develop` | 从点子建立可持续压力与回报 | 不用题材词直接生成剧情 |
|
|
23
|
+
| 单集契约与集尾交接 | `$short-drama-develop` | 规划进入状态、局部结果与出去压力 | 不代替剧本场景执行 |
|
|
24
|
+
| 单元里被反复运行的机制与耗尽 | `$short-drama-develop` | 单元故事靠同一套机制反复兑现,或中段开始重复、越写越薄 | 不规定运行次数与换代位置;不替单集决定怎么写 |
|
|
25
|
+
| 单集容量可行性 | `$short-drama-develop` | 进入场景化前估算各集镜头与时长量级 | 用项目自身比例,不设跨项目门槛,不阻断交付 |
|
|
26
|
+
| 连载人物与恢复记忆 | `$short-drama-develop` | 跨集人物策略、信息权限与铺垫债务较重 | 单场任务不必建立全量记忆 |
|
|
27
|
+
| 长材料改编 | `$short-drama-develop` | 压缩、合并或把说明转成屏幕载体 | 不复制原句或文风到新剧本 |
|
|
28
|
+
| 题材条件与钩子 | `$short-drama-develop` | 需要按压力机制比较题材写法 | 不把案例节拍、数字或标签当公式 |
|
|
29
|
+
| 单题材执行细节 | `$short-drama-develop` | 已确定题材、要落到场面颗粒与打法 | 一次只读一张卡;卡片不产生可阻断约束 |
|
|
30
|
+
| 前提装置(先知或外部授权) | `$short-drama-develop` | 主角带着已知结果开局,或获得一套外部规则给的能力 | 装置叠加在题材之上,不替代题材卡,也不新建题材 |
|
|
31
|
+
| 单形态执行细节 | `$short-drama` | 已确定制作形态、要按表定位一张形态卡 | 一次只读一张卡;形态不改写身份与地理 |
|
|
32
|
+
| Look Development 与风格帧 | `$short-drama` | 把视觉方向变成人物、地点和高压力代表帧的可观察规则 | `$short-drama-image-prompts` 只投影提示词;风格不接管身份、地理或剧情 |
|
|
33
|
+
| 场景与可表演行动 | `$short-drama-write` | 把单集节拍落实成场景 | 不决定分镜景别和运镜 |
|
|
34
|
+
| 对白行动与人物声音 | `$short-drama-write` | 写、改或诊断对白 | 不按句长、口癖数量判权力 |
|
|
35
|
+
| 多人场次的可辨识度与主角缺席场 | `$short-drama-write` | 一场里人多到分不清谁在与谁交手,或某场/某集不给主角 | 不决定站位、景别与镜头切换;那属于分镜 |
|
|
36
|
+
| 场次声音戏剧 | `$short-drama-write` | 声源、留白或 sound bridge 承担故事信息与压力 | 不替逐镜实现或混音,不让配乐替代表演 |
|
|
37
|
+
| 剧本生产标签 | `$short-drama-write` | 规范化对白、动作、VO/OS、文字与连续性 | 不借格式补造剧情 |
|
|
38
|
+
| 资产出现证据 | `$short-drama-assets` | 从剧本拆角色、地点、道具与状态 | 不用名词/人名匹配直接建资产 |
|
|
39
|
+
| 身份、变体与复用 | `$short-drama-assets` | 决定复用、新变体、新身份或未决 | 相机角度通常不是资产变体 |
|
|
40
|
+
| 资产图片提示词 | `$short-drama-image-prompts` | 把已接受资产投影为单帧可见规格 | 不承载有先后顺序的剧情动作 |
|
|
41
|
+
| 场景板光线与跨 View 一致 | `$short-drama-image-prompts` | 同一地点要拆多个观察方向、且这些板会被互相剪接 | 朝向造成的逆光/落影差异不需拉平 |
|
|
42
|
+
| 图片提示词定点修改 | `$short-drama-image-prompts` | 修改局部并冻结 preserve set | 不把重写整图伪装成局部编辑 |
|
|
43
|
+
| 镜头目的与覆盖 | `$short-drama-storyboard` | 从剧本建立有动机的镜头 | 不为景别多样性硬拆镜 |
|
|
44
|
+
| 场次视觉计划与 Coverage Audition | `$short-drama-storyboard` | 关键场次需先比较观众立场、信息时机、空间、摄影与声音运动 | 可选中间层,不拥有剧本事实或 shot 边界,不规定宫格/镜头数 |
|
|
45
|
+
| 冻结关键帧 | `$short-drama-storyboard` | 写镜头起点的可冻结瞬间 | 不写动作链或镜头终态 |
|
|
46
|
+
| 多人场面调度与交付面遮挡 | `$short-drama-storyboard` | 多人、群体、证据揭示、动态物体场面,或竖屏播放面会叠加遮挡 | 不把一个布局复用于所有题材;遮挡区来自已声明交付方案,不设通用安全框 |
|
|
47
|
+
| 视频运动规格 | `$short-drama-video-prompts` | 把已接受镜头边界写成时间变化 | 不改镜头、资产或剧本权威 |
|
|
48
|
+
| 交付容器与分段算术 | `$short-drama-video-prompts` | 项目声明了分段或多镜打包的交付方式 | 打包方式不改写镜头边界与可审查性 |
|
|
49
|
+
| 交付路由与执行触发词 | `$short-drama-video-prompts` | 项目声明了逐镜以外的路由,或某路由要求固定字样 | 触发词与路由都由创作者档案声明,本套件不自造字样,续接不产生第二个起点权威 |
|
|
50
|
+
| 表演动作与时长 | `$short-drama-video-prompts` | 动作、台词与落点可能超载 | 不用每秒动作数设通用阈值 |
|
|
51
|
+
| 摄影机、声音与相连边界 | `$short-drama-video-prompts` | 写运镜、环境运动、口型或声音方向 | 不添加无来源的音乐/事件 |
|
|
52
|
+
| 跨场与跨镜连续性 | `$short-drama-assets` | 状态变化会传给下一场/镜/集 | 不复制整本 设定集 到每镜 |
|
|
53
|
+
| 制作形态翻译 | `$short-drama` | 把实拍、二维、三维、水墨等方向投影到各阶段 | 风格名或模型代码不是生产决策 |
|
|
54
|
+
| 独立证据审查 | `$short-drama-review` | 冻结目标后写 finding 与 verdict | reviewer 不编辑 owner 来源 |
|
|
55
|
+
| 项目生产观察与校准 | `$short-drama-review` | 有授权文字观察且需定位到准确 prompt/spec/reference/config | 只在当前项目和版本有效;未观察结果保持未知 |
|
|
56
|
+
| 结果处置判断 | `$short-drama-review` | 已有诊断,要决定保留、后期、局部编辑、重新提交还是改写 | 处置先于修订;重复提交同一文本与追加形容词都不算修复 |
|
|
57
|
+
| 模板感诊断 | `$short-drama-review` | 至少两个位置出现同构机制或表达损失 | 不用禁词或单次类型惯例定罪 |
|
|
58
|
+
|
|
59
|
+
## 规则分级
|
|
60
|
+
|
|
61
|
+
| 分级 | 含义 | 谁能判定 |
|
|
62
|
+
|---|---|---|
|
|
63
|
+
| `structural_invariant` | 本地可证明的引用、ID、算术或显式状态矛盾 | 校验器可阻断 |
|
|
64
|
+
| `reviewed_invariant` | 语义义务,需要引用证据判断 | reviewer |
|
|
65
|
+
| `craft_default` | 通常有帮助的做法 | 创作者说明理由即可覆盖 |
|
|
66
|
+
| `taste_option` | 创作者的表达选择 | 不得单独阻断交付 |
|
|
67
|
+
|
|
68
|
+
## 冲突优先级
|
|
69
|
+
|
|
70
|
+
```text
|
|
71
|
+
创作者已接受的事实、结局承诺与改编边界
|
|
72
|
+
→ 已接受的单集契约、进入/出去状态与铺垫兑现义务
|
|
73
|
+
→ 各技能 stage-contract 中的规则表
|
|
74
|
+
→ 题材卡、形态卡与通用叙事手感
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
规则 ID 使用稳定前缀:`STY` 开发、`SCR` 剧本、`AST` 资产、`IMG` 图片提示词、
|
|
78
|
+
`SHT` 分镜与关键帧、`VID` 视频提示词、`CON` 连续性、`REV` 审查。ID 全套件唯一;
|
|
79
|
+
条目正文由拥有该前缀的技能维护,核心不再复制一份。`CON` 由资产、分镜与视频提示词
|
|
80
|
+
共同遵守,三方的 stage-contract 各自列出同一份条目。
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
# 项目命令
|
|
2
|
+
|
|
3
|
+
从 `short-drama` 技能安装目录运行,不依赖当前工作目录:
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
python3 <core>/scripts/project_tool.py init <project> --title <title>
|
|
7
|
+
python3 <core>/scripts/project_tool.py status <project>
|
|
8
|
+
python3 <core>/scripts/project_tool.py publish <project> --owner short-drama-write --artifact-id EP001:script --output 剧集/EP001/screenplay.md=_work/screenplay.next.md --input 项目开发/episode-map.jsonl
|
|
9
|
+
python3 <core>/scripts/project_tool.py accept <project> --artifact-id EP001:script --decision accepted [--note <note>]
|
|
10
|
+
python3 <core>/scripts/project_tool.py review <project> --artifact-id EP001:script --verdict approve [--reviewer <label>] [--note <note>]
|
|
11
|
+
python3 <core>/scripts/project_tool.py set-authority <project> --field /creator_authority/production_profile --decision-ref 创作者决策/decisions.jsonl#CD-PROFILE-001
|
|
12
|
+
python3 <core>/scripts/project_tool.py package <project> --episode EP001 --include 剧集/EP001/screenplay.md [--omit <path>=<reason>]
|
|
13
|
+
python3 <core>/scripts/project_tool.py verify <project> --episode EP001
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
## 发布
|
|
17
|
+
|
|
18
|
+
`publish --output <target>=<source>` 可重复。source 必须是项目内安全的 UTF-8 Markdown、
|
|
19
|
+
JSON 或 JSONL;命令先验证全部 source,再逐文件用临时文件和原子替换发布。每个 artifact 的
|
|
20
|
+
output 路径只能有一个 owner。
|
|
21
|
+
|
|
22
|
+
`--input <path>` 只声明该产物实际读取的直接项目文件。工具内部保存当前摘要,用于之后判断
|
|
23
|
+
`update_needed`;调用者不计算、不粘贴 hash,也不声明传递依赖。若 A 直接读 B,就声明 B;
|
|
24
|
+
B 又读 C 不会让 A 自动过期,只有 A 下次实际重建时才读取当前 B。
|
|
25
|
+
|
|
26
|
+
**失效图就是这份清单,漏一条就是一条静默的边**:产物文件首行 `sources` 声明了什么,
|
|
27
|
+
`--input` 就逐个列什么。少列一个,那个上游改了它不会变 `update_needed`,会带着过期的绑定
|
|
28
|
+
停在 `accepted`,而这与真的还是最新的看起来完全一样。身份与变体成对出现的上游尤其容易漏
|
|
29
|
+
一半(`props.jsonl` 列了、`prop-states.jsonl` 没列)。各阶段的完整清单写在自己的 SKILL.md 里。
|
|
30
|
+
|
|
31
|
+
默认只允许发布到标准阶段目录。`输入/**`、`.short-drama/**`、`交付/**` 和任何
|
|
32
|
+
`short-drama.json` 都不可作为 publish 目标;`short-drama.json` 里的 `creator_authority/*`、
|
|
33
|
+
`format/target_seconds_per_episode` 与 `format/pacing` 用 `set-authority` 写。`set-authority` 只认它所引用的那一个
|
|
34
|
+
决策文件,同一条决策的撤回要写在同一个文件里。分集目录
|
|
35
|
+
使用 `EP001` 形式。未登记的临时路径必须显式加 `--allow-unregistered-path`。
|
|
36
|
+
|
|
37
|
+
发布逐个文件原子完成:进程中断最多留下未被采用的临时文件,已完成的每个目标都是完整文件。
|
|
38
|
+
再次运行同一条发布命令即可继续。
|
|
39
|
+
|
|
40
|
+
## 接受与复核
|
|
41
|
+
|
|
42
|
+
发布后状态是 `needs_confirmation`。创作者决定当前版本:
|
|
43
|
+
|
|
44
|
+
```text
|
|
45
|
+
... accept <project> --artifact-id <id> --decision accepted
|
|
46
|
+
... accept <project> --artifact-id <id> --decision rejected --note <reason>
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
接受不要求单独证据文件或 target hash。输出或直接输入已变化时命令拒绝沿用旧决定。
|
|
50
|
+
|
|
51
|
+
接受后可记录复核:
|
|
52
|
+
|
|
53
|
+
```text
|
|
54
|
+
... review <project> --artifact-id <id> --verdict approve --reviewer 同事复核
|
|
55
|
+
... review <project> --artifact-id <id> --verdict revise --note <bounded-fix>
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
`approve_with_notes` 也计为通过;`provisional` 保持未批准。reviewer 是创作质量实践,
|
|
59
|
+
不是 CLI 身份认证协议:有独立上下文时使用,没有时诚实填写自检标签。
|
|
60
|
+
|
|
61
|
+
重新 `publish` 会清除该 artifact 的旧接受与复核。`status` 在读取时检查当前输出和直接输入,
|
|
62
|
+
只报告 `update_needed`,不修改状态文件,也不传播或保存“下游闭包”。
|
|
63
|
+
|
|
64
|
+
## 写回创作者权威
|
|
65
|
+
|
|
66
|
+
创作者定下制作形态、视觉方向、播放面、集长目标或语速后,先把这条决定作为一条创作者决策记录
|
|
67
|
+
发布到 `创作者决策/` 并 `accept`,再写回 `short-drama.json`。三步都要走,缺一步 `set-authority`
|
|
68
|
+
会拒绝——决策文件必须先是**已发布且已接受**的产物:
|
|
69
|
+
|
|
70
|
+
```text
|
|
71
|
+
# 1. 写决策记录(首行 sources 声明,其后每行一条决定)
|
|
72
|
+
{"record_type":"sources","schema_version":"1.0.0","sources":{"short-drama":{"owner":"short-drama","artifact":"short-drama.json"}}}
|
|
73
|
+
{"decision_id":"CD-PACING-001","status":"accepted","accepted_value":{"spoken_characters_per_second":5.0,"seconds_per_action_paragraph":2.5},"target_locators":[{"src":"short-drama","field":"/format/pacing"}],"decided_by":"creator","decided_at":"2026-01-01T00:00:00Z"}
|
|
74
|
+
|
|
75
|
+
# 2. 发布并接受
|
|
76
|
+
... publish <project> --owner short-drama --artifact-id creator:decisions --output 创作者决策/decisions.jsonl=_work/decisions.jsonl
|
|
77
|
+
... accept <project> --artifact-id creator:decisions --decision accepted
|
|
78
|
+
|
|
79
|
+
# 3. 逐个字段写回
|
|
80
|
+
... set-authority <project> --field /format/pacing --decision-ref 创作者决策/decisions.jsonl#CD-PACING-001
|
|
81
|
+
... set-authority <project> --field /creator_authority/delivery_surface --decision-ref 创作者决策/decisions.jsonl#CD-SURFACE-001
|
|
82
|
+
... set-authority <project> --field /format/target_seconds_per_episode --decision-ref 创作者决策/decisions.jsonl#CD-LENGTH-001
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
`/format/pacing` 收一个速率对象(每个速率是正数),剧本与分镜两个阶段都读它折算秒数。
|
|
86
|
+
|
|
87
|
+
`status` 的 `authority` 一节逐个回报已绑定字段的现状——`set-authority` 记下了它写进去的值,
|
|
88
|
+
所以直接改 `short-drama.json` 会在这里显示出来:
|
|
89
|
+
|
|
90
|
+
| 取值 | 含义 |
|
|
91
|
+
|---|---|
|
|
92
|
+
| `bound` | manifest 当前值仍是那条决策写进去的值 |
|
|
93
|
+
| `hand_edited` | 值被 `set-authority` 之外的东西改过 |
|
|
94
|
+
| `missing` | manifest 里已经没有这个槽位 |
|
|
95
|
+
| `not_authority_field` | 绑定记录指向一个不再属于白名单的字段 |
|
|
96
|
+
|
|
97
|
+
这一节是给 CLI 与 reviewer 看的,创作台不显示它——创作台按设计过滤掉生命周期内部信息。
|
|
98
|
+
|
|
99
|
+
对象槽位(`/format/pacing`、`creator_authority` 里带 `choices` 的块)是**并入**而不是整体替换:
|
|
100
|
+
一条只写了一半速率的决策,另一半会保持原样,因此 `set-authority` 校验的是合并之后的结果。
|
|
101
|
+
|
|
102
|
+
`--field` 只接受 `/creator_authority/*`、`/format/target_seconds_per_episode` 与 `/format/pacing`;
|
|
103
|
+
`creator_authority/decisions_artifact` 是目录布局,由 `init` 定下。被引用的记录 `status`
|
|
104
|
+
必须是 `accepted`,`target_locators` 必须含 `{"src":"short-drama","field":"<同一 field>"}`,
|
|
105
|
+
命令写入它的 `accepted_value`,并只写进 manifest 已声明的槽位、保持该槽位原有的 JSON 类型。
|
|
106
|
+
|
|
107
|
+
写到 `visual_direction`、`production_profile`、`delivery_surface` 这类带 `status` 的块时,
|
|
108
|
+
`accepted_value` 的键并入该块的 `choices`(该块没有 `choices` 就并入块本身),`status` 置为
|
|
109
|
+
`accepted`。直接写 `.../choices` 同样是并入,已记下的选择不会被这次写掉;写更深的单个选择
|
|
110
|
+
(如 `.../choices/look_development`)会把它所在的块一并置为 `accepted`。集长目标写正数秒。
|
|
111
|
+
下游读到的就是这里已 `accepted` 的值。
|
|
112
|
+
|
|
113
|
+
## 打包与复核
|
|
114
|
+
|
|
115
|
+
`package` 要求每个 `--include` 都属于本集并且当前为 `approved`。它把所选文本/JSON 复制到
|
|
116
|
+
`交付/<EP>/artifacts/`,写入 manifest 与 checksums,并记录 `--omit` 的理由。再次打包用新目录
|
|
117
|
+
原子替换旧包。
|
|
118
|
+
|
|
119
|
+
`verify` 重新计算交付文件校验和,并报告缺失、篡改或未登记新增文件。校验和只服务于准确交付,
|
|
120
|
+
不参与创作状态或依赖传播。
|
|
121
|
+
|
|
122
|
+
## Dashboard 启动
|
|
123
|
+
|
|
124
|
+
```text
|
|
125
|
+
python3 <core>/scripts/dashboard_server.py --workspace <workspace> --port 0 --open
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
`--host` 只接受回环主机。服务拒绝符号链接和路径越界,使用每次启动独立的本机会话。
|
|
129
|
+
Dashboard 是展示与有限文本编辑层,不承担生成、接受、复核或打包编排。保存使用当前文件版本
|
|
130
|
+
做冲突检查;项目文件已被其他工具修改时返回冲突,不覆盖新内容。
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# Look Development:把视觉方向变成可比较的代表帧
|
|
2
|
+
|
|
3
|
+
Look development 不是给全剧粘一个风格标签,也不是让参考图接管角色和剧情。它把创作者
|
|
4
|
+
接受的 `visual_direction` / `production_profile` 投影成少量**文本风格帧规格**,让人物、地点与
|
|
5
|
+
高压力场景在正式分镜前共用一套可观察视觉语言。本阶段只产出规格和提示词;创作者要求
|
|
6
|
+
实际出图时交给 `$short-drama-produce`,并对它展示的精确任务预览明确确认。
|
|
7
|
+
|
|
8
|
+
## 什么时候值得做
|
|
9
|
+
|
|
10
|
+
- 制作形态已经选择,但材质、光色、边缘、画面密度或景深倾向仍只停留在形容词;
|
|
11
|
+
- 同一项目的人物板、地点板和分镜分别成立,却看不出来自同一作品;
|
|
12
|
+
- 某种画风适合静态设定图,但是否保留表演、身份锚点或冲突层次仍未知。
|
|
13
|
+
|
|
14
|
+
普通项目可以直接使用已接受的视觉方向,不强制增加此阶段。需要时优先比较三类:
|
|
15
|
+
|
|
16
|
+
1. **人物表现测试帧**:身份锚点、肤质/线条、目光与细小表演是否仍可读;
|
|
17
|
+
2. **核心地点测试帧**:空间层级、材质响应、光源逻辑和色彩关系是否可复用;
|
|
18
|
+
3. **高压力场景测试帧**:该方向能否承载遮挡、冲突与注意中心,而不只适合静态展示。
|
|
19
|
+
|
|
20
|
+
## 先写可观察的方向
|
|
21
|
+
|
|
22
|
+
每个候选方向说明:
|
|
23
|
+
|
|
24
|
+
- **稳定项**:跨人物、地点和压力场景都必须保留的形状语言、材质处理、色彩层级、阴影边缘、
|
|
25
|
+
景深倾向或画面密度;
|
|
26
|
+
- **可变量**:允许按场次变化的冷暖、对比、留白、光比和运动层;
|
|
27
|
+
- **叙事职责**:这些选择帮助观众识别什么、感到什么;
|
|
28
|
+
- **失效信号**:身份锚点被吞、群像层级打平、冲突场景只剩氛围等可观察风险。
|
|
29
|
+
|
|
30
|
+
删除风格名称后,如果材质、光、色、边缘和空间写法没有任何变化,这个方向仍只是标签。
|
|
31
|
+
创作者接受后,把选择写入
|
|
32
|
+
`short-drama.json#/creator_authority/visual_direction/choices/look_development`;候选提示词本身
|
|
33
|
+
不具有 creator authority。
|
|
34
|
+
|
|
35
|
+
## 权限边界
|
|
36
|
+
|
|
37
|
+
`$short-drama-image-prompts` 只把已接受方向写成 `purpose: lookdev_frame` 的通用图片提示词。
|
|
38
|
+
风格参考的 `role` 是 `style`,可控制色彩层级、材质处理、阴影边缘、景深倾向和画面密度;
|
|
39
|
+
必须在 `must_not_control` 中保护角色身份、固定场景地理、剧情状态、道具文字和信息揭示。
|
|
40
|
+
|
|
41
|
+
人物表现帧仍绑定准确人物/造型;地点帧仍绑定准确地点/视角;压力场景仍绑定已接受的场景、
|
|
42
|
+
人物和剧本来源。风格帧没有权力发明这些事实,也不能反向覆盖资产或剧本。
|
|
43
|
+
|
|
44
|
+
## 比较与接受
|
|
45
|
+
|
|
46
|
+
按当前项目风险选择其中一类或多类;只有确实跨人物、地点或压力轴比较时,才并排展示共同规则、
|
|
47
|
+
局部差异、预期叙事效果和未知风险。不固定宫格、帧数或景别比例。若创作者随后提供授权形成的
|
|
48
|
+
生产观察,只在准确方向、提示词版本、参考槽位和制作配置范围内修订该项目。没有观察时只报告
|
|
49
|
+
文字风险,不声称画面已经成功或失败。
|
|
50
|
+
|
|
51
|
+
接受的是可观察的视觉选择,不是某个供应商、模型名、参数或任务结果。任何二进制媒体仍留在
|
|
52
|
+
外部制作环节,不进入文本交付包。
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# 母版、补拍与替代版
|
|
2
|
+
|
|
3
|
+
一个已接受的镜头在制作过程中经常要重做一部分。重做出来的那一版,和原来那一版是什么关系,
|
|
4
|
+
必须写清楚——因为它决定了**原文要求还有没有人负责**。
|
|
5
|
+
|
|
6
|
+
三种关系:
|
|
7
|
+
|
|
8
|
+
| 版本 | 承担什么 | 默认关系 |
|
|
9
|
+
|---|---|---|
|
|
10
|
+
| `master`(母版) | 已确认镜头的**全部**原文要求 | — |
|
|
11
|
+
| `pickup`(补拍) | 只补一个动作、反应、构图或效果片段 | 与母版**并存**,不替代 |
|
|
12
|
+
| `alternate`(替代版) | 同一项要求的另一种实现 | 是否替代**必须另行决定** |
|
|
13
|
+
|
|
14
|
+
## 危险不在"变短",在悄悄变成母版
|
|
15
|
+
|
|
16
|
+
缩小提示词范围往往是**正确**的修复:三人同框、复合动作或大范围变化做不出来时,
|
|
17
|
+
收成一个可控的瞬间是专业做法。
|
|
18
|
+
|
|
19
|
+
出问题的是另一件事——把这个缩小版当成完整母版归档。此后没有人再去看原文里那些
|
|
20
|
+
它没有承担的要求,而它们已经不在任何一版的责任范围内了。**没有报错,只是那部分内容
|
|
21
|
+
从此不会被拍出来。**
|
|
22
|
+
|
|
23
|
+
举个例子:母版是"甲当着乙和丙的面把账页拍在桌上,乙别开视线,丙起身"。做不出来,
|
|
24
|
+
于是改成一个特写:"一只手把账页拍在桌上"。这个特写本身没问题——问题是原文里的
|
|
25
|
+
"乙别开视线"和"丙起身"现在无人认领。
|
|
26
|
+
|
|
27
|
+
## 所以补拍要逐项交代去向
|
|
28
|
+
|
|
29
|
+
普通母版**不写** `coverage_scope`。只有补拍或替代版需要,写清四件事:
|
|
30
|
+
|
|
31
|
+
1. `master_motion_id`:它补的是哪一版;`supplements_motion_ids`:它实际补上了哪几段。
|
|
32
|
+
2. `source_obligations`:把原文要求**逐项列出**——动作、反应、对白、揭示、项目要求、
|
|
33
|
+
结束边界,每项带准确的 `source_ref`。
|
|
34
|
+
3. 每项要求的 `disposition`,以及它当前落在哪个 `motion_field`:由本版本承担 /
|
|
35
|
+
留在母版 / 交给另一个补拍版本 / 必须退回分镜修改。**不允许留空**。
|
|
36
|
+
4. `replacement_intent`:只能**提出**替代请求。
|
|
37
|
+
|
|
38
|
+
接着上面的例子,那个特写版的 `source_obligations` 大致是这样:
|
|
39
|
+
|
|
40
|
+
| 原文要求 | `disposition` |
|
|
41
|
+
|---|---|
|
|
42
|
+
| 甲把账页拍在桌上 | 本版本承担 |
|
|
43
|
+
| 乙别开视线 | 留在母版 |
|
|
44
|
+
| 丙起身 | **退回分镜修改**——本版本和母版都没有拍到 |
|
|
45
|
+
|
|
46
|
+
第三行就是这套记账存在的理由:它把"丢了一条"变成一件写在纸面上、必须有人处理的事,
|
|
47
|
+
而不是一个没人发现的空缺。若缩小范围丢掉的信息确实没有其他镜头承担,就退回分镜改边界——
|
|
48
|
+
不能靠改名叫"特写版"让它消失。
|
|
49
|
+
|
|
50
|
+
## 谁能决定替代
|
|
51
|
+
|
|
52
|
+
补拍默认 `does_not_replace_master`。
|
|
53
|
+
|
|
54
|
+
替代版想取代母版时,由**reviewer**核对全部要求后,在下游审查结论的
|
|
55
|
+
`supersession_decisions` 里指名替代版与母版的记录再作决定。运动规格文件
|
|
56
|
+
**不回写**这个结论——否则两个文件互相引用,依赖方向就成了环。
|
|
57
|
+
|
|
58
|
+
一句话:运动规格可以申请,不能自己批准。
|