@lemoncat7/dsh-partner 2.5.0 → 2.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/docs/THIRD_PARTY_LICENSES.md +13 -0
- package/docs/attachment-storage.md +18 -0
- package/docs/director-skills.md +24 -0
- package/docs/long-task-continuation.md +1 -1
- package/docs/releases/2.6.0.md +11 -0
- package/docs/releases/2.7.1.md +10 -0
- package/lib/agent-runtime.d.ts +3 -1
- package/lib/agent-runtime.d.ts.map +1 -1
- package/lib/agent-runtime.js +35 -11
- package/lib/agent-runtime.js.map +1 -1
- package/lib/api/features/attachments-api.d.ts.map +1 -1
- package/lib/api/features/attachments-api.js +31 -1
- package/lib/api/features/attachments-api.js.map +1 -1
- package/lib/api.d.ts +1 -1
- package/lib/api.d.ts.map +1 -1
- package/lib/api.js +1 -1
- package/lib/api.js.map +1 -1
- package/lib/attachments/grouped-storage.d.ts +5 -0
- package/lib/attachments/grouped-storage.d.ts.map +1 -0
- package/lib/attachments/grouped-storage.js +47 -0
- package/lib/attachments/grouped-storage.js.map +1 -0
- package/lib/attachments/service.d.ts +17 -0
- package/lib/attachments/service.d.ts.map +1 -1
- package/lib/attachments/service.js +100 -8
- package/lib/attachments/service.js.map +1 -1
- package/lib/attachments/shared-storage.d.ts +7 -0
- package/lib/attachments/shared-storage.d.ts.map +1 -0
- package/lib/attachments/shared-storage.js +44 -0
- package/lib/attachments/shared-storage.js.map +1 -0
- package/lib/attachments/storage-admin.d.ts +6 -0
- package/lib/attachments/storage-admin.d.ts.map +1 -0
- package/lib/attachments/storage-admin.js +43 -0
- package/lib/attachments/storage-admin.js.map +1 -0
- package/lib/attachments/storage-types.d.ts +33 -0
- package/lib/attachments/storage-types.d.ts.map +1 -0
- package/lib/attachments/storage-types.js +2 -0
- package/lib/attachments/storage-types.js.map +1 -0
- package/lib/attachments/tool.d.ts.map +1 -1
- package/lib/attachments/tool.js +16 -5
- package/lib/attachments/tool.js.map +1 -1
- package/lib/channels/delivery-policy.d.ts.map +1 -1
- package/lib/channels/delivery-policy.js +6 -4
- package/lib/channels/delivery-policy.js.map +1 -1
- package/lib/channels/direct/message-format.js +294 -157
- package/lib/channels/direct/message-format.js.map +4 -4
- package/lib/channels/manager.d.ts +6 -3
- package/lib/channels/manager.d.ts.map +1 -1
- package/lib/channels/manager.js +64 -44
- package/lib/channels/manager.js.map +1 -1
- package/lib/channels/weixin/api.d.ts.map +1 -1
- package/lib/channels/weixin/api.js +7 -2
- package/lib/channels/weixin/api.js.map +1 -1
- package/lib/channels/weixin/errors.d.ts +14 -0
- package/lib/channels/weixin/errors.d.ts.map +1 -0
- package/lib/channels/weixin/errors.js +29 -0
- package/lib/channels/weixin/errors.js.map +1 -0
- package/lib/channels/weixin/poll.d.ts +14 -0
- package/lib/channels/weixin/poll.d.ts.map +1 -0
- package/lib/channels/weixin/poll.js +50 -0
- package/lib/channels/weixin/poll.js.map +1 -0
- package/lib/client-controller.d.ts.map +1 -1
- package/lib/client-controller.js +3 -3
- package/lib/client-controller.js.map +1 -1
- package/lib/client.d.ts.map +1 -1
- package/lib/client.js +983 -575
- package/lib/client.js.map +4 -4
- package/lib/collaboration/composition.d.ts.map +1 -1
- package/lib/collaboration/composition.js +16 -6
- package/lib/collaboration/composition.js.map +1 -1
- package/lib/collaboration/domain.d.ts +6 -0
- package/lib/collaboration/domain.d.ts.map +1 -1
- package/lib/collaboration/domain.js.map +1 -1
- package/lib/collaboration/service.d.ts.map +1 -1
- package/lib/collaboration/service.js +33 -3
- package/lib/collaboration/service.js.map +1 -1
- package/lib/concern-notification.d.ts.map +1 -1
- package/lib/concern-notification.js +2 -1
- package/lib/concern-notification.js.map +1 -1
- package/lib/concern-tool.js +1 -1
- package/lib/concern-tool.js.map +1 -1
- package/lib/execution/reply-progress.d.ts.map +1 -1
- package/lib/execution/reply-progress.js +4 -2
- package/lib/execution/reply-progress.js.map +1 -1
- package/lib/execution/service.d.ts +1 -1
- package/lib/execution/service.d.ts.map +1 -1
- package/lib/execution/service.js +4 -7
- package/lib/execution/service.js.map +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +3 -1
- package/lib/index.js.map +1 -1
- package/lib/memory-reflection.js +2 -2
- package/lib/memory-reflection.js.map +1 -1
- package/lib/message-source.d.ts +25 -0
- package/lib/message-source.d.ts.map +1 -0
- package/lib/message-source.js +8 -0
- package/lib/message-source.js.map +1 -0
- package/lib/observation-loop.js +4 -4
- package/lib/observation-loop.js.map +1 -1
- package/lib/pendant/reader.js +1 -1
- package/lib/pendant/reader.js.map +1 -1
- package/lib/pendant/renderer.d.ts.map +1 -1
- package/lib/pendant/renderer.js +18 -2
- package/lib/pendant/renderer.js.map +1 -1
- package/lib/pendant/settings-panel.js +1 -1
- package/lib/pendant/settings-panel.js.map +1 -1
- package/lib/pendant/startup.d.ts +4 -0
- package/lib/pendant/startup.d.ts.map +1 -0
- package/lib/pendant/startup.js +64 -0
- package/lib/pendant/startup.js.map +1 -0
- package/lib/pendant/widget.d.ts.map +1 -1
- package/lib/pendant/widget.js +2 -1
- package/lib/pendant/widget.js.map +1 -1
- package/lib/pendant-renderer.js +169 -169
- package/lib/persona/service.js +1 -1
- package/lib/persona/service.js.map +1 -1
- package/lib/requirements/attachments.d.ts +7 -0
- package/lib/requirements/attachments.d.ts.map +1 -0
- package/lib/requirements/attachments.js +26 -0
- package/lib/requirements/attachments.js.map +1 -0
- package/lib/requirements/domain.d.ts +1 -1
- package/lib/requirements/domain.d.ts.map +1 -1
- package/lib/requirements/service.d.ts.map +1 -1
- package/lib/requirements/service.js +4 -1
- package/lib/requirements/service.js.map +1 -1
- package/lib/scheduler/channel-origin.d.ts +7 -0
- package/lib/scheduler/channel-origin.d.ts.map +1 -0
- package/lib/scheduler/channel-origin.js +27 -0
- package/lib/scheduler/channel-origin.js.map +1 -0
- package/lib/scheduler/continuations.d.ts +2 -2
- package/lib/scheduler/continuations.d.ts.map +1 -1
- package/lib/scheduler/continuations.js +28 -8
- package/lib/scheduler/continuations.js.map +1 -1
- package/lib/scheduler/domain.d.ts +13 -0
- package/lib/scheduler/domain.d.ts.map +1 -1
- package/lib/scheduler/final-reply.d.ts +13 -0
- package/lib/scheduler/final-reply.d.ts.map +1 -0
- package/lib/scheduler/final-reply.js +21 -0
- package/lib/scheduler/final-reply.js.map +1 -0
- package/lib/skills/builtin-resources.d.ts +6 -0
- package/lib/skills/builtin-resources.d.ts.map +1 -0
- package/lib/skills/builtin-resources.js +47 -0
- package/lib/skills/builtin-resources.js.map +1 -0
- package/lib/skills/builtin.d.ts +2 -5
- package/lib/skills/builtin.d.ts.map +1 -1
- package/lib/skills/builtin.js +6 -0
- package/lib/skills/builtin.js.map +1 -1
- package/lib/skills/director-builtins.d.ts +8 -0
- package/lib/skills/director-builtins.d.ts.map +1 -0
- package/lib/skills/director-builtins.js +65 -0
- package/lib/skills/director-builtins.js.map +1 -0
- package/lib/skills/drama-builtin.d.ts +3 -0
- package/lib/skills/drama-builtin.d.ts.map +1 -0
- package/lib/skills/drama-builtin.js +49 -0
- package/lib/skills/drama-builtin.js.map +1 -0
- package/lib/skills/long-task-continuation.d.ts +2 -2
- package/lib/skills/long-task-continuation.d.ts.map +1 -1
- package/lib/skills/long-task-continuation.js +2 -2
- package/lib/skills/service.d.ts.map +1 -1
- package/lib/skills/service.js +8 -3
- package/lib/skills/service.js.map +1 -1
- package/lib/skills/viora-canvas-builtin.d.ts +3 -0
- package/lib/skills/viora-canvas-builtin.d.ts.map +1 -0
- package/lib/skills/viora-canvas-builtin.js +19 -0
- package/lib/skills/viora-canvas-builtin.js.map +1 -0
- package/lib/storage/migrate-layout.d.ts.map +1 -1
- package/lib/storage/migrate-layout.js +13 -4
- package/lib/storage/migrate-layout.js.map +1 -1
- package/lib/tasks/context.js +1 -0
- package/lib/tasks/context.js.map +1 -1
- package/lib/tasks/continuation.d.ts.map +1 -1
- package/lib/tasks/continuation.js +3 -0
- package/lib/tasks/continuation.js.map +1 -1
- package/lib/tasks/domain.d.ts +2 -0
- package/lib/tasks/domain.d.ts.map +1 -1
- package/lib/tasks/service.d.ts +2 -1
- package/lib/tasks/service.d.ts.map +1 -1
- package/lib/tasks/service.js +15 -1
- package/lib/tasks/service.js.map +1 -1
- package/lib/ui/attachment-storage.d.ts +2 -0
- package/lib/ui/attachment-storage.d.ts.map +1 -0
- package/lib/ui/attachment-storage.js +59 -0
- package/lib/ui/attachment-storage.js.map +1 -0
- package/lib/ui/capability-editor.js +1 -1
- package/lib/ui/capability-editor.js.map +1 -1
- package/lib/ui/companion-access-panel.js +1 -1
- package/lib/ui/companion-access-panel.js.map +1 -1
- package/lib/ui/companion-create.js +1 -1
- package/lib/ui/companion-create.js.map +1 -1
- package/lib/ui/companion-picker.js +1 -1
- package/lib/ui/companion-picker.js.map +1 -1
- package/lib/ui/identity-editor.js +1 -1
- package/lib/ui/identity-editor.js.map +1 -1
- package/lib/ui/mcp-capabilities.js +1 -1
- package/lib/ui/mcp-capabilities.js.map +1 -1
- package/lib/ui/mcp-panel.js +1 -1
- package/lib/ui/mcp-panel.js.map +1 -1
- package/lib/ui/memory/concern-board.js +2 -2
- package/lib/ui/memory/concern-board.js.map +1 -1
- package/lib/ui/memory/concern-deletion.d.ts +1 -1
- package/lib/ui/memory/concern-deletion.d.ts.map +1 -1
- package/lib/ui/memory/concern-deletion.js +9 -4
- package/lib/ui/memory/concern-deletion.js.map +1 -1
- package/lib/ui/memory/concern-panel.js +1 -1
- package/lib/ui/memory/concern-panel.js.map +1 -1
- package/lib/ui/memory/memory-library.js +1 -1
- package/lib/ui/memory/memory-library.js.map +1 -1
- package/lib/ui/memory/memory-panel.js +1 -1
- package/lib/ui/memory/memory-panel.js.map +1 -1
- package/lib/ui/partner-components.js +1 -1
- package/lib/ui/partner-components.js.map +1 -1
- package/lib/ui/requirement-board.js +1 -1
- package/lib/ui/requirement-board.js.map +1 -1
- package/lib/ui/requirement-dialog.js +1 -1
- package/lib/ui/requirement-dialog.js.map +1 -1
- package/lib/ui/requirement-tasks-panel.js +1 -1
- package/lib/ui/requirement-tasks-panel.js.map +1 -1
- package/lib/ui/schedule-panel.js +1 -1
- package/lib/ui/schedule-panel.js.map +1 -1
- package/lib/ui/skills-panel.js +1 -1
- package/lib/ui/skills-panel.js.map +1 -1
- package/lib/ui/storage-settings.d.ts.map +1 -1
- package/lib/ui/storage-settings.js +2 -1
- package/lib/ui/storage-settings.js.map +1 -1
- package/lib/ui/task-board-stage.js +1 -1
- package/lib/ui/task-board-stage.js.map +1 -1
- package/lib/ui/workspace-components.js +1 -1
- package/lib/ui/workspace-components.js.map +1 -1
- package/lib/ui/workspace-navigation.d.ts +16 -16
- package/lib/ui/workspace-navigation.js +1 -1
- package/lib/ui/workspace-navigation.js.map +1 -1
- package/package.json +53 -41
- package/resources/skills/cinematic-director/manifest.json +205 -0
- package/resources/skills/cinematic-director/upstream/CHANGELOG.md +213 -0
- package/resources/skills/cinematic-director/upstream/CONTRIBUTING.md +316 -0
- package/resources/skills/cinematic-director/upstream/LICENSE +21 -0
- package/resources/skills/cinematic-director/upstream/README.md +507 -0
- package/resources/skills/cinematic-director/upstream/SKILL.md +420 -0
- package/resources/skills/cinematic-director/upstream/assets/beat-sheet-template.md +97 -0
- package/resources/skills/cinematic-director/upstream/assets/director-book-template.md +254 -0
- package/resources/skills/cinematic-director/upstream/assets/edit-timeline-template.md +147 -0
- package/resources/skills/cinematic-director/upstream/assets/keyframe-prompt-template.md +334 -0
- package/resources/skills/cinematic-director/upstream/assets/qc-checklist.md +153 -0
- package/resources/skills/cinematic-director/upstream/assets/shot-plan-template.md +95 -0
- package/resources/skills/cinematic-director/upstream/assets/sound-plan-template.md +181 -0
- package/resources/skills/cinematic-director/upstream/assets/video-prompt-template.md +305 -0
- package/resources/skills/cinematic-director/upstream/evals/run.md +69 -0
- package/resources/skills/cinematic-director/upstream/references/ai-video-tool-adapters.md +527 -0
- package/resources/skills/cinematic-director/upstream/references/blocking-and-staging.md +424 -0
- package/resources/skills/cinematic-director/upstream/references/cinematic-language.md +595 -0
- package/resources/skills/cinematic-director/upstream/references/continuity-bible.md +410 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/01_spielberg.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/02_hitchcock.md +193 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/03_kubrick.md +196 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/04_kurosawa.md +196 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/05_scorsese.md +195 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/06_fellini.md +197 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/07_bergman.md +197 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/08_tarkovsky.md +184 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/09_wong_kar_wai.md +189 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/10_nolan.md +185 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/11_villeneuve.md +188 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/12_fincher.md +185 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/13_refn.md +186 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/14_bi_gan.md +188 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/15_zhang_yimou.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/16_hou_hsiao_hsien.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/17_park_chan_wook.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/18_malick.md +191 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/19_michael_mann.md +192 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/20_coen_brothers.md +194 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/README.md +89 -0
- package/resources/skills/cinematic-director/upstream/references/director_styles/example_comparisons.md +140 -0
- package/resources/skills/cinematic-director/upstream/references/editing-and-assembly.md +263 -0
- package/resources/skills/cinematic-director/upstream/references/failure-modes.md +594 -0
- package/resources/skills/cinematic-director/upstream/references/genre-playbooks.md +407 -0
- package/resources/skills/cinematic-director/upstream/references/image-model-adapters.md +290 -0
- package/resources/skills/cinematic-director/upstream/references/lighting-and-color.md +349 -0
- package/resources/skills/cinematic-director/upstream/references/product-and-macro.md +207 -0
- package/resources/skills/cinematic-director/upstream/references/production-workflow.md +238 -0
- package/resources/skills/cinematic-director/upstream/references/prompt-lexicon.md +602 -0
- package/resources/skills/cinematic-director/upstream/references/sound-and-dialogue.md +364 -0
- package/resources/skills/director-skills/manifest.json +541 -0
- package/resources/skills/director-skills/upstream/CHANGELOG.md +32 -0
- package/resources/skills/director-skills/upstream/LICENSE +21 -0
- package/resources/skills/director-skills/upstream/MANIFEST.md +366 -0
- package/resources/skills/director-skills/upstream/README.md +251 -0
- package/resources/skills/director-skills/upstream/RESEARCH_PROVENANCE.md +37 -0
- package/resources/skills/director-skills/upstream/SKILL.md +114 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/SKILL.md +81 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/checklists/continuity_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/examples/character_continuity_update.md +9 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/examples/location_continuity_update.md +9 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/continuity_system.md +21 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/golden_image_workflow.md +29 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/identity_anchors.md +14 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/references/visual_bible_system.md +15 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/character_profile.md +15 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/continuity_checklist.md +11 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/costume_profile.md +12 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/location_profile.md +14 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/prop_profile.md +13 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/templates/visual_style_bible.md +15 -0
- package/resources/skills/director-skills/upstream/skills/character-location-prop-bible/tests/continuity_tests.md +6 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/SKILL.md +80 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/checklists/image_prompt_quality_checklist.md +10 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/examples/shot_list_to_image_prompts.md +4 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/image_prompt_components.md +22 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/lighting_and_photorealism.md +19 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/negative_prompt_patterns.md +18 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/references/prompt_anatomy.md +18 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/character_reference_sheet_prompt.md +5 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/cinematic_still_prompt.md +3 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/keyframe_prompt.md +6 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/location_reference_prompt.md +3 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/templates/prop_prompt.md +3 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-image-prompting/tests/image_prompt_completeness_tests.md +5 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/SKILL.md +84 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/checklists/video_prompt_quality_checklist.md +9 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/examples/image_prompt_to_video_prompt.md +3 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/ai_film_production_pipeline.md +21 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/audio_motion_timing.md +16 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/camera_lens_movement.md +26 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/negative_prompt_patterns.md +18 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/prompt_anatomy.md +18 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/references/video_prompt_components.md +25 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/image_to_video_prompt.md +5 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/text_to_video_prompt.md +5 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/templates/video_beat_prompt.md +9 -0
- package/resources/skills/director-skills/upstream/skills/cinematic-video-prompting/tests/video_prompt_completeness_tests.md +5 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/SKILL.md +82 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/checklists/model_export_checklist.md +9 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/failed_model_transfer_diagnosis.md +5 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/image_prompt_translation.md +10 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/same_scene_across_models.md +9 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/universal_prompt_to_model_specific_exports.md +14 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/examples/video_prompt_translation.md +9 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/failure_modes_by_model.md +13 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/image_model_profiles.md +226 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/model_capability_matrix.md +24 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/model_update_protocol.md +10 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/parameter_compatibility.md +20 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/prompt_translation_rules.md +18 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/references/video_model_profiles.md +251 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/model_comparison_table.md +4 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/model_specific_prompt_export.md +21 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/multi_model_export_package.md +18 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/prompt_translation_report.md +13 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/templates/universal_prompt_brief.md +25 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/model_routing_tests.md +8 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/prompt_translation_tests.md +7 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/research_provenance_tests.md +6 -0
- package/resources/skills/director-skills/upstream/skills/model-adaptation/tests/unknown_capability_tests.md +7 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/SKILL.md +82 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/checklists/diagnostic_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/checklists/release_quality_checklist.md +9 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/examples/failed_output_to_revised_prompt.md +10 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/examples/final_prompt_package_export.md +10 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/failure_modes.md +13 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/iteration_diagnostics.md +17 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/revision_loops.md +17 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/references/story_voice_release_qc.md +30 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/failed_output_intake.md +13 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/final_production_package.md +11 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/templates/prompt_revision_report.md +17 -0
- package/resources/skills/director-skills/upstream/skills/prompt-iteration-and-diagnostics/tests/prompt_quality_checklist_tests.md +6 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/SKILL.md +81 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/checklists/scene_quality_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/examples/scene_to_screenplay_excerpt.md +18 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/dialogue_and_subtext.md +15 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/fountain_workflow.md +29 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/scene_construction.md +20 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/references/screenplay_format.md +18 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/beat_sheet.md +6 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/dialogue_pass.md +9 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/fountain_scene.md +25 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/templates/screenplay_scene.md +19 -0
- package/resources/skills/director-skills/upstream/skills/screenplay-and-scene-writing/tests/screenplay_scene_tests.md +6 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/SKILL.md +83 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/checklists/concept_quality_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/examples/idea_to_logline.md +13 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/examples/logline_to_outline.md +10 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/references/ai_storytelling_workflow.md +46 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/references/continuity_handoff.md +8 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/references/screenplay_structure.md +19 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/references/story_development_workflow.md +23 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/beat_sheet.md +7 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/idea_intake.md +16 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/logline.md +10 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/short_film_treatment.md +23 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/short_story_plan.md +22 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/story_premise.md +19 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/templates/story_revision_audit.md +22 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/tests/output_format_tests.md +3 -0
- package/resources/skills/director-skills/upstream/skills/short-film-development/tests/routing_tests.md +7 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/SKILL.md +77 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/checklists/shotlist_quality_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/examples/screenplay_scene_to_shot_list.md +8 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/camera_plan.md +11 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/production_breakdown.md +11 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/references/shotlist_schema.md +21 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/asset_list.md +7 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/camera_plan.md +10 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/scene_breakdown.md +16 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/templates/shot_list.md +5 -0
- package/resources/skills/director-skills/upstream/skills/shotlist-and-visual-breakdown/tests/screenplay_to_shotlist_tests.md +5 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/SKILL.md +77 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/checklists/style_quality_checklist.md +8 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/examples/genre_to_visual_direction.md +15 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/camera_lens_movement.md +26 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/cinematic_language.md +32 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/genre_style_tone.md +17 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/references/lighting_and_photorealism.md +19 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/templates/visual_style_bible.md +33 -0
- package/resources/skills/director-skills/upstream/skills/style-cinematography-director/tests/style_translation_tests.md +5 -0
- package/resources/skills/director-skills/upstream/tests/master_router_tests.md +80 -0
- package/resources/skills/drama-production/manifest.json +933 -0
- package/resources/skills/drama-production/upstream/LICENSE +21 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/SKILL.md +153 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/creator-decision.example.jsonl +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/app.js +1263 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/index.html +114 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/styles.css +297 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/production-observation.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/project-template/short-drama.json +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/assets/reference-observation.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/audience-reveal.md +21 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/contract-and-ownership.md +45 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/creator-documents.md +230 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/creator-workflow.md +98 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards/Q/347/211/210/350/241/250/350/276/276.md +73 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//344/272/214/347/273/264/345/212/250/346/200/201/346/274/253.md +74 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//345/233/275/346/274/253/344/272/214/346/254/241/345/205/203.md +79 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//345/256/236/346/213/215.md +75 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//346/260/264/345/242/250/347/254/224/350/247/246.md +85 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/form-cards//351/243/216/346/240/274/345/214/226/344/270/211/347/273/264.md +72 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/knowhow-index.md +85 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/look-development.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/pickup-and-alternate.md +24 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/production-form-profiles.md +126 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/reference-roles.md +53 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/references/runtime-preflight.md +24 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/scripts/creator_markdown_check.py +1413 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/scripts/dashboard_server.py +1798 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/scripts/project_tool.py +2454 -0
- package/resources/skills/drama-production/upstream/skills/short-drama/scripts/selftest.py +287 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/SKILL.md +76 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/character-look.example.jsonl +3 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/continuity.example.jsonl +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/decisions.example.jsonl +5 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/location-view.example.jsonl +3 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/occurrences.example.jsonl +5 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/assets/prop-state.example.jsonl +3 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/examples/minimal/characters.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/examples/minimal/looks.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/asset-review-checklist.md +82 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/character-and-look.md +190 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/continuity-delta.md +120 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/continuity-lock.md +122 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/identity-vs-variant.md +140 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/location-and-view.md +84 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/occurrence-extraction.md +108 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/prop-and-state.md +126 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/stage-contract.md +43 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/references/voice-direction.md +179 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/scripts/asset_check.py +267 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-assets/scripts/selftest.py +89 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/SKILL.md +157 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/adaptation-map.example.jsonl +1 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/creative-brief.md +120 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/episode-map.jsonl +1 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/assets/story-engine.md +181 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/adaptation-craft.md +219 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/creative-reference-intake.md +57 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/director-brief-craft.md +113 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/episode-design.md +509 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-and-hook-playbook.md +240 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//344/272/262/345/255/220/351/232/220/347/247/230.md +112 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//344/273/231/344/276/240/344/277/256/347/234/237.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/212/250/344/275/234/344/273/273/345/212/241.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/217/244/350/243/205/346/235/203/350/260/213.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/244/215/344/273/207/346/211/223/350/204/270.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//345/256/266/345/272/255/345/205/263/347/263/273.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//346/202/254/347/226/221/350/247/204/345/210/231.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//347/224/237/346/264/273/346/265/201.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//347/240/264/351/225/234/351/207/215/345/234/206.md +109 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//350/201/214/345/234/272/345/226/234/345/211/247.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//350/261/252/351/227/250/345/251/232/346/201/213.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards//350/272/253/344/273/275/351/224/231/344/275/215.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/genre-cards.md +92 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/mechanism-loop.md +282 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/multi-episode-intake.md +128 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/premise-devices.md +211 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/reveal-reversal-payoff.md +99 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/serial-character-and-memory.md +293 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/stage-contract.md +88 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/references/story-craft.md +359 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/scripts/episode_intake.py +699 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-develop/scripts/selftest.py +47 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/SKILL.md +146 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/README.md +60 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/package.json +15 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/remotion.config.ts +6 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/Root.tsx +26 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/Subtitles.tsx +88 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/font.ts +46 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/index.ts +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/src/schema.ts +32 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets/remotion/tsconfig.json +13 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/assets//345/211/252/350/276/221/345/215/225.md +43 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/cut-craft.md +38 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/delivery-verify.md +29 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/generated-footage.md +54 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/sound-and-subtitles.md +60 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/references/stage-contract.md +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/scripts/edit_tool.py +1156 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-edit/scripts/selftest.py +520 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/SKILL.md +73 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/image-prompt-spec.jsonl.md +187 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/image-prompts.md +42 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/lookdev-frame-spec.jsonl.md +128 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/assets/lookdev-prompts.md +34 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/examples/minimal-image-prompt-specs.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/character-and-look.md +153 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/common-recipe.md +241 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/edit-and-revision.md +110 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/location-plate.md +151 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/look-and-state-variant.md +97 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/lookdev-frame.md +34 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/production-sheet-recipes.md +177 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/prop-plate.md +137 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/review-and-fixtures.md +92 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/references/stage-contract.md +32 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/scripts/image_prompt_check.py +443 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-image-prompts/scripts/selftest.py +95 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/SKILL.md +245 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/assets/episode-candidate.example.jsonl +3 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/adaptation-triage.md +116 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/adaptation-value.md +124 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/aggregation-and-entities.md +155 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/chapter-extraction.md +144 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/references/stage-contract.md +67 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/scripts/novel_index.py +651 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-novel-analyze/scripts/selftest.py +51 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/SKILL.md +183 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/adapter-contract.md +219 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/gpt-image-2.md +24 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-h3-video.md +86 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-music.md +25 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/minimax-speech.md +41 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/references/providers/seedance.md +64 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/fixture_adapter.py +77 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/production_tool.py +2205 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/provider_adapters.py +1747 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-produce/scripts/selftest.py +135 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/SKILL.md +118 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/finding-template.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/supersession-decision.example.json +42 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/assets/verdict-template.json +32 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/examples/minimal-findings.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/examples/minimal-verdict.json +34 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/anti-template-repair.md +109 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/production-quality-gates.md +276 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/project-calibration.md +83 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/review-method.md +81 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-assets-prompts.md +111 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-source-analysis.md +108 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-story-script.md +264 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/rubric-visual-motion.md +184 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/references/stage-contract.md +28 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/scripts/review_check.py +325 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-review/scripts/selftest.py +87 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/SKILL.md +175 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/coverage-audition.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/coverage-template.json +49 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/keyframe-prompts.md +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/keyframe-template.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/revision-lineage.fragment.json +12 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/scene-visual-plan.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/assets/shot-template.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/blocking-playbooks.md +216 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/comic-keyframe-lexicon.md +156 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/coverage-audition.md +34 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/keyframe-craft.md +174 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/lighting-craft.md +39 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/production-shot-grammar.md +279 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/review-and-fixtures.md +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/scene-visual-plan.md +30 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/screenplay-to-keyframe-example.md +155 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/shot-craft.md +266 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/shot-revision-identity.md +25 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/references/stage-contract.md +57 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/scripts/selftest.py +191 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-storyboard/scripts/storyboard_check.py +824 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/SKILL.md +154 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/coverage-scope.fragment.json +21 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/delivery-container.jsonl.md +101 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/motion-spec.jsonl.md +217 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/motion-terminal.example.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/music-spec.jsonl.md +31 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/performance.fragment.json +38 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/assets/video-prompts.md +67 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/examples/minimal-music-specs.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/camera-audio-continuity.md +259 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/delivery-profile.md +273 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/generability.md +93 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/minimax-h3.md +253 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/motion-recipe.md +315 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/performance-action-timing.md +209 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/production-prompt-grammar.md +304 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/review-and-fixtures.md +139 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/seedance-2.0.md +50 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/seedance-2.5.md +122 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/stage-contract.md +60 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/references/target-model-profile.md +116 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/container_check.py +329 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/motion_timing_check.py +450 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/music_spec_check.py +327 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-video-prompts/scripts/selftest.py +82 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/SKILL.md +99 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/agents/openai.yaml +4 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/beats.jsonl +2 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/episode-card-standalone.json +120 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/episode-card.json +55 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/screenplay.md +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/assets/voice-record-sheet.jsonl.md +89 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/dialogue-craft.md +526 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/production-format-dialect.md +273 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/scene-handoff-capsule.md +25 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/scene-sound-dramaturgy.md +43 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/screenplay-format.md +266 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/script-craft.md +745 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/stage-contract.md +36 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/references/substitutable-realization.md +107 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/duration_estimate.py +309 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/screenplay_index.py +1091 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/selftest.py +229 -0
- package/resources/skills/drama-production/upstream/skills/short-drama-write/scripts/voice_sheet_check.py +416 -0
- package/resources/skills/viora-canvas-production/manifest.json +23 -0
- package/resources/skills/viora-canvas-production/references/canvas-contract.md +50 -0
- package/resources/skills/viora-canvas-production/references/creative-production.md +50 -0
- package/resources/skills/viora-canvas-production/references/generation-delivery.md +36 -0
- package/resources/skills/viora-canvas-production/references/production-ledger.md +25 -0
package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/index.html
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="zh-CN">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6
|
+
<meta name="color-scheme" content="dark">
|
|
7
|
+
<title>短剧创作台</title>
|
|
8
|
+
<link rel="icon" href="data:,">
|
|
9
|
+
<link rel="stylesheet" href="/styles.css">
|
|
10
|
+
</head>
|
|
11
|
+
<body>
|
|
12
|
+
<header class="app-header">
|
|
13
|
+
<a class="brand" href="/" aria-label="回到创作台顶部">
|
|
14
|
+
<span class="brand-mark" aria-hidden="true">场</span>
|
|
15
|
+
<h1 class="brand-title">短剧创作台</h1>
|
|
16
|
+
</a>
|
|
17
|
+
<div class="project-tools">
|
|
18
|
+
<div id="workspaceStatus" aria-live="polite"></div>
|
|
19
|
+
<label class="project-picker">
|
|
20
|
+
<span>正在创作</span>
|
|
21
|
+
<select id="projects" aria-label="选择短剧项目"></select>
|
|
22
|
+
</label>
|
|
23
|
+
</div>
|
|
24
|
+
</header>
|
|
25
|
+
|
|
26
|
+
<main id="mainContent" tabindex="-1">
|
|
27
|
+
<section id="projectOverview" class="project-overview" aria-labelledby="projectTitle">
|
|
28
|
+
<div class="overview-lead">
|
|
29
|
+
<span class="eyebrow">PROJECT OVERVIEW</span>
|
|
30
|
+
<div class="overview-title-row">
|
|
31
|
+
<div>
|
|
32
|
+
<h2 id="projectTitle">正在打开项目…</h2>
|
|
33
|
+
<p>浏览全剧内容、分集进度与已有媒体。创作和生产仍由 skills 完成。</p>
|
|
34
|
+
</div>
|
|
35
|
+
<button id="openScreenplay" class="secondary" disabled>阅读当前剧本</button>
|
|
36
|
+
</div>
|
|
37
|
+
<div id="overviewStats" class="overview-stats" aria-live="polite"></div>
|
|
38
|
+
</div>
|
|
39
|
+
<div class="overview-flow">
|
|
40
|
+
<div class="section-heading">
|
|
41
|
+
<div><span class="eyebrow">EPISODES</span><h3>分集进度</h3></div>
|
|
42
|
+
<span id="episodeHint" class="section-note"></span>
|
|
43
|
+
</div>
|
|
44
|
+
<div id="episodeStrip" class="episode-strip" aria-label="按分集浏览"></div>
|
|
45
|
+
</div>
|
|
46
|
+
<div id="mediaShowcase" class="media-showcase" hidden>
|
|
47
|
+
<div class="section-heading">
|
|
48
|
+
<div><span class="eyebrow">MEDIA</span><h3>已有制作成果</h3></div>
|
|
49
|
+
<span class="section-note">仅展示 · 生产需在 skill 中明确确认</span>
|
|
50
|
+
</div>
|
|
51
|
+
<div id="mediaGallery" class="media-gallery"></div>
|
|
52
|
+
</div>
|
|
53
|
+
</section>
|
|
54
|
+
|
|
55
|
+
<section class="creator-desk" aria-label="创作内容">
|
|
56
|
+
<aside class="content-nav">
|
|
57
|
+
<div class="content-nav-heading">
|
|
58
|
+
<h2>本剧内容</h2>
|
|
59
|
+
<label class="creator-search"><span class="sr-only">搜索内容标题或集数</span><input id="search" type="search" placeholder="搜索标题或集数"></label>
|
|
60
|
+
</div>
|
|
61
|
+
<div id="contentList" class="content-list" aria-live="polite"></div>
|
|
62
|
+
</aside>
|
|
63
|
+
|
|
64
|
+
<section id="documentPane" class="document-pane" aria-labelledby="filename">
|
|
65
|
+
<div class="document-toolbar">
|
|
66
|
+
<div class="file-identity">
|
|
67
|
+
<span id="fileKind" class="file-location">创作正文</span>
|
|
68
|
+
<h2 id="filename">创作内容</h2>
|
|
69
|
+
<span id="fileMeta" class="file-meta"></span>
|
|
70
|
+
</div>
|
|
71
|
+
<div class="toolbar-actions">
|
|
72
|
+
<button id="editMode" class="secondary" aria-pressed="false" disabled>修改正文</button>
|
|
73
|
+
<button id="save" class="primary" disabled>已保存</button>
|
|
74
|
+
</div>
|
|
75
|
+
</div>
|
|
76
|
+
<div class="content-stage">
|
|
77
|
+
<textarea id="editor" hidden disabled spellcheck="false" aria-label="内容编辑器"></textarea>
|
|
78
|
+
<article id="preview" class="document-preview empty-document" aria-label="内容预览"></article>
|
|
79
|
+
<div id="media" class="media" hidden></div>
|
|
80
|
+
</div>
|
|
81
|
+
<footer class="document-footer"><div id="message" role="status" aria-live="polite"></div><span>⌘/Ctrl + S 保存</span></footer>
|
|
82
|
+
</section>
|
|
83
|
+
</section>
|
|
84
|
+
|
|
85
|
+
<section id="assistRow" class="assist-row" aria-label="创作辅助" hidden>
|
|
86
|
+
<article id="taskSummary" class="assist-card" aria-live="polite"></article>
|
|
87
|
+
<article id="exportSummary" class="assist-card" aria-live="polite"></article>
|
|
88
|
+
</section>
|
|
89
|
+
</main>
|
|
90
|
+
|
|
91
|
+
<div id="notices" class="notices" aria-live="polite"></div>
|
|
92
|
+
|
|
93
|
+
<!-- One drawn icon family: 24×24 grid, one stroke weight, cloned by app.js.
|
|
94
|
+
They live in markup so the script never needs the SVG namespace string. -->
|
|
95
|
+
<template id="iconTemplates">
|
|
96
|
+
<svg data-icon="sources" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M12 6.5C10.4 5.2 8.4 4.5 6 4.5H4v13h2c2.4 0 4.4.7 6 2"/><path d="M12 6.5c1.6-1.3 3.6-2 6-2h2v13h-2c-2.4 0-4.4.7-6 2"/><path d="M12 6.5v15"/></svg>
|
|
97
|
+
<svg data-icon="analysis" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M5 4.5h9l3.5 3.5v6"/><path d="M14 4.5v3.5h3.5"/><path d="M8 9.5h5"/><path d="M8 13h3"/><path d="M14.5 15.5a3 3 0 1 0 0 6 3 3 0 0 0 0-6Z"/><path d="M16.8 20.3l2.7 2.2"/></svg>
|
|
98
|
+
<svg data-icon="project" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M12 3.5a8.5 8.5 0 1 0 0 17 8.5 8.5 0 0 0 0-17Z"/><path d="M15.4 8.6l-1.9 4.9-4.9 1.9 1.9-4.9 4.9-1.9Z"/></svg>
|
|
99
|
+
<svg data-icon="cast" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M12 12.5a4 4 0 1 0 0-8 4 4 0 0 0 0 8Z"/><path d="M4.5 20.5c1.4-3.4 4.1-5 7.5-5s6.1 1.6 7.5 5"/></svg>
|
|
100
|
+
<svg data-icon="story" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M6 3.5h8l4 4v13H6v-17Z"/><path d="M14 3.5v4h4"/><path d="M9 12.5h6"/><path d="M9 16h4"/></svg>
|
|
101
|
+
<svg data-icon="prompts" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M9.5 4l1.4 3.7 3.6 1.3-3.6 1.4L9.5 14l-1.4-3.6L4.5 9l3.6-1.3L9.5 4Z"/><path d="M17 13.5l.8 2.2 2.2.8-2.2.8-.8 2.2-.8-2.2-2.2-.8 2.2-.8.8-2.2Z"/></svg>
|
|
102
|
+
<svg data-icon="visual" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M4.5 5.5h15v13h-15v-13Z"/><path d="M4.5 15.5l4.2-4.2 3.3 3.3 3-3 4 4"/><path d="M9 9.7a1.2 1.2 0 1 0 0-2.4 1.2 1.2 0 0 0 0 2.4Z"/></svg>
|
|
103
|
+
<svg data-icon="storyboard" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M3.5 5.5h17v13h-17v-13Z"/><path d="M3.5 12h17"/><path d="M9.5 5.5v13"/><path d="M15.5 5.5v13"/></svg>
|
|
104
|
+
<svg data-icon="other" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M3.5 6.5h6l2 2.5h9v11h-17v-13.5Z"/></svg>
|
|
105
|
+
<svg data-icon="media" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M12 20.5a8.5 8.5 0 1 0 0-17 8.5 8.5 0 0 0 0 17Z"/><path d="M10.2 8.5l6 3.5-6 3.5v-7Z"/></svg>
|
|
106
|
+
<svg data-icon="image" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M4.5 5.5h15v13h-15v-13Z"/><path d="M4.5 15.5l4.2-4.2 3.3 3.3 3-3 4 4"/><path d="M9 9.7a1.2 1.2 0 1 0 0-2.4 1.2 1.2 0 0 0 0 2.4Z"/></svg>
|
|
107
|
+
<svg data-icon="video" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M4.5 5.5h15v13h-15v-13Z"/><path d="M10 9l5 3-5 3V9Z"/></svg>
|
|
108
|
+
<svg data-icon="audio" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M5 13v-2"/><path d="M9 16V8"/><path d="M13 19V5"/><path d="M17 16V8"/><path d="M21 13v-2"/></svg>
|
|
109
|
+
<svg data-icon="chevron" viewBox="0 0 24 24" aria-hidden="true" focusable="false"><path d="M9.5 6.5l5.5 5.5-5.5 5.5"/></svg>
|
|
110
|
+
</template>
|
|
111
|
+
|
|
112
|
+
<script src="/app.js"></script>
|
|
113
|
+
</body>
|
|
114
|
+
</html>
|
package/resources/skills/drama-production/upstream/skills/short-drama/assets/dashboard/styles.css
ADDED
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
:root {
|
|
2
|
+
color-scheme: dark;
|
|
3
|
+
|
|
4
|
+
/* Ground, then the desk, then what sits on it. */
|
|
5
|
+
--bg: #0d0c0b;
|
|
6
|
+
--workspace: #131210;
|
|
7
|
+
--surface: #171513;
|
|
8
|
+
--surface-raised: #211e1a;
|
|
9
|
+
|
|
10
|
+
/* Two line roles. --line and --line-soft draw structure and may stay quiet;
|
|
11
|
+
--line-control outlines real controls, so it clears 3:1 on every surface
|
|
12
|
+
it is used on (3.6:1 on --surface, 3.3:1 on --surface-raised). */
|
|
13
|
+
--line: #37312a;
|
|
14
|
+
--line-soft: #292520;
|
|
15
|
+
--line-control: #7a6d5e;
|
|
16
|
+
|
|
17
|
+
--ink: #f5efe5;
|
|
18
|
+
--ink-dark: #eee6dc;
|
|
19
|
+
--muted: #aaa095;
|
|
20
|
+
--muted-dim: #978c7f;
|
|
21
|
+
--accent: #e1643c;
|
|
22
|
+
--accent-strong: #ff7950;
|
|
23
|
+
--accent-wash: rgba(225, 100, 60, .12);
|
|
24
|
+
--success: #78b892;
|
|
25
|
+
--warning: #d9a550;
|
|
26
|
+
--danger: #e16d68;
|
|
27
|
+
|
|
28
|
+
/* Latin from the platform UI face, CJK from the platform CJK face. Naming a
|
|
29
|
+
font the page never loads (Inter) left the desk rendering differently on
|
|
30
|
+
every machine. */
|
|
31
|
+
--font-ui: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
|
|
32
|
+
"Hiragino Sans GB", "Microsoft YaHei", sans-serif;
|
|
33
|
+
/* Lining figures first. Georgia and Hoefler Text set EP001 in old-style
|
|
34
|
+
figures — it reads as "EP0o1" — and neither carries an lnum table to turn
|
|
35
|
+
them off, so the fix is the face order, not the feature. Latin from
|
|
36
|
+
Charter, CJK from the platform Song face behind it. */
|
|
37
|
+
--font-doc: Charter, "New York", "Iowan Old Style", "Times New Roman",
|
|
38
|
+
"Songti SC", "Noto Serif CJK SC", serif;
|
|
39
|
+
|
|
40
|
+
/* 4px base. Every gap, pad and inset below picks a step from this scale. */
|
|
41
|
+
--space-1: .25rem;
|
|
42
|
+
--space-2: .5rem;
|
|
43
|
+
--space-3: .75rem;
|
|
44
|
+
--space-4: 1rem;
|
|
45
|
+
--space-5: 1.25rem;
|
|
46
|
+
--space-6: 1.5rem;
|
|
47
|
+
--space-8: 2rem;
|
|
48
|
+
--space-10: 2.5rem;
|
|
49
|
+
--space-12: 3rem;
|
|
50
|
+
|
|
51
|
+
/* Fixed rem roles, ~1.15 apart. rem so browser zoom and the reader's own
|
|
52
|
+
font size still move the interface; 12px is the floor because Chinese
|
|
53
|
+
glyphs below it stop resolving. */
|
|
54
|
+
--text-2xs: .75rem;
|
|
55
|
+
--text-xs: .8125rem;
|
|
56
|
+
--text-sm: .875rem;
|
|
57
|
+
--text-base: .9375rem;
|
|
58
|
+
--text-md: 1.0625rem;
|
|
59
|
+
--text-lg: 1.25rem;
|
|
60
|
+
--text-xl: 1.5rem;
|
|
61
|
+
--text-read: 1rem;
|
|
62
|
+
|
|
63
|
+
--radius-sm: 6px;
|
|
64
|
+
--radius-md: 9px;
|
|
65
|
+
--radius-lg: 14px;
|
|
66
|
+
--radius-xl: 18px;
|
|
67
|
+
--radius-pill: 999px;
|
|
68
|
+
|
|
69
|
+
--ease: cubic-bezier(.2, .7, .3, 1);
|
|
70
|
+
--duration: 160ms;
|
|
71
|
+
|
|
72
|
+
--header-height: 4.625rem;
|
|
73
|
+
--desk-gutter: var(--space-4);
|
|
74
|
+
--measure: 54rem;
|
|
75
|
+
|
|
76
|
+
font-family: var(--font-ui);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
* { box-sizing: border-box; }
|
|
80
|
+
html { min-height: 100%; scroll-behavior: smooth; }
|
|
81
|
+
body { min-height: 100%; margin: 0; color: var(--ink); background: radial-gradient(circle at 78% -10%, rgba(225,100,60,.11), transparent 27rem), var(--bg); font: var(--text-base)/1.6 inherit; -webkit-font-smoothing: antialiased; }
|
|
82
|
+
button, input, select, textarea { font: inherit; }
|
|
83
|
+
button, input, select { color: inherit; border: 1px solid var(--line-control); border-radius: var(--radius-md); background: var(--surface); }
|
|
84
|
+
button { min-height: 2.5rem; padding: var(--space-2) var(--space-4); cursor: pointer; transition: border-color var(--duration) var(--ease), background var(--duration) var(--ease), color var(--duration) var(--ease); }
|
|
85
|
+
button:hover:not(:disabled) { border-color: var(--ink-dark); background: var(--surface-raised); }
|
|
86
|
+
button:active:not(:disabled) { background: var(--bg); }
|
|
87
|
+
button:disabled { cursor: not-allowed; opacity: .45; }
|
|
88
|
+
button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, a:focus-visible { outline: 3px solid var(--accent-strong); outline-offset: 3px; }
|
|
89
|
+
[hidden] { display: none !important; }
|
|
90
|
+
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
|
|
91
|
+
|
|
92
|
+
/* Belt and braces for a fallback face that defaults to old-style but does
|
|
93
|
+
carry the feature. See --font-doc for why the stack does the real work. */
|
|
94
|
+
.content-nav-heading h2, .file-identity h2, .assist-card h2, .document-preview { font-variant-numeric: lining-nums; }
|
|
95
|
+
|
|
96
|
+
/* One drawn icon family: 24×24 grid, one stroke weight, inherits its colour. */
|
|
97
|
+
.icon { flex: 0 0 auto; width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
|
|
98
|
+
|
|
99
|
+
.app-header { min-height: var(--header-height); padding: var(--space-3) clamp(var(--space-4), 4vw, var(--space-12)); display: flex; align-items: center; justify-content: space-between; gap: var(--space-6); border-bottom: 1px solid var(--line-soft); background: var(--bg); }
|
|
100
|
+
.brand { display: inline-flex; align-items: center; gap: var(--space-3); color: inherit; text-decoration: none; }
|
|
101
|
+
.brand-mark { display: grid; place-items: center; flex: 0 0 auto; width: 2.375rem; height: 2.375rem; border-radius: 50%; color: #16110d; background: var(--accent); font-family: var(--font-doc); font-size: var(--text-md); font-weight: 900; }
|
|
102
|
+
.brand-title { margin: 0; font-size: var(--text-md); font-weight: 650; letter-spacing: .01em; white-space: nowrap; }
|
|
103
|
+
.project-tools { display: flex; align-items: center; gap: var(--space-4); }
|
|
104
|
+
.project-picker { display: flex; align-items: center; gap: var(--space-2); color: var(--muted); font-size: var(--text-2xs); }
|
|
105
|
+
.project-picker select { min-width: 11.875rem; max-width: 36vw; min-height: 2.5rem; padding: var(--space-2) var(--space-8) var(--space-2) var(--space-3); color: var(--ink); }
|
|
106
|
+
|
|
107
|
+
main { width: min(100%, 100rem); margin: 0 auto; padding: var(--desk-gutter) clamp(var(--space-3), 1.5vw, var(--space-6)) var(--space-8); }
|
|
108
|
+
main:focus { outline: none; }
|
|
109
|
+
|
|
110
|
+
.project-overview { padding: clamp(var(--space-5), 3vw, var(--space-10)); display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(20rem, .75fr); gap: var(--space-8); border: 1px solid var(--line); border-radius: var(--radius-xl); background: linear-gradient(145deg, rgba(33,30,26,.96), rgba(19,18,16,.96)); box-shadow: 0 24px 60px rgba(0,0,0,.22); }
|
|
111
|
+
.overview-lead { min-width: 0; display: grid; align-content: start; gap: var(--space-4); }
|
|
112
|
+
.eyebrow { color: #d79072; font-size: var(--text-2xs); font-weight: 750; letter-spacing: .16em; }
|
|
113
|
+
.overview-title-row { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--space-6); }
|
|
114
|
+
.overview-title-row > div { min-width: 0; }
|
|
115
|
+
.overview-title-row h2 { margin: 0; overflow-wrap: anywhere; font-family: var(--font-doc); font-size: clamp(1.9rem, 3vw, 3.25rem); font-weight: 580; line-height: 1.08; letter-spacing: -.02em; }
|
|
116
|
+
.overview-title-row p { max-width: 44rem; margin: var(--space-3) 0 0; color: var(--muted); }
|
|
117
|
+
.overview-title-row button { flex: 0 0 auto; }
|
|
118
|
+
.overview-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-2); }
|
|
119
|
+
.overview-stat { min-width: 0; padding: var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-md); background: rgba(13,12,11,.38); }
|
|
120
|
+
.overview-stat strong { display: block; overflow: hidden; font-family: var(--font-doc); font-size: var(--text-xl); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
|
|
121
|
+
.overview-stat span { display: block; margin-top: 2px; color: var(--muted); font-size: var(--text-2xs); }
|
|
122
|
+
.overview-flow, .media-showcase { min-width: 0; display: grid; align-content: start; gap: var(--space-3); }
|
|
123
|
+
.media-showcase { grid-column: 1 / -1; padding-top: var(--space-6); border-top: 1px solid var(--line); }
|
|
124
|
+
.section-heading { min-height: 2.75rem; display: flex; align-items: end; justify-content: space-between; gap: var(--space-4); }
|
|
125
|
+
.section-heading h3 { margin: 2px 0 0; font-family: var(--font-doc); font-size: var(--text-lg); font-weight: 600; }
|
|
126
|
+
.section-note { color: var(--muted); font-size: var(--text-2xs); text-align: right; }
|
|
127
|
+
.episode-strip { display: grid; gap: var(--space-2); }
|
|
128
|
+
.episode-card { width: 100%; min-height: 4.5rem; padding: var(--space-3) var(--space-4); display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--space-3); border-color: var(--line); background: rgba(13,12,11,.34); text-align: left; }
|
|
129
|
+
.episode-card:hover:not(:disabled) { border-color: var(--line-control); }
|
|
130
|
+
.episode-number { display: grid; place-items: center; width: 2.25rem; height: 2.25rem; border-radius: var(--radius-sm); color: var(--accent-strong); background: var(--accent-wash); font-size: var(--text-2xs); font-weight: 750; }
|
|
131
|
+
.episode-copy { min-width: 0; display: grid; }
|
|
132
|
+
.episode-copy strong { overflow: hidden; font-size: var(--text-sm); text-overflow: ellipsis; white-space: nowrap; }
|
|
133
|
+
.episode-copy small { color: var(--muted); font-size: var(--text-2xs); }
|
|
134
|
+
.episode-state { color: var(--muted); font-size: var(--text-2xs); }
|
|
135
|
+
.media-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr)); gap: var(--space-3); }
|
|
136
|
+
.media-card { min-width: 0; min-height: 9.5rem; padding: 0; overflow: hidden; display: grid; grid-template-rows: 6.25rem auto; border-color: var(--line); background: rgba(13,12,11,.42); text-align: left; }
|
|
137
|
+
.media-card:hover:not(:disabled) { border-color: var(--accent); }
|
|
138
|
+
.media-card-visual { position: relative; display: grid; place-items: center; overflow: hidden; color: var(--muted); background: linear-gradient(135deg, #2b2722, #11100e); }
|
|
139
|
+
.media-card-visual img { width: 100%; height: 100%; object-fit: cover; transition: transform 240ms var(--ease); }
|
|
140
|
+
.media-card:hover .media-card-visual img { transform: scale(1.025); }
|
|
141
|
+
.media-card-visual .icon { width: 2rem; height: 2rem; color: #c9b8a7; }
|
|
142
|
+
.media-card-type { position: absolute; top: var(--space-2); right: var(--space-2); padding: 2px var(--space-2); border-radius: var(--radius-pill); color: var(--ink); background: rgba(13,12,11,.78); font-size: .6875rem; font-weight: 700; backdrop-filter: blur(5px); }
|
|
143
|
+
.media-card-copy { min-width: 0; padding: var(--space-3); display: grid; gap: 1px; }
|
|
144
|
+
.media-card-copy strong, .media-card-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
145
|
+
.media-card-copy strong { font-size: var(--text-xs); }
|
|
146
|
+
.media-card-copy small { color: var(--muted); font-size: .6875rem; }
|
|
147
|
+
|
|
148
|
+
.creator-desk { height: min(50rem, calc(100dvh - var(--header-height) - var(--desk-gutter) - var(--space-6))); min-height: 38.75rem; margin-top: var(--space-4); display: grid; grid-template-columns: 18.75rem minmax(0, 1fr); overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-xl); background: var(--workspace); }
|
|
149
|
+
|
|
150
|
+
.content-nav { min-width: 0; min-height: 0; padding: var(--space-5) var(--space-3); display: grid; grid-template-rows: auto minmax(0, 1fr); gap: var(--space-4); border-right: 1px solid var(--line); background: var(--workspace); }
|
|
151
|
+
.content-nav-heading { padding: 0 var(--space-1); display: grid; gap: var(--space-3); }
|
|
152
|
+
.content-nav-heading h2 { margin: 0; font-family: var(--font-doc); font-size: var(--text-xl); font-weight: 600; }
|
|
153
|
+
.creator-search { display: block; }
|
|
154
|
+
.creator-search input { width: 100%; min-height: 2.75rem; padding: var(--space-2) var(--space-3); }
|
|
155
|
+
.creator-search input::placeholder { color: var(--muted-dim); }
|
|
156
|
+
.content-list { min-height: 0; overflow: auto; display: grid; align-content: start; gap: var(--space-2); padding-bottom: var(--space-2); }
|
|
157
|
+
.content-nav-group { min-width: 0; }
|
|
158
|
+
.content-nav-group-toggle { width: 100%; min-height: 2rem; padding: var(--space-1) var(--space-2); display: grid; grid-template-columns: 1rem minmax(0, 1fr) auto; align-items: center; gap: var(--space-2); border-color: transparent; background: transparent; text-align: left; }
|
|
159
|
+
.content-nav-group-toggle:hover:not(:disabled) { border-color: transparent; background: var(--surface); }
|
|
160
|
+
.content-nav-group-toggle strong { font-size: var(--text-xs); font-weight: 650; }
|
|
161
|
+
.content-nav-group-count { color: var(--muted); font-size: var(--text-2xs); }
|
|
162
|
+
.content-nav-group-chevron { width: 1rem; height: 1rem; color: var(--muted); transform: rotate(90deg); transition: transform var(--duration) var(--ease); }
|
|
163
|
+
.content-nav-group-toggle[aria-expanded="false"] .content-nav-group-chevron { transform: rotate(0); }
|
|
164
|
+
.content-link-list { margin-top: var(--space-1); display: grid; gap: var(--space-1); }
|
|
165
|
+
.content-link { width: 100%; min-width: 0; padding: var(--space-2) var(--space-3); display: flex; align-items: center; gap: var(--space-3); border-color: transparent; background: transparent; text-align: left; }
|
|
166
|
+
.content-link:hover:not(:disabled) { border-color: transparent; background: var(--surface); }
|
|
167
|
+
.content-link-icon { color: var(--muted); transition: color var(--duration) var(--ease); }
|
|
168
|
+
.content-link.active { border-color: var(--accent); background: var(--accent-wash); }
|
|
169
|
+
.content-link.active .content-link-icon { color: var(--accent-strong); }
|
|
170
|
+
.content-link.active .content-link-copy strong { color: var(--ink); }
|
|
171
|
+
.content-link-copy { min-width: 0; display: grid; gap: 1px; }
|
|
172
|
+
.content-link-copy strong, .content-link-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
173
|
+
.content-link-copy strong { font-size: var(--text-sm); font-weight: 600; }
|
|
174
|
+
.content-link-copy small { color: var(--muted); font-size: var(--text-2xs); }
|
|
175
|
+
.empty-copy { margin: var(--space-3); color: var(--muted); }
|
|
176
|
+
|
|
177
|
+
/* Desktop Grid shrink contract: keep the long document inside .content-stage's scroll area. */
|
|
178
|
+
.document-pane { min-width: 0; min-height: 0; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; scroll-margin-top: var(--space-4); background: var(--workspace); }
|
|
179
|
+
.document-toolbar { min-height: 5.375rem; padding: var(--space-4) var(--space-5); display: flex; align-items: center; justify-content: space-between; gap: var(--space-5); border-bottom: 1px solid var(--line); }
|
|
180
|
+
.file-identity { min-width: 0; display: grid; gap: var(--space-1); }
|
|
181
|
+
.file-identity h2 { margin: 0; overflow: hidden; font-family: var(--font-doc); font-size: var(--text-lg); font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
|
|
182
|
+
/* Where the open file sits, not a label for the heading below it. */
|
|
183
|
+
.file-location { overflow: hidden; color: var(--muted); font-size: var(--text-2xs); text-overflow: ellipsis; white-space: nowrap; }
|
|
184
|
+
.file-meta { color: var(--warning); font-size: var(--text-2xs); }
|
|
185
|
+
.toolbar-actions { display: flex; align-items: center; gap: var(--space-2); }
|
|
186
|
+
.primary { border-color: var(--accent); color: #20130e; background: var(--accent); font-weight: 700; }
|
|
187
|
+
.primary:hover:not(:disabled) { border-color: var(--accent-strong); background: var(--accent-strong); }
|
|
188
|
+
/* "已保存" is a state readout, not an offer. A dimmed accent slab reads as a
|
|
189
|
+
broken button; drop to the quiet control treatment instead. */
|
|
190
|
+
.primary:disabled { border-color: var(--line); color: var(--muted); background: transparent; opacity: 1; }
|
|
191
|
+
.secondary { color: var(--ink); background: var(--surface-raised); font-weight: 600; }
|
|
192
|
+
.content-stage { min-height: 0; overflow: auto; background: var(--workspace); }
|
|
193
|
+
/* Editor and preview hold the same text, so they share the measure and the
|
|
194
|
+
inset — toggling 修改正文 must not move the line the creator was reading. */
|
|
195
|
+
#editor { display: block; width: min(var(--measure), 100%); min-height: 42.5rem; margin: 0 auto; padding: var(--space-12) var(--space-8); resize: vertical; border: 0; outline-offset: -3px; color: var(--ink); background: var(--workspace); font: var(--text-read)/1.8 var(--font-doc); }
|
|
196
|
+
.document-preview { width: min(var(--measure), 100%); min-height: 42.5rem; margin: 0 auto; padding: var(--space-12) var(--space-8); color: var(--ink-dark); background: transparent; }
|
|
197
|
+
.empty-document { display: grid; place-items: center; color: var(--muted-dim); text-align: center; }
|
|
198
|
+
.document-preview h1, .document-preview h2, .document-preview h3, .document-preview h4 { margin: 1.45em 0 .5em; font-family: var(--font-doc); line-height: 1.25; }
|
|
199
|
+
.document-preview h1:first-child, .document-preview h2:first-child { margin-top: 0; }
|
|
200
|
+
.document-preview p, .document-preview li { font-size: var(--text-read); line-height: 1.8; }
|
|
201
|
+
.document-preview blockquote { margin: 1.2em 0; padding: var(--space-3) var(--space-4); border: 1px solid var(--line); border-radius: var(--radius-sm); color: var(--muted); }
|
|
202
|
+
.document-preview code { padding: 2px 5px; border-radius: 4px; background: rgba(255,255,255,.07); }
|
|
203
|
+
|
|
204
|
+
.document-loading { display: block; }
|
|
205
|
+
.skeleton { display: grid; gap: var(--space-4); }
|
|
206
|
+
.skeleton-line { height: .875rem; border-radius: var(--radius-sm); background: linear-gradient(90deg, var(--surface-raised) 25%, #322d27 50%, var(--surface-raised) 75%) 0 0 / 300% 100%; animation: skeleton-sweep 1.4s var(--ease) infinite; }
|
|
207
|
+
.skeleton-heading { width: 45%; height: 1.75rem; margin-bottom: var(--space-4); }
|
|
208
|
+
@keyframes skeleton-sweep { from { background-position: 150% 0; } to { background-position: -150% 0; } }
|
|
209
|
+
|
|
210
|
+
.structured-card { margin-bottom: var(--space-4); padding: var(--space-5); border: 1px solid var(--line); border-radius: var(--radius-md); background: var(--surface-raised); }
|
|
211
|
+
.record-number { display: block; margin-bottom: var(--space-3); color: #c89b7f; font-size: var(--text-2xs); font-weight: 700; letter-spacing: .1em; }
|
|
212
|
+
.structured-fields { margin: 0; display: grid; grid-template-columns: minmax(5.625rem, .3fr) 1fr; gap: var(--space-2) var(--space-5); }
|
|
213
|
+
.structured-fields dt { color: #b5a79a; font-size: var(--text-xs); font-weight: 650; }
|
|
214
|
+
.structured-fields dd { margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; }
|
|
215
|
+
.structured-list { margin: 0; padding-left: 1.15em; }
|
|
216
|
+
.structured-nested { margin: 0; display: grid; grid-template-columns: minmax(5rem, .3fr) 1fr; gap: var(--space-1) var(--space-3); }
|
|
217
|
+
.structured-nested dd { margin: 0; }
|
|
218
|
+
.plain-copy { white-space: pre-wrap; }
|
|
219
|
+
.preview-warning { padding: var(--space-4); border: 1px solid rgba(225,109,104,.5); border-radius: var(--radius-sm); color: #f0aaa5; background: rgba(225,109,104,.09); }
|
|
220
|
+
|
|
221
|
+
.media { min-height: 42.5rem; }
|
|
222
|
+
.media-shell { min-height: 42.5rem; display: grid; grid-template-rows: minmax(0, 1fr) auto; }
|
|
223
|
+
.media-stage { min-height: 0; padding: var(--space-8); display: grid; place-items: center; background: #080807; }
|
|
224
|
+
.media-stage img, .media-stage video { max-width: 100%; max-height: 40.625rem; object-fit: contain; box-shadow: 0 15px 55px rgba(0,0,0,.4); }
|
|
225
|
+
.media-stage audio { width: min(38rem, 100%); }
|
|
226
|
+
.media-facts { padding: var(--space-3) var(--space-6); display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); color: var(--muted); border-top: 1px solid var(--line); }
|
|
227
|
+
.document-footer { min-height: 2.875rem; padding: var(--space-2) var(--space-5); display: flex; justify-content: space-between; gap: var(--space-5); border-top: 1px solid var(--line); color: var(--muted); font-size: var(--text-2xs); }
|
|
228
|
+
#message[data-tone="success"] { color: var(--success); }
|
|
229
|
+
#message[data-tone="warning"] { color: var(--warning); }
|
|
230
|
+
#message[data-tone="danger"] { color: var(--danger); }
|
|
231
|
+
|
|
232
|
+
.assist-row { margin-top: var(--space-4); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
|
|
233
|
+
.assist-row.single { grid-template-columns: 1fr; }
|
|
234
|
+
.assist-card { min-height: 10.625rem; padding: var(--space-6); display: grid; align-content: start; gap: var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--surface); }
|
|
235
|
+
.assist-card h2 { margin: 0; font-family: var(--font-doc); font-size: var(--text-xl); font-weight: 600; }
|
|
236
|
+
.assist-card p { margin: 0 0 var(--space-2); color: var(--muted); }
|
|
237
|
+
.assist-card button { justify-self: start; }
|
|
238
|
+
.status-pill { display: inline-flex; width: fit-content; padding: var(--space-1) var(--space-3); border: 1px solid var(--line); border-radius: var(--radius-pill); color: var(--muted); background: rgba(255,255,255,.025); font-size: var(--text-2xs); font-weight: 650; }
|
|
239
|
+
.status-pill[data-tone="success"] { border-color: rgba(120,184,146,.34); color: var(--success); }
|
|
240
|
+
.status-pill[data-tone="warning"] { border-color: rgba(217,165,80,.38); color: var(--warning); }
|
|
241
|
+
.status-pill[data-tone="danger"] { border-color: rgba(225,109,104,.4); color: var(--danger); }
|
|
242
|
+
.notices { position: fixed; right: var(--space-4); bottom: var(--space-4); z-index: 20; width: min(25.625rem, calc(100vw - var(--space-8))); }
|
|
243
|
+
.notice { padding: var(--space-3) var(--space-4); border: 1px solid var(--line-control); border-radius: var(--radius-md); background: var(--surface-raised); box-shadow: 0 12px 42px rgba(0,0,0,.36); }
|
|
244
|
+
.notice[data-tone="danger"] { border-color: rgba(225,109,104,.45); color: var(--danger); }
|
|
245
|
+
.notice[data-tone="success"] { border-color: rgba(120,184,146,.42); color: var(--success); }
|
|
246
|
+
|
|
247
|
+
@media (max-width: 860px) {
|
|
248
|
+
.project-overview { grid-template-columns: 1fr; }
|
|
249
|
+
.media-showcase { grid-column: 1; }
|
|
250
|
+
.creator-desk { height: auto; min-height: 0; grid-template-columns: 1fr; overflow: visible; }
|
|
251
|
+
.content-nav { display: block; border-right: 0; border-bottom: 1px solid var(--line); }
|
|
252
|
+
.content-nav-heading { margin-bottom: var(--space-4); }
|
|
253
|
+
.content-list { max-height: 16.25rem; }
|
|
254
|
+
.document-pane { min-height: 40rem; }
|
|
255
|
+
.content-stage { max-height: none; }
|
|
256
|
+
#editor, .document-preview { padding: var(--space-8) var(--space-6); }
|
|
257
|
+
.assist-row { grid-template-columns: 1fr; }
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
@media (max-width: 620px) {
|
|
261
|
+
.app-header { align-items: flex-start; padding-inline: var(--space-4); }
|
|
262
|
+
.project-tools { align-items: flex-end; flex-direction: column-reverse; gap: var(--space-1); }
|
|
263
|
+
.project-picker { align-items: flex-start; flex-direction: column; gap: var(--space-1); }
|
|
264
|
+
.project-picker select { min-width: 9.0625rem; max-width: 47vw; }
|
|
265
|
+
button, input, select { min-height: 2.75rem; }
|
|
266
|
+
.content-nav-group-toggle { min-height: 2.75rem; }
|
|
267
|
+
main { padding-top: var(--space-3); }
|
|
268
|
+
.project-overview { padding: var(--space-5); gap: var(--space-6); }
|
|
269
|
+
.overview-title-row { align-items: stretch; flex-direction: column; }
|
|
270
|
+
.overview-title-row button { width: 100%; }
|
|
271
|
+
.overview-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
|
272
|
+
.section-heading { align-items: start; flex-direction: column; gap: var(--space-1); }
|
|
273
|
+
.section-note { text-align: left; }
|
|
274
|
+
.media-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
|
|
275
|
+
.document-toolbar { align-items: stretch; flex-direction: column; }
|
|
276
|
+
.toolbar-actions { justify-content: space-between; }
|
|
277
|
+
.toolbar-actions button { flex: 1; }
|
|
278
|
+
#editor, .document-preview { min-height: 37.5rem; padding: var(--space-6) var(--space-5); }
|
|
279
|
+
.structured-fields, .structured-nested { grid-template-columns: 1fr; gap: var(--space-1); }
|
|
280
|
+
.structured-fields dd, .structured-nested dd { margin-bottom: var(--space-3); }
|
|
281
|
+
.document-footer span { display: none; }
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
@media (max-width: 420px) {
|
|
285
|
+
.app-header { flex-direction: column; }
|
|
286
|
+
.project-tools, .project-picker { width: 100%; align-items: stretch; }
|
|
287
|
+
.project-picker select { width: 100%; max-width: none; }
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
@media (max-width: 360px) {
|
|
291
|
+
.media-gallery { grid-template-columns: 1fr; }
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
@media (prefers-reduced-motion: reduce) {
|
|
295
|
+
html { scroll-behavior: auto; }
|
|
296
|
+
*, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
|
|
297
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
{"record_type":"sources","schema_version":"1.0.0","sources":{"prompt-or-spec":{"owner":"short-drama-image-prompts | short-drama-video-prompts | short-drama-storyboard","artifact":"<project-relative-text-artifact>"},"reference-record":{"owner":"<reference-owner>","artifact":"<project-relative-reference-record>"},"short-drama":{"owner":"creator","artifact":"short-drama.json"}}}
|
|
2
|
+
{"example_only":true,"observation_id":"PROD-OBS-001","evidence_state":"active","observation_kind":"generated_result","method":"creator_supplied_description | authorized_visual_inspection","observer":{"owner":"<creator-or-authorized-observer>","independent_from_prompt_owner":false},"prompt_or_spec_refs":[{"src":"prompt-or-spec","record_id":"<stable-record-id>","field":"/<exact-field>"}],"reference_conditions":[{"slot_id":"REF-01","order":1,"artifact_ref":{"src":"reference-record","record_id":"<stable-record-id>"},"role":"identity | style | geography | composition | scale | effect | start_frame | end_frame"}],"production_configuration":{"profile_ref":{"src":"short-drama","field":"/creator_authority/production_profile"},"external_configuration_note":"<private-safe description or unknown; no provider task fields>"},"observations":[{"region_or_interval":"<bounded region or interval>","direct_observation":"<what the authorized observer actually saw/heard>","limitations":["<occlusion/resolution/unseen interval/unknown cause>"]}],"valid_only_for":{"project_id":"<project-id>"},"limitations":["This observation does not prove general model behavior or cross-project quality"],"observed_at":"<ISO-8601>","provenance":"creator_project"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"schema_version": "1.0.0-draft",
|
|
3
|
+
"project_id": "LOCAL-PROJECT-ID",
|
|
4
|
+
"title": "未命名短剧",
|
|
5
|
+
"language": "zh-CN",
|
|
6
|
+
"format": {
|
|
7
|
+
"aspect_ratio": "9:16",
|
|
8
|
+
"prompt_language": "en",
|
|
9
|
+
"episode_count": null,
|
|
10
|
+
"target_seconds_per_episode": null,
|
|
11
|
+
"pacing": {
|
|
12
|
+
"spoken_characters_per_second": null,
|
|
13
|
+
"seconds_per_action_paragraph": null
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"creator_authority": {
|
|
17
|
+
"decisions_artifact": "创作者决策/",
|
|
18
|
+
"constraints": [],
|
|
19
|
+
"visual_direction": {
|
|
20
|
+
"status": "unset",
|
|
21
|
+
"choices": {
|
|
22
|
+
"look_development": null
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"production_profile": {
|
|
26
|
+
"status": "unset",
|
|
27
|
+
"choices": {}
|
|
28
|
+
},
|
|
29
|
+
"delivery_surface": {
|
|
30
|
+
"status": "unset",
|
|
31
|
+
"aspect": null,
|
|
32
|
+
"overlay_regions": [],
|
|
33
|
+
"source_ref": null
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
{"record_type":"sources","schema_version":"1.0.0","sources":{"characters":{"owner":"short-drama-assets","artifact":"设定集/characters.jsonl"}}}
|
|
2
|
+
{"example_only":true,"observation_id":"REF-OBS-001","evidence_state":"active","observation_kind":"input_reference","admission_status":"creator_described | visually_inspected","reference_artifact_ref":{"src":"characters","record_id":"CHAR-EXAMPLE","authority":"candidate"},"method":"creator_supplied_description | authorized_visual_inspection","observer":{"owner":"<creator-or-reference-owner-or-authorized-inspector>","independent_from_prompt_owner":false},"observed_regions":[{"region":"<whole frame or bounded region>","visible_text_or_glyphs":"<none observed or private-safe description>","identity_or_geography_evidence":"<only the visible facts this reference may support>","crop_mask_or_cleanup":"<none or declared treatment>","limitations":["<occlusion/resolution/unseen area>"]}],"text_policy_conclusion":"compatible | conflict | unresolved","unresolved_risks":["<risk kept unresolved when evidence is absent or incomplete>"],"observed_at":"<ISO-8601>","provenance":"creator_project"}
|
package/resources/skills/drama-production/upstream/skills/short-drama/references/audience-reveal.md
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# 观众此刻可以知道什么
|
|
2
|
+
|
|
3
|
+
背影、门缝、画外声、浅景深和遮挡会决定观众何时知道一个人是谁、看见证据或发现门后有人。
|
|
4
|
+
需要同时防两种错:该给的信息被漂亮构图挡住;不该给的信息被镜头提前泄露。
|
|
5
|
+
|
|
6
|
+
## 一条事实一条判断
|
|
7
|
+
|
|
8
|
+
对每个有揭示时机的事实,在对应 `SHOT-...` 下写清:
|
|
9
|
+
|
|
10
|
+
- **事实来源**:来自哪个场景 ID、对白、动作或画面文字;
|
|
11
|
+
- **本镜权限**:现在展示,还是暂时扣住;
|
|
12
|
+
- **可见/可听载体**:观众具体能看到或听到什么;
|
|
13
|
+
- **释放时机**:若暂时扣住,在哪个可见事件后释放;
|
|
14
|
+
- **保护方法**:靠遮挡、景深、画外声、光线或构图怎样实现;
|
|
15
|
+
- **戏剧理由**:为什么这个时机改变理解或压力。
|
|
16
|
+
|
|
17
|
+
同一镜头里“来者认识主角”和“来者是谁”是两件事:可以让旧称呼先从画外传来,同时让来者的脸
|
|
18
|
+
留在暗处。揉成一句“稍后揭示”,下游就无法分别处理声音和身份。
|
|
19
|
+
|
|
20
|
+
扣住信息本身没有价值;说不出何时释放,就说明还没完成设计。审查时同时核对原文此刻允许透露什么,
|
|
21
|
+
以及本镜必须让观众明白什么。
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# 契约与所有权
|
|
2
|
+
|
|
3
|
+
## 工作流不是瀑布
|
|
4
|
+
|
|
5
|
+
```text
|
|
6
|
+
开发? -> 剧本 -> 视觉设定 -> 图片提示词
|
|
7
|
+
\-> 分镜 -> 视频提示词
|
|
8
|
+
\-> 明确确认后的媒体生产
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
可以从任一已有材料直接进入;Look Development 和审查都按需发生。每个 owner 只修改自己的 Markdown,
|
|
12
|
+
引用上游可见事实,但不静默改写它们。
|
|
13
|
+
|
|
14
|
+
## 输出语言
|
|
15
|
+
|
|
16
|
+
| 内容 | 有项目配置时 | 独立任务默认 |
|
|
17
|
+
|---|---|---|
|
|
18
|
+
| 创作者可读说明与审查 | `short-drama.json#/language` | 用户当前语言 |
|
|
19
|
+
| 图片、关键帧的可复制正文 | `short-drama.json#/format/prompt_language` | `en` |
|
|
20
|
+
| 视频的可复制正文 | 目标视频模型档案的 `production_profile.choices.video_prompt_language`;未声明时回退 `format.prompt_language` | 根据目标视频模型确认;未声明时使用用户当前语言 |
|
|
21
|
+
|
|
22
|
+
创作者说明、通用提示词语言和视频模型提示词语言互相独立;画面中的对白和可读文字来自剧本/视觉事实,
|
|
23
|
+
不由描述语言推断。
|
|
24
|
+
|
|
25
|
+
## 稳定身份与引用
|
|
26
|
+
|
|
27
|
+
创作文档条目使用创作者可见的稳定 ID:`EP001-SC001`、`IMG-...`、`SHOT-...`、`MOTION-...`。其中 `IMG-...` 专属《图片提示词.md》的提示词标题,不代表已有图片。显示名可以改变,身份不因此改变。跨文档条目引用直接写这些 ID;不写哈希、内部路径、隐藏状态或第二套 record ID。
|
|
28
|
+
|
|
29
|
+
真实输入参考图不是图片提示词条目,所以每张图使用独立稳定的 `REF-...` 槽位,槽位内写显式顺序、可见项目相对路径、中文名称、用途和控制范围。它不使用 `IMG-...`;路径只用 `/` 分隔,不写绝对路径、Windows 盘符/网络路径或项目外路径。
|
|
30
|
+
|
|
31
|
+
图片由创作者在项目外准备、生成时自行挂载时没有项目内路径可写,改用 `PLAN-...` 槽位:其余字段与 `REF-...` 相同,定位符写这张图对应的 `IMG-...` 板子或 `SHOT-...` 冻结关键帧。这里出现 `IMG-...` 不是把提示词条目当成图片,而是回答「这张图画的是哪一条已决定的事实」;`PLAN-...` 不声称项目里有文件,也因此不能作为生产输入。
|
|
32
|
+
|
|
33
|
+
## 规则分级
|
|
34
|
+
|
|
35
|
+
- `structural_invariant`:本地可证明的引用、ID、算术或显式矛盾;
|
|
36
|
+
- `reviewed_invariant`:需要结合语义证据判断的义务;
|
|
37
|
+
- `craft_default`:通常有效,但创作者可以说明理由覆盖;
|
|
38
|
+
- `taste_option`:表达选择,不能单独阻断。
|
|
39
|
+
|
|
40
|
+
字数、镜头数、情绪曲线和案例配方不是通用结构门槛。
|
|
41
|
+
|
|
42
|
+
## 信任与文件安全
|
|
43
|
+
|
|
44
|
+
普通创作不联网。实际媒体生产只允许项目外 adapter 读取环境凭据,并始终经过
|
|
45
|
+
`preview -> explicit confirm -> run`。不要把私有输入、凭据、绝对路径或非公开观察写入可交付文档。
|