@lemoncat7/dsh-partner 2.5.0 → 2.7.1
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/README.md +4 -0
- package/docs/THIRD_PARTY_LICENSES.md +13 -0
- package/docs/attachment-storage.md +18 -0
- package/docs/director-skills.md +24 -0
- package/docs/long-task-continuation.md +1 -1
- package/docs/releases/2.6.0.md +11 -0
- package/docs/releases/2.7.1.md +10 -0
- package/lib/agent-runtime.d.ts +3 -1
- package/lib/agent-runtime.d.ts.map +1 -1
- package/lib/agent-runtime.js +35 -11
- package/lib/agent-runtime.js.map +1 -1
- package/lib/api/features/attachments-api.d.ts.map +1 -1
- package/lib/api/features/attachments-api.js +31 -1
- package/lib/api/features/attachments-api.js.map +1 -1
- package/lib/api.d.ts +1 -1
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js +1 -1
- package/lib/api.js.map +1 -1
- package/lib/attachments/grouped-storage.d.ts +5 -0
- package/lib/attachments/grouped-storage.d.ts.map +1 -0
- package/lib/attachments/grouped-storage.js +47 -0
- package/lib/attachments/grouped-storage.js.map +1 -0
- package/lib/attachments/service.d.ts +17 -0
- package/lib/attachments/service.d.ts.map +1 -1
- package/lib/attachments/service.js +100 -8
- package/lib/attachments/service.js.map +1 -1
- package/lib/attachments/shared-storage.d.ts +7 -0
- package/lib/attachments/shared-storage.d.ts.map +1 -0
- package/lib/attachments/shared-storage.js +44 -0
- package/lib/attachments/shared-storage.js.map +1 -0
- package/lib/attachments/storage-admin.d.ts +6 -0
- package/lib/attachments/storage-admin.d.ts.map +1 -0
- package/lib/attachments/storage-admin.js +43 -0
- package/lib/attachments/storage-admin.js.map +1 -0
- package/lib/attachments/storage-types.d.ts +33 -0
- package/lib/attachments/storage-types.d.ts.map +1 -0
- package/lib/attachments/storage-types.js +2 -0
- package/lib/attachments/storage-types.js.map +1 -0
- package/lib/attachments/tool.d.ts.map +1 -1
- package/lib/attachments/tool.js +16 -5
- package/lib/attachments/tool.js.map +1 -1
- package/lib/channels/delivery-policy.d.ts.map +1 -1
- package/lib/channels/delivery-policy.js +6 -4
- package/lib/channels/delivery-policy.js.map +1 -1
- package/lib/channels/direct/message-format.js +294 -157
- package/lib/channels/direct/message-format.js.map +4 -4
- package/lib/channels/manager.d.ts +6 -3
- package/lib/channels/manager.d.ts.map +1 -1
- package/lib/channels/manager.js +64 -44
- package/lib/channels/manager.js.map +1 -1
- package/lib/channels/weixin/api.d.ts.map +1 -1
- package/lib/channels/weixin/api.js +7 -2
- package/lib/channels/weixin/api.js.map +1 -1
- package/lib/channels/weixin/errors.d.ts +14 -0
- package/lib/channels/weixin/errors.d.ts.map +1 -0
- package/lib/channels/weixin/errors.js +29 -0
- package/lib/channels/weixin/errors.js.map +1 -0
- package/lib/channels/weixin/poll.d.ts +14 -0
- package/lib/channels/weixin/poll.d.ts.map +1 -0
- package/lib/channels/weixin/poll.js +50 -0
- package/lib/channels/weixin/poll.js.map +1 -0
- package/lib/client-controller.d.ts.map +1 -1
- package/lib/client-controller.js +3 -3
- package/lib/client-controller.js.map +1 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +983 -575
- package/lib/client.js.map +4 -4
- package/lib/collaboration/composition.d.ts.map +1 -1
- package/lib/collaboration/composition.js +16 -6
- package/lib/collaboration/composition.js.map +1 -1
- package/lib/collaboration/domain.d.ts +6 -0
- package/lib/collaboration/domain.d.ts.map +1 -1
- package/lib/collaboration/domain.js.map +1 -1
- package/lib/collaboration/service.d.ts.map +1 -1
- package/lib/collaboration/service.js +33 -3
- package/lib/collaboration/service.js.map +1 -1
- package/lib/concern-notification.d.ts.map +1 -1
- package/lib/concern-notification.js +2 -1
- package/lib/concern-notification.js.map +1 -1
- package/lib/concern-tool.js +1 -1
- package/lib/concern-tool.js.map +1 -1
- package/lib/execution/reply-progress.d.ts.map +1 -1
- package/lib/execution/reply-progress.js +4 -2
- package/lib/execution/reply-progress.js.map +1 -1
- package/lib/execution/service.d.ts +1 -1
- package/lib/execution/service.d.ts.map +1 -1
- package/lib/execution/service.js +4 -7
- package/lib/execution/service.js.map +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -1
- package/lib/index.js.map +1 -1
- package/lib/memory-reflection.js +2 -2
- package/lib/memory-reflection.js.map +1 -1
- package/lib/message-source.d.ts +25 -0
- package/lib/message-source.d.ts.map +1 -0
- package/lib/message-source.js +8 -0
- package/lib/message-source.js.map +1 -0
- package/lib/observation-loop.js +4 -4
- package/lib/observation-loop.js.map +1 -1
- package/lib/pendant/reader.js +1 -1
- package/lib/pendant/reader.js.map +1 -1
- package/lib/pendant/renderer.d.ts.map +1 -1
- package/lib/pendant/renderer.js +18 -2
- package/lib/pendant/renderer.js.map +1 -1
- package/lib/pendant/settings-panel.js +1 -1
- package/lib/pendant/settings-panel.js.map +1 -1
- package/lib/pendant/startup.d.ts +4 -0
- package/lib/pendant/startup.d.ts.map +1 -0
- package/lib/pendant/startup.js +64 -0
- package/lib/pendant/startup.js.map +1 -0
- package/lib/pendant/widget.d.ts.map +1 -1
- package/lib/pendant/widget.js +2 -1
- package/lib/pendant/widget.js.map +1 -1
- package/lib/pendant-renderer.js +169 -169
- package/lib/persona/service.js +1 -1
- package/lib/persona/service.js.map +1 -1
- package/lib/requirements/attachments.d.ts +7 -0
- package/lib/requirements/attachments.d.ts.map +1 -0
- package/lib/requirements/attachments.js +26 -0
- package/lib/requirements/attachments.js.map +1 -0
- package/lib/requirements/domain.d.ts +1 -1
- package/lib/requirements/domain.d.ts.map +1 -1
- package/lib/requirements/service.d.ts.map +1 -1
- package/lib/requirements/service.js +4 -1
- package/lib/requirements/service.js.map +1 -1
- package/lib/scheduler/channel-origin.d.ts +7 -0
- package/lib/scheduler/channel-origin.d.ts.map +1 -0
- package/lib/scheduler/channel-origin.js +27 -0
- package/lib/scheduler/channel-origin.js.map +1 -0
- package/lib/scheduler/continuations.d.ts +2 -2
- package/lib/scheduler/continuations.d.ts.map +1 -1
- package/lib/scheduler/continuations.js +28 -8
- package/lib/scheduler/continuations.js.map +1 -1
- package/lib/scheduler/domain.d.ts +13 -0
- package/lib/scheduler/domain.d.ts.map +1 -1
- package/lib/scheduler/final-reply.d.ts +13 -0
- package/lib/scheduler/final-reply.d.ts.map +1 -0
- package/lib/scheduler/final-reply.js +21 -0
- package/lib/scheduler/final-reply.js.map +1 -0
- package/lib/skills/builtin-resources.d.ts +6 -0
- package/lib/skills/builtin-resources.d.ts.map +1 -0
- package/lib/skills/builtin-resources.js +47 -0
- package/lib/skills/builtin-resources.js.map +1 -0
- package/lib/skills/builtin.d.ts +2 -5
- package/lib/skills/builtin.d.ts.map +1 -1
- package/lib/skills/builtin.js +6 -0
- package/lib/skills/builtin.js.map +1 -1
- package/lib/skills/director-builtins.d.ts +8 -0
- package/lib/skills/director-builtins.d.ts.map +1 -0
- package/lib/skills/director-builtins.js +65 -0
- package/lib/skills/director-builtins.js.map +1 -0
- package/lib/skills/drama-builtin.d.ts +3 -0
- package/lib/skills/drama-builtin.d.ts.map +1 -0
- package/lib/skills/drama-builtin.js +49 -0
- package/lib/skills/drama-builtin.js.map +1 -0
- package/lib/skills/long-task-continuation.d.ts +2 -2
- package/lib/skills/long-task-continuation.d.ts.map +1 -1
- package/lib/skills/long-task-continuation.js +2 -2
- package/lib/skills/service.d.ts.map +1 -1
- package/lib/skills/service.js +8 -3
- package/lib/skills/service.js.map +1 -1
- package/lib/skills/viora-canvas-builtin.d.ts +3 -0
- package/lib/skills/viora-canvas-builtin.d.ts.map +1 -0
- package/lib/skills/viora-canvas-builtin.js +19 -0
- package/lib/skills/viora-canvas-builtin.js.map +1 -0
- package/lib/storage/migrate-layout.d.ts.map +1 -1
- package/lib/storage/migrate-layout.js +13 -4
- package/lib/storage/migrate-layout.js.map +1 -1
- package/lib/tasks/context.js +1 -0
- package/lib/tasks/context.js.map +1 -1
- package/lib/tasks/continuation.d.ts.map +1 -1
- package/lib/tasks/continuation.js +3 -0
- package/lib/tasks/continuation.js.map +1 -1
- package/lib/tasks/domain.d.ts +2 -0
- package/lib/tasks/domain.d.ts.map +1 -1
- package/lib/tasks/service.d.ts +2 -1
- package/lib/tasks/service.d.ts.map +1 -1
- package/lib/tasks/service.js +15 -1
- package/lib/tasks/service.js.map +1 -1
- package/lib/ui/attachment-storage.d.ts +2 -0
- package/lib/ui/attachment-storage.d.ts.map +1 -0
- package/lib/ui/attachment-storage.js +59 -0
- package/lib/ui/attachment-storage.js.map +1 -0
- package/lib/ui/capability-editor.js +1 -1
- package/lib/ui/capability-editor.js.map +1 -1
- package/lib/ui/companion-access-panel.js +1 -1
- package/lib/ui/companion-access-panel.js.map +1 -1
- package/lib/ui/companion-create.js +1 -1
- package/lib/ui/companion-create.js.map +1 -1
- package/lib/ui/companion-picker.js +1 -1
- package/lib/ui/companion-picker.js.map +1 -1
- package/lib/ui/identity-editor.js +1 -1
- package/lib/ui/identity-editor.js.map +1 -1
- package/lib/ui/mcp-capabilities.js +1 -1
- package/lib/ui/mcp-capabilities.js.map +1 -1
- package/lib/ui/mcp-panel.js +1 -1
- package/lib/ui/mcp-panel.js.map +1 -1
- package/lib/ui/memory/concern-board.js +2 -2
- package/lib/ui/memory/concern-board.js.map +1 -1
- package/lib/ui/memory/concern-deletion.d.ts +1 -1
- package/lib/ui/memory/concern-deletion.d.ts.map +1 -1
- package/lib/ui/memory/concern-deletion.js +9 -4
- package/lib/ui/memory/concern-deletion.js.map +1 -1
- package/lib/ui/memory/concern-panel.js +1 -1
- package/lib/ui/memory/concern-panel.js.map +1 -1
- package/lib/ui/memory/memory-library.js +1 -1
- package/lib/ui/memory/memory-library.js.map +1 -1
- package/lib/ui/memory/memory-panel.js +1 -1
- package/lib/ui/memory/memory-panel.js.map +1 -1
- package/lib/ui/partner-components.js +1 -1
- package/lib/ui/partner-components.js.map +1 -1
- package/lib/ui/requirement-board.js +1 -1
- package/lib/ui/requirement-board.js.map +1 -1
- package/lib/ui/requirement-dialog.js +1 -1
- package/lib/ui/requirement-dialog.js.map +1 -1
- package/lib/ui/requirement-tasks-panel.js +1 -1
- package/lib/ui/requirement-tasks-panel.js.map +1 -1
- package/lib/ui/schedule-panel.js +1 -1
- package/lib/ui/schedule-panel.js.map +1 -1
- package/lib/ui/skills-panel.js +1 -1
- package/lib/ui/skills-panel.js.map +1 -1
- package/lib/ui/storage-settings.d.ts.map +1 -1
- package/lib/ui/storage-settings.js +2 -1
- package/lib/ui/storage-settings.js.map +1 -1
- package/lib/ui/task-board-stage.js +1 -1
- package/lib/ui/task-board-stage.js.map +1 -1
- package/lib/ui/workspace-components.js +1 -1
- package/lib/ui/workspace-components.js.map +1 -1
- package/lib/ui/workspace-navigation.d.ts +16 -16
- package/lib/ui/workspace-navigation.js +1 -1
- package/lib/ui/workspace-navigation.js.map +1 -1
- package/package.json +53 -41
- package/resources/skills/cinematic-director/manifest.json +205 -0
- package/resources/skills/cinematic-director/upstream/CHANGELOG.md +213 -0
- package/resources/skills/cinematic-director/upstream/CONTRIBUTING.md +316 -0
- package/resources/skills/cinematic-director/upstream/LICENSE +21 -0
- package/resources/skills/cinematic-director/upstream/README.md +507 -0
- package/resources/skills/cinematic-director/upstream/SKILL.md +420 -0
- package/resources/skills/cinematic-director/upstream/assets/beat-sheet-template.md +97 -0
- package/resources/skills/cinematic-director/upstream/assets/director-book-template.md +254 -0
- package/resources/skills/cinematic-director/upstream/assets/edit-timeline-template.md +147 -0
- package/resources/skills/cinematic-director/upstream/assets/keyframe-prompt-template.md +334 -0
- package/resources/skills/cinematic-director/upstream/assets/qc-checklist.md +153 -0
- package/resources/skills/cinematic-director/upstream/assets/shot-plan-template.md +95 -0
- package/resources/skills/cinematic-director/upstream/assets/sound-plan-template.md +181 -0
- package/resources/skills/cinematic-director/upstream/assets/video-prompt-template.md +305 -0
- package/resources/skills/cinematic-director/upstream/evals/run.md +69 -0
- package/resources/skills/cinematic-director/upstream/references/ai-video-tool-adapters.md +527 -0
- package/resources/skills/cinematic-director/upstream/references/blocking-and-staging.md +424 -0
- package/resources/skills/cinematic-director/upstream/references/cinematic-language.md +595 -0
- package/resources/skills/cinematic-director/upstream/references/continuity-bible.md +410 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/01_spielberg.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/02_hitchcock.md +193 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/03_kubrick.md +196 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/04_kurosawa.md +196 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/05_scorsese.md +195 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/06_fellini.md +197 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/07_bergman.md +197 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/08_tarkovsky.md +184 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/09_wong_kar_wai.md +189 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/10_nolan.md +185 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/11_villeneuve.md +188 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/12_fincher.md +185 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/13_refn.md +186 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/14_bi_gan.md +188 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/15_zhang_yimou.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/16_hou_hsiao_hsien.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/17_park_chan_wook.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/18_malick.md +191 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/19_michael_mann.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/20_coen_brothers.md +194 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/README.md +89 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/example_comparisons.md +140 -0
- package/resources/skills/cinematic-director/upstream/references/editing-and-assembly.md +263 -0
- package/resources/skills/cinematic-director/upstream/references/failure-modes.md +594 -0
- package/resources/skills/cinematic-director/upstream/references/genre-playbooks.md +407 -0
- package/resources/skills/cinematic-director/upstream/references/image-model-adapters.md +290 -0
- package/resources/skills/cinematic-director/upstream/references/lighting-and-color.md +349 -0
- package/resources/skills/cinematic-director/upstream/references/product-and-macro.md +207 -0
- package/resources/skills/cinematic-director/upstream/references/production-workflow.md +238 -0
- package/resources/skills/cinematic-director/upstream/references/prompt-lexicon.md +602 -0
- package/resources/skills/cinematic-director/upstream/references/sound-and-dialogue.md +364 -0
- package/resources/skills/director-skills/manifest.json +541 -0
- package/resources/skills/director-skills/upstream/CHANGELOG.md +32 -0
- package/resources/skills/director-skills/upstream/LICENSE +21 -0
- package/resources/skills/director-skills/upstream/MANIFEST.md +366 -0
- package/resources/skills/director-skills/upstream/README.md +251 -0
- package/resources/skills/director-skills/upstream/RESEARCH_PROVENANCE.md +37 -0
- package/resources/skills/director-skills/upstream/SKILL.md +114 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/SKILL.md +81 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/checklists/continuity_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/examples/character_continuity_update.md +9 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/examples/location_continuity_update.md +9 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/continuity_system.md +21 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/golden_image_workflow.md +29 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/identity_anchors.md +14 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/visual_bible_system.md +15 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/character_profile.md +15 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/continuity_checklist.md +11 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/costume_profile.md +12 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/location_profile.md +14 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/prop_profile.md +13 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/visual_style_bible.md +15 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/tests/continuity_tests.md +6 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/SKILL.md +80 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/checklists/image_prompt_quality_checklist.md +10 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/examples/shot_list_to_image_prompts.md +4 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/image_prompt_components.md +22 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/lighting_and_photorealism.md +19 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/negative_prompt_patterns.md +18 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/prompt_anatomy.md +18 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/character_reference_sheet_prompt.md +5 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/cinematic_still_prompt.md +3 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/keyframe_prompt.md +6 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/location_reference_prompt.md +3 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/prop_prompt.md +3 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/tests/image_prompt_completeness_tests.md +5 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/SKILL.md +84 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/checklists/video_prompt_quality_checklist.md +9 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/examples/image_prompt_to_video_prompt.md +3 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/ai_film_production_pipeline.md +21 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/audio_motion_timing.md +16 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/camera_lens_movement.md +26 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/negative_prompt_patterns.md +18 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/prompt_anatomy.md +18 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/video_prompt_components.md +25 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/image_to_video_prompt.md +5 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/text_to_video_prompt.md +5 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/video_beat_prompt.md +9 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/tests/video_prompt_completeness_tests.md +5 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/SKILL.md +82 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/checklists/model_export_checklist.md +9 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/failed_model_transfer_diagnosis.md +5 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/image_prompt_translation.md +10 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/same_scene_across_models.md +9 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/universal_prompt_to_model_specific_exports.md +14 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/video_prompt_translation.md +9 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/failure_modes_by_model.md +13 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/image_model_profiles.md +226 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/model_capability_matrix.md +24 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/model_update_protocol.md +10 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/parameter_compatibility.md +20 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/prompt_translation_rules.md +18 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/video_model_profiles.md +251 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/model_comparison_table.md +4 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/model_specific_prompt_export.md +21 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/multi_model_export_package.md +18 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/prompt_translation_report.md +13 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/universal_prompt_brief.md +25 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/model_routing_tests.md +8 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/prompt_translation_tests.md +7 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/research_provenance_tests.md +6 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/unknown_capability_tests.md +7 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/SKILL.md +82 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/checklists/diagnostic_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/checklists/release_quality_checklist.md +9 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/examples/failed_output_to_revised_prompt.md +10 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/examples/final_prompt_package_export.md +10 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/failure_modes.md +13 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/iteration_diagnostics.md +17 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/revision_loops.md +17 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/story_voice_release_qc.md +30 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/failed_output_intake.md +13 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/final_production_package.md +11 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/prompt_revision_report.md +17 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/tests/prompt_quality_checklist_tests.md +6 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/SKILL.md +81 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/checklists/scene_quality_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/examples/scene_to_screenplay_excerpt.md +18 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/dialogue_and_subtext.md +15 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/fountain_workflow.md +29 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/scene_construction.md +20 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/screenplay_format.md +18 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/beat_sheet.md +6 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/dialogue_pass.md +9 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/fountain_scene.md +25 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/screenplay_scene.md +19 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/tests/screenplay_scene_tests.md +6 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/SKILL.md +83 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/checklists/concept_quality_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/examples/idea_to_logline.md +13 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/examples/logline_to_outline.md +10 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/references/ai_storytelling_workflow.md +46 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/references/continuity_handoff.md +8 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/references/screenplay_structure.md +19 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/references/story_development_workflow.md +23 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/beat_sheet.md +7 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/idea_intake.md +16 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/logline.md +10 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/short_film_treatment.md +23 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/short_story_plan.md +22 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/story_premise.md +19 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/story_revision_audit.md +22 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/tests/output_format_tests.md +3 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/tests/routing_tests.md +7 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/SKILL.md +77 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/checklists/shotlist_quality_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/examples/screenplay_scene_to_shot_list.md +8 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/camera_plan.md +11 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/production_breakdown.md +11 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/shotlist_schema.md +21 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/asset_list.md +7 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/camera_plan.md +10 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/scene_breakdown.md +16 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/shot_list.md +5 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/tests/screenplay_to_shotlist_tests.md +5 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/SKILL.md +77 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/checklists/style_quality_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/examples/genre_to_visual_direction.md +15 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/camera_lens_movement.md +26 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/cinematic_language.md +32 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/genre_style_tone.md +17 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/lighting_and_photorealism.md +19 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/templates/visual_style_bible.md +33 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/tests/style_translation_tests.md +5 -0
- package/resources/skills/director-skills/upstream/tests/master_router_tests.md +80 -0
- package/resources/skills/drama-production/manifest.json +933 -0
- package/resources/skills/drama-production/upstream/LICENSE +21 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/SKILL.md +153 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/creator-decision.example.jsonl +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/app.js +1263 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/index.html +114 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/styles.css +297 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/production-observation.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/project-template/short-drama.json +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/reference-observation.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/audience-reveal.md +21 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/contract-and-ownership.md +45 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/creator-documents.md +230 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/creator-workflow.md +98 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards/Q/347/211/210/350/241/250/350/276/276.md +73 -0
- package/resources/skills/drama-production/upstream/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/resources/skills/drama-production/upstream/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/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//345/256/236/346/213/215.md +75 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//346/260/264/345/242/250/347/254/224/350/247/246.md +85 -0
- package/resources/skills/drama-production/upstream/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/resources/skills/drama-production/upstream/skills/short-drama/references/knowhow-index.md +85 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/look-development.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/pickup-and-alternate.md +24 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/production-form-profiles.md +126 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/reference-roles.md +53 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/runtime-preflight.md +24 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/scripts/creator_markdown_check.py +1413 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/scripts/dashboard_server.py +1798 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/scripts/project_tool.py +2454 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/scripts/selftest.py +287 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/SKILL.md +76 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/character-look.example.jsonl +3 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/continuity.example.jsonl +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/decisions.example.jsonl +5 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/location-view.example.jsonl +3 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/occurrences.example.jsonl +5 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/prop-state.example.jsonl +3 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/examples/minimal/characters.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/examples/minimal/looks.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/asset-review-checklist.md +82 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/character-and-look.md +190 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/continuity-delta.md +120 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/continuity-lock.md +122 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/identity-vs-variant.md +140 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/location-and-view.md +84 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/occurrence-extraction.md +108 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/prop-and-state.md +126 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/stage-contract.md +43 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/voice-direction.md +179 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/scripts/asset_check.py +267 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/scripts/selftest.py +89 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/SKILL.md +157 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/adaptation-map.example.jsonl +1 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/creative-brief.md +120 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/episode-map.jsonl +1 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/story-engine.md +181 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/adaptation-craft.md +219 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/creative-reference-intake.md +57 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/director-brief-craft.md +113 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/episode-design.md +509 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-and-hook-playbook.md +240 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//344/272/262/345/255/220/351/232/220/347/247/230.md +112 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//344/273/231/344/276/240/344/277/256/347/234/237.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/212/250/344/275/234/344/273/273/345/212/241.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/217/244/350/243/205/346/235/203/350/260/213.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/244/215/344/273/207/346/211/223/350/204/270.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/256/266/345/272/255/345/205/263/347/263/273.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//346/202/254/347/226/221/350/247/204/345/210/231.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//347/224/237/346/264/273/346/265/201.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//347/240/264/351/225/234/351/207/215/345/234/206.md +109 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//350/201/214/345/234/272/345/226/234/345/211/247.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//350/261/252/351/227/250/345/251/232/346/201/213.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//350/272/253/344/273/275/351/224/231/344/275/215.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards.md +92 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/mechanism-loop.md +282 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/multi-episode-intake.md +128 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/premise-devices.md +211 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/reveal-reversal-payoff.md +99 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/serial-character-and-memory.md +293 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/stage-contract.md +88 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/story-craft.md +359 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/scripts/episode_intake.py +699 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/scripts/selftest.py +47 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/SKILL.md +146 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/README.md +60 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/package.json +15 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/remotion.config.ts +6 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/Root.tsx +26 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/Subtitles.tsx +88 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/font.ts +46 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/index.ts +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/schema.ts +32 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/tsconfig.json +13 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets//345/211/252/350/276/221/345/215/225.md +43 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/cut-craft.md +38 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/delivery-verify.md +29 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/generated-footage.md +54 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/sound-and-subtitles.md +60 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/stage-contract.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/scripts/edit_tool.py +1156 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/scripts/selftest.py +520 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/SKILL.md +73 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/image-prompt-spec.jsonl.md +187 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/image-prompts.md +42 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/lookdev-frame-spec.jsonl.md +128 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/lookdev-prompts.md +34 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/examples/minimal-image-prompt-specs.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/character-and-look.md +153 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/common-recipe.md +241 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/edit-and-revision.md +110 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/location-plate.md +151 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/look-and-state-variant.md +97 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/lookdev-frame.md +34 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/production-sheet-recipes.md +177 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/prop-plate.md +137 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/review-and-fixtures.md +92 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/stage-contract.md +32 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/scripts/image_prompt_check.py +443 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/scripts/selftest.py +95 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/SKILL.md +245 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/assets/episode-candidate.example.jsonl +3 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/adaptation-triage.md +116 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/adaptation-value.md +124 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +155 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/chapter-extraction.md +144 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/stage-contract.md +67 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/scripts/novel_index.py +651 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/scripts/selftest.py +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/SKILL.md +183 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/adapter-contract.md +219 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/gpt-image-2.md +24 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-h3-video.md +86 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-music.md +25 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-speech.md +41 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/seedance.md +64 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/fixture_adapter.py +77 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/production_tool.py +2205 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/provider_adapters.py +1747 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/selftest.py +135 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/SKILL.md +118 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/finding-template.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/supersession-decision.example.json +42 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/verdict-template.json +32 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/examples/minimal-findings.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/examples/minimal-verdict.json +34 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/anti-template-repair.md +109 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/production-quality-gates.md +276 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/project-calibration.md +83 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/review-method.md +81 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-assets-prompts.md +111 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-source-analysis.md +108 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-story-script.md +264 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-visual-motion.md +184 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/stage-contract.md +28 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/scripts/review_check.py +325 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/scripts/selftest.py +87 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/SKILL.md +175 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/coverage-audition.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/coverage-template.json +49 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/keyframe-prompts.md +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/keyframe-template.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/revision-lineage.fragment.json +12 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/scene-visual-plan.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/shot-template.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/blocking-playbooks.md +216 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/comic-keyframe-lexicon.md +156 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/coverage-audition.md +34 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/keyframe-craft.md +174 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/lighting-craft.md +39 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/production-shot-grammar.md +279 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/review-and-fixtures.md +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/scene-visual-plan.md +30 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +155 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/shot-craft.md +266 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/shot-revision-identity.md +25 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/stage-contract.md +57 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/scripts/selftest.py +191 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/scripts/storyboard_check.py +824 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/SKILL.md +154 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/coverage-scope.fragment.json +21 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/delivery-container.jsonl.md +101 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/motion-spec.jsonl.md +217 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/motion-terminal.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/music-spec.jsonl.md +31 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/performance.fragment.json +38 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/video-prompts.md +67 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/examples/minimal-music-specs.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/camera-audio-continuity.md +259 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/delivery-profile.md +273 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/generability.md +93 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/minimax-h3.md +253 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/motion-recipe.md +315 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/performance-action-timing.md +209 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/production-prompt-grammar.md +304 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/review-and-fixtures.md +139 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/seedance-2.0.md +50 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/seedance-2.5.md +122 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/stage-contract.md +60 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/target-model-profile.md +116 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/container_check.py +329 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/motion_timing_check.py +450 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/music_spec_check.py +327 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/selftest.py +82 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/SKILL.md +99 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/beats.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/episode-card-standalone.json +120 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/episode-card.json +55 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/screenplay.md +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/voice-record-sheet.jsonl.md +89 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/dialogue-craft.md +526 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/production-format-dialect.md +273 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/scene-handoff-capsule.md +25 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/scene-sound-dramaturgy.md +43 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/screenplay-format.md +266 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/script-craft.md +745 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/stage-contract.md +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/substitutable-realization.md +107 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/duration_estimate.py +309 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/screenplay_index.py +1091 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/selftest.py +229 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/voice_sheet_check.py +416 -0
- package/resources/skills/viora-canvas-production/manifest.json +23 -0
- package/resources/skills/viora-canvas-production/references/canvas-contract.md +50 -0
- package/resources/skills/viora-canvas-production/references/creative-production.md +50 -0
- package/resources/skills/viora-canvas-production/references/generation-delivery.md +36 -0
- package/resources/skills/viora-canvas-production/references/production-ledger.md +25 -0
|
@@ -0,0 +1,334 @@
|
|
|
1
|
+
# Keyframe Prompt Template (Mode E)
|
|
2
|
+
|
|
3
|
+
Load this file when you are at Step 8 (keyframe strategy) or the user asked for Mode E — first
|
|
4
|
+
frames, last frames, storyboard panels, character sheets, or location plates. The nine-slot order
|
|
5
|
+
and the reasoning behind it are owned by
|
|
6
|
+
[image model adapters](../references/image-model-adapters.md) §3, together with model control
|
|
7
|
+
surfaces and consistency tooling. Word choice, banned words, and the negative library are owned by
|
|
8
|
+
the [prompt lexicon](../references/prompt-lexicon.md). Asset ids and seed tracking are owned by
|
|
9
|
+
[continuity bible](../references/continuity-bible.md). This file owns the fill-in forms.
|
|
10
|
+
|
|
11
|
+
Build keyframes only after the rules exist. Every worked example below inherits from
|
|
12
|
+
[director book](director-book-template.md) and [shot plan](shot-plan-template.md): project
|
|
13
|
+
`Under the Door` (`UTD`), scene 7, 22s, 16:9, five shots — a courier hesitates outside a
|
|
14
|
+
Republican-era Shanghai apartment door, slides an envelope under it, and leaves.
|
|
15
|
+
|
|
16
|
+
## Slot dictionary
|
|
17
|
+
|
|
18
|
+
Nine slots, then a constraints tail. Fill in this order; image-model-adapters §3 explains why the
|
|
19
|
+
order is not cosmetic.
|
|
20
|
+
|
|
21
|
+
| # | Slot | Must contain | Must never contain |
|
|
22
|
+
|---|---|---|---|
|
|
23
|
+
| 1 | Shot id | `PROJ_SCnn_SHnn` plus the frame role: `kf-first`, `kf-last`, `panel`, `sheet`, `plate` | Beat name, emotion, story explanation |
|
|
24
|
+
| 2 | Size, angle, lens | Shot size, camera height in cm or m, angle in degrees, focal length in mm | Camera *movement* — a still does not move; a height written in mm, which reads as a second focal length |
|
|
25
|
+
| 3 | Identity string | The book's frozen invariant, verbatim, word for word | A paraphrase, an emotion, an attractiveness word, "same as before" |
|
|
26
|
+
| 4 | Pose implying action | Limb positions, hand shape, eyeline target, distances in cm | Intent verbs: hesitating, wondering, deciding |
|
|
27
|
+
| 5 | Wardrobe & props | Every garment and carried object with material, closure, and which side | Style labels: "period clothing", "vintage look" |
|
|
28
|
+
| 6 | Location & era | The book's location invariant, verbatim, then which setup within it and where the door plane and the window fall for *this* camera | Genre words: "noir", "period drama" |
|
|
29
|
+
| 7 | Light source & direction | The book's light invariant, verbatim — it is world space: source, height, ratio, what stays under — then one sentence giving this setup's camera-relative key direction, copied from the shot plan's `Light dir` cell | Mood words: "moody", "dramatic lighting"; a camera-relative direction rewritten *into* the invariant |
|
|
30
|
+
| 8 | Composition | Placement in frame, headroom, which plane sits under, depth layers. At 9:16 or 1:1, also the band of frame height the story-critical content occupies — see the vertical safe zones in [cinematic language](../references/cinematic-language.md), which are per-platform and must be checked, not remembered | A rule name with no placement attached; a safe-zone percentage quoted from memory |
|
|
31
|
+
| 9 | Texture / medium | Stock or medium, grain, halation, palette in plain color words | "8K", "masterpiece", "hyperrealistic"; a bare millimetre number slot 2 could read as a second lens — write `35mm film stock`, never `35mm` alone |
|
|
32
|
+
| — | Constraints | Aspect ratio, then the book's `NEG_BASE` plus this frame's own risks | A boilerplate wall carried over from a different shot |
|
|
33
|
+
|
|
34
|
+
## Working with the book's invariant strings
|
|
35
|
+
|
|
36
|
+
The director's book publishes four strings. Three of them — `ID_COURIER`, `LOCK_LANDING`,
|
|
37
|
+
`LIGHT_INVARIANT` — fill slots 3, 6 and 7 verbatim. Copy them; do not improve them. One re-worded
|
|
38
|
+
adjective is a different person, a different room, or a different lamp. `NEG_BASE` fills the
|
|
39
|
+
constraints tail and is the one string you select from rather than paste whole, for the reason
|
|
40
|
+
given under it.
|
|
41
|
+
|
|
42
|
+
```text
|
|
43
|
+
ID_COURIER: a 19-year-old Chinese man with a narrow jaw, deep-set eyes under a low brow, a
|
|
44
|
+
2 cm scar through the left eyebrow, black hair clipped short and shaved high at the neck, in
|
|
45
|
+
a grey padded cotton jacket buttoned to the throat with one bone button missing at the collar
|
|
46
|
+
|
|
47
|
+
LOCK_LANDING: third-floor landing of a 1937 Shanghai lilong apartment block, peeling dark-green
|
|
48
|
+
wainscot to waist height, cracked cream plaster above, worn red floor tile, dark-stained door
|
|
49
|
+
with a brass knob and a chipped lower-left corner, a stairwell window at the head of the stairs
|
|
50
|
+
opposite the door
|
|
51
|
+
|
|
52
|
+
LIGHT_INVARIANT: a single bare filament bulb hanging over the stairhead, warm, hard, above head
|
|
53
|
+
height, 5:1 lit side to shadow side with no fill but plaster bounce; cold daylight from the
|
|
54
|
+
stairwell window behind him, rimming his back and cap and never reaching his shadow side; the
|
|
55
|
+
door face stays well under; the only light on the door is a thin warm line spilling from the 4cm
|
|
56
|
+
gap beneath it
|
|
57
|
+
|
|
58
|
+
NEG_BASE: no rendered text, signage or numerals; no watermark; no lever handles, plastic, rubber
|
|
59
|
+
soles, wristwatch or printed logos; no extra people; no face or costume change; the door never
|
|
60
|
+
opens
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
`NEG_BASE` names instances and never categories: "no modern objects" is a category no generator
|
|
64
|
+
can resolve into things, and it is the mechanism behind F8. The era class therefore lists the
|
|
65
|
+
objects the book's `must avoid` line already named. Six classes is the working size — small
|
|
66
|
+
enough to paste whole into a tool's negative field, and small enough that a prompt carrying it
|
|
67
|
+
inline plus this frame's own risks still lands near the lexicon's budget rather than at a wall.
|
|
68
|
+
|
|
69
|
+
None of them contains `camera-left` or `frame-right`, and that is deliberate: one string is pasted
|
|
70
|
+
into a setup and into its reverse, where those words flip. Camera-relative direction is per-setup
|
|
71
|
+
and comes from the shot plan's `Light dir` and `Frame content` cells — paste the invariant, then
|
|
72
|
+
add one sentence for this camera. In this scene every setup sits on one side of the line, so the
|
|
73
|
+
bulb reads high camera-left 45°, the door plane sits camera-right, and the window is behind him at
|
|
74
|
+
camera-left rear; write that sentence in each prompt, never back into the string.
|
|
75
|
+
|
|
76
|
+
Note what `ID_COURIER` does: it is face structure first and ends on exactly one wardrobe anchor,
|
|
77
|
+
the jacket with its missing collar button, so its tail reaches into slot 5. Everything else the
|
|
78
|
+
character wears — the cap, the satchel — stays in slot 5 and never migrates back into the string.
|
|
79
|
+
Split the anchor off the moment the project has a second fitting or a costume change; otherwise a
|
|
80
|
+
wardrobe edit in reel two silently rewrites the face. When you split, keep the face half under the
|
|
81
|
+
same name and add a fitting string (`FIT_COURIER`), and record both in the continuity bible.
|
|
82
|
+
|
|
83
|
+
`ID_COURIER` carries its own checkable landmark, the scar through the left eyebrow — that is what
|
|
84
|
+
proves identity. The scene needs a second anchor that is not on the actor at all, because half the
|
|
85
|
+
shots do not hold his face. The book bans rendered numerals, so the door number cannot be it: use
|
|
86
|
+
the **chip in the door's lower-left corner** and the **unbroken warm line under the door**. Both
|
|
87
|
+
survive at every shot size in this scene, and either one missing is provable drift.
|
|
88
|
+
|
|
89
|
+
## Template — first frame
|
|
90
|
+
|
|
91
|
+
```text
|
|
92
|
+
[PROJ_SCnn_SHnn kf-first]. [Size, angle, camera height, ##mm].
|
|
93
|
+
[ID string verbatim]. [Static pose: limbs, hand shape, distances in cm], eyes on [target].
|
|
94
|
+
[Prop and its state]. [LOCK string verbatim]; [which setup within it, and where the key planes
|
|
95
|
+
fall for this camera]. [LIGHT string verbatim]. In this setup [camera-relative key direction].
|
|
96
|
+
[Placement, headroom, which plane sits under, depth layers].
|
|
97
|
+
[Stock, grain, palette]. The pose must read as [action] about to begin.
|
|
98
|
+
[Aspect]. [NEG_BASE + this frame's own risks].
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
The first frame of a shot is the previous shot's end state, not a moment plucked from the middle of
|
|
102
|
+
the gesture. Shot 01 ends squared to the door with the envelope at chest and both arms down, so
|
|
103
|
+
that is where `SH02` starts; the raised knuckles are something the video prompt has to produce.
|
|
104
|
+
|
|
105
|
+
Filled — `UTD_SC07_SH02_v03_kf-first`, the hand that cannot knock:
|
|
106
|
+
|
|
107
|
+
```text
|
|
108
|
+
UTD_SC07_SH02 kf-first. Medium close-up, eye level, camera at 1.6m, 50mm. A 19-year-old Chinese man
|
|
109
|
+
with a narrow jaw, deep-set eyes under a low brow, a 2 cm scar through the left eyebrow, black hair
|
|
110
|
+
clipped short and shaved high at the neck, in a grey padded cotton jacket buttoned to the throat
|
|
111
|
+
with one bone button missing at the collar. He stands squared to the door 60cm out, both arms down,
|
|
112
|
+
the right hand at his thigh with the fingers half closed and the knuckle scrape showing, his weight
|
|
113
|
+
settled forward toward the door; eyes level on the door face. A wool cap pushed back off his
|
|
114
|
+
forehead, a canvas satchel strap across his chest on the left shoulder, and a cream envelope, white
|
|
115
|
+
face out, held up at chest height in his left hand. Third-floor landing of a 1937 Shanghai lilong
|
|
116
|
+
apartment block, peeling dark-green wainscot to waist height, cracked cream plaster above, worn red
|
|
117
|
+
floor tile, dark-stained door with a brass knob and a chipped lower-left corner, a stairwell window
|
|
118
|
+
at the head of the stairs opposite the door; door-side setup, the door plane camera-right, the
|
|
119
|
+
window behind him at camera-left rear. A single bare filament bulb hanging over the stairhead,
|
|
120
|
+
warm, hard, above head height, 5:1 lit side to shadow side with no fill but plaster bounce; cold
|
|
121
|
+
daylight from the stairwell window behind him, rimming his back and cap and never reaching his
|
|
122
|
+
shadow side; the door face stays well under; the only light on the door is a thin warm line
|
|
123
|
+
spilling from the 4cm gap beneath it. In this setup the bulb reads high camera-left at 45 degrees
|
|
124
|
+
and rakes the side of his face. His head and near shoulder occupy frame-left, the dark door plane
|
|
125
|
+
fills frame-right, envelope edge low-left, the cold rim along the back of his cap. 35mm film stock,
|
|
126
|
+
fine grain, low saturation, high contrast in the lower third, dull green and cracked cream against
|
|
127
|
+
worn red, the envelope the only pure white. The pose must read as a knock about to begin. 16:9. No
|
|
128
|
+
rendered text, signage or numerals; no watermark; no wristwatch, no rubber soles, no printed logos;
|
|
129
|
+
no face or costume change; the brass number plate defocused or out of frame; the right hand still
|
|
130
|
+
down and not touching the wood.
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Six classes in the tail, and note that it is not `NEG_BASE` pasted whole. Two base classes were
|
|
134
|
+
dropped because this framing cannot produce them — an MCU on one man has no room for an extra
|
|
135
|
+
person, and "the door never opens" is a motion constraint that means nothing to a still — and the
|
|
136
|
+
era class was pruned to the three instances that could actually appear at this size. Two of the
|
|
137
|
+
frame's own risks took the space. Where the model exposes a negative field, put all six `NEG_BASE`
|
|
138
|
+
classes in it and keep only those two frame-specific lines inline.
|
|
139
|
+
|
|
140
|
+
## Template — last frame
|
|
141
|
+
|
|
142
|
+
The last frame is the first frame plus one completed change. Reuse slots 2, 3, 5, 6, 7, 9 word
|
|
143
|
+
for word; edit only slot 4 and, if the body moved, slot 8. Derive it from the approved first
|
|
144
|
+
frame rather than generating it fresh — see image-model-adapters §6.
|
|
145
|
+
|
|
146
|
+
Not every shot earns a pair. `SH02` starts with the hand down and ends with the hand down, so its
|
|
147
|
+
two frames would be near-identical and the tool would have nothing to travel through; that shot is
|
|
148
|
+
image-to-video from one frame. Build a pair when the end state is a different photograph.
|
|
149
|
+
|
|
150
|
+
```text
|
|
151
|
+
[PROJ_SCnn_SHnn kf-last]. [Slot 2 line, identical]. [ID string verbatim].
|
|
152
|
+
He has completed [action]; now [new static pose]. [Prop in its new state].
|
|
153
|
+
[LOCK string, identical]. [LIGHT string, identical]. [New placement if the body moved].
|
|
154
|
+
[Slot 9 line, identical]. Same face, same wardrobe, same room, same lamp, same lens as kf-first.
|
|
155
|
+
[Aspect]. [Constraints].
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
Filled — `UTD_SC07_SH04_v06_kf-last`, the irreversible delivery:
|
|
159
|
+
|
|
160
|
+
```text
|
|
161
|
+
UTD_SC07_SH04 kf-last. Medium shot, low, camera 40cm off the floor, tilted up 10 degrees, 35mm. A
|
|
162
|
+
19-year-old Chinese man with a narrow jaw, deep-set eyes under a low brow, a 2 cm scar through the
|
|
163
|
+
left eyebrow, black hair clipped short and shaved high at the neck, in a grey padded cotton jacket
|
|
164
|
+
buttoned to the throat with one bone button missing at the collar. He has completed feeding the
|
|
165
|
+
envelope under the door; now he is still crouched on his heels with the first two fingers of his
|
|
166
|
+
right hand flat against the wood just above the gap, the knuckle scrape up, both hands otherwise
|
|
167
|
+
empty and open, forearms resting on his knees. The same wool cap pushed back off his forehead and
|
|
168
|
+
the canvas satchel strap across his chest on the left shoulder. No envelope is visible anywhere in
|
|
169
|
+
frame. Third-floor landing of a 1937 Shanghai lilong apartment block, peeling dark-green wainscot
|
|
170
|
+
to waist height, cracked cream plaster above, worn red floor tile, dark-stained door with a brass
|
|
171
|
+
knob and a chipped lower-left corner, a stairwell window at the head of the stairs opposite the
|
|
172
|
+
door; door-side low setup, the door plane camera-right. A single bare filament bulb hanging over
|
|
173
|
+
the stairhead, warm, hard, above head height, 5:1 lit side to shadow side with no fill but plaster
|
|
174
|
+
bounce; cold daylight from the stairwell window behind him, rimming his back and cap and never
|
|
175
|
+
reaching his shadow side; the door face stays well under; the only light on the door is a thin warm
|
|
176
|
+
line spilling from the 4cm gap beneath it. In this setup the bulb reads high camera-left and sits
|
|
177
|
+
on his back and cap; the gap line underlights his hands from 20cm; his face two stops down. He is
|
|
178
|
+
crouched frame-left, the door plane fills the right two-thirds with the chipped lower-left corner
|
|
179
|
+
visible in it, the warm line under the door unbroken again and running the full width. 35mm film
|
|
180
|
+
stock, fine grain, low saturation, warmest and lowest frame of the scene, dull green and cracked
|
|
181
|
+
cream against worn red. Same face, same wardrobe, same room, same lamp, same lens as kf-first.
|
|
182
|
+
16:9. No rendered text, signage or numerals; no watermark; no wristwatch, no rubber soles, no
|
|
183
|
+
printed logos; no face or costume change; no envelope still visible; no third hand.
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Its `kf-first` is that block with one substitution, which is what "one action apart" means in
|
|
187
|
+
practice: slot 4 becomes *crouched on his heels, the envelope pinched flat between the thumbs and
|
|
188
|
+
first fingers of both hands, its leading edge touching the 4cm gap, no part of it yet through*, and
|
|
189
|
+
the closing line becomes *the warm line under the door broken by the envelope*. Slots 2, 3, 5, 6,
|
|
190
|
+
7, 9 are copied, not retyped.
|
|
191
|
+
|
|
192
|
+
## Template — storyboard panel
|
|
193
|
+
|
|
194
|
+
A panel is not a pose. It must carry one of five jobs — a motion about to begin, a motion just
|
|
195
|
+
completed, a reveal, a power relation, or a story clue — and if it carries none of them, delete the
|
|
196
|
+
shot row rather than draw the panel. The jobs, and the physical devices that make a still imply
|
|
197
|
+
motion, are in image-model-adapters §7.
|
|
198
|
+
|
|
199
|
+
```text
|
|
200
|
+
[PROJ_SCnn_SHnn panel]. [Size, angle, ##mm]. [Who and where, one clause each].
|
|
201
|
+
The panel shows [about-to / just-completed / reveal / power / clue] — specifically
|
|
202
|
+
[the visible evidence]. [Light source and where the shadow falls]. [Placement].
|
|
203
|
+
Loose graphite storyboard line drawing, grey wash for shadow, no color. [Aspect]. [Exclusions].
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
Filled — `UTD_SC07_SH05 panel`, the aftermath:
|
|
207
|
+
|
|
208
|
+
```text
|
|
209
|
+
UTD_SC07_SH05 panel. Extreme wide shot, high +15 degrees from the half-landing, 35mm. The empty
|
|
210
|
+
landing; the courier already out of frame at the bottom of the stairs; the closed door small at
|
|
211
|
+
frame-right. The panel shows a motion just completed — specifically the unbroken warm line under
|
|
212
|
+
the door with a shadow entering it from inside, and no one on the landing to see it. The bulb
|
|
213
|
+
high camera-left throws a hard rail shadow across the tile toward camera. The door occupies the
|
|
214
|
+
right quarter; two-thirds of the frame is empty tile and plaster. Loose graphite storyboard line
|
|
215
|
+
drawing, grey wash for shadow, no color. 16:9. No text, no arrows, no panel border, no figure.
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
## Template — character sheet
|
|
219
|
+
|
|
220
|
+
Generate once, before any shot keyframe. Everything downstream inherits from it. If the model
|
|
221
|
+
drifts between panels on one canvas, generate views separately and compose the sheet yourself —
|
|
222
|
+
image-model-adapters §4.
|
|
223
|
+
|
|
224
|
+
```text
|
|
225
|
+
[PROJ_CHAR-slug_vNN ref-face | ref-body]. [Views, evenly spaced, named left to right].
|
|
226
|
+
[ID string verbatim]. Neutral expression, relaxed shoulders, arms at sides.
|
|
227
|
+
Flat frontal light, 5600K, about 1:1 lit side to shadow side so neither side reads as the shadow
|
|
228
|
+
side, no rim. Plain mid-grey seamless background.
|
|
229
|
+
No lens distortion; subject occupies 80% of frame height. [Aspect]. [Exclusions].
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
The reference sheet is the one image that must carry no lighting opinion. A ratio as steep as 2:1
|
|
233
|
+
already picks a shadow side, and every shot generated from the sheet inherits that decision as if
|
|
234
|
+
it were bone structure.
|
|
235
|
+
|
|
236
|
+
Filled — `UTD_CHAR-courier_v01_ref-body`:
|
|
237
|
+
|
|
238
|
+
```text
|
|
239
|
+
UTD_CHAR-courier_v01 ref-body. Four views of the same person, evenly spaced left to right: front,
|
|
240
|
+
three-quarter left, full profile left, full body front. A 19-year-old Chinese man with a narrow
|
|
241
|
+
jaw, deep-set eyes under a low brow, a 2 cm scar through the left eyebrow, black hair clipped short
|
|
242
|
+
and shaved high at the neck, in a grey padded cotton jacket buttoned to the throat with one bone
|
|
243
|
+
button missing at the collar. Thin, narrow-shouldered under the jacket. Wool cap pushed back off
|
|
244
|
+
his forehead, canvas satchel strap across his chest on the left shoulder. Neutral expression,
|
|
245
|
+
relaxed shoulders, arms at sides, gaze to camera; right hand turned so the knuckle scrape is
|
|
246
|
+
visible. Cloth shoes with worn welts. Flat frontal light, 5600K, about 1:1 lit
|
|
247
|
+
side to shadow side so neither side reads as the shadow side, no rim. Plain mid-grey seamless
|
|
248
|
+
background. No
|
|
249
|
+
lens distortion; subject occupies 80% of frame height. 1:1. No props except the satchel. No text,
|
|
250
|
+
no labels, no watermark, no extra people, no wristwatch, no rubber soles.
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
Crop the three-quarter head as the reference for MCU and CU; use the full body for wides — a head
|
|
254
|
+
crop makes the model guess the build, and this character is specifically thin.
|
|
255
|
+
|
|
256
|
+
## Template — location plate
|
|
257
|
+
|
|
258
|
+
An empty plate with no actor. It fixes architecture, lamp position, and tile direction so every
|
|
259
|
+
shot in the location inherits the same room instead of re-inventing it.
|
|
260
|
+
|
|
261
|
+
```text
|
|
262
|
+
[PROJ_LOC-slug_vNN plate-wide]. No people. [Size, camera height, angle, ##mm].
|
|
263
|
+
[LOCK string verbatim]. [LIGHT string verbatim, naming which source is dominant].
|
|
264
|
+
[Foreground / mid / background layers]. [Texture line]. [Aspect].
|
|
265
|
+
Empty room, no figures, no animals, no text. [Era exclusions].
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
Filled — `UTD_LOC-landing_v01_plate-wide`:
|
|
269
|
+
|
|
270
|
+
```text
|
|
271
|
+
UTD_LOC-landing_v01 plate-wide. No people. Wide shot, high +15 degrees from the half-landing,
|
|
272
|
+
35mm — the scene's widest permitted lens. Third-floor landing of a 1937 Shanghai lilong apartment
|
|
273
|
+
block, peeling dark-green wainscot to waist height, cracked cream plaster above, worn red floor
|
|
274
|
+
tile, dark-stained door with a brass knob and a chipped lower-left corner, a stairwell window at
|
|
275
|
+
the head of the stairs opposite the door. A single bare filament bulb hanging over the stairhead,
|
|
276
|
+
warm, hard, above head height, dominant, 5:1 lit side to shadow side with no fill but plaster
|
|
277
|
+
bounce; cold daylight from
|
|
278
|
+
the stairwell window, a rim only and never a fill; the door face stays well under; a thin warm line
|
|
279
|
+
spills from the 4cm gap beneath the door. In this setup the bulb reads high camera-left at 45
|
|
280
|
+
degrees and the window shaft rakes in from the back of frame. Foreground: painted iron stair rail
|
|
281
|
+
frame-left. Mid: red tile and the door at frame-right. Background: the window shaft, dust visible
|
|
282
|
+
in it. 35mm film stock, fine grain, low saturation, high contrast in the lower third. 16:9.
|
|
283
|
+
Empty room, no figures, no animals, no text. No lever handles, no plastic, no conduit wiring, no
|
|
284
|
+
glass in the door, no printed logos, no rendered numerals on the door.
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
One clause of `LIGHT_INVARIANT` is edited here and only here: the window is described as a rim
|
|
288
|
+
rather than "rimming his back and cap", because on an empty plate that phrase has no referent. That
|
|
289
|
+
is the single permitted deviation, it applies to the plate alone, and the full string goes back in
|
|
290
|
+
verbatim the moment a figure is in frame.
|
|
291
|
+
|
|
292
|
+
Generate this plate and shot 03's ECU first: they are the cheapest images in the scene, they settle
|
|
293
|
+
the palette, and where the tool exposes a reference-image or seed slot they are what the rest of
|
|
294
|
+
the scene binds to.
|
|
295
|
+
|
|
296
|
+
## Pre-video keyframe QC gate
|
|
297
|
+
|
|
298
|
+
Run before spending video credits. Every box here is free to fix now and can only be fixed by
|
|
299
|
+
regenerating the still later — video never repairs a keyframe error, it animates it. This is the
|
|
300
|
+
tick-box form of the reasoned gate in image-model-adapters §9; the scored form is Gate 1 in
|
|
301
|
+
[qc-checklist.md](qc-checklist.md).
|
|
302
|
+
|
|
303
|
+
- [ ] The book's three descriptive invariants — `ID_`, `LOCK_`, `LIGHT_` — appear verbatim, not
|
|
304
|
+
paraphrased, in every frame, the empty location plate's single documented edit aside.
|
|
305
|
+
- [ ] No camera-relative direction has been written back into an invariant string; every
|
|
306
|
+
`camera-left` / `frame-right` in the prompt sits in a per-setup sentence of its own.
|
|
307
|
+
- [ ] No emotion or attractiveness word sits in slot 3; expression is physical, in slot 4.
|
|
308
|
+
- [ ] The scene's checkable anchor (here: the door chip and the unbroken warm line) is visible
|
|
309
|
+
and correct at this shot size.
|
|
310
|
+
- [ ] The `kf-first` pose is the previous shot's end state, not a moment from mid-gesture.
|
|
311
|
+
- [ ] `kf-first` and `kf-last` of the same shot share slots 2, 3, 5, 6, 7, 9 word for word.
|
|
312
|
+
- [ ] The gap between first and last frame is one action, not two.
|
|
313
|
+
- [ ] The pose implies a direction of motion; it is not a symmetrical resting pose.
|
|
314
|
+
- [ ] Hands are visible and countable, or deliberately cropped out of frame.
|
|
315
|
+
- [ ] No numerals, signage, or text appear — the number plate is defocused or out of frame.
|
|
316
|
+
- [ ] Era check: nothing in frame post-dates the stated year, against the book's `must avoid`.
|
|
317
|
+
- [ ] Focal length is inside the book's kit; nothing wider than 35mm in this scene.
|
|
318
|
+
- [ ] Apparent perspective matches the stated focal length — no wide-angle nose or bowed room
|
|
319
|
+
edges on a 50mm or longer frame, no flattened planes on a 35mm. Video cannot repair this.
|
|
320
|
+
- [ ] The key direction matches this row's `Light dir` cell in the shot plan, and the ratio matches
|
|
321
|
+
the invariant.
|
|
322
|
+
- [ ] Aspect matches delivery; you are not planning to crop later.
|
|
323
|
+
- [ ] If 9:16 or 1:1 — faces, the hands doing the action, and anything that will be burned in
|
|
324
|
+
sit inside the frame-height band the vertical safe zones leave clear, per
|
|
325
|
+
[cinematic language](../references/cinematic-language.md). Check the current per-platform
|
|
326
|
+
numbers against the platform's spec; do not quote them from memory, and do not assume the
|
|
327
|
+
16:9 headroom habit survived the crop.
|
|
328
|
+
- [ ] Exclusions are the `NEG_BASE` classes this framing can actually produce, plus this frame's
|
|
329
|
+
own risks — around six classes total, nothing inherited blindly, and no category among them.
|
|
330
|
+
- [ ] Filename follows `PROJ_SCnn_SHnn_vNN_role.ext` and the asset is in the seed and reference
|
|
331
|
+
registry — `seed: null` where the tool exposes none.
|
|
332
|
+
|
|
333
|
+
Anything that fails maps to an F-code in [failure modes](../references/failure-modes.md); report
|
|
334
|
+
it using the block at the end of [qc-checklist.md](qc-checklist.md).
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
# QC & Repair Checklist (Mode J)
|
|
2
|
+
|
|
3
|
+
Load this file when you are at Step 13 (QC and repair loop) or the user says a generation is
|
|
4
|
+
wrong. Diagnosis depth — the symptom, cause, and fix behind every F-code below — is owned by
|
|
5
|
+
[failure modes](../references/failure-modes.md). Retry budgets, version naming, and the approval
|
|
6
|
+
log are owned by [production workflow](../references/production-workflow.md). This file owns the
|
|
7
|
+
three gates, the score, and the report format.
|
|
8
|
+
|
|
9
|
+
Three gates, in order. PRE runs on the plan and keyframes before you spend credits, POST runs per
|
|
10
|
+
clip, SEQUENCE runs on the assembled cut. Only the PRE gate's failures are free to fix: a planning
|
|
11
|
+
error caught there costs an edit, and the same error caught after generation costs every clip built
|
|
12
|
+
on it.
|
|
13
|
+
|
|
14
|
+
Worked examples use project `Under the Door` (`UTD`), scene 7, the five-shot scene planned in
|
|
15
|
+
[beat sheet](beat-sheet-template.md), [director book](director-book-template.md), and
|
|
16
|
+
[shot plan](shot-plan-template.md).
|
|
17
|
+
|
|
18
|
+
## Gate 1 — PRE-GENERATION
|
|
19
|
+
|
|
20
|
+
| # | Weight | Category | Check |
|
|
21
|
+
|---|---|---|---|
|
|
22
|
+
| P1 | 20 | Story function | Every shot names a beat id and the job it does for that beat. A shot whose function is "it looks good" is deleted, not scored |
|
|
23
|
+
| P2 | 15 | Blocking & camera logic | Start, motion, end written for each shot; one dominant move at most; the move is inside the book's move budget and is motivated by what the audience must newly see |
|
|
24
|
+
| P3 | 25 | Keyframe integrity | The tick-box gate at the end of [keyframe prompt template](keyframe-prompt-template.md) passes: invariant strings verbatim, `kf-first` and `kf-last` sharing slots 2, 3, 5, 6, 7, 9, the checkable anchor visible at this shot size, hands visible or deliberately cropped, apparent perspective matching the stated focal length, no rendered text |
|
|
25
|
+
| P4 | 20 | Prompt hygiene | The five-question self-check in [video prompt template](video-prompt-template.md) passes on every prompt: one action, one camera move, explicit end state, invariants present, negatives matched to real risk. Clip length sits inside the duration strategy owned by [ai video tool adapters](../references/ai-video-tool-adapters.md) — 3–5s for a face-carrying shot, 3–4s for fine hand work, 8–12s only where no legible face is in frame |
|
|
26
|
+
| P5 | 20 | Continuity setup | End state of shot N equals start state of shot N+1; era, props, and light state declared and consistent; seeds and reference assets recorded in the registry |
|
|
27
|
+
|
|
28
|
+
Score each 0–5, then `weighted = Σ (score ÷ 5 × weight)`.
|
|
29
|
+
|
|
30
|
+
- Threshold to generate: **80 / 100**. Below that you are buying rework.
|
|
31
|
+
- 90 and above: generate the whole scene. 80–89: generate, and expect one retry on the weakest
|
|
32
|
+
shot. 70–79: fix the failing row first — it is cheaper than a retry. Below 70: the problem is
|
|
33
|
+
the plan, and no number of generations will find it for you.
|
|
34
|
+
|
|
35
|
+
## Gate 2 — POST-GENERATION, per clip
|
|
36
|
+
|
|
37
|
+
Watch each clip four times: once at speed for the whole, once at 0.25× for hands and face, once
|
|
38
|
+
with the sound off, once with the sound only. The last two are not padding — picture errors hide
|
|
39
|
+
under plausible audio, and audio errors hide under picture you have already accepted.
|
|
40
|
+
|
|
41
|
+
| # | Weight | Category | Check | F-codes |
|
|
42
|
+
|---|---|---|---|---|
|
|
43
|
+
| G1 | 25 | Identity & wardrobe | Face, build, hair, the checkable anchor, and every garment hold from the first frame to the last | F1, F16 |
|
|
44
|
+
| G2 | 20 | Action & end state | The requested action happened, once, and the clip ends on the pose you specified; the clip is an event, not a still frame drifting under a camera move | F2, F4, F5 |
|
|
45
|
+
| G3 | 20 | Motion, anatomy, physics | Limbs and fingers stay countable; weight, contact, and gravity read correctly; speed matches life | F3, F10, F13, F14 |
|
|
46
|
+
| G4 | 10 | Camera behavior | One move, the one you asked for, at the distance you asked for; no unrequested drift or zoom | F6, F17 |
|
|
47
|
+
| G5 | 15 | Frame integrity | No extra people or objects; nothing that was in frame at the head of the clip has gone missing or come back changed at the tail; no rendered text or watermark; no morphing background | F9, F11, F19 |
|
|
48
|
+
| G6 | 10 | Look consistency | Lighting direction, level, color temperature, and grain hold across the clip | F12, F16 |
|
|
49
|
+
|
|
50
|
+
- **80–100**: use as-is.
|
|
51
|
+
- **65–79**: usable if an edit-side fix exists — trim the bad frames, crop in, regrade, or cover
|
|
52
|
+
the moment with a cut. Log the fix in the timeline note, not just in your head.
|
|
53
|
+
- **Below 65**: regenerate. Change exactly one thing per retry, or you will not learn which change
|
|
54
|
+
worked.
|
|
55
|
+
|
|
56
|
+
Worked example — `UTD_SC07_SH04_v05_clip.mp4`, the irreversible delivery, generated as plain
|
|
57
|
+
image-to-video from the first frame alone:
|
|
58
|
+
|
|
59
|
+
```text
|
|
60
|
+
G1 identity 5/5 × 25 = 25.0 narrow jaw, deep-set eyes under the low brow, and the 2 cm
|
|
61
|
+
left-eyebrow scar all hold; so does the missing collar button
|
|
62
|
+
G2 action 4/5 × 20 = 16.0 envelope goes under, but the two-finger push starts before
|
|
63
|
+
the feed completes, so the end state arrives 14f early
|
|
64
|
+
G3 motion 2/5 × 20 = 8.0 right hand shows a sixth finger from 0:03.6 to 0:04.1
|
|
65
|
+
G4 camera 5/5 × 10 = 10.0 25cm dolly-in, one direction, no reverse
|
|
66
|
+
G5 frame 5/5 × 15 = 15.0 clean; door chip present throughout
|
|
67
|
+
G6 look 4/5 × 10 = 8.0 gap line brightens about 1/3 stop over the clip
|
|
68
|
+
-------
|
|
69
|
+
82.0 -> but G3 is a blocker (F10, visible hand). Regenerate.
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
That is the point of keeping blockers separate from the score. At 82 the rubric alone would pass
|
|
73
|
+
this clip; the hand disqualifies it regardless. `v06` fixed both flagged rows with one change —
|
|
74
|
+
re-generating as first/last-frame, with the last frame showing empty hands and two fingertips on
|
|
75
|
+
wood, which is what the shot plan's generation note asked for in the first place. It scored 91.
|
|
76
|
+
Had `v06` also failed, the next step was the shot plan's stated contingency: split into `04a`
|
|
77
|
+
crouch-and-feed and `04b` two-fingers-pushing, and re-time the scene.
|
|
78
|
+
|
|
79
|
+
## Gate 3 — SEQUENCE
|
|
80
|
+
|
|
81
|
+
Only meaningful on the assembled cut. These failures are invisible clip by clip. Rows are `Q`-prefixed
|
|
82
|
+
because `S` belongs to the four prompt shapes in
|
|
83
|
+
[ai video tool adapters](../references/ai-video-tool-adapters.md); a `Q` in a QC note is always a
|
|
84
|
+
sequence row.
|
|
85
|
+
|
|
86
|
+
| # | Weight | Category | Check | F-codes |
|
|
87
|
+
|---|---|---|---|---|
|
|
88
|
+
| Q1 | 25 | Splice continuity | Identity, wardrobe, prop state, and light state hold across every splice; end state of shot N matches start state of N+1 | F1, F7, F19 |
|
|
89
|
+
| Q2 | 20 | Rhythm | ASL matches the scene's subject; no shot outstays its information; the cut has a shape rather than a constant pulse | — |
|
|
90
|
+
| Q3 | 15 | Geography & direction | The 180° line is respected or deliberately broken; eyelines match; direction of travel is consistent | F7, F17 |
|
|
91
|
+
| Q4 | 15 | Look uniformity | One grade pass across all clips; no clip is brighter, warmer, or grainier than its neighbours | F12, F16 |
|
|
92
|
+
| Q5 | 15 | Sound | One continuous bed under the whole scene; no tone change at any picture cut; lip movement matches any spoken line | F15, F18 |
|
|
93
|
+
| Q6 | 10 | Story delivered | A viewer who has not read the script understands what happened and what it cost | — |
|
|
94
|
+
|
|
95
|
+
Threshold to deliver: **85 / 100**. The sequence gate is stricter than the clip gate because
|
|
96
|
+
sequence errors are the ones an audience actually notices — nobody watches a clip in isolation.
|
|
97
|
+
|
|
98
|
+
## Blockers — must fix regardless of score
|
|
99
|
+
|
|
100
|
+
A clip or cut carrying any of these does not ship, even at 95.
|
|
101
|
+
|
|
102
|
+
- An identity break a viewer can name: a different face, a vanished anchor, a changed garment (F1).
|
|
103
|
+
- The requested action did not happen, or a different action happened (F4).
|
|
104
|
+
- An extra person, hand, or animal in frame (F9).
|
|
105
|
+
- A prop the story depends on vanishes mid-clip, or reappears as a different object (F19).
|
|
106
|
+
- Rendered text, signage, subtitles, or a watermark (F11).
|
|
107
|
+
- Anachronism in a period scene, against the book's `must avoid` list (F8).
|
|
108
|
+
- An anatomy failure on a visible hand or face: extra fingers, fused limbs, a face that liquefies
|
|
109
|
+
mid-shot (F10).
|
|
110
|
+
- A continuity contradiction across a cut that a second viewing exposes (F7).
|
|
111
|
+
- Audio contradicting picture: lips that do not match the line, room tone that changes at a
|
|
112
|
+
splice (F15, F18).
|
|
113
|
+
- Anything the user or the book listed explicitly under `must avoid` or `never`.
|
|
114
|
+
|
|
115
|
+
Everything else is negotiable against schedule. These are not.
|
|
116
|
+
|
|
117
|
+
## From a failed row to a repair
|
|
118
|
+
|
|
119
|
+
This file scores; it does not diagnose. Take the F-codes attached to whichever row failed and go to
|
|
120
|
+
[failure modes](../references/failure-modes.md), which is the sole owner of the F1–F19 taxonomy — the
|
|
121
|
+
symptom in the user's own words, the ranked causes with their mechanism, the cost-ordered fixes, and a
|
|
122
|
+
before/after prompt pair for every code. If the user described a symptom rather than a failed row,
|
|
123
|
+
start at that file's symptom-to-code quick index and read only the one code it returns; if they
|
|
124
|
+
described several, run its triage tree once per symptom and collect every code before reading any fix.
|
|
125
|
+
|
|
126
|
+
Do not restate the taxonomy here. A second copy drifts within a version or two, and a repair note that
|
|
127
|
+
quotes a drifted row is exactly the untraceable diagnosis the codes exist to prevent.
|
|
128
|
+
|
|
129
|
+
## How to report a failure
|
|
130
|
+
|
|
131
|
+
Paste this block. Filled, it gets a diagnosis in one pass. Unfilled, it still gets one — the
|
|
132
|
+
diagnosis is simply given against stated assumptions, with the branches that would change it marked,
|
|
133
|
+
because the skill answers on inference rather than interrogating you. The block is the shortcut, not
|
|
134
|
+
the toll gate.
|
|
135
|
+
|
|
136
|
+
```text
|
|
137
|
+
CLIP: <asset filename with version, e.g. UTD_SC07_SH04_v05_clip.mp4>
|
|
138
|
+
SHOT: <shot id, size, angle, lens, intended duration>
|
|
139
|
+
TOOL: <model or platform, and mode: text-to-video / image-to-video / first+last frame / extend>
|
|
140
|
+
INPUTS: <which keyframes, references, and seeds were used>
|
|
141
|
+
PROMPT: <the exact prompt text, unedited>
|
|
142
|
+
NEGATIVES: <exactly what you passed>
|
|
143
|
+
EXPECTED: <one sentence>
|
|
144
|
+
HAPPENED: <one sentence, plus the timecode of the first bad frame, e.g. "sixth finger at 0:03.6">
|
|
145
|
+
GATE 2 SCORE: <per-category scores, if you ran them>
|
|
146
|
+
ALREADY TRIED: <each retry, and the single thing changed in it>
|
|
147
|
+
CONSTRAINTS: <credits left, deadline, whether the keyframe may be regenerated>
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
Two fields do most of the work. The timecode of the first bad frame separates a prompt problem
|
|
151
|
+
from a duration problem: a failure at 0:00 is the prompt or the reference, a failure at 0:03 of a
|
|
152
|
+
4s clip is almost always length. And `ALREADY TRIED` stops a diagnosis from proposing a retry that
|
|
153
|
+
has already failed — which is, in practice, the most common way credits get spent twice.
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Shot Plan Template
|
|
2
|
+
|
|
3
|
+
Load this file when you are at Step 7 (shot list and coverage) or the user asked for Mode D — a shot list, 分镜表, storyboard table, or "give me the shots".
|
|
4
|
+
|
|
5
|
+
Build rows only after the beats exist ([beat sheet](beat-sheet-template.md)) and the rules exist ([director book](director-book-template.md)). A shot plan written before those two is a list of pictures.
|
|
6
|
+
|
|
7
|
+
## Shot table
|
|
8
|
+
|
|
9
|
+
| # | Sec | Beat / function | Loc | Frame content | Blocking start → move → end | Size / Angle | Lens | Move | Light dir | Light / atmos | Continuity anchors | Risk | Transition | Gen note |
|
|
10
|
+
|---:|---:|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
11
|
+
| 01 | | | | | | | | | | | | | | |
|
|
12
|
+
| 02 | | | | | | | | | | | | | | |
|
|
13
|
+
|
|
14
|
+
## Field dictionary
|
|
15
|
+
|
|
16
|
+
| Column | Must contain | Good | Bad |
|
|
17
|
+
|---|---|---|---|
|
|
18
|
+
| `#` | Story-order number, zero-padded, stable for the life of the project | `04`, later split into `04a` / `04b` | `Shot 4 (was 3)` |
|
|
19
|
+
| `Sec` | In and out inside the scene, plus duration | `0:12–0:18 (6s)` | `about six seconds` |
|
|
20
|
+
| `Beat / function` | The beat id from the beat sheet, plus the job this shot does for it | `B4 · irreversible delivery` | `emotional moment` |
|
|
21
|
+
| `Loc` | The continuity-bible location id, plus which setup within it | `loc_landing / door side, low` | `hallway` |
|
|
22
|
+
| `Frame content` | What a storyboard artist would draw: subject placement plus the two or three set and prop elements that must be in frame | `head and near shoulder frame-left, dark door plane fills frame-right, envelope edge low-left` | `he stands at the door` |
|
|
23
|
+
| `Blocking start → move → end` | Three states, the last one named explicitly | `starts squared to the door → right hand rises, knuckles stop 3cm short → ends hand down at his thigh, still facing the door` | `he hesitates to knock` |
|
|
24
|
+
| `Size / Angle` | One size off the ladder plus an angle in degrees or a named height. Give camera heights in cm so nothing here can be misread as a focal length | `MCU, eye level` / `MS, low, camera 40cm off the floor, tilted up 10°` | `medium-ish, dramatic angle` |
|
|
25
|
+
| `Lens` | Focal length in mm (full-frame equivalent) and, when not obvious, the reason | `85mm — compresses the gap and keeps the corridor out of the background` | `telephoto` |
|
|
26
|
+
| `Move` | Exactly one named move with distance and duration, or `locked` | `slow dolly-in, 25cm over 6s` | `slight push with a bit of drift` |
|
|
27
|
+
| `Light dir` | Key direction relative to *this* camera, height, the named practical motivating it, the ratio written lit side : shadow side as the book records it, and what the fill actually is. Call a source behind the subject a rim, not a fill — a fill opens the shadow side and must sit near the lens axis to do it | `key: bulb, high camera-left 45°, 5:1, fill is plaster bounce only; window is a cold rim from upstage` | `moody side light` |
|
|
28
|
+
| `Light / atmos` | What the light does in this frame that it did not do in the last one — contrast, atmosphere, which plane is held under | `door face 1.5 stops under; dust in the window shaft; breath visible` | `dark and cold` |
|
|
29
|
+
| `Continuity anchors` | The named items that must match adjacent shots: identity, costume, prop state, light state | `scar through the left eyebrow, cap pushed back, satchel on left shoulder, envelope white face out, knuckle scrape right hand, warm line under door unbroken` | `same character and setting` |
|
|
30
|
+
| `Risk` | The band — `Green` / `Amber` / `Red` — read off the difficulty rubric in [production workflow](../references/production-workflow.md), plus the six dimension scores in the rubric's own order and the one that drove the band | `Red 12 (3/1/1/2/3/2) — interaction 3, and it trips the contact override` | `might be tricky` |
|
|
31
|
+
| `Transition` | How you leave the shot, and on which frame | `hard cut the frame the fingertips touch wood` | `cut to next` |
|
|
32
|
+
| `Gen note` | The one thing the generator will get wrong, the instruction that prevents it, and the split plan if it still fails | `say "his knuckles stop short and never touch the door"; negative: knocking, hand on door. If it knocks anyway, drop to 3s.` | `use a good prompt, high quality` |
|
|
33
|
+
|
|
34
|
+
## Risk legend
|
|
35
|
+
|
|
36
|
+
Risk is a generation budget, not commentary. Score the six dimensions and read the band — Green, Amber, Red — off the difficulty rubric in [production workflow](../references/production-workflow.md), which also owns the retry budgets and the stop rules. Copy the band and the six scores into this column, in the rubric's order — Action / People / Camera / Duration / Interaction / Continuity — with the dimension that drove the band, and do not invent a second scale here; a plan that grades on its own private words cannot be budgeted against the retry table.
|
|
37
|
+
|
|
38
|
+
In the worked example below the bands read 01 Green, 02 Amber, 03 Green, 04 Red, 05 Green. Shot 04 scores 12 — action 3, people 1, camera 1, duration 2, interaction 3, continuity 2 — and it also trips the contact override, because the envelope passes between his hand and the door and the rubric counts a prop passing between a subject and a fixed feature as contact. The override is the useful half of that reading: a 3-on-interaction plus 3-on-anything pair does not come down with a better prompt, only with the split already written into its Gen note.
|
|
39
|
+
|
|
40
|
+
One Red in five is a plan. Three Reds in five is a wish — go back to Step 5 and lower the ambition, or split those shots on paper now rather than after a day of failed generations.
|
|
41
|
+
|
|
42
|
+
## Worked example
|
|
43
|
+
|
|
44
|
+
Project `Under the Door`, scene 7 — 22s, 16:9, 5 shots, ASL 4.4s. Beats `B1`–`B5` from [beat sheet](beat-sheet-template.md); lens kit, key direction and invariant strings from [director book](director-book-template.md).
|
|
45
|
+
|
|
46
|
+
| # | Sec | Beat / function | Loc | Frame content | Blocking start → move → end | Size / Angle | Lens | Move | Light dir | Light / atmos | Continuity anchors | Risk | Transition | Gen note |
|
|
47
|
+
|---:|---:|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
48
|
+
| 01 | 0:00–0:04 (4s) | B1 · locate the errand | loc_landing / stairhead side | stair rail foreground frame-left, empty landing, cracked plaster filling the top third, door at frame-right, cold window shaft raking in from the back | starts off-frame below on the stairs → climbs into frame, three steps across the landing → ends squared to the door 60cm out, envelope up at chest, motionless | WS, high +15° from the half-landing | 35mm — holds him and the whole door in one frame | locked | key: stairhead bulb, high camera-left 45°, 5:1, fill is plaster bounce only; the window is a cold rim from upstage, not a fill | door face 1.5 stops under; dust in the window shaft; breath faintly visible | cap pushed back, grey padded jacket, satchel on left shoulder, envelope white face out, chipped lower-left door corner, warm line under door unbroken | Green 5 — one walking figure carrying a prop, locked camera | hard cut the frame he stops | I2V from keyframe, 4s. State the end state ("he stops walking and stands still facing the door") or he is as likely to be walked straight past it. One motion only — do not also animate the window light. |
|
|
49
|
+
| 02 | 0:04–0:09 (5s) | B2 · the hand that cannot knock | loc_landing / door side | his head and near shoulder frame-left, dark door plane fills frame-right, envelope edge low-left | starts squared to the door, envelope in his left hand → right hand rises, knuckles stop 3cm short of the wood, held 1s → ends hand down at his thigh, still facing the door, envelope still up | MCU, eye level | 50mm — his single coverage, keeps the door plane readable behind him | locked | key: bulb, high camera-left 45°, rakes the side of his face; the window is behind him, so it rims his back and cap from camera-left rear and never opens the shadow side | door stays dark, nothing on it; 5:1; breath visible against the cold rim | the scar through his left eyebrow legible at this size; same cap, jacket, satchel and envelope; knuckle scrape on the right hand | Amber 7 (2/1/0/1/2/1) — a hand approaching a surface without contact is a classic completion error | hard cut as the hand reaches his thigh | Say "his knuckles stop short of the door and never touch it"; negative: knocking, hand touching door. Keep a hold-and-abort gesture near 5s: past that the clip has runway left over and tends to fill it with a second, unwanted gesture. |
|
|
50
|
+
| 03 | 0:09–0:12 (3s) | B3 · the person inside becomes real | loc_landing / floor level at the door | the 4cm gap under the door, the warm light line, worn red tile, his boot toe at the bottom frame edge | starts on an unbroken warm line → a shadow crosses it from inside, right to left, as the radio comes up → ends with the line unbroken again but the room now audibly occupied | ECU, head-on, camera 15cm off the floor — the scene's one frontal frame | 85mm — compresses the gap and keeps the corridor out of the background | locked | only source in frame is the spill from inside, behind the door; his side of frame is 3 stops down | highest contrast in the scene; the light line is the sole highlight | tile pattern and grout direction, gap height, worn welt on the boot | Green 2 — no face, no hands, one moving shadow | hard cut as the shadow clears frame | Simplest shot here: generate it first and, where the tool exposes a reference-image or seed slot, use it as the palette reference for the rest. Animate the shadow only; state "the camera does not move and the door does not open." |
|
|
51
|
+
| 04 | 0:12–0:18 (6s) | B4 · irreversible delivery | loc_landing / door side, low | low three-quarter on him crouched frame-left, door plane filling the right two-thirds, envelope entering the gap | starts crouched on his heels, envelope pinched in both hands at the gap → he feeds it under, then pushes with two fingers until his fingertips touch the wood → ends fingertips on the door, hands empty, still crouched | MS, low, camera 40cm off the floor, tilted up 10° | 35mm — the only lens that fits the crouch and the door plane together | slow dolly-in, 25cm over 6s — the scene's one moving shot | key: bulb still on his back and cap from camera-left; the gap line underlights his hands from 20cm; his face 2 stops down | warmest and lowest frame of the scene; the light line is briefly blocked by the envelope, then unbroken | envelope white face out until it disappears, two fingers of the right hand, knuckle scrape, door chip visible frame-right | Red 12 (3/1/1/2/3/2) — action 3 and interaction 3: the envelope passes between his hand and the door, which is contact with a fixed feature, so the contact override fires whatever the total says | hard cut the frame the fingertips touch wood | Highest-failure shot in the scene. Where the tool exposes a first/last-frame pair, use it, with the last frame showing empty hands and fingertips on wood. The split is already decided: 04a MS crouch and feed (4s) and 04b ECU two fingers pushing (3s), then re-time the scene. |
|
|
52
|
+
|
|
53
|
+
Shot 05 (B5, aftermath, 4s) is left out of the table for length and reads: EWS, 35mm, high +15°, locked — shot 01's setup with the camera backed up the flight to the half-landing, since the lens does not change and the size has to come from distance. He backs two steps, turns and drops out of frame down the stairs; hold on the empty landing until a shadow crosses the light line from inside. Risk `Green 4`. Cut on the shadow.
|
|
54
|
+
|
|
55
|
+
Check the plan against itself: 4+5+3+6+4 = 22s over 5 shots = ASL 4.4s, inside the book's 4–5s target. Size ladder reads WS(2) → MCU(4) → ECU(6) → MS(3) → EWS(1) — every adjacent pair differs by at least two steps, and 01/05 repeat one setup deliberately as a bookend. One moving shot out of five, on the commitment beat, as the book allows.
|
|
56
|
+
|
|
57
|
+
## Compact variant
|
|
58
|
+
|
|
59
|
+
Use these three columns when the user wants a short answer, a chat-width table, or a first pass before committing to the full plan. Everything technical collapses into the Frame cell; the story stays legible.
|
|
60
|
+
|
|
61
|
+
| # | Frame | Action → end state |
|
|
62
|
+
|---:|---|---|
|
|
63
|
+
| 01 | WS · 35mm · high +15° · locked · 4s | He climbs into the landing, crosses it in three steps — ends squared to the door 60cm out, envelope at chest, motionless. |
|
|
64
|
+
| 02 | MCU · 50mm · eye level · locked · 5s | His right hand rises and stops 3cm short of the wood — ends hand down at his thigh, still facing the door. |
|
|
65
|
+
| 03 | ECU · 85mm · head-on, 15cm off the floor · locked · 3s | A shadow crosses the warm line under the door — ends on the line unbroken, the room now audibly occupied. |
|
|
66
|
+
| 04 | MS · 35mm · low · dolly-in 25cm · 6s | Crouched, he feeds the envelope under and pushes with two fingers — ends fingertips on wood, hands empty. |
|
|
67
|
+
| 05 | EWS · 35mm · high +15° · locked · 4s | He backs off, turns and drops down the stairs — ends on the empty landing as a shadow crosses the light line. |
|
|
68
|
+
|
|
69
|
+
## Coverage check
|
|
70
|
+
|
|
71
|
+
Read the plan column-wise before you read it row-wise. Each of these catches a different class of error.
|
|
72
|
+
|
|
73
|
+
- Every beat has at least one shot. The turn beat may have two or three; no other beat may have more shots than the turn beat.
|
|
74
|
+
- Every shot has exactly one job. Two jobs means two shots, or one shot re-blocked so the second job disappears.
|
|
75
|
+
- Read the Frame content column alone, top to bottom. It should tell the story without the other columns. If it reads as five variations on one picture, you have angles, not coverage.
|
|
76
|
+
- Read the Blocking column alone. Each end state should be the next row's start state — or the cut is doing work nobody has accounted for, and you should say what. The example has exactly one gap: 02 ends standing and 04 starts crouched. Shot 03 is what covers the crouch, and that is half of why it exists; if you cut it, you owe the audience the move.
|
|
77
|
+
- Count the moving shots against the book's move budget. Over budget means the moves have stopped meaning anything.
|
|
78
|
+
- Track screen direction down the page. In the example the courier faces camera-right at the door in every row; the first row that reverses that owes the audience a neutral shot or a cutaway.
|
|
79
|
+
- Confirm the scene has an entry the audience can orient in and an exit they can leave on. A scene that starts on an insert and ends on an insert has no geography.
|
|
80
|
+
|
|
81
|
+
Each row hands Step 8 (keyframes) its Frame content, Size, Lens, Light dir and Continuity anchors, and hands Step 10 (video prompts) its Blocking, Move, end state and Gen note. If a cell is empty, the downstream prompt will invent something in its place.
|
|
82
|
+
|
|
83
|
+
## Rules
|
|
84
|
+
|
|
85
|
+
- Shot numbers follow story order, not production order, and stay stable. Splitting a shot yields `04a` / `04b`; it never renumbers `05`.
|
|
86
|
+
- Beat and story function must be explicit. If that cell is empty, the shot probably should not exist.
|
|
87
|
+
- Blocking must contain a start and an end state, and **every shot must name its end state** in words a generator can be held to. "He hesitates" is not an end state; "hand down at his thigh, still facing the door" is. Staging geometry and blocking notation live in [blocking and staging](../references/blocking-and-staging.md); this column records the result, not the reasoning.
|
|
88
|
+
- Every shot needs one dominant camera move or none — never two. If the shot needs a move and then a reframe, it is two shots.
|
|
89
|
+
- Size change at a cut is conditional on angle change, and the condition is the one in [cinematic language](../references/cinematic-language.md): stay on the same axis and you owe two size steps, because one step on the same axis reads as a stutter rather than a cut; change the angle by 30° or more and one step is enough. A deliberate match — a true match cut, or a repeated setup used as a bookend — is exempt from both. Count the rungs on the ladder that file owns.
|
|
90
|
+
- Lens and distance-to-subject stay matched across a shot-reverse-shot pair, and the only sanctioned break is the deliberate power imbalance — that rule is owned by [cinematic language](../references/cinematic-language.md). Record the choice and its reason in the `Lens` cell; do not grant yourself a second exception here.
|
|
91
|
+
- Light direction may not change between shots of the same moment unless a source in the world changed. That is what the Light dir column is for — scan it down the page and any unexplained flip is a continuity error you can catch before generating.
|
|
92
|
+
- Continuity anchors name specific items — face, costume, prop state, light state. Copy them from [continuity bible](../references/continuity-bible.md); do not invent them per row.
|
|
93
|
+
- Do not cross the line or break screen direction between rows. Coverage geometry lives in [cinematic language](../references/cinematic-language.md).
|
|
94
|
+
- Seconds must reconcile with the beat sheet's estimates and the book's target ASL. If the three disagree, fix the document that is wrong rather than adjusting the arithmetic.
|
|
95
|
+
- Grade Risk before writing a single prompt, and split the `Red` rows on paper. Symptom-to-fix repair for shots that fail anyway is in [failure modes](../references/failure-modes.md).
|