@lemoncat7/dsh-partner 2.4.2 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -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 +51 -0
- package/docs/releases/2.5.0.md +13 -0
- package/docs/releases/2.6.0.md +11 -0
- package/docs/releases/2.7.0.md +21 -0
- package/lib/agent-runtime.d.ts +9 -1
- package/lib/agent-runtime.d.ts.map +1 -1
- package/lib/agent-runtime.js +117 -17
- 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 +7 -4
- package/lib/channels/delivery-policy.js.map +1 -1
- package/lib/channels/direct/message-format.js +418 -281
- package/lib/channels/direct/message-format.js.map +4 -4
- package/lib/channels/manager.d.ts +7 -3
- package/lib/channels/manager.d.ts.map +1 -1
- package/lib/channels/manager.js +73 -38
- 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-api.d.ts +1 -23
- package/lib/client-api.d.ts.map +1 -1
- package/lib/client-api.js.map +1 -1
- 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 +1078 -679
- package/lib/client.js.map +4 -4
- package/lib/collaboration/composition.d.ts.map +1 -1
- package/lib/collaboration/composition.js +32 -8
- package/lib/collaboration/composition.js.map +1 -1
- package/lib/collaboration/domain.d.ts +8 -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 +38 -5
- 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 +7 -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/settings-panel.js +1 -1
- package/lib/pendant/settings-panel.js.map +1 -1
- 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 +29 -0
- package/lib/scheduler/continuations.d.ts.map +1 -0
- package/lib/scheduler/continuations.js +286 -0
- package/lib/scheduler/continuations.js.map +1 -0
- package/lib/scheduler/domain.d.ts +40 -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/scheduler/service.d.ts +2 -0
- package/lib/scheduler/service.d.ts.map +1 -1
- package/lib/scheduler/service.js +30 -1
- package/lib/scheduler/service.js.map +1 -1
- package/lib/scheduler/wakeup-context.d.ts +7 -0
- package/lib/scheduler/wakeup-context.d.ts.map +1 -0
- package/lib/scheduler/wakeup-context.js +14 -0
- package/lib/scheduler/wakeup-context.js.map +1 -0
- package/lib/scheduler/wakeup.d.ts +11 -0
- package/lib/scheduler/wakeup.d.ts.map +1 -0
- package/lib/scheduler/wakeup.js +52 -0
- package/lib/scheduler/wakeup.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 +11 -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 +4 -0
- package/lib/skills/long-task-continuation.d.ts.map +1 -0
- package/lib/skills/long-task-continuation.js +43 -0
- package/lib/skills/long-task-continuation.js.map +1 -0
- 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/store.d.ts.map +1 -1
- package/lib/store.js +2 -0
- package/lib/store.js.map +1 -1
- package/lib/tasks/context.js +1 -0
- package/lib/tasks/context.js.map +1 -1
- package/lib/tasks/continuation-yield.d.ts +4 -0
- package/lib/tasks/continuation-yield.d.ts.map +1 -0
- package/lib/tasks/continuation-yield.js +27 -0
- package/lib/tasks/continuation-yield.js.map +1 -0
- package/lib/tasks/continuation.d.ts +13 -0
- package/lib/tasks/continuation.d.ts.map +1 -0
- package/lib/tasks/continuation.js +106 -0
- package/lib/tasks/continuation.js.map +1 -0
- package/lib/tasks/domain.d.ts +2 -0
- package/lib/tasks/domain.d.ts.map +1 -1
- package/lib/tasks/scheduling.d.ts.map +1 -1
- package/lib/tasks/scheduling.js +7 -0
- package/lib/tasks/scheduling.js.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 +19 -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.d.ts.map +1 -1
- package/lib/ui/schedule-panel.js +20 -4
- 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 +55 -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,407 @@
|
|
|
1
|
+
# Genre Playbooks
|
|
2
|
+
|
|
3
|
+
Load this file when the project has a genre or format but no named director style lens, or when you need to check a genre's default before deviating from it.
|
|
4
|
+
|
|
5
|
+
## How to use a playbook
|
|
6
|
+
|
|
7
|
+
A playbook is a set of pre-decided defaults for one genre. It fires at **Step 5 (Director's book)**, is written into Mode C, and carries through Step 6 (blocking), Step 7 (shot list), Step 10 (video prompts), Step 11 (sound), and Step 12 (edit). It does not replace craft reasoning — it pre-decides the twelve items every block below carries, so you argue them once per project instead of once per scene.
|
|
8
|
+
|
|
9
|
+
Precedence, highest wins:
|
|
10
|
+
|
|
11
|
+
1. Explicit user instruction ("shoot it flat, no push-ins").
|
|
12
|
+
2. Director style lens chosen at Step 4 (`director_styles/`). **A lens outranks a genre on every field it defines.** If the lens sets `lighting.key_ratio: "2:1"` and the horror playbook says 8:1–16:1, you shoot 2:1. The genre still supplies what the style parameter schema does not carry at all — the dramatic engine and the audience contract — plus any dimension the lens leaves unopinionated. All twenty packaged modules fill all thirteen keys of the schema, so a packaged lens never leaves one; the unopinionated case is a lens improvised for this project from a user's reference images or a one-line brief.
|
|
13
|
+
3. This file's genre defaults.
|
|
14
|
+
4. Skill-level defaults in `SKILL.md`.
|
|
15
|
+
|
|
16
|
+
Four axes set the fields, and each owns different ones. Settle this before you argue any individual default:
|
|
17
|
+
|
|
18
|
+
- **Delivery format owns the container.** Aspect ratio, safe margins, clip duration, the **ASL floor** — the shortest shot the format permits, never the ASL target — and the beat **structure**: hook / demonstration / claim / end card for a commercial, hook / change / change / payoff for a social vertical, premise / escalation / barrage / button for a trailer. Where a format and a genre both propose a structure, the format's blocks win and the genre fills them.
|
|
19
|
+
- **The director lens owns the craft.** Camera and lens, movement, lighting, palette, blocking, sound, and pacing — including the **ASL target**, which is the number the format's floor constrains from below and nothing constrains from above. These are the seven craft dials named below. This is precedence 2 restated: a lens outranks a genre on every field it defines.
|
|
20
|
+
- **The genre owns the dramaturgy.** Dramatic engine and audience contract, always — no lens carries them, and no format replaces them. The seven craft dials come from the genre only when no lens is loaded, or on a dimension an improvised lens left unopinionated.
|
|
21
|
+
- **Delivery format outranks the lens on aspect and clip duration only.** It does not outrank the lens on composition. Where a lens's composition rules assume the aspect in its `aspect_bias` field, the lens is neither ignored nor pasted through unchanged: it owes a **restated** composition rule for the delivery aspect. Log the restatement in the director's book as `lens rule at <aspect_bias> → restated as <rule> at <delivery aspect>`, so every later shot inherits the restatement rather than re-deciding it.
|
|
22
|
+
- **A genre is a starting position, not a cage.** Deviate freely, but log it in the director's book as `genre default X → chosen Y because Z`. If you have overridden more than three of the seven craft dials named below, you are not deviating — you have chosen a different genre or a hybrid. Say which, and re-derive from that playbook instead of drifting.
|
|
23
|
+
|
|
24
|
+
Worked, format × genre. Horror delivered vertically keeps horror's 8:1–16:1 key and its silence; takes vertical's 9:16 frame, its safe margins and its top-third face placement; and takes vertical's **0.7 s ASL floor**, which is a minimum and not a range. The ASL target stays horror's 3–8 s build, because the format forbids a shot shorter than the floor and obliges nothing else. A vertical horror piece cutting at an average of 4 s is correct; one cutting at 0.4 s is out of spec.
|
|
25
|
+
|
|
26
|
+
Worked, format × lens. A lens whose signature is a standing figure at 8–15% of frame height with the camera 12–22 m back ([19_michael_mann.md](director_styles/19_michael_mann.md), `aspect_bias: "2.39:1 / 1.85:1"`) cannot hold that number at 9:16. Frame-height fraction is a function of vertical field of view, so at native vertical the same figure at the same distance on the same focal reads at roughly half the fraction, and [cinematic-language.md](cinematic-language.md) is explicit that an extreme wide in vertical wastes sky and floor and leaves the subject a few pixels tall. The lens survives as a restatement, not as an abandonment: at 9:16 produce the smallness by **depth down a subject that is itself vertical** — stair core, ramp, parking-deck run, alley — and by glass-reflection layering that puts the city over the face, never by lateral distance. The 8–15% height target holds only in those genuinely vertical subjects; everywhere else the figure goes one size step tighter, per the vertical direction rules in `cinematic-language.md`. What the signature was ever about is a person small against a bright field, and vertical can still deliver that in depth — so restate it, do not drop it and do not crop to it.
|
|
27
|
+
|
|
28
|
+
Field key, in the order every block uses it: **dramatic engine** (what mechanically generates scenes) · **audience contract** (what the viewer is owed) · **camera** (default framing register, plus **lens bias** in mm) · **movement bias** · **lighting** (quality, motivation, and **key ratio**(布光比)) · **palette** · **pacing** (**ASL**, the average-shot-length range, and the **pacing signature**, kept on one line because they are read together; the arithmetic lives in [editing-and-assembly.md](editing-and-assembly.md)) · **sound** · **blocking bias** · **classic amateur mistake** · **AI risk + mitigation** · **seed prompt** to start Step 10 from.
|
|
29
|
+
|
|
30
|
+
Twelve bullets, nine of which are settings. Two are dramaturgical — engine and contract — and are held whenever you re-register a scene. Seven are the craft dials the tone-dial section below turns: **camera, movement, lighting, palette, pacing, sound, blocking**. The remaining three (mistake, risk, seed) are notes, not settings. Count moved dials against that seven whenever you deviate. Social vertical carries two extra lines — `contract under a lens`, because it is the genre most often requested with a lens attached and the one whose contract a lens most often breaks, and `platform grammar`, because the Chinese-platform vocabulary has no equivalent elsewhere in this file.
|
|
31
|
+
|
|
32
|
+
Focal lengths here are full-frame (35mm-format) equivalents; convert for your capture format, and remember an AI model reads "28mm" as a look, not as optics — pair the number with the effect you want (see [prompt-lexicon.md](prompt-lexicon.md)). Seeds are English; for a Chinese-UI tool keep the same slot order and translate, e.g. the horror seed becomes `固定广角,28mm,视平线,夜晚厨房。女子背对未点灯的走廊洗碗,走廊占画面右侧三分之一,始终空无一人。只有抽油烟机灯亮着。她停下不动。镜头不动。结束于她开始转头。`
|
|
33
|
+
|
|
34
|
+
Shot sizes, angles, moves and coverage geometry are defined in [cinematic-language.md](cinematic-language.md); staging terms in [blocking-and-staging.md](blocking-and-staging.md); light setups in [lighting-and-color.md](lighting-and-color.md); sound craft in [sound-and-dialogue.md](sound-and-dialogue.md). Word-level prompt vocabulary and negative lists live in [prompt-lexicon.md](prompt-lexicon.md).
|
|
35
|
+
|
|
36
|
+
## The playbooks
|
|
37
|
+
|
|
38
|
+
### Horror
|
|
39
|
+
|
|
40
|
+
- Engine: withheld information plus a violated safe space. Scenes come from the gap between what the frame knows and what the character knows.
|
|
41
|
+
- Contract: you will be made to wait, and the wait will be paid at least once early. Pay it, or the audience stops waiting.
|
|
42
|
+
- Camera: locked wide with a load-bearing area of dead space kept deliberately empty. Lens bias 24–35mm — you need depth that can hide things behind the actor. 85mm+ compresses that depth away.
|
|
43
|
+
- Move: none, then one slow push(推镜)that tightens the frame 15–25% over 6–10 s — which makes it one of the long shots in the build, not an average one — or an unmotivated pan that reveals.
|
|
44
|
+
- Light: single-source low-key, key ratio 8:1 to 16:1, motivated by a visible practical (lamp, TV, phone, moon through blinds). Subject 2 stops above background; steep falloff is the whole effect.
|
|
45
|
+
- Palette: desaturated blue-green base, one warm practical, blood or rust as the only saturated accent.
|
|
46
|
+
- ASL: 3–8 s in the build, 0.5–1.5 s in the burst. Pacing signature: long, long, longer, then divide shot length by about five on the strike (6 s becomes 1.2 s).
|
|
47
|
+
- Sound: sound leads picture. Low bed at 30–60 Hz, room tone that stops just before the reveal. Silence is the loudest cue you have. If the deliverable will be watched on phone or laptop speakers, carry the same cue an octave up (60–120 Hz) as well, or the dread is inaudible on the device most people use.
|
|
48
|
+
- Blocking: keep the actor off-center, near an exit that is blocked, with their back to open space.
|
|
49
|
+
- Amateur mistake: showing the threat in the first minute, and scoring the scare instead of scoring the dread.
|
|
50
|
+
- AI risk: models resolve ambiguity — they fill dark regions with detail and put the thing in frame uninvited. Mitigation: describe the empty part of the frame explicitly ("the hallway behind her is empty and unlit"), negative-prompt the creature out of every build shot, and generate the dark plate and the reveal as separate clips.
|
|
51
|
+
- Seed: `Locked wide, 28mm, eye level, kitchen at night. A woman washes dishes with her back to an unlit hallway occupying the right third of frame, which stays empty. Only the range-hood light is on. She stops and holds still. No camera move. End on her head starting to turn.`
|
|
52
|
+
|
|
53
|
+
### Psychological thriller
|
|
54
|
+
|
|
55
|
+
- Engine: an unreliable interior. Scenes come from the mismatch between a character's account and the evidence visible in frame.
|
|
56
|
+
- Contract: you will be given enough to suspect and never enough to be sure, until one late confirmation.
|
|
57
|
+
- Camera: eye level, slightly tight, subject just off geometric center; repeat framings exactly so any change registers. Lens bias 40–75mm, one fixed focal per recurring location so a change of distance reads as a change of state.
|
|
58
|
+
- Move: drift, not moves — 5–10% of frame over the whole shot. The audience should not be able to name what moved.
|
|
59
|
+
- Light: soft key at 3:1 with one hard practical inside the frame; keep faces half-lit at decision points.
|
|
60
|
+
- Palette: near-monochrome and narrow, with one recurring object color that carries meaning.
|
|
61
|
+
- ASL: 5–12 s. Pacing signature: even and slightly too long. The discomfort is that nothing cuts away.
|
|
62
|
+
- Sound: dialogue dry and close; ambience thinner than the location deserves, so the audience feels the missing sound without locating it.
|
|
63
|
+
- Blocking: reflections, glass, doorways; two characters in one frame at unequal depths (one at 1.2 m, one at 4 m).
|
|
64
|
+
- Amateur mistake: staging paranoia with Dutch angles and stingers. Paranoia reads as repetition and asymmetry, not tilt.
|
|
65
|
+
- AI risk: a 5% drift sits below the effective motion floor of many current tools — "very slow push" comes back either static or as a snap. Mitigation: state displacement in executable terms ("dolly forward about half a meter across the shot"), and if the tool exposes a numeric motion-strength control, use its lowest non-zero setting; otherwise generate a static plate and add the move in post.
|
|
66
|
+
- Seed: `40mm, eye level, dolly forward roughly half a meter across the shot. A man re-reads a note at a kitchen table while his reflection sits in the dark window behind him. Desk lamp camera-left, face half in shadow. End with him setting the note face-down.`
|
|
67
|
+
|
|
68
|
+
### Crime and noir
|
|
69
|
+
|
|
70
|
+
- Engine: a transaction that goes wrong. Every scene is somebody trying to get paid, get told, or get out.
|
|
71
|
+
- Contract: the world is corrupt and competence is the only virtue; you will be shown the procedure in detail.
|
|
72
|
+
- Camera: observer positions — across the room, through a doorway, from inside a car. Lens bias 35mm for the room, 100mm+ for surveillance; the focal states whether you are present or watching.
|
|
73
|
+
- Move: motivated dolly with a walking character, then a hard stop. No float, no drift.
|
|
74
|
+
- Light: hard sidelight at 8:1, one hard source plus a legible shadow shape (blinds, signage, streetlight). Blacks go true black.
|
|
75
|
+
- Palette: sodium amber against blue-green night; skin allowed to run warm.
|
|
76
|
+
- ASL: 4–9 s on dialogue, 2–4 s on procedure. Pacing signature: dialogue in twos, action in threes.
|
|
77
|
+
- Sound: a city bed that never fully stops; music sparse and instrument-specific (upright bass, one horn); gunshots short and dry, no tail.
|
|
78
|
+
- Blocking: power by height and door control — who stands, who sits, who is between the other and the exit.
|
|
79
|
+
- Amateur mistake: rain, neon, and a trench coat standing in for a plot with money in it. Second offense: voice-over narrating what the picture already said.
|
|
80
|
+
- AI risk: hard venetian-blind shadows render as mush, and neon signage generates garbled text. Mitigation: put the shadow source off-frame and describe the shadow shape as geometry ("horizontal bars of shadow across his chest, about 8 cm apart"); keep all signage out of focus or out of frame.
|
|
81
|
+
- Seed: `35mm, waist level, framed through an open doorway from the next room. Two men count money at a table under one hanging bulb; the doorframe cuts the foreground to black. Camera holds and does not enter. End when one man stops counting and looks up at the door.`
|
|
82
|
+
|
|
83
|
+
### Drama
|
|
84
|
+
|
|
85
|
+
- Engine: an unresolvable want between two people who both have a case.
|
|
86
|
+
- Contract: nothing will be explained to you; you will read faces and infer.
|
|
87
|
+
- Camera: shoulder height, patient, coverage that lets the scene play in two or three sizes. Lens bias 40–50mm at 1.5–2.5 m — ordinary human distance.
|
|
88
|
+
- Move: reframing only. The camera follows the performance; it never leads it.
|
|
89
|
+
- Light: soft key at 2:1 to 3:1, window-motivated, consistent with the hour across the whole scene.
|
|
90
|
+
- Palette: real-world, low saturation, no signature color. Costume carries what color there is.
|
|
91
|
+
- ASL: 6–15 s. Pacing signature: hold two beats past the line.
|
|
92
|
+
- Sound: no score under dialogue on the first pass. Ambience full and specific to that room, including its refrigerator, its street, its clock.
|
|
93
|
+
- Blocking: give people a task to do while they talk. The task is the subtext meter — when the hands stop, the line landed.
|
|
94
|
+
- Amateur mistake: cutting on every line. The scene lives in the shot where nobody speaks.
|
|
95
|
+
- AI risk: sustained naturalistic performance is the hardest thing to generate — identity drift grows with clip length and lip-sync degrades faster than anything else in frame. Mitigation: build 3–5 s units around one physical action, keep dialogue off-frame or on the listener, and let the edit carry the scene length rather than the clip.
|
|
96
|
+
- Seed: `50mm, shoulder height, 2 m from subject, framed head to hands, static with a small reframe. A woman peels potatoes at a sink while someone speaks off-frame; window light camera-right at 2:1. She does not stop working. End with her hands going still for two seconds.`
|
|
97
|
+
|
|
98
|
+
### Romance
|
|
99
|
+
|
|
100
|
+
- Engine: the obstacle between two people who want to be closer. Scenes come from proximity denied.
|
|
101
|
+
- Contract: you will be paid in closeness — physical distance must shrink measurably across the film.
|
|
102
|
+
- Camera: matched shot/reverse, slightly past the shoulder, camera close to the axis so eyelines nearly hit lens. Lens bias 50–85mm at T1.8–2.8, focus on the eyes, background rendered as light rather than information.
|
|
103
|
+
- Move: a gentle arc, or a slow push on the person **listening**, not the person speaking.
|
|
104
|
+
- Light: soft wraparound key at 2:1, hair backlight, warm practicals defocused behind.
|
|
105
|
+
- Palette: warm skin against a desaturated surround, plus one shared accent color both characters end up wearing.
|
|
106
|
+
- ASL: 5–10 s, and longer on the reaction than on the line. Pacing signature: the reverse arrives one beat late. The delay is the feeling.
|
|
107
|
+
- Sound: intimate room tone with audible breath; music enters late and stays under.
|
|
108
|
+
- Blocking: measure proxemics in centimeters and write them down — 120 cm at the top of the scene, 40 cm at the turn. That number is the scene's plot.
|
|
109
|
+
- Amateur mistake: playing romance with the score and the sunset instead of with the blocking distance.
|
|
110
|
+
- AI risk: two-person interaction is the top failure class — hands, contact, and face stability across a reverse all break. Mitigation: single-character clips with the other person implied off-frame; place any physical contact at the cut point, never inside a clip.
|
|
111
|
+
- Seed: `85mm at T2.0, eye level, 1.5 m from subject for a close-up, arc left about 0.5 m across the shot on a 1.5 m radius. A man listens while someone off-frame finishes a sentence; warm defocused practicals behind him, soft key camera-left with hair backlight. End with him looking down, then back up.`
|
|
112
|
+
|
|
113
|
+
### Comedy
|
|
114
|
+
|
|
115
|
+
- Engine: a person fully committed to a plan the situation will not support.
|
|
116
|
+
- Contract: the frame will be honest with you — you will be shown the whole joke, not told where it is.
|
|
117
|
+
- Camera: wider than feels right, and locked. The frame is the container the joke happens inside. Lens bias 27–40mm, stopped down far enough that the reactor at the back of the room is as sharp as the speaker: a 32mm at T8 focused at 3 m holds roughly 1.8 m to 10 m. Shallow depth of field is a comedy killer, because it decides for the audience where to look.
|
|
118
|
+
- Move: none during the joke. A move steals the timing.
|
|
119
|
+
- Light: fairly flat at 2:1, high base level. You must be able to see every face at once.
|
|
120
|
+
- Palette: saturated, clean, high key. Production design does joke work; let it be legible.
|
|
121
|
+
- ASL: 2–5 s across the scene, but the joke shot itself is held long. Pacing signature: set-up, cut, hold, hold past comfortable, then cut. Leaving 4–8 frames early puts the audience slightly ahead of you and buys the bigger laugh; leaving half a second late buys the awkward one. Choose which you want and cut it twice to compare.
|
|
122
|
+
- Sound: no score under the punchline, and an ambience that does not pre-announce that something funny is coming.
|
|
123
|
+
- Blocking: put the reactor in the same frame as the actor. Two-shots, not singles.
|
|
124
|
+
- Amateur mistake: cutting to the reaction by default. A cut points at the joke and tells the audience when to laugh; keeping the reactor in the same frame lets them find it. Cut to the reaction only when the reaction *is* the joke.
|
|
125
|
+
- AI risk: comic timing lives in the cut, which the model does not control, and physical gags break physics in ways that read as error rather than joke. Mitigation: generate the wide as one clip and build the timing in the edit; never ask a model for a pratfall.
|
|
126
|
+
- Seed: `32mm, locked, eye level, wide enough to hold both people and the door. A man delivers a confident explanation while, in the same frame behind him, the thing he is describing quietly fails. Flat even light. No camera move. End with the second person's face doing nothing at all.`
|
|
127
|
+
|
|
128
|
+
### Action
|
|
129
|
+
|
|
130
|
+
- Engine: a physical objective with a clock and a geography.
|
|
131
|
+
- Contract: you will always know where everything is and what happens if it fails.
|
|
132
|
+
- Camera: establish geography in a wide before any coverage, then hold screen direction (see [cinematic-language.md](cinematic-language.md)). Lens bias 21–35mm inside the fight for impact, 85–135mm for the threat approaching.
|
|
133
|
+
- Move: whip pan, track at subject speed, or lock. Handheld shake is not a substitute for choreography.
|
|
134
|
+
- Light: high contrast but bright enough to read silhouettes — hard key at 4:1 with separation on **both** bodies, not just the hero.
|
|
135
|
+
- Palette: two-team color coding, environment desaturated so bodies read at speed.
|
|
136
|
+
- ASL: 0.8–2.5 s inside the sequence, 4–8 s at the geography beats. Pacing signature: shot lengths accelerate into the beat, then one long shot holds on the win or the loss.
|
|
137
|
+
- Sound: impacts carry the cut; music is rhythmic and cuts with picture, not under it.
|
|
138
|
+
- Blocking: choreograph in beats of three moves. Each shot shows one beat and ends in a pose the next shot starts from.
|
|
139
|
+
- Amateur mistake: shake plus fast cutting to hide that no choreography exists. If it cannot be cut slow, it does not exist.
|
|
140
|
+
- AI risk: multi-body contact, weapon continuity, and high speed each fail independently and compound. Mitigation: one body per clip, contact placed at the cut rather than inside a clip, and impact sound selling the frame you never generated.
|
|
141
|
+
- Seed: `24mm, chest height, tracking laterally at the runner's speed, screen left to right. A woman sprints along a loading dock, vaults one low barrier, lands and keeps running out of frame right. Hard low sun behind her at 4:1. One vault only. End as she clears frame.`
|
|
142
|
+
|
|
143
|
+
### Science fiction
|
|
144
|
+
|
|
145
|
+
- Engine: one changed rule, followed honestly to a human cost.
|
|
146
|
+
- Contract: the world will be internally consistent, and you will learn its rules by watching them used, not by being told.
|
|
147
|
+
- Camera: architectural for the system — wide, level, symmetrical; human framing for the person inside it. Lens bias 21–28mm for scale and single-point perspective, 75–100mm to isolate the person.
|
|
148
|
+
- Move: slow, mechanical, motorized. Constant velocity through the body of the move, with short symmetrical ramps at each end — a motion-control rig has to accelerate, but it does not ease the way a human operator does, and that flat middle is what reads as machine.
|
|
149
|
+
- Light: sourced from the technology itself — screens, light strips, indicator LEDs. Key ratio 6:1 with heavy negative fill.
|
|
150
|
+
- Palette: one cold system color plus one warm human color. Scarcity of hue *is* the world-building.
|
|
151
|
+
- ASL: 5–12 s for world, 2–4 s in crisis. Pacing signature: hold on the machine long enough for the audience to learn what it does before you need them to know.
|
|
152
|
+
- Sound: designed machines with a distinct pitch identity per system, so the audience can hear which thing is failing. Music textural and low.
|
|
153
|
+
- Blocking: person small inside a designed frame; let the architecture do the staging.
|
|
154
|
+
- Amateur mistake: panel-and-prop soup with no rule behind it. One changed rule beats twenty gadgets.
|
|
155
|
+
- AI risk: hardware and interface designs drift shot to shot, screen text garbles, and scale is inconsistent between clips. Mitigation: lock a reference plate per set (see [image-model-adapters.md](image-model-adapters.md)), describe geometry rather than brand ("a wall of matte grey panels, one amber strip at waist height"), and never request legible screen text.
|
|
156
|
+
- Seed: `21mm, level, static, single-point perspective down a corridor of matte grey panels with one amber light strip at waist height. A technician walks away from camera, stops at a wall unit, places a palm on it. The strip changes color along its length toward her. End as she lowers her hand.`
|
|
157
|
+
|
|
158
|
+
### Fantasy
|
|
159
|
+
|
|
160
|
+
- Engine: a world with a price. Every power costs something the audience can see.
|
|
161
|
+
- Contract: the impossible will be photographed as though it were ordinary.
|
|
162
|
+
- Camera: ground the fantastic — put a human eye level and a normal lens on it. Lens bias 32–50mm as standard; save 18–24mm for one scale reveal per act.
|
|
163
|
+
- Move: boom up or crane back for the reveal, then settle and hold. One large move per sequence, earned.
|
|
164
|
+
- Light: naturalistic sources scaled up — sun, fire, moon — at 4:1 outdoors and 2:1 to 3:1 in interior naturalism, plus one impossible source that obeys its own consistent rule every time it appears.
|
|
165
|
+
- Palette: earth base, so a single magic hue reads as an event rather than decoration.
|
|
166
|
+
- ASL: 4–10 s. Pacing signature: hold the reveal one beat past comfort so the audience concludes it exists rather than that it was shown.
|
|
167
|
+
- Sound: organic materials over synthesizers. Magic should have a material — stone, water, breath — not a whoosh.
|
|
168
|
+
- Blocking: physical labor. Climbing, carrying, hauling, riding. Weight is what makes an invented world real.
|
|
169
|
+
- Amateur mistake: everything is astonishing, so nothing is. Second offense: costume without weather.
|
|
170
|
+
- AI risk: creature anatomy, armor, and cloth detail mutate between clips, and scale between beings breaks. Mitigation: keep non-human elements partly occluded or at distance, derive scale from a human-height object in frame, and keep magic motion to one simple physical behavior.
|
|
171
|
+
- Seed: `35mm, eye level, static then slow tilt up. A woman in wet wool carries a full pail across a muddy yard at dusk; behind her the treeline is lit from inside by a single steady green source that does not flicker. She does not look at it. End with the tilt revealing how far the light extends.`
|
|
172
|
+
|
|
173
|
+
### Period and historical
|
|
174
|
+
|
|
175
|
+
- Engine: a person constrained by the rules of their time, which they cannot simply refuse.
|
|
176
|
+
- Contract: the world will be materially specific and will not wink at you.
|
|
177
|
+
- Camera: compose in the era's own image culture — its painting and photographic formats — and stage rather than cover. Lens bias 32–58mm; modern ultra-wide distortion reads as contemporary no matter what is in frame.
|
|
178
|
+
- Move: dolly and static only. Handheld reads as now.
|
|
179
|
+
- Light: period sources only — window, candle, oil, gas, early tungsten. Key ratio 3:1 to 4:1 at a window, 8:1 or steeper by candle, because a small source with no fill obeys inverse square: move a face from 0.5 m to 1 m off the flame and you lose 2 stops. Use that falloff, do not fight it.
|
|
180
|
+
- Palette: dye- and pigment-limited. Choose 5–7 colorants the period could actually produce and refuse the rest.
|
|
181
|
+
- ASL: 7–16 s. Pacing signature: let entrances and departures take their real duration.
|
|
182
|
+
- Sound: strip the modern floor first — no distant traffic hum, no fluorescent buzz — then add correct material weight (iron, wood, heavy cloth).
|
|
183
|
+
- Blocking: formal. Status decides who moves and who is moved toward.
|
|
184
|
+
- Amateur mistake: costume-shop accuracy worn with modern posture, modern haircuts, and clean teeth.
|
|
185
|
+
- AI risk: anachronism injection — zippers, modern eyewear, printed text, plastic, contemporary dentition. Mitigation: carry an explicit era negative list in every prompt, naming instances and never the category — "no modern objects" is unresolvable and is the mechanism behind F8 (see [prompt-lexicon.md](prompt-lexicon.md) and [failure-modes.md](failure-modes.md)) — and add a per-shot anachronism pass in QC.
|
|
186
|
+
- Seed: `50mm, chest height, locked. A woman in a high-collared dress writes at a table lit only by two candles at 1 m; falloff drops the back wall to near black. No plastic, no wristwatch, no printed labels, no electric fixture. She stops, holds the pen, does not write. End with her setting it down and pinching out one candle.`
|
|
187
|
+
|
|
188
|
+
### War
|
|
189
|
+
|
|
190
|
+
- Engine: a small task performed under fire, where the objective is minor and the cost is total.
|
|
191
|
+
- Contract: you will be shown consequence, not glory.
|
|
192
|
+
- Camera: from inside the unit — subjective height, restricted view, obstructed frames. Lens bias 24–35mm handheld at close proximity; long lens only for what the character cannot reach.
|
|
193
|
+
- Move: reactive handheld. The camera flinches and re-finds the subject half a second late; that lag is the point.
|
|
194
|
+
- Light: available only. Flat overcast, or hard sun at 6:1 with no fill. Flare is allowed.
|
|
195
|
+
- Palette: mud and ash, desaturated, one flesh tone. Fire is the only saturation in the film.
|
|
196
|
+
- ASL: 1.5–4 s under contact, 8–20 s in the waiting. Pacing signature: waiting is 80% of the runtime and contact is short. That ratio is the genre.
|
|
197
|
+
- Sound: dynamic range is the entire strategy — near-silence, then an impact 20–30 dB above it, then dampened ringing. Do not ride it flat, and do not let a loudness-normalized delivery target flatten it for you.
|
|
198
|
+
- Blocking: cover to cover. Never let a body stand in the open without a reason someone paid for.
|
|
199
|
+
- Amateur mistake: continuous action. Without the waiting, the contact has no scale.
|
|
200
|
+
- AI risk: as of writing, crowds, weapons, and pyro in one clip exceed what generative video reliably keeps coherent, and the three failures compound rather than average. Mitigation: one soldier and one action per clip; smoke, ash, and debris as the environmental motion; explosions rendered as an off-frame light change plus sound.
|
|
201
|
+
- Seed: `28mm handheld, low and close, reactive — the camera flinches and re-finds the subject half a second late. A soldier presses against a broken wall, breathing, waiting; ash drifts through frame. Off-frame light flashes once from camera-right and dims. He does not move. End as he begins to lean out.`
|
|
202
|
+
|
|
203
|
+
### Documentary and verite
|
|
204
|
+
|
|
205
|
+
- Engine: whatever actually happens while the camera is present.
|
|
206
|
+
- Contract: nothing has been staged for you. The frame will be imperfect, and the imperfection is the proof.
|
|
207
|
+
- Camera: operator-found. Reframe visibly, correct focus visibly, arrive a step behind the event. Lens bias 24–70mm — a single zoom range worked live, with the focal change itself left visible, because the zoom is testimony that someone was standing there deciding.
|
|
208
|
+
- Move: handheld with real body weight. Walk and follow, never glide.
|
|
209
|
+
- Light: available. Whatever the room gives — expect anything from 2:1 to 10:1 inside one scene and do not normalize it. Leave mixed color temperature uncorrected: tungsten and daylight in one frame is a truth claim.
|
|
210
|
+
- Palette: whatever is there. Grade for consistency only, never toward a look.
|
|
211
|
+
- ASL: 4–12 s, with deliberate over-long holds. Pacing signature: the truth arrives after the subject stops performing. Hold past the end of the answer.
|
|
212
|
+
- Sound: production sound with room, wind, and mic handling left in. No music under the hardest answer.
|
|
213
|
+
- Blocking: none. You choose a position, not a staging.
|
|
214
|
+
- Amateur mistake: treating "documentary style" as a filter — adding shake to a perfectly framed, perfectly lit shot. Verite is about imperfect *information*, not imperfect stabilization.
|
|
215
|
+
- AI risk: generated footage is too clean, too centered, and too well-exposed, which reads immediately as fake. Mitigation: prompt the operator error explicitly — "subject drifts off-center and the camera corrects late; a foreground shoulder crosses frame" — and leave one exposure or focus imperfection in every clip.
|
|
216
|
+
- Seed: `24-70mm handheld, operator-found. A woman answers a question at her kitchen table; she drifts off-center, the camera corrects late, focus is pulled visibly. Mixed daylight and tungsten, uncorrected. She finishes speaking and the shot keeps running. End four seconds after she stops.`
|
|
217
|
+
|
|
218
|
+
### Music video
|
|
219
|
+
|
|
220
|
+
- Engine: the track's structure. Sections generate scenes; you cut to the arrangement, not to a story.
|
|
221
|
+
- Contract: one image idea per section, and a payoff on the last chorus.
|
|
222
|
+
- Camera: one strong idea repeated with variation — a fixed format, a single move type, or a single lens. Lens bias: commit one focal per section so focal change marks verse and chorus (for example 35mm verse, 85mm chorus).
|
|
223
|
+
- Move: on-beat. A move starts on a downbeat and ends on a bar line, or it does not happen.
|
|
224
|
+
- Light: unmotivated is allowed here. Ratio is a design choice rather than a naturalism check; the workhorse is one hard source at 8:1 or steeper so the color reads as a graphic field, not as a room. Color changes hard on the section boundary.
|
|
225
|
+
- Palette: 2–3 saturated hues. Change the whole palette at the chorus, never gradually.
|
|
226
|
+
- ASL: verse 2–4 s, chorus 0.5–1.5 s, bridge 4–8 s. Pacing signature: the bar structure *is* the edit. Lay the timeline out in bars first.
|
|
227
|
+
- Sound: fixed. Everything else obeys the track's tempo map, which you build before you generate a frame.
|
|
228
|
+
- Blocking: performance to lens is allowed and usually wanted. Narrative blocking is secondary.
|
|
229
|
+
- Amateur mistake: pretty images cut freely "to the vibe" instead of to the bar grid.
|
|
230
|
+
- AI risk: lip-sync. Generated singing rarely matches phonemes and the mismatch is instantly visible. Mitigation: avoid frontal singing close-ups; use profile, backlight, obscured mouth, or hold the sung line over non-performance imagery.
|
|
231
|
+
- Seed: `85mm at 3.5 m, locked, chest height, waist-up framing with room either side for the arms. Subject centered against a flat saturated red wall. A dancer holds still for the first half of the shot, then executes one full turn on the downbeat, ending in the same position. Hard single source camera-left at 8:1. Mouth not visible. End on the held pose.`
|
|
232
|
+
|
|
233
|
+
### Commercial and product
|
|
234
|
+
|
|
235
|
+
Twelve playbook fields only. The depth this genre actually needs — the light-moves principle, lighting by material class, macro working distance, brand and colour fidelity, text and logo, the shot grammar of a spot, the vertical layouts, and what to shoot instead of generate — is owned by [product-and-macro.md](product-and-macro.md). Do not re-derive it here.
|
|
236
|
+
|
|
237
|
+
- Engine: a single claim, made visible in one action.
|
|
238
|
+
- Contract: you will be told what this does inside the first few seconds and then shown proof.
|
|
239
|
+
- Camera: product at or slightly below its own eye level, with macro-capable framings. There are no casual angles. Lens bias 50–100mm macro on product, 35mm for lifestyle context.
|
|
240
|
+
- Move: the light moves; the camera and the product hold. Where the camera does move at all, motion-control feel — constant-velocity slider or turntable, easing out only into the end card.
|
|
241
|
+
- Light: controlled studio — one large soft source plus a hard edge kicker. 3:1 lit side to shadow side on skin; shaping the specular on the product is the entire job.
|
|
242
|
+
- Palette: brand palette. The background is a value, not a place.
|
|
243
|
+
- ASL: 0.8–2 s. Pacing signature: for a 30 s cut — 5 s hook, 18 s demonstration, 4 s claim, 3 s end card. Delivered vertically, the format outranks that runway: the hook collapses into the first 1–1.5 s and the claim moves forward with it, keeping the demonstration and end-card blocks. Do not scale the runway down to a shorter runtime: the 15 s and 6 s cuts are different structures, laid out second by second, and every per-shot duration including the hero hold is in [product-and-macro.md](product-and-macro.md).
|
|
244
|
+
- Sound: sound design sells texture — the click, the pour, the fabric. Music is a bed with one hit on the logo.
|
|
245
|
+
- Blocking: hands, not faces, for demonstration. Hero the operative surface of the product.
|
|
246
|
+
- Amateur mistake: beauty shots with no claim. If the viewer cannot repeat the claim afterward, the spot failed regardless of how it looks.
|
|
247
|
+
- AI risk: product identity drift — logo, proportion and material change every clip, hands mangle the object, and a brand hue lands a shade off. See F1's brand-colour cause and the hand-plus-branded-product entry in [failure-modes.md](failure-modes.md). Mitigation: keep the product static and move only the light, composite the real product over generated environments, and never let a generated hand fully grip a branded object. The workflow is in [product-and-macro.md](product-and-macro.md).
|
|
248
|
+
- Seed: `100mm macro, static camera, product at its own eye level. A ceramic cup on a matte surface; steam rises. One large soft source above and camera-right travels slowly right, so a specular line walks along the polished rim from left to right. The cup does not move and the camera does not move. End with the highlight resting at the rim's near edge and the steam continuing.`
|
|
249
|
+
|
|
250
|
+
### Fashion
|
|
251
|
+
|
|
252
|
+
- Engine: silhouette in motion. A scene exists to reveal how a garment moves and what it does to a body.
|
|
253
|
+
- Contract: this is about surface. You will be shown weave, drape, and edge at a level a still photograph cannot deliver, and you will be shown how the garment behaves when the body moves.
|
|
254
|
+
- Camera: full figure has priority. The frame must respect the silhouette's edges — head and toe room is a rule, not a preference. Lens bias 85–135mm for the look-book register, 24mm at ground level for attitude. Budget the throw: holding a full figure with head and toe room needs roughly 7 m at 85mm and roughly 11 m at 135mm, so pick the lens the stage can actually support.
|
|
255
|
+
- Move: slow lateral track, or a locked frame the model moves through. Camera and body must not both move fast.
|
|
256
|
+
- Light: one hard source for texture and edge at 6:1, or one very large soft source for skin against a black surround. Pick one; do not blend.
|
|
257
|
+
- Palette: garment-led. Everything else drops to neutral so the fabric is the only chroma event in frame.
|
|
258
|
+
- ASL: 1–3 s cuts set against 8–15 s holds. The contrast between them is the style. Pacing signature: repetition with escalating scale — the same move shown at three sizes.
|
|
259
|
+
- Sound: no dialogue. Rhythmic and non-melodic, with fabric and footstep sound pushed well above natural level.
|
|
260
|
+
- Blocking: walk toward and past camera; turn at the frame edge; hold still, then release one gesture.
|
|
261
|
+
- Amateur mistake: cropping the silhouette to get a "closer look". The silhouette is the product.
|
|
262
|
+
- AI risk: fabric physics and garment identity — drape, seam, and pattern regenerate every clip. Mitigation: 2–4 s clips, one garment, motion restricted to walking or wind. Never request a fast turn.
|
|
263
|
+
- Seed: `85mm, locked frame, full figure with head and toe room held throughout. The model walks toward camera from 11 m to 7.5 m and stops. One hard source camera-left at 6:1 rakes across the fabric to show weave; black surround, the garment is the only saturated element. End on the stop, with the coat still settling.`
|
|
264
|
+
|
|
265
|
+
### Corporate and explainer
|
|
266
|
+
|
|
267
|
+
- Engine: a problem the viewer recognizes, then the mechanism that fixes it.
|
|
268
|
+
- Contract: your time will not be wasted. Every 15 s advances understanding by one step you could name.
|
|
269
|
+
- Camera: locked, or a minimal slider. Interviews at eye level, slightly off-axis. Lens bias 50–85mm on the speaker at T2.8–4 — shallow enough to separate, deep enough that the background stays readable.
|
|
270
|
+
- Move: a 5–10% push across a 20 s answer, and nothing more.
|
|
271
|
+
- Light: soft key at 3:1, background separated with one color accent. No mystery, no mood.
|
|
272
|
+
- Palette: brand plus neutral interior. Keep skin natural — corporate grades that tint faces read as amateur immediately.
|
|
273
|
+
- ASL: 3–6 s on B-roll; interview blocks run 8–20 s. Pacing signature: one idea per 15 s, with a visible change at every idea boundary.
|
|
274
|
+
- Sound: voice-over is the spine. Clean and close, with the music bed sitting 15–20 dB under it and high-passed so it does not fight the voice. Mix for laptop speakers, not for headphones, and check it once at low volume.
|
|
275
|
+
- Blocking: hands visible, one gesture per point. B-roll shows the specific thing being described, not people typing.
|
|
276
|
+
- Amateur mistake: stock abstraction — handshakes, glowing networks, rotating globes — that illustrates nothing and costs credibility.
|
|
277
|
+
- AI risk: generic generated B-roll is exactly the material that reads as filler, and it reads that way faster than stock did. Mitigation: generate the specific noun in the script line, never its mood. If the line says "a warehouse pick-and-pack station", generate that, not "logistics".
|
|
278
|
+
- Seed: `85mm at T2.8, eye level, off-axis, subject at 2.5 m. Static apart from a push of about 15 cm across the take, which tightens the frame roughly 6 percent. A woman answers an off-camera interviewer, hands visible, one gesture per point. Soft key camera-left at 3:1, background separated by a single accent lamp. End when she finishes the sentence.`
|
|
279
|
+
|
|
280
|
+
### Trailer
|
|
281
|
+
|
|
282
|
+
- Engine: escalating promise. This is a structure, not a story.
|
|
283
|
+
- Contract: you will be told the premise, shown the scale, and denied the ending.
|
|
284
|
+
- Camera: borrow the feature's grammar, but bias one shot size tighter — a wide becomes a medium wide, a medium becomes a close — because trailers are watched small. Lens bias: whatever the feature uses. A trailer that invents new lensing is lying about the film.
|
|
285
|
+
- Move: one large move per act of the trailer. More than that reads as desperation.
|
|
286
|
+
- Light: the feature's, with contrast pushed slightly for small-screen legibility.
|
|
287
|
+
- Palette: the feature's, with hero-to-background separation boosted.
|
|
288
|
+
- ASL: act one 3–6 s, act two 1.5–3 s, act three 0.4–1 s, final button 3–5 s. Pacing signature: premise 0–35%, escalation 35–80%, barrage plus button 80–100%.
|
|
289
|
+
- Sound: audio drives everything. Risers and hits land on cuts, and there is one full stop of silence before the last act. Without that silence the barrage has no scale.
|
|
290
|
+
- Blocking: never let the subject read smaller than about a quarter of frame height. Below that the figure vanishes on a phone, and a scale shot nobody can parse buys nothing.
|
|
291
|
+
- Amateur mistake: showing the third act. Close second: a montage with no silence in it.
|
|
292
|
+
- AI risk: a trailer exposes continuity drift far more than a scene does, because shots sit adjacent with no connective tissue between them. Mitigation: lock one hero look per character and reuse the same seed and reference across every trailer beat — see [continuity-bible.md](continuity-bible.md).
|
|
293
|
+
- Seed: `Same lensing and grade as the feature. 40mm, static, subject at one-quarter frame height — the widest this trailer goes — centered, walking away from camera down an empty street at dusk. Hold the frame with no cut and no music. End with the figure still walking.`
|
|
294
|
+
|
|
295
|
+
### Social vertical short-form
|
|
296
|
+
|
|
297
|
+
- Engine: a question posed in the first second, answered before the thumb moves.
|
|
298
|
+
- Contract: this pays off fast and stays legible at arm's length on a phone.
|
|
299
|
+
- Contract under a lens: split the contract before you negotiate it. Structural and always surviving — a hook inside the first second, a visible change by 3 s, and a reason to keep watching at the loop point. Craft-dependent and therefore negotiable when a lens forbids them — sound-off legibility, the burned-in text hook, high saturation, front-biased light. Captions are a delivery-layer decision made at Step 12, not a craft dial: a lens's `no text in frame` rule governs the generated image, and captions may still be added in the edit over the top of it. Where the lens's register makes captions tonally wrong, the lens arbitrates and the structural items must then be paid in picture — the hook becomes an image rather than a line of type, and the change at 3 s becomes something the viewer sees rather than reads. Log each dropped item in the director's book; a contract you silently abandon is the one nobody notices missing until the completion rate comes back.
|
|
300
|
+
- Platform grammar on Chinese platforms: the driving metric is 完播率, completion rate — which is *why* the claim lands inside the first 1.5 s instead of at the commercial's second 5. A viewer who leaves at 2 s costs more than one who never opened it. Named formats, one gloss each: 试色 swatch on the product's own surface · 手臂试色 swatch on the forearm · 上脸对比 before/after on the face · 质地特写 texture macro · 开箱 unboxing · 痛点开场 open on the problem, not the product. 种草 (first person, one benefit, no brand voice) and 硬广 (brand register) are different audience contracts — pick one per cut and never mix them, because the register break is what reads as an ad.
|
|
301
|
+
- Camera: 9:16 with the face in the upper-middle third. Treat roughly the top 12% and bottom 20% as unsafe — platform chrome sits there — and confirm against the current safe-area guide for the platform you are delivering to, since those bands move. Lens bias 24–35mm equivalent, close. Wide-and-near, never far-and-long.
|
|
302
|
+
- Move: snap or whip transitions, or nothing. Slow moves die on this surface.
|
|
303
|
+
- Light: bright and front-biased at 2:1. Assume a small screen viewed outdoors.
|
|
304
|
+
- Palette: high saturation, high contrast, aggressive figure/ground separation.
|
|
305
|
+
- ASL: 0.7–2 s, of which **0.7 s is the format's floor** and the rest is this genre's target when no lens is loaded. Under a lens, keep the floor and take the lens's ASL target — a 4 s average is in spec, a 0.4 s cut is not. Pacing signature: hook at 0–1 s, change at 3 s, change again at 7 s, payoff before 15 s.
|
|
306
|
+
- Sound: legible with sound off, rewarding with sound on. Captions burned in; the first frame carries a text hook.
|
|
307
|
+
- Blocking: subject moves toward camera, and all meaningful action stays in the center-safe column.
|
|
308
|
+
- Amateur mistake: shooting 16:9 and cropping. The composition has to be born vertical or it will look borrowed.
|
|
309
|
+
- AI risk: vertical framing is under-represented relative to horizontal, so composition drifts back toward a center-cropped wide. Mitigation: generate natively at 9:16 where the tool exposes an aspect control (see [ai-video-tool-adapters.md](ai-video-tool-adapters.md)), state "vertical composition, head near the top third" in the prompt, and keep clips at 4 s or under so one bad drift costs one beat.
|
|
310
|
+
- Seed: `Native 9:16, 24mm equivalent, close. Subject's face in the upper-middle third with 12 percent top and 20 percent bottom margins kept clear. A woman looks into lens, says nothing, then lifts an object into frame and turns it once. Bright front-biased light. Three seconds.`
|
|
311
|
+
|
|
312
|
+
### Animation-styled
|
|
313
|
+
|
|
314
|
+
- Engine: whatever the story is; the medium is the multiplier. It licenses caricature of physics, scale, and time. If the scene would play identically in live action, you are paying for animation without using it — find the beat that only a drawn frame can hold.
|
|
315
|
+
- Contract: the rules are drawn, and they will stay consistent for the whole runtime.
|
|
316
|
+
- Camera: there is no camera, only a chosen frame. Pushes and pans are graphic moves, so make them deliberate and linear. Lens bias: emulate focal length through perspective construction — draw the vanishing points and the convergence a 35–50mm view would give, or the exaggerated convergence of a 24mm one — never through depth of field.
|
|
317
|
+
- Move: 2D-safe moves only unless the style genuinely supports parallax — pan, tilt, push, whip. Avoid orbits and arcs.
|
|
318
|
+
- Light: painted. Flat fills plus a hand-placed rim and one deliberate shadow shape. Ratios here are design choices, not measurements.
|
|
319
|
+
- Palette: strict, limited, and script-mapped — a fixed palette per sequence, changed only at emotional turns.
|
|
320
|
+
- ASL: 2–6 s, holding on key poses. Pacing signature: anticipation, action, settle. Every action gets its anticipation frames or it reads as a glitch.
|
|
321
|
+
- Sound: everything is foley; nothing is captured. Silence is total unless you design something into it.
|
|
322
|
+
- Blocking: silhouette first. If the pose does not read as a black shape, it is not a pose yet.
|
|
323
|
+
- Amateur mistake: applying live-action coverage logic — realistic shot/reverse with shallow depth of field — to a graphic medium that has no lens.
|
|
324
|
+
- AI risk: style drift between clips (line weight, shading model, proportion) and 3D-ish motion creeping into a 2D look. Mitigation: name the medium concretely ("flat cel shading, uniform line weight, two-tone shadows, no gradients"), lock a style reference image, and prefer flat lateral moves over anything with implied depth.
|
|
325
|
+
- Seed: `Flat cel-shaded 2D, uniform line weight, two-tone shading, no gradients. Locked graphic frame, lateral pan right at constant speed. A character stands in silhouette against a limited five-color sunset palette, then raises one arm with clear anticipation before the move. No depth of field, no orbit. End on the held pose.`
|
|
326
|
+
|
|
327
|
+
## Cross-genre comparison
|
|
328
|
+
|
|
329
|
+
One row per genre. Read the columns down to see the landscape; read across to load a genre.
|
|
330
|
+
|
|
331
|
+
| Genre | ASL | Dominant camera | Key ratio | Palette | Sound lead |
|
|
332
|
+
|---|---|---|---|---|---|
|
|
333
|
+
| Horror | 3–8 s / 0.5–1.5 s burst | Locked wide with empty dead space | 8:1–16:1 | Desat blue-green + one blood accent | Low bed and silence |
|
|
334
|
+
| Psychological thriller | 5–12 s | Static eye level, imperceptible drift | 3:1 | Near-monochrome + one object color | Dry close dialogue, thin ambience |
|
|
335
|
+
| Crime / noir | 4–9 s / 2–4 s procedure | Observer position through doorways | 8:1 | Sodium amber vs blue-green night | City bed, sparse instruments |
|
|
336
|
+
| Drama | 6–15 s | Shoulder height, reframe only | 2:1–3:1 | Real-world low saturation | Full specific ambience, no score |
|
|
337
|
+
| Romance | 5–10 s | Matched near-axis shot/reverse | 2:1 | Warm skin, desat surround | Room tone and breath |
|
|
338
|
+
| Comedy | 2–5 s | Locked wide two-shot | 2:1 | Saturated high key | Clean, no score on the punchline |
|
|
339
|
+
| Action | 0.8–2.5 s | Track at subject speed | 4:1 | Two-team coding, desat ground | Impacts on the cut |
|
|
340
|
+
| Science fiction | 5–12 s | Symmetrical wide, motorized move | 6:1 | One cold system + one warm human | Machine pitch identity |
|
|
341
|
+
| Fantasy | 4–10 s | Human eye level, one earned boom | 4:1 sun or fire, 2:1–3:1 interior | Earth base + single magic hue | Organic materials |
|
|
342
|
+
| Period / historical | 7–16 s | Staged static and dolly | 3:1–4:1 window, 8:1+ candle | 5–7 period colorants | Material weight, no modern floor |
|
|
343
|
+
| War | 1.5–4 s / 8–20 s waiting | Reactive handheld, obstructed | 6:1 no fill | Mud and ash, fire only | Dynamic range, 20–30 dB swings |
|
|
344
|
+
| Documentary / verite | 4–12 s | Operator-found handheld | Available, 2:1–10:1 uncorrected | Uncorrected mixed temperature | Production sound with room |
|
|
345
|
+
| Music video | 0.5–8 s by section | One repeated idea, on-beat | Design choice, often 8:1+ hard | 2–3 saturated hues per section | The track's tempo map |
|
|
346
|
+
| Commercial / product | 0.8–2 s | Static; the light moves, slider if any | 3:1 skin, shaped specular | Brand palette on a value | Texture design + logo hit |
|
|
347
|
+
| Fashion | 1–3 s vs 8–15 s holds | Locked full figure, slow lateral | 6:1 hard, or large soft on black | Garment-led, neutral surround | Rhythmic, fabric pushed up |
|
|
348
|
+
| Corporate / explainer | 3–6 s, 8–20 s interview | Static, 5–10% push | 3:1 | Brand + neutral, natural skin | Voice-over spine |
|
|
349
|
+
| Trailer | 3–6 s → 0.4–1 s | The feature's, one size tighter | Feature's, +contrast | Feature's, +separation | Hits, risers, one silence |
|
|
350
|
+
| Social vertical | 0.7–2 s | Close 9:16, snap transitions | 2:1 front-biased | High saturation, high contrast | Captions first, audio second |
|
|
351
|
+
| Animation-styled | 2–6 s | Graphic frame, linear moves | Painted, not measured | Fixed per-sequence palette | Total foley |
|
|
352
|
+
|
|
353
|
+
## Tone dial: change three dials, change the genre
|
|
354
|
+
|
|
355
|
+
Genre is not a subject; it is a configuration. The fastest way to re-register a scene is to move exactly three of the seven craft dials — camera, movement, lighting, palette, pacing, sound, blocking — and hold the other four. Moving one is a nudge; moving three is a genre change; moving five or more is a different film that no longer matches your script.
|
|
356
|
+
|
|
357
|
+
All four shifts below run on the same control scene the director style modules use, so you can diff a genre shift against a director-lens shift: *a person stands at a closed apartment door holding something they intend to give away, hesitates, and leaves without knocking.* Engine and contract are held in all four — that is the lesson. Register is carried by craft, not by content, and the same event supports four genres without one word of the action changing.
|
|
358
|
+
|
|
359
|
+
### Shift 1 — drama to horror
|
|
360
|
+
|
|
361
|
+
- Drama baseline. Camera: 50mm MS at 2 m, shoulder height. Movement: none. Lighting: soft corridor window key, 2:1. Palette: real-world, low saturation. Pacing: one 8 s shot. Sound: corridor ambience. Blocking: she stands square to the door, 60 cm from it.
|
|
362
|
+
- Moved 1, camera: the 50mm MS becomes a 28mm wide from the same position, which brings the unlit stretch of corridor behind her into the right third and keeps it empty.
|
|
363
|
+
- Moved 2, lighting: the soft 2:1 window becomes a single stairwell practical at 12:1, her face two stops above the wall behind her.
|
|
364
|
+
- Moved 3, sound: corridor ambience becomes a 40 Hz bed (doubled at 80 Hz for phone playback) that cuts out the instant she turns to leave.
|
|
365
|
+
- Held: movement (still none), palette, pacing (still one 8 s shot), blocking. Camera height and her performance do not change either.
|
|
366
|
+
|
|
367
|
+
### Shift 2 — comedy to tragedy
|
|
368
|
+
|
|
369
|
+
- Comedy baseline. Camera: 32mm locked wide holding her, her door, and a neighbor's door that opens once. Movement: none. Lighting: flat 2:1, high base level. Palette: saturated, clean. Pacing: one unbroken 14 s take. Sound: one banal off-frame domestic noise. Blocking: both doors in frame, she is not centered.
|
|
370
|
+
- Moved 1, movement: the locked frame becomes a push on the same 32mm, from 4 m to 2.8 m across the hesitation, so the neighbor's door leaves frame and she is alone in it by the end. Stop short of 2 m — at 32mm that close, wide-angle distortion arrives and starts making its own joke.
|
|
371
|
+
- Moved 2, pacing: the single 14 s take becomes four shots averaging 3.5 s, plus a 3 s hold on the closed door after she has gone — a shot with nobody in it, which comedy never allows.
|
|
372
|
+
- Moved 3, sound: the banal noise is removed and one sustained low string enters on her turn.
|
|
373
|
+
- Held: camera (same 32mm, same start frame), lighting, palette, blocking. The object in her hands and her performance register are unchanged; the push and the aftermath hold do all the work.
|
|
374
|
+
|
|
375
|
+
### Shift 3 — commercial to verite
|
|
376
|
+
|
|
377
|
+
- Commercial baseline. Camera: 100mm on the object in her hands. Movement: constant-velocity slider. Lighting: large soft source camera-right plus hard edge kicker, 3:1. Palette: two brand colors on a neutral value. Pacing: 1.2 s cuts with a macro insert. Sound: designed texture — the object's click, a music bed. Blocking: hands hero, face secondary.
|
|
378
|
+
- Moved 1, lighting: studio soft-plus-kicker becomes available light only, mixed corridor tungsten and stairwell daylight left uncorrected.
|
|
379
|
+
- Moved 2, movement: the motion-control slider becomes handheld at the same long focal, visibly hunting for the object and correcting focus late — long lenses magnify handheld motion, and here that is the signature rather than a fault.
|
|
380
|
+
- Moved 3, pacing: 1.2 s cutting plus insert becomes one 12 s hold with no insert at all.
|
|
381
|
+
- Held: camera (still long on the object), palette, sound, blocking. Keeping the designed sound is deliberate: it is what stops this becoming documentary. This is a commercial shot verite-style, which is a different and more useful thing than a fake documentary.
|
|
382
|
+
|
|
383
|
+
### Shift 4 — thriller to romance
|
|
384
|
+
|
|
385
|
+
- Thriller baseline. Camera: 40mm at 2.5 m, she reads small in frame, off-center, eyeline away from lens. Movement: 5% drift. Lighting: hard practical half-lighting her face at 6:1. Palette: near-monochrome. Pacing: one 10 s shot. Sound: thin ambience. Blocking: she stands 1.5 m back from the door with her back to open corridor.
|
|
386
|
+
- Moved 1, camera: 40mm at 2.5 m becomes 85mm at 1.5 m at T2.0, centered, and the camera moves down the corridor in the direction she will leave, so her turn brings the eyeline within 10° of lens for the last two seconds. The corridor behind her becomes light rather than information.
|
|
387
|
+
- Moved 2, lighting: hard 6:1 half-light becomes a soft 2:1 wrap plus a hair backlight from the stairwell window.
|
|
388
|
+
- Moved 3, blocking: 1.5 m back with open space behind her becomes 40 cm from the door, hand resting on the frame, her back to a closed wall. The door is standing in for the person behind it, so measure the distance to it in centimeters and write the number down; the proxemics are the change, not the mood.
|
|
389
|
+
- Held: movement (same 5% drift, which now reads as tenderness instead of surveillance), palette, pacing, sound. Nothing about the object or the decision to leave changes.
|
|
390
|
+
|
|
391
|
+
Working method: write the three moved dials into the director's book as `dial: from → to` lines before you generate anything. If a clip comes back in the wrong register, one of those three is at fault, and you can re-prompt it without rewriting the scene. If you find yourself wanting a fourth, stop and check whether you have actually chosen a different genre — the precedence rules at the top of this file apply to you too.
|
|
392
|
+
|
|
393
|
+
## Hybrid and subverted genre
|
|
394
|
+
|
|
395
|
+
A hybrid is not an average. Averaging two playbooks produces a scene with no contract, which audiences experience as incompetence rather than as originality. Two rules:
|
|
396
|
+
|
|
397
|
+
- **Split by domain, not by shot.** Assign each of the seven craft dials to one parent genre and write the assignment down. Pacing ownership is never shared — a scene can only have one rhythm. Worked example, crime-horror: crime takes camera (observer position through a doorway), movement (motivated dolly, hard stop), palette (sodium amber against blue-green), and blocking (door control, who is between whom and the exit); horror takes lighting (12:1 off one practical, inside its 8:1–16:1 band), pacing (3–8 s build collapsing to under 1.5 s), and sound (bed plus cut-to-silence). Engine and contract stay crime's — somebody is still trying to get paid. Seven dials, two owners, no field arbitrated twice; that reads as a coherent third thing.
|
|
398
|
+
- **Subvert exactly one dial.** A subversion only registers as intentional against an otherwise correct baseline. Run the genre straight on six of the seven craft dials and break the last one hard.
|
|
399
|
+
|
|
400
|
+
Worked subversions that hold up:
|
|
401
|
+
|
|
402
|
+
- Horror lit like a commercial: keep every horror dial except lighting — large soft source, 2:1, bright and even. The dread now has nowhere to hide, which is worse. This is why bright horror works and why "bright plus flat plus handheld plus fast cutting" does not: bright and flat are one dial, but handheld and fast cutting add movement and pacing, and three dials moved is a genre change, not a subversion.
|
|
403
|
+
- Comedy at drama's pacing: keep comedy's locked wide, flat light, and two-shot blocking, and move only pacing — ASL from 2–5 s up into drama's 10–15 s. The joke stops being a joke somewhere in the hold; that is the effect you are buying.
|
|
404
|
+
- Action with documentary movement: keep action's geography discipline, screen direction, 4:1 separation, and choreographic beats; change only movement to operator-found handheld that arrives late. You have now spent your subversion — do not also strip the geography, because that is action's core contract, and losing the contract as well as the movement leaves the audience with nowhere to stand.
|
|
405
|
+
- Period with contemporary sound: keep period's lenses, staging, colorant-limited palette, and 7–16 s ASL; change only sound to a score the period could not produce. The picture stays honest, so the anachronism reads as commentary rather than as error.
|
|
406
|
+
|
|
407
|
+
Failure signature to watch for in review: if you cannot name which genre the scene is subverting, you did not subvert one dial, you abandoned the playbook — re-derive from the block, restore the other six dials, and try again. For how genre defaults interact with per-shot retry budgets and version tracking, see [production-workflow.md](production-workflow.md); for diagnosing a clip that came back in the wrong register, see [failure-modes.md](failure-modes.md).
|