@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,93 @@
|
|
|
1
|
+
# 动作的可生成性
|
|
2
|
+
|
|
3
|
+
## 目录
|
|
4
|
+
|
|
5
|
+
1. 什么时候适用
|
|
6
|
+
2. 判据:这个动作在日常影像里常见吗
|
|
7
|
+
3. 四类高风险写法
|
|
8
|
+
4. 戏剧信息从哪里来
|
|
9
|
+
5. 改写方法
|
|
10
|
+
6. 失败征兆与审查问题
|
|
11
|
+
|
|
12
|
+
## 1. 什么时候适用
|
|
13
|
+
|
|
14
|
+
**只在项目声明的制作形态由生成模型承担画面时适用**(见 `short-drama.json` 的
|
|
15
|
+
`creator_authority.production_profile`)。实拍项目不受本文件约束——演员能完成的精细动作,
|
|
16
|
+
生成模型不一定能。形态未声明时保持未决,不要预先按生成条件裁剪动作。
|
|
17
|
+
|
|
18
|
+
本文件不否定任何动作的戏剧价值,只判断**它能不能被当前交付方式实现**。同一个动作,
|
|
19
|
+
在实拍里是好写法,在生成管线里可能整镜不可用。
|
|
20
|
+
|
|
21
|
+
## 2. 判据:这个动作在日常影像里常见吗
|
|
22
|
+
|
|
23
|
+
生成模型演的是它见过很多次的动作。判据只有一句:**这个动作在普通生活影像里是否大量出现**。
|
|
24
|
+
|
|
25
|
+
| | 写法 | 为什么 |
|
|
26
|
+
|---|---|---|
|
|
27
|
+
| 放心写 | 走进来、坐下、站起来、回头、点头、递东西、接过、抱住、推开门、把东西放在桌上、翻页、伸手去够 | 高频、整体、单一躯干或单臂完成 |
|
|
28
|
+
| 需要改写 | 用工具挡住另一件正在运动的东西、以厘米计的位移、单指精确操作小部件、四步以上的双手编排、微表情作为承重信息 | 低频、精细、要求多部位同时精确 |
|
|
29
|
+
|
|
30
|
+
一个实用的自检:**把这个动作描述念给一个没读过剧本的人,他能不能马上比划出来**。
|
|
31
|
+
需要先解释一遍才能比划的,生成模型多半也做不出来。
|
|
32
|
+
|
|
33
|
+
## 3. 四类高风险写法
|
|
34
|
+
|
|
35
|
+
- **精确拦截**:两个人同时争夺一件小物、用手挡住正在合上的东西、在运动中截住某物。
|
|
36
|
+
它要求两个主体的时序与位置同时精确,是最容易整镜崩掉的一类。
|
|
37
|
+
- **不可见的内部状态**:`像是听见了什么`、`神色一凛`、`忽然明白过来`。这些是推断,
|
|
38
|
+
不是画面。演员可以演,生成模型没有可执行的目标。
|
|
39
|
+
- **否定式动作**:`没有接话`、`没有按下去`、`不去看他`。画面里"没有发生的事"无法生成;
|
|
40
|
+
需要改写成一个**正在发生**的替代动作。
|
|
41
|
+
- **精细编排链**:一拍里串起三步以上的手部动作,尤其是左右手分工。四秒内四步双手动作,
|
|
42
|
+
平均每步一秒,物理上也不成立。
|
|
43
|
+
|
|
44
|
+
## 4. 戏剧信息从哪里来
|
|
45
|
+
|
|
46
|
+
这是本文件最重要的一条:**戏剧信息来自常见动作的组合与时机,不来自动作本身的精巧**。
|
|
47
|
+
|
|
48
|
+
同一个"他不想让对方看见",可以写成:
|
|
49
|
+
|
|
50
|
+
- 高风险:`他用手掌挡住正在合上的笔记本边缘`(精确拦截)
|
|
51
|
+
- 可生成:`他把笔记本合上,手放在盖子上没有移开`(两个常见动作 + 一个停留)
|
|
52
|
+
|
|
53
|
+
后者信息量不减:谁控制了这台笔记本、对方现在不能打开它,都看得见。改的是实现方式,
|
|
54
|
+
不是戏。
|
|
55
|
+
|
|
56
|
+
**`craft_default · VID-21`**:项目声明由生成模型承担画面时,动作写成日常影像中高频、
|
|
57
|
+
整体、单一部位可完成的动作;精确拦截、不可见内部状态、否定式动作与三步以上双手编排
|
|
58
|
+
改写成等效的常见动作组合。戏剧信息由组合与时机承担。实拍形态或形态未声明时本条不生效。
|
|
59
|
+
|
|
60
|
+
## 5. 改写方法
|
|
61
|
+
|
|
62
|
+
按顺序试,取第一个成立的:
|
|
63
|
+
|
|
64
|
+
1. **换承担者**:让物件或环境承担变化,而不是让手承担。`门被风带上` 好过 `他用脚勾住门`。
|
|
65
|
+
2. **拆到相邻镜**:把精细动作拆成"动作前"与"结果"两镜,中间的过程不拍。
|
|
66
|
+
写字的过程难生成,`笔停在纸上` 与 `纸上多了一行字` 都容易。
|
|
67
|
+
3. **换成停留**:把"精确地做某事"换成"做完之后手没有拿开"。停留是最容易生成的表演。
|
|
68
|
+
4. **交给声音**:动作不可见时,用已声明的声源承担(见
|
|
69
|
+
[camera-audio-continuity.md](camera-audio-continuity.md))。
|
|
70
|
+
5. **确实不可替代时**,在运动规格里写明该镜为高风险,并给出一个可接受的降级实现,
|
|
71
|
+
让制作环节决定是否改用实拍或后期。
|
|
72
|
+
|
|
73
|
+
改写不得改变已接受的镜头边界、起止状态与剧本事实。若唯一可行的改写会改变戏剧结果,
|
|
74
|
+
这不是本环节能解决的问题——路由回 owner 修订,而不是在提示词里硬写。
|
|
75
|
+
|
|
76
|
+
## 6. 失败征兆与审查问题
|
|
77
|
+
|
|
78
|
+
### 失败征兆
|
|
79
|
+
|
|
80
|
+
- 一拍里出现三步以上手部动作,或左右手各有分工;
|
|
81
|
+
- 动作描述里出现推断词(像是、似乎、仿佛、忽然明白);
|
|
82
|
+
- 关键信息由"没有做某事"承担;
|
|
83
|
+
- 两个主体在同一物件上同时精确用力;
|
|
84
|
+
- 承重信息落在微表情上,而画面里没有别的载体;
|
|
85
|
+
- 把可生成性当成删戏的理由,而不是换实现方式的理由。
|
|
86
|
+
|
|
87
|
+
### 审查问题
|
|
88
|
+
|
|
89
|
+
1. 本项目声明的制作形态是什么?本条是否生效?
|
|
90
|
+
2. 这一拍的动作在日常影像里常见吗?删掉解释还能不能被比划出来?
|
|
91
|
+
3. 承重的戏剧信息是什么?它现在挂在动作的精巧上,还是挂在组合与时机上?
|
|
92
|
+
4. 改写之后,镜头边界、起止状态与剧本事实是否保持不变?
|
|
93
|
+
5. 确实不可替代的高风险镜,是否已标注并给出降级实现?
|
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
# 起点—变化—终点:视频运动说明
|
|
2
|
+
|
|
3
|
+
## 目录
|
|
4
|
+
|
|
5
|
+
1. 目的、输入与权属
|
|
6
|
+
2. 起止边界清单
|
|
7
|
+
3. 运动说明的七个部分
|
|
8
|
+
4. 从结构化规格到自然语言
|
|
9
|
+
5. 输出、常见问题与检查
|
|
10
|
+
|
|
11
|
+
## 本文负责的规则
|
|
12
|
+
|
|
13
|
+
- `VID-01` — 把已确认的起点、终点、时长、对白和下一镜状态视为只读内容。
|
|
14
|
+
运动规格只实现这个区间,不能改写它。
|
|
15
|
+
- `VID-02` — 按需填写起点、有序动作、表演变化、摄影机、环境/声音和时间,
|
|
16
|
+
最后输出结束报告。
|
|
17
|
+
- `VID-03` — 当参考帧已经说明外观和构图时,运动提示词专注“怎样变化”和“什么不变”,
|
|
18
|
+
不要重抄整本人物与场景设定。
|
|
19
|
+
- `VID-12` — 补拍版/替代版逐项绑定原文要求,说明本版本没有承担哪些内容,
|
|
20
|
+
并明确它是补充母版,还是请求经审查后替代母版;范围变小不等于完整覆盖。
|
|
21
|
+
|
|
22
|
+
## 字段必须填写本镜的具体内容
|
|
23
|
+
|
|
24
|
+
**`VID-08 · reviewed_invariant`**:结构化运动规格必须写出本镜准确的主体、动作、
|
|
25
|
+
接触和结果;本镜确有可见表演变化时,再写承担变化的演员,不能只放可复制的占位句。
|
|
26
|
+
|
|
27
|
+
字段说明不是镜头内容。每个 `ordered_subject_motion` 都要写本镜准确的角色绑定、
|
|
28
|
+
触发条件、可见动作、方向/路径、接触对象、阶段结果和顺序。不得在所有镜头复制
|
|
29
|
+
“已确认主体”“已确认动作”“到达已确认终点”。若使用 `performance_arcs[]`,只写这次
|
|
30
|
+
变化真正需要的触发、处理、选择或落点,不为字段齐全复制一套固定步骤。
|
|
31
|
+
|
|
32
|
+
判断方法:若一条结构化记录原样复制到下一镜仍然成立,它多半没有写出本镜的具体内容。
|
|
33
|
+
保留字段,把值换成本镜事实,并删掉无关物件和动作。
|
|
34
|
+
|
|
35
|
+
### 选择性变换边界
|
|
36
|
+
|
|
37
|
+
**`VID-11 · reviewed_invariant`**:当一段运动只让环境或主体的一部分折叠、消失、
|
|
38
|
+
替换、破碎、复原或改变形态时,必须写清:
|
|
39
|
+
|
|
40
|
+
1. **触发**:哪个已确认的动作、状态或声音开始变换;
|
|
41
|
+
2. **目标范围**:精确到哪一个人、物、表面、空间构件或局部,沿什么路径变化;
|
|
42
|
+
3. **结束几何/状态**:变换后留下、占据或暴露什么,不只写“消失了”;
|
|
43
|
+
4. **保持项 `preserve_set`**:同框但不参与变换的人物、手持道具、文字所在表面和空间锚点,
|
|
44
|
+
要保持什么位置、数量和连续性状态。
|
|
45
|
+
|
|
46
|
+
这需要审查内容是否正确、动作是否能执行,不能靠关键词检查证明。若目标模型会把邻近物一起
|
|
47
|
+
吞掉,先缩小目标范围、拆成多个运动阶段或增加阶段边界;不要只堆“其他不变”之类空泛的负面词。
|
|
48
|
+
|
|
49
|
+
### 参考图用途与补拍范围
|
|
50
|
+
|
|
51
|
+
每个 `reference_bindings` 条目声明准确的产物引用、用途 `role`、`may_control`、
|
|
52
|
+
`must_not_control` 与检查状态。`start_frame` 可以决定本镜起始构图和可见状态,却不能
|
|
53
|
+
提供尚未发生的终点;构图、尺度、效果参考也不能带入图中没有来源的人物、文字、
|
|
54
|
+
道具或事件。只有创作者/参考图权利人的可核对说明,或运行环境获授权后形成的准确
|
|
55
|
+
`reference_observation_ref` 才能支持像素/文字结论;只有文本记录时保持 `unverified`。
|
|
56
|
+
|
|
57
|
+
**`VID-12 · reviewed_invariant`**:普通母版省略 `coverage_scope`;只有局部补拍或替代实现才增加
|
|
58
|
+
该对象,并按 [`coverage-scope.fragment.json`](../assets/coverage-scope.fragment.json) 的统一结构,
|
|
59
|
+
用 `mode: pickup | alternate` 区分。补拍版/替代版用同一文件内的 `master_motion_id` /
|
|
60
|
+
`supplements_motion_ids` 说明它补什么,避免让文件引用自身;
|
|
61
|
+
`source_obligations` 把动作、反应、对白、揭示、结束边界与已确认的项目要求分别绑定来源,
|
|
62
|
+
并把 `disposition` 对到当前 `motion_field`。运动规格只能提交 `replacement_intent`;reviewer
|
|
63
|
+
在下游审查结论中指名替代版或母版的记录后作出决定,不能把审查引用回写运动规格
|
|
64
|
+
造成循环引用。未承担的内容保留在母版/其他补拍版本,或退回分镜修改,不能随更短的
|
|
65
|
+
提示词消失。
|
|
66
|
+
|
|
67
|
+
## 末镜交接
|
|
68
|
+
|
|
69
|
+
**`VID-09 · structural_invariant`**:下一镜起点要么引用已经存在的记录,
|
|
70
|
+
要么使用明确的 `provisional` 定位信息,不得伪造记录或 `sources` 条目。
|
|
71
|
+
|
|
72
|
+
`next_start` 只有在目标已经存在时,才能写成引用:`src` 指向本文件 `sources` 里声明的那个
|
|
73
|
+
快照,`record_id` 指向该快照里已存在的记录。最后一镜可对照已有的
|
|
74
|
+
单集卡或分集表交接;若下一集尚未建立,就写 `next_start_locator` 和 `provisional`
|
|
75
|
+
状态。不得伪造 `EP002-START` 记录并声称匹配。
|
|
76
|
+
|
|
77
|
+
## 1. 目的、输入与权属
|
|
78
|
+
|
|
79
|
+
视频提示词不负责“想一个更精彩的镜头”,而是把已接受镜头的变化写成能按时间执行的过程。
|
|
80
|
+
输入包括:镜头与关键帧快照、准确的资产引用、时长、镜头目的、起止边界、对白、画外音、音效和声音引用、
|
|
81
|
+
进出连续性、视觉/声音方向和可选的制作能力配置。
|
|
82
|
+
|
|
83
|
+
分镜负责地点/时间、资产版本、构图意图、时长、对白、起止姿态/位置/目光/双手/持物、
|
|
84
|
+
连续性终点和下一镜起点。运动规格对这些内容只读,只能报告当前描述是否到达要求的终点。
|
|
85
|
+
|
|
86
|
+
## 2. 起止边界清单
|
|
87
|
+
|
|
88
|
+
写提示词前先做内部卡片:
|
|
89
|
+
|
|
90
|
+
```text
|
|
91
|
+
镜头/关键帧:文件头 `sources` 声明的快照 key(`src`)加准确的记录与字段
|
|
92
|
+
镜头目的:观众的注意、信息或情绪要怎样改变
|
|
93
|
+
时长:已确认时长
|
|
94
|
+
起点:姿态 / 重心 / 目光 / 双手 / 持物 / 空间关系
|
|
95
|
+
终点:同一组字段的已确认 `end_boundary`
|
|
96
|
+
对白/声音:准确来源引用 + 已确认的表演或声源要求
|
|
97
|
+
下一镜:下一镜起点引用(只用于比较)
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
### 最少但够用的起点信息
|
|
101
|
+
|
|
102
|
+
只重复“开始运动必须知道”的状态:
|
|
103
|
+
|
|
104
|
+
- 重心在哪只脚、身体面向和是否坐/倚/跪;
|
|
105
|
+
- 目光落点与注意对象;
|
|
106
|
+
- 双手的位置、哪只手持什么、接触是否已发生;
|
|
107
|
+
- 与门、桌、人等行动相关对象的距离/方位;
|
|
108
|
+
- 正在持续的运动(若关键帧冻结的是运动中瞬间)。
|
|
109
|
+
|
|
110
|
+
参考帧已包含脸、服装全貌、墙面材料等内容时不重复。**`craft_default`** 是“只重述动作所需条件,
|
|
111
|
+
不重述整份视觉设定”。但若提示词离开参考帧就会把左右手或物体搞错,应保留这些局部事实。
|
|
112
|
+
|
|
113
|
+
## 3. 运动说明的七个部分
|
|
114
|
+
|
|
115
|
+
### 3.1 起点 `start_anchor`
|
|
116
|
+
|
|
117
|
+
用现在时、静态句准确写出起点,避免“她准备站起来”这种已经加入未来动作的写法。
|
|
118
|
+
若关键帧与镜头起点不一致,先请求分镜环节解决,不能任选其一。
|
|
119
|
+
|
|
120
|
+
### 3.2 有序动作 `ordered_subject_motion`
|
|
121
|
+
|
|
122
|
+
每个动作阶段说明:谁行动、做什么、方向/路径、对象/接触、先后条件和到达状态。优先按因果关系连接:
|
|
123
|
+
|
|
124
|
+
```text
|
|
125
|
+
听见门外金属碰响后 → 目光先移向门缝 → 左手停止翻页并压住记录本 → 身体才从椅背离开
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
而非:
|
|
129
|
+
|
|
130
|
+
```text
|
|
131
|
+
她转头、翻书、站起、走向门、微笑、震惊,所有动作同时自然发生
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
“缓缓、自然、电影感”不能替代路径与结果。只描述画面内可见动作;心理词要落为呼吸、
|
|
135
|
+
注视、肌肉张力、停顿、话语节奏或明确的画外音。
|
|
136
|
+
|
|
137
|
+
**`craft_default`**:一条运动提示词优先只有一个主导的戏剧变化,必要反应、环境与摄影
|
|
138
|
+
都服务这项变化;这不是固定动作数量。若同一镜必须同时完成互不依赖的交接、追逐、身份
|
|
139
|
+
揭示和大范围效果,先向 storyboard 请求按注意或力学边界拆镜。反过来,也不能为了变短
|
|
140
|
+
删掉逐字对白、关键反应或终点义务;短与长都不是质量指标,可执行的因果路径才是。
|
|
141
|
+
|
|
142
|
+
若该动作包含选择性变换,按 `VID-11` 把触发、目标范围、结束几何/状态和 `preserve_set`
|
|
143
|
+
写进相应动作阶段;不能让相邻非目标人物、道具或已批准文字跟随目标一起改变。
|
|
144
|
+
|
|
145
|
+
### 3.3 表演过程 `performance_arcs[]`
|
|
146
|
+
|
|
147
|
+
表演不是表情标签序列。找到最小变化:
|
|
148
|
+
|
|
149
|
+
1. **触发**:外部声音/动作/台词或内部决定(来源可追溯);
|
|
150
|
+
2. **接收**:注意被什么抓住;
|
|
151
|
+
3. **处理**:一两个细微信号,而非面部部件清单;
|
|
152
|
+
4. **决定**:角色采取/抑制什么行动;
|
|
153
|
+
5. **结果**:到达已确认终点的情绪与身体状态。
|
|
154
|
+
|
|
155
|
+
- **`craft_default`**:把副词换成节奏和行为,“愤怒地说”可具体为先压低音量、吞回半句话、最后直呼对方全名——前提是符合台词与人物。
|
|
156
|
+
- **`reviewed_invariant`**:不能发明新信息、关系转变或角色意图。审查者对照镜头目的和剧本资料判断。
|
|
157
|
+
- **`taste_option`**:强度与外显程度可从克制到爆发,由导演选择,不强制“先微表情后爆发”。
|
|
158
|
+
|
|
159
|
+
### 3.4 摄影机 `camera`
|
|
160
|
+
|
|
161
|
+
选择有明确目的的固定机位或一条主要运动路径。移动机位要写动机、开始条件、运动方向/速度和
|
|
162
|
+
终点景别;例如“当信封被推入光区时,机位做一次短促前移,停在手与印章的近景”,
|
|
163
|
+
比“镜头电影感推进”更清楚。详见 `camera-audio-continuity.md`。
|
|
164
|
+
|
|
165
|
+
### 3.5 环境与声音
|
|
166
|
+
|
|
167
|
+
只让环境中对故事或连续性有意义的元素动:风推动窗帘、远处警示灯扫过墙、杯中水因桌面撞击晃动。
|
|
168
|
+
不要给每个背景物同时加动作。声音部分引用准确的对白、画外音和音效,说明表演方式、同步要求、
|
|
169
|
+
空间声源和层级,不改台词。
|
|
170
|
+
|
|
171
|
+
### 3.6 时间 `timing_plan`
|
|
172
|
+
|
|
173
|
+
默认把这几秒写成一条读得出先后的节拍链:
|
|
174
|
+
|
|
175
|
+
```text
|
|
176
|
+
首先<起手状态>;接着<动作、方向与幅度>;随后<这个动作造成的结果>;与此同时<另一条通道>;最终<结束状态>
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
- **幅度、角度、距离是你写的这一拍的组成部分**。“肩线下沉约五厘米”“上身向左转约三十度”
|
|
180
|
+
“右手停在离杯沿一掌处”说的是本镜要拍成什么样,直接写,不必等上游先给数字。写不出量级,
|
|
181
|
+
通常说明这一拍还没想清楚该有多大——先把动作想清楚,再回来写这一句。
|
|
182
|
+
- **可以钉一到两个锚点秒数**:起手保持多久、终点定格多久、一次运镜走多久(“起手不动约半秒”
|
|
183
|
+
“结束姿态定住约一秒”)。锚点是写在正文里的散文标注——不拆成 `timing_plan` 分段、不把
|
|
184
|
+
`mode` 写成 `explicit`、不参与 `VID-04` 求和。所有锚点相加应当明显小于镜头时长,链条其余
|
|
185
|
+
部分留给相对先后;锚点多到要铺满整镜时,改写成下面的显式分段。
|
|
186
|
+
- **并行通道由“与此同时”显式标出,一条链只给一条**,且落在串行链没占用的通道上:另一个
|
|
187
|
+
角色、主体的另一处身体通道,或环境。同一只手、同一道视线不能同时走两条。
|
|
188
|
+
|
|
189
|
+
只有制作需要按秒对齐时才写显式秒段。
|
|
190
|
+
|
|
191
|
+
- **`structural_invariant`**:明确标注的非重叠段落时长相加必须**等于**已接受的镜头时长;重叠段必须写明重叠关系,而不是靠猜。
|
|
192
|
+
- **超出**:落在时长之外的部分被截断,段尾动作、逐字对白和终点姿态一起丢失。
|
|
193
|
+
- **不足同样是缺陷**,而且后果更重:未分配的余量不会是静止画面,执行端会用未经批准的动作、表情或镜头运动把它填满,这些内容没有任何上游来源。把余量分配给已有阶段,或补一个有内容的收尾段(落住反应、保持终点姿态),不要留白。
|
|
194
|
+
- 两个方向都由 `VID-04` 管辖;审查者引用该编号时,超出与不足都算违约。
|
|
195
|
+
- **`reviewed_invariant`**:即使数学不超时,台词、动作、反应是否可完成仍由审查者结合语言、强度和物理路径判断。
|
|
196
|
+
- 不设通用“每秒几字/几个动作”硬门槛。
|
|
197
|
+
|
|
198
|
+
写显式秒段时按这三个字段落实:
|
|
199
|
+
|
|
200
|
+
| 字段 | 含义 |
|
|
201
|
+
|---|---|
|
|
202
|
+
| `timing_plan.mode` | `explicit` 才做算术断言。写 `relative` 就不要再给分段标 `explicit`,两者同时出现是自相矛盾,校验器会直接报 `VID_TIMING_MODE_INCONSISTENT` 而不是替你选一个 |
|
|
203
|
+
| `timing_plan.declares_overlap` | 分段区间确实要重叠时置 `true`,此时占用时间按并集计算。留空或 `false` 而区间又重叠,视为漏写重叠关系而不是默认相加 |
|
|
204
|
+
| `timing_plan.declared_total_or_endpoint_seconds` | 可以写并集占用时长,也可以写终点秒数;两种读法都接受,但必须与分段实际情况对得上 |
|
|
205
|
+
|
|
206
|
+
算术由 [motion_timing_check.py](../scripts/motion_timing_check.py) 执行:超出按**终点**判断,
|
|
207
|
+
不足按裁剪到镜头长度内的**并集**判断。两者分开量是因为中间留空加尾部超出会互相抵消——
|
|
208
|
+
`0.0-2.0` 加 `3.0-5.0` 在 4 秒镜头上"合计正好 4 秒",实际却同时发生了截断与留白。
|
|
209
|
+
|
|
210
|
+
### 3.7 结束报告 `end_report`
|
|
211
|
+
|
|
212
|
+
把描述结果写回同一组起止边界字段:姿态、位置、目光、双手、持物和可见状态变化。
|
|
213
|
+
逐项对照分镜的 `end_boundary`:
|
|
214
|
+
|
|
215
|
+
```text
|
|
216
|
+
reported_end == source end:match
|
|
217
|
+
reported_end 不同:mismatch + 请求修改分镜
|
|
218
|
+
提示词未实现某字段:unrealized + 修改运动说明
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
`end_report` 永远不是下一镜的权威输入。不能用运动规格中的“更自然结尾”覆盖已确认终点。
|
|
222
|
+
|
|
223
|
+
## 4. 从结构化规格到自然语言
|
|
224
|
+
|
|
225
|
+
### 可复制的写法骨架
|
|
226
|
+
|
|
227
|
+
```text
|
|
228
|
+
从[最少但够用的起点信息]开始。首先[起手状态,可含一个锚点秒数];接着[动作、方向与幅度];
|
|
229
|
+
随后[这个动作造成的结果与随之而来的可见处理];与此同时[另一条通道上并行的一件事];
|
|
230
|
+
最终[已确认终点的可见状态]。摄影机[写死构图并说明保持多久,或一次有动机的移动,含触发、路径与终点景别]。
|
|
231
|
+
[必要的环境运动]。对白/声音:[准确来源与表演/空间意图]。
|
|
232
|
+
```
|
|
233
|
+
|
|
234
|
+
### 写完之后过一遍可执行检查
|
|
235
|
+
|
|
236
|
+
判据:**执行端照着这段能不能生成,而不用自己决定任何一件事**。逐条对照,缺哪条补哪条:
|
|
237
|
+
|
|
238
|
+
| 必须写出来 | 缺了会发生什么 |
|
|
239
|
+
|---|---|
|
|
240
|
+
| 起手状态(这一拍从哪个姿态开始) | 执行端自选起点,接不上前一镜的终点 |
|
|
241
|
+
| 串行链:接着→随后,每一步带方向与幅度 | 动作糊成一团,看不出先后 |
|
|
242
|
+
| 至少一处量级(约五厘米/约三十度/约一掌) | 幅度由执行端决定,同一动作逐条漂移 |
|
|
243
|
+
| 一条并行通道,用「与此同时」标出 | 要么全片只有一个人在动,要么所有人一起动 |
|
|
244
|
+
| 结束状态(终点姿态定在哪) | 收尾被自由发挥,下一镜起点失效 |
|
|
245
|
+
| 摄影机:锁定写死构图与保持多久,移动写触发、路径、终点景别;两种都补一句**这次要让观众看清什么** | 空着会被读成可以自由漂移;没有理由的运镜是装饰,执行端换一种也说得通,于是真换 |
|
|
246
|
+
| 有台词时把台词逐字挂在它发生的那一拍上 | 口型对不上,或台词被当成画面内容渲染 |
|
|
247
|
+
|
|
248
|
+
**写短**:这段是给生成器的执行指令,不是给人读的散文。上表七项在**两百字上下**就能写满,
|
|
249
|
+
超过三百字基本可以确定有冗余。省字的办法是合并而不是删项——压到一百八十字以内时,
|
|
250
|
+
最先掉的是台词挂载与声音这两项,把它们挤掉换来的字数不值:
|
|
251
|
+
把景别、机位、角度、焦段并进一句(「固定中近景,轴线左侧平视,中焦」),把并行通道挂在它
|
|
252
|
+
真正发生的那一拍后面而不另起一句,量级只给关键的那一到两处而不是每个动作都标。
|
|
253
|
+
形容词、情绪解释、把同一个动作换个说法再说一遍都不改变生成结果,只增加成本;
|
|
254
|
+
参考帧已经表达的长相、服装、场景装修一律不重复。
|
|
255
|
+
|
|
256
|
+
写出来是这样(合成材料,约两百字覆盖上表全部七项):
|
|
257
|
+
|
|
258
|
+
```text
|
|
259
|
+
从她双手交叠压膝、视线在脚边水洼的起点开始。首先保持不动约半秒;接着右手离膝向伞柄
|
|
260
|
+
伸出约二十厘米;随后指节扣住伞柄,把伞立起点在地面;与此同时水洼被风推出一层细纹;
|
|
261
|
+
最终她站直,右手持伞垂在身侧,视线抬到对面门口。摄影机固定,平视,取头肩,轴线左侧,
|
|
262
|
+
全程不动——让观众看清她起身前后手上的变化,而不是跟着她走。台词在「接着」这一拍:「我不等了。」
|
|
263
|
+
```
|
|
264
|
+
|
|
265
|
+
把元数据、`hash`、内部规则 ID 留在 Markdown 卡片,不放进可复制提示词。避免供应商参数、权重语法、任务指令和质量承诺。
|
|
266
|
+
参考图文件名、版本号、锁定标记、草图指代和重投备注同样不进交付文本——执行端会把它们当画面内容渲染出来;完整清单与改写方法见
|
|
267
|
+
[production-prompt-grammar.md](production-prompt-grammar.md) 的“交付文本只含交付内容”。若项目声明了分段交付档案,容器算术与槽位职责见
|
|
268
|
+
[delivery-profile.md](delivery-profile.md)。
|
|
269
|
+
|
|
270
|
+
### 不重复参考帧内容
|
|
271
|
+
|
|
272
|
+
- 参考帧已经表达:人物长相、整套服装、空间装修、静态构图、基础光线;通常省略。
|
|
273
|
+
- 运动说明仍需表达:左右手/持物、即将行动的关节与路径、目光目标、运动相关遮挡、会变化的环境和镜头运动。
|
|
274
|
+
- 能删去而不改变动作结果的外观句,优先删。
|
|
275
|
+
- **`craft_default`** 不是“越短越好”;关键起止条件不能因为节省字数而丢失。
|
|
276
|
+
|
|
277
|
+
## 5. 输出、常见问题与检查
|
|
278
|
+
|
|
279
|
+
### 输出
|
|
280
|
+
|
|
281
|
+
- 已接受的运动规格:有序动作、表演、摄影机、环境、声音和时间;
|
|
282
|
+
- 起点/终点的只读来源引用与结束比较报告;
|
|
283
|
+
- 一段可复制的通用提示词,以及必要的警告或内容丢失说明;
|
|
284
|
+
- 不含视频、音频、远程任务 ID、网址或接口状态。
|
|
285
|
+
|
|
286
|
+
### 常见问题
|
|
287
|
+
|
|
288
|
+
- 从不同于关键帧的手势或持物开始;
|
|
289
|
+
- 提示词大半重写人物服装和场景,动作只剩“自然移动”;
|
|
290
|
+
- 所有动作“同时”,接触/方向/先后不明;
|
|
291
|
+
- 选择性变换只写“消失/变形”,没有目标范围、结束几何或 `preserve_set`;
|
|
292
|
+
- 表演只有“震惊—生气—悲伤”标签,没有触发和可见过程;
|
|
293
|
+
- 终点新造了站位、道具转移或下一镜事实;
|
|
294
|
+
- 单个镜头内部出现未声明的剪切(多镜容器在成员镜头边界上的切换不算,见
|
|
295
|
+
[delivery-profile.md](delivery-profile.md) 的多镜容器);
|
|
296
|
+
- 明确时间段只用掉时长的一部分,剩下的秒数没有任何内容承接;
|
|
297
|
+
- 交付文本里混入文件名、版本号、锁定标记或重投备注。
|
|
298
|
+
|
|
299
|
+
### 检查
|
|
300
|
+
|
|
301
|
+
1. **结构**:来源引用、时长、明确时间段、摄影机区间、对白引用和结束比较。
|
|
302
|
+
2. **内容**:审查者引用镜头与运动说明,判断能否执行、能否表演、摄影动机是否成立、是否发明内容。
|
|
303
|
+
3. **常用做法**:动作精简、避免重复参考帧、单一主运镜都可以建议,但允许有理由地调整。
|
|
304
|
+
4. **创作者选择**:表演强度、固定/移动机位、节奏和声音密度由已接受的创作方向决定。
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# 表演弧、动作预算与节奏
|
|
2
|
+
|
|
3
|
+
## 时长门槛
|
|
4
|
+
|
|
5
|
+
- `VID-04` — 显式标时的各段必须合计等于 accepted duration:超出与留下未分配余量同样违约。
|
|
6
|
+
- `VID-05` — 未标时的 action load 是 `reviewed_invariant`:根据本镜头证据审查
|
|
7
|
+
表演和故事变化是否仍可读,不套通用“每秒几个动词”公式。
|
|
8
|
+
|
|
9
|
+
## 目录
|
|
10
|
+
|
|
11
|
+
1. 动作预算不是计数器
|
|
12
|
+
2. 构造可演的动作链
|
|
13
|
+
3. 构造可见的表演变化
|
|
14
|
+
4. 时间与对白共同预算
|
|
15
|
+
5. 超载修订与审查
|
|
16
|
+
|
|
17
|
+
## 1. 动作预算不是计数器
|
|
18
|
+
|
|
19
|
+
动作预算问的是:在 accepted duration 内,演员能否保持故事重点,清楚完成必要动作/反应/对白和 end state?它不是“每镜最多三个动词”或“每秒固定字数”。动作距离、接触复杂度、语言节奏、停顿、表演强度与相机是否需要等待,都比动词数量重要。
|
|
20
|
+
|
|
21
|
+
**`reviewed_invariant`**:general feasibility 由审查者用 shot、motion、对白和时长证据判断。只有显式 segment 数学超时才是 `structural_invariant`。
|
|
22
|
+
|
|
23
|
+
## 2. 构造可演的动作链
|
|
24
|
+
|
|
25
|
+
### 先找不可删的 spine
|
|
26
|
+
|
|
27
|
+
从 shot purpose 反推:
|
|
28
|
+
|
|
29
|
+
- 哪个动作造成信息/权力/情绪变化?
|
|
30
|
+
- 哪个 reaction 让观众读懂变化?
|
|
31
|
+
- 哪个动作必须完成才能到 accepted end?
|
|
32
|
+
- 哪些只是“让画面忙起来”?
|
|
33
|
+
|
|
34
|
+
保留 spine,装饰动作最后加入。短镜头常见的有效结构是“一次决断动作 + 一次对方/自身 reaction”,但这只是 **`craft_default`**。
|
|
35
|
+
|
|
36
|
+
### 给动作以条件与结果
|
|
37
|
+
|
|
38
|
+
动作 stage 至少明确 actor、方向/对象和到达结果。接触动作注意顺序:先靠近、再触碰、再施力、物体才变化;持物转手必须写清哪只手、何时释放/接住。角色不能在同一时刻用同一只手完成不相容任务。
|
|
39
|
+
|
|
40
|
+
空间位移要尊重 shot start 的距离和障碍。若要穿过房间、开锁、取物、返回、说完长对白,问题通常不在 prompt 措辞,而在 shot boundary/时长,需要 revision request。
|
|
41
|
+
|
|
42
|
+
### 同时发生的合理用法
|
|
43
|
+
|
|
44
|
+
“同时”适合可自然叠加的通道:角色说话时缓慢抬眼,环境雨声持续,camera 平稳跟随。不要用它压缩互为条件的动作,或让双手/身体执行物理冲突。
|
|
45
|
+
|
|
46
|
+
## 3. 构造可见的表演变化
|
|
47
|
+
|
|
48
|
+
### 角色不是情绪滑块
|
|
49
|
+
|
|
50
|
+
不要机械排列“平静 30% → 紧张 70% → 震惊 100%”。从角色 agenda 和触发选择外显通道:
|
|
51
|
+
|
|
52
|
+
- 目光:寻找、回避、锁定、短暂失焦;
|
|
53
|
+
- 呼吸/声音:吸气被截断、语速变化、音量反常降低;
|
|
54
|
+
- 身体:重心撤后、肩线防御、手指停止或反复动作;
|
|
55
|
+
- 语言:停顿、吞字、改称呼、打断或刻意完整地说完;
|
|
56
|
+
- 决断动作:收回手、让路、把物件推回、关门。
|
|
57
|
+
|
|
58
|
+
选择能被当前景别读到的信号。远景不应依赖细微眼睑变化;近景不必用夸张全身后退替代内心处理。
|
|
59
|
+
|
|
60
|
+
### 可选:表演标尺只用来校准形容词
|
|
61
|
+
|
|
62
|
+
只有创作者已经声明并接受一套表演标尺时才使用它。**本文档不提议任何刻度、增量公式或
|
|
63
|
+
每镜升压规则**;没有创作者标尺时就写可见表演,不写数字。
|
|
64
|
+
|
|
65
|
+
标尺唯一的职责是**消歧一个形容词要演到多硬**。“淡然”“不安”“恐惧”之间有清楚的高低
|
|
66
|
+
次序,而同一个词在不同人物、不同场合的合理落点其实相当集中——所以标尺回答的是“这里
|
|
67
|
+
的‘不安’是欲言又止,还是手抖到握不住杯子”,不是“这一镜该比上一镜更用力”。这也是
|
|
68
|
+
[production-prompt-grammar.md](production-prompt-grammar.md) 里“哪些情绪形容词可删”的
|
|
69
|
+
另一面:能被标尺定住落点的形容词才值得留下,定不住的应当换成可见动作。
|
|
70
|
+
|
|
71
|
+
用法:
|
|
72
|
+
|
|
73
|
+
- **取值来自形容词本身**,由人物、触发和后果决定落点;不从镜号、段序或“第几次升级”
|
|
74
|
+
推导。同一个词在本集第 3 镜和第 30 镜可以是同一个落点。
|
|
75
|
+
- **保持与变化同样合法,而且保持更常见**。相邻段之间不变是最常出现的正确选择:一个
|
|
76
|
+
角色可以在整场戏里维持同一强度,变化发生在别人身上或发生在信息上。为了“有层次”
|
|
77
|
+
每段都动一格,是把标尺当节拍器用。
|
|
78
|
+
- **按最小可见增量变化**。相邻段之间的改变小到刚好能被当前景别看见即可;跨段一次跳
|
|
79
|
+
多级必须有段内可指认的触发(一句台词、一次接触、一个揭示),否则观众看到的是换了
|
|
80
|
+
个人,而不是同一个人变了。
|
|
81
|
+
- **只标注本段真正参与变化的角色**。旁观者、画外角色和状态未变的人不进标注;为“字段
|
|
82
|
+
齐全”给全场人各标一个值,会让审查者分不清哪一处变化是有意的。
|
|
83
|
+
- **数字不替代表演**。标尺值旁边必须仍有可见通道(目光、呼吸、身体、语言、决断动作);
|
|
84
|
+
只有数字的表演等于没写表演。
|
|
85
|
+
|
|
86
|
+
与剧本的关系:剧本的 `(情绪)` 括注是表演状态和说话方式的同一个来源。标尺值、可见
|
|
87
|
+
表演与台词的说话方式都应当从这一个括注派生;三者互相矛盾时以剧本括注为准,需要改动
|
|
88
|
+
就发修订请求,不在提示词里自行折中。
|
|
89
|
+
|
|
90
|
+
### 单人或多人 `performance_arcs[]`
|
|
91
|
+
|
|
92
|
+
每个真正承担本镜可见变化的角色才写一条;状态未变的旁观者不因字段完整度进入主表演通道。
|
|
93
|
+
以下是可选词汇,不是六项必填拍表:
|
|
94
|
+
|
|
95
|
+
1. **agenda**:他此刻想维持或取得什么;
|
|
96
|
+
2. **receive**:准确触发怎样被角色接收;
|
|
97
|
+
3. **mask**:角色确实在掩饰、继续或压住什么时才写;
|
|
98
|
+
4. **visible_leak**:掩饰漏出的目光、尾音、手部、距离或物件动作,且当前景别读得到;
|
|
99
|
+
5. **choice**:说、做或刻意不做一个有方向的选择;
|
|
100
|
+
6. **landing**:选择落在 accepted end 状态。
|
|
101
|
+
|
|
102
|
+
需要时从 [`performance.fragment.json`](../assets/performance.fragment.json) 复制统一结构;
|
|
103
|
+
`actor_ref`、触发和注意交接对象都写成引用:`src` 指向文件头 `sources` 声明的那个快照,
|
|
104
|
+
`record_id` 指向该快照里的记录;不写裸角色名或另造引用形状。注意归属方所在的产物
|
|
105
|
+
(设定集、分镜或剧本)也在同一个 `sources` 里声明一个 key。
|
|
106
|
+
只保留能让本镜更可演、更可读的字段。例如角色认出桌上印章后仍试图把原句说完,尾音降低、
|
|
107
|
+
右手离桌,最后停止阻拦并让出通道;若没有掩饰,就删除 `mask` / `visible_leak`,不要填 `none`。
|
|
108
|
+
|
|
109
|
+
若本镜只需要“听见门响后停止翻页”,写触发和可见动作即可,不必把其余字段补成同义句。
|
|
110
|
+
|
|
111
|
+
空镜、道具细节、纯空间转场、无人物镜头,或只有物理动作而没有可见内在处理的镜头,省略
|
|
112
|
+
`performance_arcs[]`。单人镜也不因人数自动生成 arc;多人镜更不是给每个人复制同一“震惊”。不同人物可以早认出但继续说、
|
|
113
|
+
晚半拍才让路、故意制造噪声掩饰,或看见别人停顿后才理解变化。所有差异都要来自角色立场、
|
|
114
|
+
已接受信息和空间关系。
|
|
115
|
+
|
|
116
|
+
只在注意真正交接时,用 `attention_handoffs[]` 简写“谁/什么拥有注意 → 哪个可见或可听触发 →
|
|
117
|
+
注意转给谁/什么”;没有交接时省略该字段。
|
|
118
|
+
交接两端可以是角色、道具、证据、声源或已建立的空间区域;分别指向拥有该事实的那个产物的
|
|
119
|
+
`src` 与记录,不要为了套片段把道具或空间伪装成 `CHAR-*`。
|
|
120
|
+
交接不是全员同步转头:例如说话者尾音降低 → 最近的听者先停手 → 群体让路 → 主角获得空间。
|
|
121
|
+
每一跳说明为何当前景别、遮挡和声音能读到;细微眼神在远景不可读时,改成视线转移加手部停顿,
|
|
122
|
+
而不是只增加情绪形容词。
|
|
123
|
+
|
|
124
|
+
- **`craft_default`**:若一镜只有信息接收,宁可把变化做小而清楚,不必每镜“情绪大爆发”。
|
|
125
|
+
- **`reviewed_invariant`**:表演选择应与剧本 agenda/shot purpose 相容,不能凭 prompt 改写人物立场。
|
|
126
|
+
- **`taste_option`**:停顿多寡、微表演或类型化表演由导演风格决定。
|
|
127
|
+
|
|
128
|
+
### 反应的对象
|
|
129
|
+
|
|
130
|
+
明确角色对什么反应,而不是孤立写“她突然震惊”。触发必须来自 accepted shot/script/audio,或是 already-visible 环境事实。Reaction 若揭示新知识,要确认角色在这一刻确实获得它。
|
|
131
|
+
|
|
132
|
+
## 4. 时间与对白共同预算
|
|
133
|
+
|
|
134
|
+
### 相对时间优先
|
|
135
|
+
|
|
136
|
+
在不需要精确秒段时,用“开头保留一拍”“话音落下后”“动作完成前”“结尾停留”表达节奏。这样保留演员和剪辑弹性。
|
|
137
|
+
|
|
138
|
+
### 显式时间
|
|
139
|
+
|
|
140
|
+
需要 timing 时,列阶段与 overlap:
|
|
141
|
+
|
|
142
|
+
```text
|
|
143
|
+
0.0–0.8s:保持 start,听见门闩声后目光转向门
|
|
144
|
+
0.8–2.6s:左手压住册页,身体慢慢前倾(对白从 1.1s 开始,与动作重叠)
|
|
145
|
+
2.6–4.0s:说完后停住,右手仍握笔,落到 accepted end
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
区间不可无意重叠;显式非重叠总量/最大终点不得超 duration。总量小于 duration 时也要处理:把余量分配给已有阶段或补一个有内容的收尾段,未分配的秒数会被执行端用自选动作填满(见 [motion-recipe.md](motion-recipe.md) 3.6)。不要为了塞进数学窗口而静默删掉 exact dialogue。
|
|
149
|
+
|
|
150
|
+
### 对白预算
|
|
151
|
+
|
|
152
|
+
评估:句长与语言、人物语速、情绪造成的停顿/吞吐、是否需要听见对方/环境 cue、口型要求、动作是否能与说话叠加、结尾是否有 reaction landing。固定每秒字数只能作为 production profile 的可覆盖估算,不能成为通用规则。
|
|
153
|
+
|
|
154
|
+
对白太长时选项:
|
|
155
|
+
|
|
156
|
+
1. 简化非必要动作,让对白成为主事件;
|
|
157
|
+
2. 若 script 允许,把动作与对白合理重叠;
|
|
158
|
+
3. 请求 storyboard 延长/拆镜;
|
|
159
|
+
4. 若要改台词,请求 write owner。
|
|
160
|
+
|
|
161
|
+
Video-prompts 不能自行删字、改词或把对白变 VO。
|
|
162
|
+
|
|
163
|
+
## 5. 超载修订与审查
|
|
164
|
+
|
|
165
|
+
### 超载征兆
|
|
166
|
+
|
|
167
|
+
- 一个角色完成多次远距离往返和复杂物件操作;
|
|
168
|
+
- 多个角色都有独立大动作,但 shot purpose 只需要一次揭示;
|
|
169
|
+
- 长对白、强情绪转折、精细手部动作和复杂 camera move 争夺同一几秒;
|
|
170
|
+
- 结尾没有时间落住,end state 只被一句“最后到达”宣告;
|
|
171
|
+
- 为了赶时长,动作顺序违反接触因果或表演没有接收过程。
|
|
172
|
+
|
|
173
|
+
### 修订优先级
|
|
174
|
+
|
|
175
|
+
1. 删除无故事功能的环境/手势活动;
|
|
176
|
+
2. 合并可自然连续的动作,保留因果节点;
|
|
177
|
+
3. 选择一个主要注意中心,其他角色用必要 reaction;
|
|
178
|
+
4. 保留对白与 accepted end;
|
|
179
|
+
5. 仍超载则发 storyboard revision request(split/extend/reblock),不越权执行。
|
|
180
|
+
|
|
181
|
+
### Reviewer 证据格式
|
|
182
|
+
|
|
183
|
+
```text
|
|
184
|
+
Evidence:SHOT duration 4s;dialogue ref DLG-... 为完整两句;motion 要求角色从窗边走到门、开三道锁、回身交物,并保留结尾反应。
|
|
185
|
+
Impact:关键交物和反应难以清楚落地,accepted end 可能只被宣告而未实现。
|
|
186
|
+
Required fix:删掉非必要回身动作,或请求 storyboard 拆为两个 authored shots;不得删对白。
|
|
187
|
+
Classification:reviewed_invariant
|
|
188
|
+
Owner:video-prompts(精简)/ storyboard(改边界)
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
不要只写“动作太多”。也不要因 prompt 有四个动词就自动报错。
|