@lemoncat7/dsh-partner 2.5.0 → 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 +4 -0
- package/docs/THIRD_PARTY_LICENSES.md +13 -0
- package/docs/attachment-storage.md +18 -0
- package/docs/director-skills.md +24 -0
- package/docs/long-task-continuation.md +1 -1
- package/docs/releases/2.6.0.md +11 -0
- package/docs/releases/2.7.0.md +21 -0
- package/lib/agent-runtime.d.ts +3 -1
- package/lib/agent-runtime.d.ts.map +1 -1
- package/lib/agent-runtime.js +35 -11
- package/lib/agent-runtime.js.map +1 -1
- package/lib/api/features/attachments-api.d.ts.map +1 -1
- package/lib/api/features/attachments-api.js +31 -1
- package/lib/api/features/attachments-api.js.map +1 -1
- package/lib/api.d.ts +1 -1
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js +1 -1
- package/lib/api.js.map +1 -1
- package/lib/attachments/grouped-storage.d.ts +5 -0
- package/lib/attachments/grouped-storage.d.ts.map +1 -0
- package/lib/attachments/grouped-storage.js +47 -0
- package/lib/attachments/grouped-storage.js.map +1 -0
- package/lib/attachments/service.d.ts +17 -0
- package/lib/attachments/service.d.ts.map +1 -1
- package/lib/attachments/service.js +100 -8
- package/lib/attachments/service.js.map +1 -1
- package/lib/attachments/shared-storage.d.ts +7 -0
- package/lib/attachments/shared-storage.d.ts.map +1 -0
- package/lib/attachments/shared-storage.js +44 -0
- package/lib/attachments/shared-storage.js.map +1 -0
- package/lib/attachments/storage-admin.d.ts +6 -0
- package/lib/attachments/storage-admin.d.ts.map +1 -0
- package/lib/attachments/storage-admin.js +43 -0
- package/lib/attachments/storage-admin.js.map +1 -0
- package/lib/attachments/storage-types.d.ts +33 -0
- package/lib/attachments/storage-types.d.ts.map +1 -0
- package/lib/attachments/storage-types.js +2 -0
- package/lib/attachments/storage-types.js.map +1 -0
- package/lib/attachments/tool.d.ts.map +1 -1
- package/lib/attachments/tool.js +16 -5
- package/lib/attachments/tool.js.map +1 -1
- package/lib/channels/delivery-policy.d.ts.map +1 -1
- package/lib/channels/delivery-policy.js +6 -4
- package/lib/channels/delivery-policy.js.map +1 -1
- package/lib/channels/direct/message-format.js +418 -281
- package/lib/channels/direct/message-format.js.map +4 -4
- package/lib/channels/manager.d.ts +6 -3
- package/lib/channels/manager.d.ts.map +1 -1
- package/lib/channels/manager.js +64 -44
- package/lib/channels/manager.js.map +1 -1
- package/lib/channels/weixin/api.d.ts.map +1 -1
- package/lib/channels/weixin/api.js +7 -2
- package/lib/channels/weixin/api.js.map +1 -1
- package/lib/channels/weixin/errors.d.ts +14 -0
- package/lib/channels/weixin/errors.d.ts.map +1 -0
- package/lib/channels/weixin/errors.js +29 -0
- package/lib/channels/weixin/errors.js.map +1 -0
- package/lib/channels/weixin/poll.d.ts +14 -0
- package/lib/channels/weixin/poll.d.ts.map +1 -0
- package/lib/channels/weixin/poll.js +50 -0
- package/lib/channels/weixin/poll.js.map +1 -0
- package/lib/client-controller.d.ts.map +1 -1
- package/lib/client-controller.js +3 -3
- package/lib/client-controller.js.map +1 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +996 -645
- package/lib/client.js.map +4 -4
- package/lib/collaboration/composition.d.ts.map +1 -1
- package/lib/collaboration/composition.js +16 -6
- package/lib/collaboration/composition.js.map +1 -1
- package/lib/collaboration/domain.d.ts +6 -0
- package/lib/collaboration/domain.d.ts.map +1 -1
- package/lib/collaboration/domain.js.map +1 -1
- package/lib/collaboration/service.d.ts.map +1 -1
- package/lib/collaboration/service.js +33 -3
- package/lib/collaboration/service.js.map +1 -1
- package/lib/concern-notification.d.ts.map +1 -1
- package/lib/concern-notification.js +2 -1
- package/lib/concern-notification.js.map +1 -1
- package/lib/concern-tool.js +1 -1
- package/lib/concern-tool.js.map +1 -1
- package/lib/execution/reply-progress.d.ts.map +1 -1
- package/lib/execution/reply-progress.js +4 -2
- package/lib/execution/reply-progress.js.map +1 -1
- package/lib/execution/service.d.ts +1 -1
- package/lib/execution/service.d.ts.map +1 -1
- package/lib/execution/service.js +4 -7
- package/lib/execution/service.js.map +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -1
- package/lib/index.js.map +1 -1
- package/lib/memory-reflection.js +2 -2
- package/lib/memory-reflection.js.map +1 -1
- package/lib/message-source.d.ts +25 -0
- package/lib/message-source.d.ts.map +1 -0
- package/lib/message-source.js +8 -0
- package/lib/message-source.js.map +1 -0
- package/lib/observation-loop.js +4 -4
- package/lib/observation-loop.js.map +1 -1
- package/lib/pendant/reader.js +1 -1
- package/lib/pendant/reader.js.map +1 -1
- package/lib/pendant/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 +2 -2
- package/lib/scheduler/continuations.d.ts.map +1 -1
- package/lib/scheduler/continuations.js +28 -8
- package/lib/scheduler/continuations.js.map +1 -1
- package/lib/scheduler/domain.d.ts +13 -0
- package/lib/scheduler/domain.d.ts.map +1 -1
- package/lib/scheduler/final-reply.d.ts +13 -0
- package/lib/scheduler/final-reply.d.ts.map +1 -0
- package/lib/scheduler/final-reply.js +21 -0
- package/lib/scheduler/final-reply.js.map +1 -0
- package/lib/skills/builtin-resources.d.ts +6 -0
- package/lib/skills/builtin-resources.d.ts.map +1 -0
- package/lib/skills/builtin-resources.js +47 -0
- package/lib/skills/builtin-resources.js.map +1 -0
- package/lib/skills/builtin.d.ts +2 -5
- package/lib/skills/builtin.d.ts.map +1 -1
- package/lib/skills/builtin.js +6 -0
- package/lib/skills/builtin.js.map +1 -1
- package/lib/skills/director-builtins.d.ts +8 -0
- package/lib/skills/director-builtins.d.ts.map +1 -0
- package/lib/skills/director-builtins.js +65 -0
- package/lib/skills/director-builtins.js.map +1 -0
- package/lib/skills/drama-builtin.d.ts +3 -0
- package/lib/skills/drama-builtin.d.ts.map +1 -0
- package/lib/skills/drama-builtin.js +49 -0
- package/lib/skills/drama-builtin.js.map +1 -0
- package/lib/skills/long-task-continuation.d.ts +2 -2
- package/lib/skills/long-task-continuation.d.ts.map +1 -1
- package/lib/skills/long-task-continuation.js +2 -2
- package/lib/skills/service.d.ts.map +1 -1
- package/lib/skills/service.js +8 -3
- package/lib/skills/service.js.map +1 -1
- package/lib/skills/viora-canvas-builtin.d.ts +3 -0
- package/lib/skills/viora-canvas-builtin.d.ts.map +1 -0
- package/lib/skills/viora-canvas-builtin.js +19 -0
- package/lib/skills/viora-canvas-builtin.js.map +1 -0
- package/lib/storage/migrate-layout.d.ts.map +1 -1
- package/lib/storage/migrate-layout.js +13 -4
- package/lib/storage/migrate-layout.js.map +1 -1
- package/lib/tasks/context.js +1 -0
- package/lib/tasks/context.js.map +1 -1
- package/lib/tasks/continuation.d.ts.map +1 -1
- package/lib/tasks/continuation.js +3 -0
- package/lib/tasks/continuation.js.map +1 -1
- package/lib/tasks/domain.d.ts +2 -0
- package/lib/tasks/domain.d.ts.map +1 -1
- package/lib/tasks/service.d.ts +2 -1
- package/lib/tasks/service.d.ts.map +1 -1
- package/lib/tasks/service.js +15 -1
- package/lib/tasks/service.js.map +1 -1
- package/lib/ui/attachment-storage.d.ts +2 -0
- package/lib/ui/attachment-storage.d.ts.map +1 -0
- package/lib/ui/attachment-storage.js +59 -0
- package/lib/ui/attachment-storage.js.map +1 -0
- package/lib/ui/capability-editor.js +1 -1
- package/lib/ui/capability-editor.js.map +1 -1
- package/lib/ui/companion-access-panel.js +1 -1
- package/lib/ui/companion-access-panel.js.map +1 -1
- package/lib/ui/companion-create.js +1 -1
- package/lib/ui/companion-create.js.map +1 -1
- package/lib/ui/companion-picker.js +1 -1
- package/lib/ui/companion-picker.js.map +1 -1
- package/lib/ui/identity-editor.js +1 -1
- package/lib/ui/identity-editor.js.map +1 -1
- package/lib/ui/mcp-capabilities.js +1 -1
- package/lib/ui/mcp-capabilities.js.map +1 -1
- package/lib/ui/mcp-panel.js +1 -1
- package/lib/ui/mcp-panel.js.map +1 -1
- package/lib/ui/memory/concern-board.js +2 -2
- package/lib/ui/memory/concern-board.js.map +1 -1
- package/lib/ui/memory/concern-deletion.d.ts +1 -1
- package/lib/ui/memory/concern-deletion.d.ts.map +1 -1
- package/lib/ui/memory/concern-deletion.js +9 -4
- package/lib/ui/memory/concern-deletion.js.map +1 -1
- package/lib/ui/memory/concern-panel.js +1 -1
- package/lib/ui/memory/concern-panel.js.map +1 -1
- package/lib/ui/memory/memory-library.js +1 -1
- package/lib/ui/memory/memory-library.js.map +1 -1
- package/lib/ui/memory/memory-panel.js +1 -1
- package/lib/ui/memory/memory-panel.js.map +1 -1
- package/lib/ui/partner-components.js +1 -1
- package/lib/ui/partner-components.js.map +1 -1
- package/lib/ui/requirement-board.js +1 -1
- package/lib/ui/requirement-board.js.map +1 -1
- package/lib/ui/requirement-dialog.js +1 -1
- package/lib/ui/requirement-dialog.js.map +1 -1
- package/lib/ui/requirement-tasks-panel.js +1 -1
- package/lib/ui/requirement-tasks-panel.js.map +1 -1
- package/lib/ui/schedule-panel.js +1 -1
- package/lib/ui/schedule-panel.js.map +1 -1
- package/lib/ui/skills-panel.js +1 -1
- package/lib/ui/skills-panel.js.map +1 -1
- package/lib/ui/storage-settings.d.ts.map +1 -1
- package/lib/ui/storage-settings.js +2 -1
- package/lib/ui/storage-settings.js.map +1 -1
- package/lib/ui/task-board-stage.js +1 -1
- package/lib/ui/task-board-stage.js.map +1 -1
- package/lib/ui/workspace-components.js +1 -1
- package/lib/ui/workspace-components.js.map +1 -1
- package/lib/ui/workspace-navigation.d.ts +16 -16
- package/lib/ui/workspace-navigation.js +1 -1
- package/lib/ui/workspace-navigation.js.map +1 -1
- package/package.json +53 -41
- package/resources/skills/cinematic-director/manifest.json +205 -0
- package/resources/skills/cinematic-director/upstream/CHANGELOG.md +213 -0
- package/resources/skills/cinematic-director/upstream/CONTRIBUTING.md +316 -0
- package/resources/skills/cinematic-director/upstream/LICENSE +21 -0
- package/resources/skills/cinematic-director/upstream/README.md +507 -0
- package/resources/skills/cinematic-director/upstream/SKILL.md +420 -0
- package/resources/skills/cinematic-director/upstream/assets/beat-sheet-template.md +97 -0
- package/resources/skills/cinematic-director/upstream/assets/director-book-template.md +254 -0
- package/resources/skills/cinematic-director/upstream/assets/edit-timeline-template.md +147 -0
- package/resources/skills/cinematic-director/upstream/assets/keyframe-prompt-template.md +334 -0
- package/resources/skills/cinematic-director/upstream/assets/qc-checklist.md +153 -0
- package/resources/skills/cinematic-director/upstream/assets/shot-plan-template.md +95 -0
- package/resources/skills/cinematic-director/upstream/assets/sound-plan-template.md +181 -0
- package/resources/skills/cinematic-director/upstream/assets/video-prompt-template.md +305 -0
- package/resources/skills/cinematic-director/upstream/evals/run.md +69 -0
- package/resources/skills/cinematic-director/upstream/references/ai-video-tool-adapters.md +527 -0
- package/resources/skills/cinematic-director/upstream/references/blocking-and-staging.md +424 -0
- package/resources/skills/cinematic-director/upstream/references/cinematic-language.md +595 -0
- package/resources/skills/cinematic-director/upstream/references/continuity-bible.md +410 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/01_spielberg.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/02_hitchcock.md +193 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/03_kubrick.md +196 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/04_kurosawa.md +196 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/05_scorsese.md +195 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/06_fellini.md +197 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/07_bergman.md +197 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/08_tarkovsky.md +184 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/09_wong_kar_wai.md +189 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/10_nolan.md +185 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/11_villeneuve.md +188 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/12_fincher.md +185 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/13_refn.md +186 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/14_bi_gan.md +188 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/15_zhang_yimou.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/16_hou_hsiao_hsien.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/17_park_chan_wook.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/18_malick.md +191 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/19_michael_mann.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/20_coen_brothers.md +194 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/README.md +89 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/example_comparisons.md +140 -0
- package/resources/skills/cinematic-director/upstream/references/editing-and-assembly.md +263 -0
- package/resources/skills/cinematic-director/upstream/references/failure-modes.md +594 -0
- package/resources/skills/cinematic-director/upstream/references/genre-playbooks.md +407 -0
- package/resources/skills/cinematic-director/upstream/references/image-model-adapters.md +290 -0
- package/resources/skills/cinematic-director/upstream/references/lighting-and-color.md +349 -0
- package/resources/skills/cinematic-director/upstream/references/product-and-macro.md +207 -0
- package/resources/skills/cinematic-director/upstream/references/production-workflow.md +238 -0
- package/resources/skills/cinematic-director/upstream/references/prompt-lexicon.md +602 -0
- package/resources/skills/cinematic-director/upstream/references/sound-and-dialogue.md +364 -0
- package/resources/skills/director-skills/manifest.json +541 -0
- package/resources/skills/director-skills/upstream/CHANGELOG.md +32 -0
- package/resources/skills/director-skills/upstream/LICENSE +21 -0
- package/resources/skills/director-skills/upstream/MANIFEST.md +366 -0
- package/resources/skills/director-skills/upstream/README.md +251 -0
- package/resources/skills/director-skills/upstream/RESEARCH_PROVENANCE.md +37 -0
- package/resources/skills/director-skills/upstream/SKILL.md +114 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/SKILL.md +81 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/checklists/continuity_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/examples/character_continuity_update.md +9 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/examples/location_continuity_update.md +9 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/continuity_system.md +21 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/golden_image_workflow.md +29 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/identity_anchors.md +14 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/visual_bible_system.md +15 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/character_profile.md +15 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/continuity_checklist.md +11 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/costume_profile.md +12 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/location_profile.md +14 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/prop_profile.md +13 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/visual_style_bible.md +15 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/tests/continuity_tests.md +6 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/SKILL.md +80 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/checklists/image_prompt_quality_checklist.md +10 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/examples/shot_list_to_image_prompts.md +4 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/image_prompt_components.md +22 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/lighting_and_photorealism.md +19 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/negative_prompt_patterns.md +18 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/prompt_anatomy.md +18 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/character_reference_sheet_prompt.md +5 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/cinematic_still_prompt.md +3 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/keyframe_prompt.md +6 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/location_reference_prompt.md +3 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/prop_prompt.md +3 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/tests/image_prompt_completeness_tests.md +5 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/SKILL.md +84 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/checklists/video_prompt_quality_checklist.md +9 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/examples/image_prompt_to_video_prompt.md +3 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/ai_film_production_pipeline.md +21 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/audio_motion_timing.md +16 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/camera_lens_movement.md +26 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/negative_prompt_patterns.md +18 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/prompt_anatomy.md +18 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/video_prompt_components.md +25 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/image_to_video_prompt.md +5 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/text_to_video_prompt.md +5 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/video_beat_prompt.md +9 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/tests/video_prompt_completeness_tests.md +5 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/SKILL.md +82 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/checklists/model_export_checklist.md +9 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/failed_model_transfer_diagnosis.md +5 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/image_prompt_translation.md +10 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/same_scene_across_models.md +9 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/universal_prompt_to_model_specific_exports.md +14 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/video_prompt_translation.md +9 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/failure_modes_by_model.md +13 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/image_model_profiles.md +226 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/model_capability_matrix.md +24 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/model_update_protocol.md +10 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/parameter_compatibility.md +20 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/prompt_translation_rules.md +18 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/video_model_profiles.md +251 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/model_comparison_table.md +4 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/model_specific_prompt_export.md +21 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/multi_model_export_package.md +18 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/prompt_translation_report.md +13 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/universal_prompt_brief.md +25 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/model_routing_tests.md +8 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/prompt_translation_tests.md +7 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/research_provenance_tests.md +6 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/unknown_capability_tests.md +7 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/SKILL.md +82 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/checklists/diagnostic_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/checklists/release_quality_checklist.md +9 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/examples/failed_output_to_revised_prompt.md +10 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/examples/final_prompt_package_export.md +10 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/failure_modes.md +13 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/iteration_diagnostics.md +17 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/revision_loops.md +17 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/story_voice_release_qc.md +30 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/failed_output_intake.md +13 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/final_production_package.md +11 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/prompt_revision_report.md +17 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/tests/prompt_quality_checklist_tests.md +6 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/SKILL.md +81 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/checklists/scene_quality_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/examples/scene_to_screenplay_excerpt.md +18 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/dialogue_and_subtext.md +15 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/fountain_workflow.md +29 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/scene_construction.md +20 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/screenplay_format.md +18 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/beat_sheet.md +6 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/dialogue_pass.md +9 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/fountain_scene.md +25 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/screenplay_scene.md +19 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/tests/screenplay_scene_tests.md +6 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/SKILL.md +83 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/checklists/concept_quality_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/examples/idea_to_logline.md +13 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/examples/logline_to_outline.md +10 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/references/ai_storytelling_workflow.md +46 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/references/continuity_handoff.md +8 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/references/screenplay_structure.md +19 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/references/story_development_workflow.md +23 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/beat_sheet.md +7 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/idea_intake.md +16 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/logline.md +10 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/short_film_treatment.md +23 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/short_story_plan.md +22 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/story_premise.md +19 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/story_revision_audit.md +22 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/tests/output_format_tests.md +3 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/tests/routing_tests.md +7 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/SKILL.md +77 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/checklists/shotlist_quality_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/examples/screenplay_scene_to_shot_list.md +8 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/camera_plan.md +11 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/production_breakdown.md +11 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/shotlist_schema.md +21 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/asset_list.md +7 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/camera_plan.md +10 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/scene_breakdown.md +16 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/shot_list.md +5 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/tests/screenplay_to_shotlist_tests.md +5 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/SKILL.md +77 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/checklists/style_quality_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/examples/genre_to_visual_direction.md +15 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/camera_lens_movement.md +26 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/cinematic_language.md +32 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/genre_style_tone.md +17 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/lighting_and_photorealism.md +19 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/templates/visual_style_bible.md +33 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/tests/style_translation_tests.md +5 -0
- package/resources/skills/director-skills/upstream/tests/master_router_tests.md +80 -0
- package/resources/skills/drama-production/manifest.json +933 -0
- package/resources/skills/drama-production/upstream/LICENSE +21 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/SKILL.md +153 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/creator-decision.example.jsonl +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/app.js +1263 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/index.html +114 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/styles.css +297 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/production-observation.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/project-template/short-drama.json +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/reference-observation.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/audience-reveal.md +21 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/contract-and-ownership.md +45 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/creator-documents.md +230 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/creator-workflow.md +98 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards/Q/347/211/210/350/241/250/350/276/276.md +73 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//344/272/214/347/273/264/345/212/250/346/200/201/346/274/253.md +74 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//345/233/275/346/274/253/344/272/214/346/254/241/345/205/203.md +79 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//345/256/236/346/213/215.md +75 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//346/260/264/345/242/250/347/254/224/350/247/246.md +85 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//351/243/216/346/240/274/345/214/226/344/270/211/347/273/264.md +72 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/knowhow-index.md +85 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/look-development.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/pickup-and-alternate.md +24 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/production-form-profiles.md +126 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/reference-roles.md +53 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/runtime-preflight.md +24 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/scripts/creator_markdown_check.py +1413 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/scripts/dashboard_server.py +1798 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/scripts/project_tool.py +2454 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/scripts/selftest.py +287 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/SKILL.md +76 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/character-look.example.jsonl +3 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/continuity.example.jsonl +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/decisions.example.jsonl +5 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/location-view.example.jsonl +3 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/occurrences.example.jsonl +5 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/prop-state.example.jsonl +3 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/examples/minimal/characters.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/examples/minimal/looks.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/asset-review-checklist.md +82 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/character-and-look.md +190 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/continuity-delta.md +120 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/continuity-lock.md +122 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/identity-vs-variant.md +140 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/location-and-view.md +84 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/occurrence-extraction.md +108 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/prop-and-state.md +126 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/stage-contract.md +43 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/voice-direction.md +179 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/scripts/asset_check.py +267 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/scripts/selftest.py +89 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/SKILL.md +157 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/adaptation-map.example.jsonl +1 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/creative-brief.md +120 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/episode-map.jsonl +1 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/story-engine.md +181 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/adaptation-craft.md +219 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/creative-reference-intake.md +57 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/director-brief-craft.md +113 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/episode-design.md +509 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-and-hook-playbook.md +240 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//344/272/262/345/255/220/351/232/220/347/247/230.md +112 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//344/273/231/344/276/240/344/277/256/347/234/237.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/212/250/344/275/234/344/273/273/345/212/241.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/217/244/350/243/205/346/235/203/350/260/213.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/244/215/344/273/207/346/211/223/350/204/270.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/256/266/345/272/255/345/205/263/347/263/273.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//346/202/254/347/226/221/350/247/204/345/210/231.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//347/224/237/346/264/273/346/265/201.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//347/240/264/351/225/234/351/207/215/345/234/206.md +109 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//350/201/214/345/234/272/345/226/234/345/211/247.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//350/261/252/351/227/250/345/251/232/346/201/213.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//350/272/253/344/273/275/351/224/231/344/275/215.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards.md +92 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/mechanism-loop.md +282 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/multi-episode-intake.md +128 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/premise-devices.md +211 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/reveal-reversal-payoff.md +99 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/serial-character-and-memory.md +293 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/stage-contract.md +88 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/story-craft.md +359 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/scripts/episode_intake.py +699 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/scripts/selftest.py +47 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/SKILL.md +146 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/README.md +60 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/package.json +15 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/remotion.config.ts +6 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/Root.tsx +26 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/Subtitles.tsx +88 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/font.ts +46 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/index.ts +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/schema.ts +32 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/tsconfig.json +13 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets//345/211/252/350/276/221/345/215/225.md +43 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/cut-craft.md +38 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/delivery-verify.md +29 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/generated-footage.md +54 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/sound-and-subtitles.md +60 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/stage-contract.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/scripts/edit_tool.py +1156 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/scripts/selftest.py +520 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/SKILL.md +73 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/image-prompt-spec.jsonl.md +187 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/image-prompts.md +42 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/lookdev-frame-spec.jsonl.md +128 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/lookdev-prompts.md +34 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/examples/minimal-image-prompt-specs.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/character-and-look.md +153 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/common-recipe.md +241 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/edit-and-revision.md +110 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/location-plate.md +151 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/look-and-state-variant.md +97 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/lookdev-frame.md +34 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/production-sheet-recipes.md +177 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/prop-plate.md +137 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/review-and-fixtures.md +92 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/stage-contract.md +32 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/scripts/image_prompt_check.py +443 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/scripts/selftest.py +95 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/SKILL.md +245 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/assets/episode-candidate.example.jsonl +3 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/adaptation-triage.md +116 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/adaptation-value.md +124 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +155 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/chapter-extraction.md +144 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/stage-contract.md +67 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/scripts/novel_index.py +651 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/scripts/selftest.py +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/SKILL.md +183 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/adapter-contract.md +219 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/gpt-image-2.md +24 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-h3-video.md +86 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-music.md +25 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-speech.md +41 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/seedance.md +64 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/fixture_adapter.py +77 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/production_tool.py +2205 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/provider_adapters.py +1747 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/selftest.py +135 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/SKILL.md +118 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/finding-template.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/supersession-decision.example.json +42 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/verdict-template.json +32 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/examples/minimal-findings.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/examples/minimal-verdict.json +34 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/anti-template-repair.md +109 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/production-quality-gates.md +276 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/project-calibration.md +83 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/review-method.md +81 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-assets-prompts.md +111 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-source-analysis.md +108 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-story-script.md +264 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-visual-motion.md +184 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/stage-contract.md +28 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/scripts/review_check.py +325 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/scripts/selftest.py +87 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/SKILL.md +175 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/coverage-audition.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/coverage-template.json +49 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/keyframe-prompts.md +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/keyframe-template.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/revision-lineage.fragment.json +12 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/scene-visual-plan.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/shot-template.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/blocking-playbooks.md +216 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/comic-keyframe-lexicon.md +156 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/coverage-audition.md +34 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/keyframe-craft.md +174 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/lighting-craft.md +39 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/production-shot-grammar.md +279 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/review-and-fixtures.md +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/scene-visual-plan.md +30 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +155 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/shot-craft.md +266 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/shot-revision-identity.md +25 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/stage-contract.md +57 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/scripts/selftest.py +191 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/scripts/storyboard_check.py +824 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/SKILL.md +154 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/coverage-scope.fragment.json +21 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/delivery-container.jsonl.md +101 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/motion-spec.jsonl.md +217 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/motion-terminal.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/music-spec.jsonl.md +31 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/performance.fragment.json +38 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/video-prompts.md +67 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/examples/minimal-music-specs.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/camera-audio-continuity.md +259 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/delivery-profile.md +273 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/generability.md +93 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/minimax-h3.md +253 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/motion-recipe.md +315 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/performance-action-timing.md +209 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/production-prompt-grammar.md +304 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/review-and-fixtures.md +139 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/seedance-2.0.md +50 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/seedance-2.5.md +122 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/stage-contract.md +60 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/target-model-profile.md +116 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/container_check.py +329 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/motion_timing_check.py +450 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/music_spec_check.py +327 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/selftest.py +82 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/SKILL.md +99 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/beats.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/episode-card-standalone.json +120 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/episode-card.json +55 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/screenplay.md +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/voice-record-sheet.jsonl.md +89 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/dialogue-craft.md +526 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/production-format-dialect.md +273 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/scene-handoff-capsule.md +25 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/scene-sound-dramaturgy.md +43 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/screenplay-format.md +266 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/script-craft.md +745 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/stage-contract.md +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/substitutable-realization.md +107 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/duration_estimate.py +309 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/screenplay_index.py +1091 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/selftest.py +229 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/voice_sheet_check.py +416 -0
- package/resources/skills/viora-canvas-production/manifest.json +23 -0
- package/resources/skills/viora-canvas-production/references/canvas-contract.md +50 -0
- package/resources/skills/viora-canvas-production/references/creative-production.md +50 -0
- package/resources/skills/viora-canvas-production/references/generation-delivery.md +36 -0
- package/resources/skills/viora-canvas-production/references/production-ledger.md +25 -0
package/resources/skills/drama-production/upstream/skills/short-drama-develop/scripts/selftest.py
ADDED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
"""Offline self-test for multi-episode source intake."""
|
|
3
|
+
|
|
4
|
+
from __future__ import annotations
|
|
5
|
+
|
|
6
|
+
import tempfile
|
|
7
|
+
import sys
|
|
8
|
+
from pathlib import Path
|
|
9
|
+
|
|
10
|
+
from episode_intake import build_index, slice_episode, verify_index, write_index
|
|
11
|
+
|
|
12
|
+
MINIMUM_PYTHON = (3, 9)
|
|
13
|
+
if sys.version_info < MINIMUM_PYTHON:
|
|
14
|
+
raise SystemExit("selftest.py requires Python 3.9 or newer")
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def require(condition: bool, message: str) -> None:
|
|
18
|
+
if not condition:
|
|
19
|
+
raise AssertionError(message)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def main() -> int:
|
|
23
|
+
with tempfile.TemporaryDirectory() as directory:
|
|
24
|
+
root = Path(directory)
|
|
25
|
+
source = root / "episodes.md"
|
|
26
|
+
index = root / "index.json"
|
|
27
|
+
source.write_text("第1集 开端\n行动一。\n第2集 反转\n行动二。\n", encoding="utf-8")
|
|
28
|
+
|
|
29
|
+
document = build_index(source, source_ref="输入/episodes.md")
|
|
30
|
+
require(document["episode_count"] == 2, "episode count")
|
|
31
|
+
require(document["problems"] == [], "valid episode index")
|
|
32
|
+
write_index(index, document)
|
|
33
|
+
require(verify_index(index, source)["verified"] is True, "fresh index")
|
|
34
|
+
require(
|
|
35
|
+
slice_episode(index, source, "EP002").startswith("第2集".encode()),
|
|
36
|
+
"verified episode slice",
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
source.write_text(source.read_text(encoding="utf-8") + "变更。\n", encoding="utf-8")
|
|
40
|
+
require(verify_index(index, source)["verified"] is False, "source drift")
|
|
41
|
+
|
|
42
|
+
print("5 self-tests passed")
|
|
43
|
+
return 0
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
if __name__ == "__main__":
|
|
47
|
+
raise SystemExit(main())
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: short-drama-edit
|
|
3
|
+
description: 将已生成的短剧镜头剪成成片,记录入出点、镜序、声音、字幕与交付规格。用于套剪、加字幕、统一响度、调整节奏或导出精修素材;需要补素材或修改故事时转回对应创作阶段。
|
|
4
|
+
license: MIT
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# 短剧剪辑与成片
|
|
8
|
+
|
|
9
|
+
把 `剧集/<EP>/制作成果/` 里的逐镜素材装配成一条成片,取舍写进 `剧集/<EP>/剪辑单.md`。
|
|
10
|
+
每段使用二级标题 `## CUT-...`,各自绑定一个 `MOTION-...` 和一个真实媒体文件。
|
|
11
|
+
|
|
12
|
+
根据实际素材选择可用片段,按剧本与分镜核对叙事。素材与意图不一致时,记录取舍和缺口。
|
|
13
|
+
|
|
14
|
+
## Quick Start
|
|
15
|
+
|
|
16
|
+
```text
|
|
17
|
+
用 $short-drama-edit 把 EP001 已生产的镜头剪成成片
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## 入口
|
|
21
|
+
|
|
22
|
+
进入条件是**素材已经存在且可读**:`剧集/<EP>/制作成果/` 里有本次要用的视频文件。
|
|
23
|
+
提示词写完、job 确认过、adapter 返回成功,都不等于素材可用;本阶段只认当前能打开的文件字节。
|
|
24
|
+
|
|
25
|
+
素材不全时可以先剪已有连续段落;用户要求完整成片时,将这一版标为片段并列出缺口。
|
|
26
|
+
在「未采用镜头」说明缺文件、质量不可用或叙事取舍。
|
|
27
|
+
|
|
28
|
+
`剧集/<EP>/分镜.md` 与 `视频提示词.md` 是镜序和职责的来源。剪辑可以**取舍**它们,不能**改写**
|
|
29
|
+
它们:删一镜、缩一镜、换顺序都属于本阶段;改台词、改镜头职责、改起终状态要回上游发修订请求。
|
|
30
|
+
|
|
31
|
+
内置渲染直接拼接编码后的分段,输入素材的画幅与帧率须一致。`check` 在可探测媒体时核对;
|
|
32
|
+
不同规格先通过外部工具按交付要求统一,保留构图并记录裁切或留边,再更新剪辑单的路径与时间。
|
|
33
|
+
|
|
34
|
+
渲染与测量需要 `ffmpeg` / `ffprobe` 在 PATH 上。没有时 `edit_tool.py` 直接失败并说明,
|
|
35
|
+
不用别的手段近似,也不把「没测」写成「通过」。
|
|
36
|
+
|
|
37
|
+
## 工作流
|
|
38
|
+
|
|
39
|
+
1. **逐段看完整素材,先标可用带,再谈剪辑。** 每个文件从头到尾看一遍,写下它实际能用的时间
|
|
40
|
+
区间,以及区间之外发生了什么(起势静止、结尾漂移、发白、动作回弹、多余的重复表演)。
|
|
41
|
+
这一步的产出是事实,不是决定。做法见 [生成素材的可用带](references/generated-footage.md)。
|
|
42
|
+
2. **有台词的镜先定位发声区间。** 保留完整字音和所需停顿。内置工具同步切画面与声音;
|
|
43
|
+
需要在连续对白上换画面时,使用外部剪辑工具分开处理。
|
|
44
|
+
3. **在可用区间内选叙事入出点。** 按动作、反应或停顿的需要选择入点,出点取信息完成之后、缺陷
|
|
45
|
+
开始之前。逐段写清入点理由和出点理由。做法见 [入出点与镜序](references/cut-craft.md)。
|
|
46
|
+
4. **排镜序并检查相邻关系。** 检查动作、空间、揭示与声音是否连贯;重复信息没有新增作用时再删。
|
|
47
|
+
5. **比较相邻段的画面。** 按同场景、同光态比较可比区域;有可见偏差时在对应段写 `画面`。
|
|
48
|
+
做法见 [接镜与色彩一致性](references/generated-footage.md#接镜与色彩一致性)。
|
|
49
|
+
6. **处理声音接缝与响度。** 拼接后回听;需要混音时通过外部工具执行并记录。
|
|
50
|
+
做法见 [声音、字幕与音乐](references/sound-and-subtitles.md)。
|
|
51
|
+
7. **写字幕。** 字幕的每一个字都取自 `剧本.md` 的台词原文,不取自转写结果;标点可按字幕惯例调整,
|
|
52
|
+
字不能改。转写只用来定位时间。
|
|
53
|
+
8. **写出 `剪辑单.md`,再渲染。** 先有文档后有成片:文档是可审查、可修订、可复现的那一份,
|
|
54
|
+
成片是它的产物。
|
|
55
|
+
9. **按可测项验收成片,再交付。** 见 [交付与验收](references/delivery-verify.md)。
|
|
56
|
+
|
|
57
|
+
## 剪辑单要求
|
|
58
|
+
|
|
59
|
+
- 正文开头写交付规格:`成片目标时长`、`画幅与帧率`、`交付响度`、`字幕`。目标时长是意图,
|
|
60
|
+
实际时长与目标的差写在报告里。用户明确要求固定时长时,应满足要求或报告缺少的素材。
|
|
61
|
+
- 每段一个 `## CUT-<EP>-<序号> · <中文名称>`,块内逐行写:
|
|
62
|
+
|
|
63
|
+
- `- 来源:<MOTION-...> · <项目相对路径>`——`MOTION-...` 必须是 `视频提示词.md` 里真实存在
|
|
64
|
+
的条目,路径必须是当前可读的文件。
|
|
65
|
+
- `- 入点:<秒>` / `- 出点:<秒>` / `- 时长:<秒>`——三者必须自洽,`出点 - 入点 == 时长`。
|
|
66
|
+
全部用秒,保留两位小数,不写时间码,不写帧号。
|
|
67
|
+
- `- 取舍:入点=<理由>;出点=<理由>`——理由写画面上发生了什么,不写「节奏需要」。
|
|
68
|
+
理由应能对应实际素材与本镜叙事需要。
|
|
69
|
+
- `- 声音:<本段声音怎么处理>`——记录保留原声或外部处理。此行不驱动内置 render 的混音。
|
|
70
|
+
- `- 画面:<接镜校正>` 或 `- 画面:无`——只在这一段与相邻段明显对不上时写,
|
|
71
|
+
格式是「亮度 <数>」「饱和 <数>」「色温 <数>」三项的任意组合,用 `;` 分隔。
|
|
72
|
+
详见 [接镜与色彩一致性](references/generated-footage.md#接镜与色彩一致性)。
|
|
73
|
+
- `- 字幕:<逐字台词原文>` 或 `- 字幕:无`。本段有多句台词时改用编号写法,
|
|
74
|
+
每句自带时间:`- 字幕 1:0.20-1.50 请进`、`- 字幕 2:2.30-4.30 门没有锁`。
|
|
75
|
+
编号从 1 连续,时间相对本 CUT 入点,且不得重叠。
|
|
76
|
+
- 素材里没有被采用的镜头,在正文开头写一行 `- 未采用镜头:<MOTION-...>(理由:……)`,
|
|
77
|
+
多项用 `;` 连接。理由区分两类:**文件缺失**(还没生产 / 生产失败)和**质量不可用**
|
|
78
|
+
(生成结果不能用),也可说明叙事取舍。补素材前先判断需要重出还是修订上游。
|
|
79
|
+
- 同一个 `MOTION-...` 可以拆成多个 `CUT-...`(同一段素材的两处分别使用),也可以整段不用。
|
|
80
|
+
不能凭空出现没有素材来源的 `CUT-...`。
|
|
81
|
+
- 一段素材被用两次时,两个 `CUT-...` 的区间不得重叠:同一批帧在成片里出现两次是重复镜头,
|
|
82
|
+
不是复用。确需重复出现(闪回、强调)时写明它是有意重复,并说明第二次为什么仍然成立。
|
|
83
|
+
|
|
84
|
+
## 边界
|
|
85
|
+
|
|
86
|
+
- **不生成新素材。** 需要补拍、重出、换参考图,回 `$short-drama-produce`;需要改提示词,
|
|
87
|
+
回 `$short-drama-video-prompts` 或 `$short-drama-image-prompts`。
|
|
88
|
+
- **不改上游语义。** 剪辑单可以让某句台词不出现在成片里(整镜未采用),不能改这句台词是什么。
|
|
89
|
+
发现剧本层面的问题就点名报告,交回 `$short-drama-write`。
|
|
90
|
+
- **沿用剧本的声音设计。** 保留已有对白、VO 和 OS,不自行增加解说;需要新增叙述时回写作阶段。
|
|
91
|
+
- **不把技术成功写成质量结论。** 渲染完成、时长对上、文件存在,都不是「这条片子能看」。
|
|
92
|
+
成片质量的判断交给 `$short-drama-review`,或交给创作者本人。
|
|
93
|
+
- **按已授权目标完成。** 继续修复影响交付的问题;新增创作方向或补素材需求交给创作者决定。
|
|
94
|
+
|
|
95
|
+
## 命令
|
|
96
|
+
|
|
97
|
+
命令由 [edit_tool.py](scripts/edit_tool.py) 提供:
|
|
98
|
+
|
|
99
|
+
```text
|
|
100
|
+
python3 <本技能目录>/scripts/edit_tool.py check <剧集/EP001> --project-root <project>
|
|
101
|
+
python3 <本技能目录>/scripts/edit_tool.py render <剧集/EP001> --project-root <project> [--no-subtitles] [--subtitles ffmpeg|remotion] [--remotion-concurrency N]
|
|
102
|
+
python3 <本技能目录>/scripts/edit_tool.py verify <剧集/EP001> --project-root <project>
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
`check` 只核对不渲染:素材是否比剪辑单新(重出之后字幕时间必须重测)、区间自洽、`MOTION-...` 解析、文件存在、区间不越过素材时长、
|
|
106
|
+
同源区间不重叠、字幕文字能在 `剧本.md` 里找到。其中「区间不越过素材时长」需要 `ffprobe`,
|
|
107
|
+
没有时这一项报「未测」并说明原因,不静默跳过。`render` 按剪辑单切段、拼接、烧字幕、统一响度,
|
|
108
|
+
输出 `剧集/<EP>/制作成果/成片/`。`verify` 只测量已经渲染出来的成片并回报数字,不改文件、
|
|
109
|
+
不给质量结论。
|
|
110
|
+
|
|
111
|
+
字幕默认由带 libass 的 ffmpeg 烧录。`--subtitles remotion` 换成一条排版可调的
|
|
112
|
+
路线,代价是装一次 Node 依赖,而且叠层要**逐帧过无头浏览器**渲整部成片——慢且吃内存,
|
|
113
|
+
并发默认压在 2(`--remotion-concurrency` 可调,调高前先量本机)。取舍见
|
|
114
|
+
[声音、字幕与音乐](references/sound-and-subtitles.md),装法见
|
|
115
|
+
[Remotion 字幕叠层](assets/remotion/README.md)。
|
|
116
|
+
|
|
117
|
+
`render` 保留切好的中间文件。它只切段、硬拼接、统一字幕样式、接镜校正和整片响度,
|
|
118
|
+
不执行 `声音` 行中的混音方案,也不按交付规格自动缩放或改帧率。需要混音、逐镜字幕避让、
|
|
119
|
+
转场或画幅转换时用外部工具完成并记录,验收实际交付文件。
|
|
120
|
+
|
|
121
|
+
## 按需知识
|
|
122
|
+
|
|
123
|
+
先读本 SKILL、当前分镜、视频提示词和素材;有字幕时读取剧本原文。按需要打开参考资料:
|
|
124
|
+
|
|
125
|
+
- 阶段边界与规则分级:[阶段契约](references/stage-contract.md)
|
|
126
|
+
- 可用带、生成缺陷与逐镜取舍:[生成素材的可用带](references/generated-footage.md)
|
|
127
|
+
- 入出点、镜序与节奏:[入出点与镜序](references/cut-craft.md)
|
|
128
|
+
- 声音接缝、字幕与音乐落点:[声音、字幕与音乐](references/sound-and-subtitles.md)
|
|
129
|
+
- 成片可测项与验收:[交付与验收](references/delivery-verify.md)
|
|
130
|
+
- 剪辑单成稿样例:[剪辑单样例](assets/剪辑单.md)
|
|
131
|
+
- 可选的 Remotion 字幕排版:[Remotion 字幕叠层](assets/remotion/README.md)
|
|
132
|
+
|
|
133
|
+
## 修订
|
|
134
|
+
|
|
135
|
+
保留未受影响的 `CUT-...` ID。改一段的入出点不触碰其它段;删一段时说明它承担的信息由哪一段
|
|
136
|
+
接住,或明确说明这条信息在成片里不再出现。重新渲染前先更新剪辑单,不要让成片领先于文档。
|
|
137
|
+
|
|
138
|
+
## 完成
|
|
139
|
+
|
|
140
|
+
每个 `CUT-...` 都绑定真实素材与自洽区间,台词在成片里完整可听,字幕逐字等于剧本原文,
|
|
141
|
+
剪辑点没有可听的音床硬切,成片响度落在交付目标上,未采用镜头都写明理由并区分了缺文件与缺质量,
|
|
142
|
+
即完成。目标时长与实际时长的差、以及仍然值得再剪一版的地方,写在末尾报告里交给创作者判断。
|
|
143
|
+
|
|
144
|
+
## 安装维护
|
|
145
|
+
|
|
146
|
+
只有安装、升级或排障时运行 `python3 scripts/selftest.py`。
|
package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/README.md
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Remotion 字幕叠层
|
|
2
|
+
|
|
3
|
+
`$short-drama-edit` 的**可选**字幕渲染路线。默认路线是 ffmpeg + libass,零依赖;这一条排版
|
|
4
|
+
更好,但要装 Node 依赖,而且慢得多、吃内存——先看下面的「代价」。
|
|
5
|
+
|
|
6
|
+
## 为什么会有第二条路
|
|
7
|
+
|
|
8
|
+
ASS 的字号是相对 `PlayRes` 的单位,渲染时再缩放一次,这层间接每次都要重推一遍,推错了
|
|
9
|
+
在数字上看不出来(见[声音、字幕与音乐](../../references/sound-and-subtitles.md))。这里字号、
|
|
10
|
+
描边、行距、安全区、折行都是 CSS,写的是画面像素,改完在 `npx remotion studio` 当场能看。
|
|
11
|
+
|
|
12
|
+
## 装一次
|
|
13
|
+
|
|
14
|
+
工作区在**项目之外**(默认 `~/.cache/short-drama-edit/remotion`)。`edit_tool.py` 每次运行都会
|
|
15
|
+
把本目录的源码同步过去,所以要改排版就改这里的 `src/`,不要改工作区里的副本——它会被覆盖。
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
cd ~/.cache/short-drama-edit/remotion && npm install
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
`node_modules` 不进项目也不进本仓库。
|
|
22
|
+
|
|
23
|
+
## 用
|
|
24
|
+
|
|
25
|
+
```bash
|
|
26
|
+
python3 <本技能目录>/scripts/edit_tool.py render <剧集/EP001> --project-root <project> --subtitles remotion
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
它渲染出一段**透明**的字幕层(VP8 + alpha),再由 ffmpeg 叠到未经改动的画面上。画面本身
|
|
30
|
+
不经过浏览器重绘,所以不多一次画质损失。
|
|
31
|
+
|
|
32
|
+
## 代价
|
|
33
|
+
|
|
34
|
+
叠层**逐帧**渲,长度等于整部成片:一分钟竖屏片一千多帧 1080×1920,每帧一次无头浏览器
|
|
35
|
+
截图,没字幕的帧照渲。透明还要求 PNG 抓帧加 VP8 编码,Remotion 的性能文档把这两样都列为
|
|
36
|
+
慢环节。默认路线是一次滤镜的事,这条是分钟级。
|
|
37
|
+
|
|
38
|
+
内存才是会出事的地方。Remotion 默认按 CPU 核数开浏览器实例,每个各持一整帧——10 核 8 GB
|
|
39
|
+
的机器上内存打满,整机停止响应,本套件就这么卡死过一次。所以 `edit_tool.py` 固定传
|
|
40
|
+
`--concurrency`,默认 2。要提高先量本机,别凭核数拍:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
cd ~/.cache/short-drama-edit/remotion && npx remotion benchmark
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
## 许可证
|
|
47
|
+
|
|
48
|
+
Remotion 个人与小团队免费,超出规模需商业授权,条款以 [remotion.dev](https://www.remotion.dev/)
|
|
49
|
+
为准。本套件是 MIT,不包含也不代理这项授权,也不会替你安装它——缺依赖时只报错并给出命令。
|
|
50
|
+
默认路线不涉及这件事。
|
|
51
|
+
|
|
52
|
+
## 文件
|
|
53
|
+
|
|
54
|
+
| 文件 | 作用 |
|
|
55
|
+
|---|---|
|
|
56
|
+
| `src/schema.ts` | 叠层的输入形状:cues、画幅、fps、字号与安全区比例 |
|
|
57
|
+
| `src/Subtitles.tsx` | 排版本身。所有尺寸都是画面高度的比例,同一组数值对 768×1344 和 1080×1920 都成立 |
|
|
58
|
+
| `src/Root.tsx` | 合成注册;画幅、帧率、时长由调用方通过 `--props` 传入 |
|
|
59
|
+
| `src/font.ts` | 渲染前等字体就绪,并验证字体族真的存在——装不上时报错,而不是悄悄换一款字体出片 |
|
|
60
|
+
| `remotion.config.ts` | 固定成带 alpha 的输出,叠层必须透明 |
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "short-drama-subtitles",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"private": true,
|
|
5
|
+
"description": "Remotion subtitle layer for short-drama-edit. Renders a transparent overlay from cues.json.",
|
|
6
|
+
"scripts": {
|
|
7
|
+
"render": "remotion render Subtitles"
|
|
8
|
+
},
|
|
9
|
+
"dependencies": {
|
|
10
|
+
"@remotion/cli": "4.0.418",
|
|
11
|
+
"react": "19.0.0",
|
|
12
|
+
"react-dom": "19.0.0",
|
|
13
|
+
"remotion": "4.0.418"
|
|
14
|
+
}
|
|
15
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Composition } from "remotion";
|
|
3
|
+
import { Subtitles } from "./Subtitles";
|
|
4
|
+
import { defaultProps, SubtitleProps } from "./schema";
|
|
5
|
+
|
|
6
|
+
export const RemotionRoot: React.FC = () => {
|
|
7
|
+
return (
|
|
8
|
+
<Composition
|
|
9
|
+
id="Subtitles"
|
|
10
|
+
component={Subtitles}
|
|
11
|
+
defaultProps={defaultProps}
|
|
12
|
+
// The caller passes the real frame, fps and length through --props; these
|
|
13
|
+
// stand in only when the composition is opened in the studio by hand.
|
|
14
|
+
durationInFrames={Math.max(1, Math.round(defaultProps.durationInSeconds * defaultProps.fps))}
|
|
15
|
+
fps={defaultProps.fps}
|
|
16
|
+
width={defaultProps.width}
|
|
17
|
+
height={defaultProps.height}
|
|
18
|
+
calculateMetadata={({ props }: { props: SubtitleProps }) => ({
|
|
19
|
+
durationInFrames: Math.max(1, Math.round(props.durationInSeconds * props.fps)),
|
|
20
|
+
fps: props.fps,
|
|
21
|
+
width: props.width,
|
|
22
|
+
height: props.height,
|
|
23
|
+
})}
|
|
24
|
+
/>
|
|
25
|
+
);
|
|
26
|
+
};
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import React, { useMemo } from "react";
|
|
2
|
+
import { AbsoluteFill, useCurrentFrame, useVideoConfig } from "remotion";
|
|
3
|
+
import { Cue, SubtitleProps } from "./schema";
|
|
4
|
+
import { assertFamilyResolves, waitForFonts } from "./font";
|
|
5
|
+
|
|
6
|
+
waitForFonts();
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* A transparent subtitle layer, composited onto untouched picture.
|
|
10
|
+
*
|
|
11
|
+
* Everything here is expressed as a fraction of frame height, so the same
|
|
12
|
+
* numbers hold for 768×1344 and 1080×1920. That is the whole reason this file
|
|
13
|
+
* exists in pixels rather than in an ASS style: the subtitle renderer's own
|
|
14
|
+
* `PlayRes` scaling was applied twice once already, and type three times too
|
|
15
|
+
* large shipped in a sample film.
|
|
16
|
+
*/
|
|
17
|
+
export const Subtitles: React.FC<SubtitleProps> = ({
|
|
18
|
+
cues,
|
|
19
|
+
fontScale,
|
|
20
|
+
bottomScale,
|
|
21
|
+
fontFamily,
|
|
22
|
+
}) => {
|
|
23
|
+
const frame = useCurrentFrame();
|
|
24
|
+
const { fps, height, width } = useVideoConfig();
|
|
25
|
+
const now = frame / fps;
|
|
26
|
+
const active = cues.find((cue: Cue) => now >= cue.start && now < cue.end);
|
|
27
|
+
|
|
28
|
+
const fontSize = height * fontScale;
|
|
29
|
+
// A dark rim on every side keeps white type legible over a bright frame
|
|
30
|
+
// without a caption box, which is what vertical drama expects. It depends
|
|
31
|
+
// only on the frame size, so it is built once — and it stays above the early
|
|
32
|
+
// return, because a hook may not be skipped on the frames with no line.
|
|
33
|
+
const shadow = useMemo(() => {
|
|
34
|
+
const rim = Math.max(2, height * 0.0024);
|
|
35
|
+
return [
|
|
36
|
+
`0 0 ${rim * 3}px rgba(0,0,0,0.85)`,
|
|
37
|
+
`${rim}px ${rim}px 0 rgba(0,0,0,0.92)`,
|
|
38
|
+
`-${rim}px ${rim}px 0 rgba(0,0,0,0.92)`,
|
|
39
|
+
`${rim}px -${rim}px 0 rgba(0,0,0,0.92)`,
|
|
40
|
+
`-${rim}px -${rim}px 0 rgba(0,0,0,0.92)`,
|
|
41
|
+
].join(", ");
|
|
42
|
+
}, [height]);
|
|
43
|
+
|
|
44
|
+
// Checked against a line about to be filmed, so a missing font stops the
|
|
45
|
+
// render on the first subtitle frame rather than after the whole pass.
|
|
46
|
+
assertFamilyResolves(fontFamily, active?.text ?? "");
|
|
47
|
+
if (!active) return null;
|
|
48
|
+
|
|
49
|
+
// A short lift on entry reads as the line arriving with the delivery. It is
|
|
50
|
+
// over well before the first syllable ends, so it never delays reading.
|
|
51
|
+
const age = now - active.start;
|
|
52
|
+
const lift = Math.min(1, age / 0.12);
|
|
53
|
+
const eased = 1 - Math.pow(1 - lift, 3);
|
|
54
|
+
|
|
55
|
+
return (
|
|
56
|
+
<AbsoluteFill
|
|
57
|
+
style={{
|
|
58
|
+
justifyContent: "flex-end",
|
|
59
|
+
alignItems: "center",
|
|
60
|
+
paddingBottom: height * bottomScale,
|
|
61
|
+
paddingLeft: width * 0.06,
|
|
62
|
+
paddingRight: width * 0.06,
|
|
63
|
+
}}
|
|
64
|
+
>
|
|
65
|
+
<div
|
|
66
|
+
style={{
|
|
67
|
+
fontFamily,
|
|
68
|
+
fontSize,
|
|
69
|
+
fontWeight: 700,
|
|
70
|
+
color: "#ffffff",
|
|
71
|
+
textAlign: "center",
|
|
72
|
+
lineHeight: 1.28,
|
|
73
|
+
letterSpacing: fontSize * 0.02,
|
|
74
|
+
textShadow: shadow,
|
|
75
|
+
opacity: eased,
|
|
76
|
+
transform: `translateY(${(1 - eased) * fontSize * 0.25}px)`,
|
|
77
|
+
// A long line wraps rather than running off the frame — the failure
|
|
78
|
+
// that made the first shipped version unreadable.
|
|
79
|
+
maxWidth: "100%",
|
|
80
|
+
wordBreak: "break-word",
|
|
81
|
+
whiteSpace: "pre-wrap",
|
|
82
|
+
}}
|
|
83
|
+
>
|
|
84
|
+
{active.text}
|
|
85
|
+
</div>
|
|
86
|
+
</AbsoluteFill>
|
|
87
|
+
);
|
|
88
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { continueRender, delayRender } from "remotion";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Remotion captures a frame as soon as React has painted, so a font still being
|
|
5
|
+
* fetched is simply absent from it. Nothing downstream reports that: the film
|
|
6
|
+
* measures correct and reads wrong.
|
|
7
|
+
*/
|
|
8
|
+
export const waitForFonts = (): void => {
|
|
9
|
+
const handle = delayRender("等待字体就绪");
|
|
10
|
+
document.fonts.ready.then(
|
|
11
|
+
() => continueRender(handle),
|
|
12
|
+
() => continueRender(handle),
|
|
13
|
+
);
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* `document.fonts.ready` promises that loading finished, not that the requested
|
|
18
|
+
* family exists — a missing face raises nothing, the browser substitutes, and
|
|
19
|
+
* the film ships in the wrong typeface. Measuring is the only reliable test:
|
|
20
|
+
* identical widths against a family that cannot exist mean nothing resolved.
|
|
21
|
+
*/
|
|
22
|
+
let familyChecked = "";
|
|
23
|
+
|
|
24
|
+
export const assertFamilyResolves = (fontFamily: string, sample: string): void => {
|
|
25
|
+
// Runs on every frame, so measure once per family.
|
|
26
|
+
if (!sample || familyChecked === fontFamily) return;
|
|
27
|
+
const canvas = document.createElement("canvas");
|
|
28
|
+
const context = canvas.getContext("2d");
|
|
29
|
+
if (!context) return;
|
|
30
|
+
|
|
31
|
+
const measure = (family: string): number => {
|
|
32
|
+
context.font = `700 64px ${family}`;
|
|
33
|
+
return context.measureText(sample).width;
|
|
34
|
+
};
|
|
35
|
+
// A name no font can carry, so it always lands on the browser's last resort.
|
|
36
|
+
const fallbackOnly = measure('"__no_such_family__"');
|
|
37
|
+
const requested = measure(`${fontFamily}, "__no_such_family__"`);
|
|
38
|
+
if (requested === fallbackOnly) {
|
|
39
|
+
throw new Error(
|
|
40
|
+
`字幕字体 ${fontFamily} 在渲染环境里一个都没装上,` +
|
|
41
|
+
"画面会落到浏览器的兜底字体。装一款其中的字体," +
|
|
42
|
+
"或给 render 传一个本机确实有的字体族。",
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
familyChecked = fontFamily;
|
|
46
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export type Cue = {
|
|
2
|
+
/** Output-time seconds, measured from the rendered segments. */
|
|
3
|
+
start: number;
|
|
4
|
+
end: number;
|
|
5
|
+
/** The line as written in 剧本.md. Never a transcription. */
|
|
6
|
+
text: string;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export type SubtitleProps = {
|
|
10
|
+
cues: Cue[];
|
|
11
|
+
width: number;
|
|
12
|
+
height: number;
|
|
13
|
+
fps: number;
|
|
14
|
+
durationInSeconds: number;
|
|
15
|
+
/** Type size as a fraction of frame height, so one number survives any delivery. */
|
|
16
|
+
fontScale: number;
|
|
17
|
+
/** Distance from the bottom edge, also a fraction of frame height. */
|
|
18
|
+
bottomScale: number;
|
|
19
|
+
fontFamily: string;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export const defaultProps: SubtitleProps = {
|
|
23
|
+
cues: [],
|
|
24
|
+
width: 1080,
|
|
25
|
+
height: 1920,
|
|
26
|
+
fps: 24,
|
|
27
|
+
durationInSeconds: 1,
|
|
28
|
+
fontScale: 0.034,
|
|
29
|
+
bottomScale: 0.055,
|
|
30
|
+
fontFamily:
|
|
31
|
+
'"PingFang SC", "Noto Sans CJK SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif',
|
|
32
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# EP001 剪辑单
|
|
2
|
+
|
|
3
|
+
- 成片目标时长:25.00 秒
|
|
4
|
+
- 画幅与帧率:9:16 · 1080×1920 · 24fps
|
|
5
|
+
- 交付响度:-16 LUFS
|
|
6
|
+
- 字幕:硬字幕,台词逐字取自《剧本.md》,底部安全区内,避开画内屏幕文字
|
|
7
|
+
- 未采用镜头:MOTION-EP001-009(理由:质量不可用——全段人物身份漂移,可用带不足 0.5 秒);MOTION-EP001-018(理由:文件缺失——尚未生产)
|
|
8
|
+
|
|
9
|
+
## CUT-EP001-001 · 手指停在按钮上
|
|
10
|
+
|
|
11
|
+
- 来源:MOTION-EP001-010 · 制作成果/videos/SHOT-EP001-010.mp4
|
|
12
|
+
- 入点:0.60
|
|
13
|
+
- 出点:3.60
|
|
14
|
+
- 时长:3.00
|
|
15
|
+
- 取舍:入点=手指已经悬在按钮上方、开始下压;出点=按钮按下、界面开始响应,再往后 0.4 秒手指位置回弹
|
|
16
|
+
- 声音:保留原声(室内底噪与一次点击声)
|
|
17
|
+
- 字幕:无
|
|
18
|
+
|
|
19
|
+
## CUT-EP001-002 · 弹窗展开
|
|
20
|
+
|
|
21
|
+
- 来源:MOTION-EP001-011 · 制作成果/videos/SHOT-EP001-011.mp4
|
|
22
|
+
- 入点:0.90
|
|
23
|
+
- 出点:3.40
|
|
24
|
+
- 时长:2.50
|
|
25
|
+
- 取舍:入点=弹窗动画已经展开过半,起势的静止两帧删掉;出点=弹窗完全展开且文字可读的最后一帧,之后画面开始整体提亮
|
|
26
|
+
- 声音:保留原声;回听确认与上一段衔接
|
|
27
|
+
- 字幕:无
|
|
28
|
+
|
|
29
|
+
## CUT-EP001-003 · 他念出那句话
|
|
30
|
+
|
|
31
|
+
- 来源:MOTION-EP001-017 · 制作成果/videos/SHOT-EP001-017.mp4
|
|
32
|
+
- 入点:2.00
|
|
33
|
+
- 出点:7.00
|
|
34
|
+
- 时长:5.00
|
|
35
|
+
- 取舍:入点=按发声区间前推 0.3 秒余量,开头 1.5 秒的凝视与上一段蓄势重复,整段去掉;出点=句尾收音之后 0.4 秒,人物姿态尚未回弹
|
|
36
|
+
- 声音:保留原声
|
|
37
|
+
- 字幕:这条路我自己走
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
说明:本文件是格式样例,`制作成果/videos/...` 是示意路径。真实项目里每个「来源」的路径都必须
|
|
42
|
+
指向当前可读的文件,`check` 会逐条核对。「未采用镜头」的两条理由分别示范了必须区分的两类——
|
|
43
|
+
文件缺失回生产,质量不可用回上游改提示词。
|
package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/cut-craft.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# 入出点与镜序
|
|
2
|
+
|
|
3
|
+
## 入出点
|
|
4
|
+
|
|
5
|
+
在素材可用区间内,按信息、表演与节奏选入出点。
|
|
6
|
+
动作镜可以从动作已经开始的位置进入;反应、等待、揭示前停顿可以保留静止。
|
|
7
|
+
出点要让观众读到本镜的结果,并避开后续漂移或无意重复。
|
|
8
|
+
|
|
9
|
+
对白先确定实际发声区间,保留完整的字音与需要的停顿。
|
|
10
|
+
画面切换可以发生在一句台词中间,前提是音轨连续、说话人和叙事关系清楚。
|
|
11
|
+
不要为了换画面把原台词改成两句。内置 render 只做同步切段;分离画面和声音的剪法
|
|
12
|
+
需要先用外部剪辑工具完成,记录所用素材、声音区间和处理方式。
|
|
13
|
+
|
|
14
|
+
## 镜序与相邻关系
|
|
15
|
+
|
|
16
|
+
默认沿用分镜镜序。调整时检查动作因果、视线、空间关系、信息揭示和声音衔接。
|
|
17
|
+
相近景别与机位之间的切换容易暴露跳动,可比较改变角度、插入反应或有意跳切的效果。
|
|
18
|
+
是否保留由观众需要看到的信息决定,不把景别、机位和运动方向的组合设为禁令。
|
|
19
|
+
|
|
20
|
+
重复信息没有新增作用时可删;如果第二次增加反应、对照或重新解释,可以保留。
|
|
21
|
+
拆取两段素材也可以,但要确认动作、台词和情绪仍连贯。
|
|
22
|
+
|
|
23
|
+
## 切点与转场
|
|
24
|
+
|
|
25
|
+
动接动、声音桥和切到不同主体都可帮助衔接,按本场叙事选择。
|
|
26
|
+
若相邻镜头有生成漂移,先判断能否通过取舍或接镜校正解决;叠化等转场不能替代缺失的内容。
|
|
27
|
+
|
|
28
|
+
剧本的 `[转场]` 可能交代时空变化,也可能明确指定声音或画面效果,先读具体要求。
|
|
29
|
+
可通过新镜头中的环境信息、声音桥、黑场或其他已接受效果实现。
|
|
30
|
+
内置 render 只做硬切;需要声音桥或画面转场时使用外部工具,并记录处理参数。
|
|
31
|
+
|
|
32
|
+
## 时长与完成
|
|
33
|
+
|
|
34
|
+
删短某段后,只有其他段落确实需要更多表演或阅读时间才延长,不机械补齐总秒数。
|
|
35
|
+
目标时长若是创作参考,报告实际时长与差异;若是用户明确的交付限制,则继续调整或指出
|
|
36
|
+
缺少哪些素材才能满足,不能把它自行降为参考值。
|
|
37
|
+
|
|
38
|
+
下一轮修改应针对成片里可见或可听的问题,优先修复影响理解、连续性和交付要求的部分。
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# 交付与验收
|
|
2
|
+
|
|
3
|
+
检查实际交付文件,并区分实测结果、人工判断和未测项。
|
|
4
|
+
|
|
5
|
+
| 项 | 怎么核对 |
|
|
6
|
+
|---|---|
|
|
7
|
+
| 时长与切点 | 对照实际渲染区间、帧边界和用户时长要求 |
|
|
8
|
+
| 内容覆盖 | 对照分镜和视频提示词,必要内容有承载,未采用镜头有原因 |
|
|
9
|
+
| 台词 | 在成片上回听,必要时转写辅助,逐句对照剧本 |
|
|
10
|
+
| 边界帧 | 查看剪辑点前后,检查意外黑白帧、画面断裂和漂移 |
|
|
11
|
+
| 声音 | 回听接缝、对白清晰度与已声明静默;测量整片响度 |
|
|
12
|
+
| 字幕 | 检查逐字内容、发声时间、字号、折行和画内文字避让 |
|
|
13
|
+
| 画内文字 | 按剧本与视觉设定的文字政策检查载体、可读性和指定文字 |
|
|
14
|
+
| 画幅与帧率 | 探测输出文件,对照交付规格 |
|
|
15
|
+
| 接镜色彩 | 在同场景、同光态下比较可比区域,确认校正没有过冲 |
|
|
16
|
+
|
|
17
|
+
`verify` 只提供部分技术测量,不能替代回听与画面检查。
|
|
18
|
+
分段色彩观测按当前剪辑单读取中间分段,报告平均亮度和蓝减红像素值;它不代表成片局部区域的
|
|
19
|
+
接镜残差,也不要求各场景接近同一均值。改动剪辑单后先重新渲染,再测量并查看实际切点。
|
|
20
|
+
发现有意黑场、静默或光态变化时按创作意图判断,不因数值异常直接判错。
|
|
21
|
+
|
|
22
|
+
## 交付
|
|
23
|
+
|
|
24
|
+
给出成片、剪辑单、可继续编辑的中间文件,以及外部混音或字幕工程(如使用)。
|
|
25
|
+
说明是否满足用户要求、仍有哪些内容缺口和取舍;测不了的必要项目写明原因。
|
|
26
|
+
|
|
27
|
+
需要补素材、改台词或改分镜时,指出对应镜头与发生时间并交给负责阶段。
|
|
28
|
+
渲染成功只证明工具完成执行,成片的内容判断需要观看和回听;正式审查由
|
|
29
|
+
`$short-drama-review` 或创作者进行。
|