@aswless_854771076/ai_short_studio_cli 0.1.98 → 0.1.100
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 +15 -313
- package/dist/base-command.d.ts +0 -6
- package/dist/base-command.js +1 -39
- package/dist/client/api-client.js +2 -19
- package/dist/commands/auth/login.d.ts +1 -2
- package/dist/commands/auth/login.js +2 -5
- package/dist/commands/auth/logout.d.ts +0 -1
- package/dist/commands/auth/signup.d.ts +0 -1
- package/dist/commands/auth/status.d.ts +0 -1
- package/dist/commands/canvas/apply.d.ts +0 -1
- package/dist/commands/canvas/asset/get.d.ts +0 -1
- package/dist/commands/canvas/asset/list.d.ts +0 -1
- package/dist/commands/canvas/asset/select.d.ts +1 -3
- package/dist/commands/canvas/asset/select.js +3 -22
- package/dist/commands/canvas/asset/upload.d.ts +0 -14
- package/dist/commands/canvas/asset/upload.js +3 -43
- package/dist/commands/canvas/continuity/analyze.d.ts +0 -1
- package/dist/commands/canvas/edge/connect.d.ts +0 -1
- package/dist/commands/canvas/edge/disconnect.d.ts +0 -1
- package/dist/commands/canvas/edge/list.d.ts +0 -1
- package/dist/commands/canvas/edge/list.js +1 -4
- package/dist/commands/canvas/episode/create.d.ts +0 -1
- package/dist/commands/canvas/episode/list.d.ts +0 -1
- package/dist/commands/canvas/folder/copy-cross-project.d.ts +0 -1
- package/dist/commands/canvas/folder/create.d.ts +0 -1
- package/dist/commands/canvas/folder/delete.d.ts +0 -1
- package/dist/commands/canvas/folder/list.d.ts +0 -1
- package/dist/commands/canvas/folder/move.d.ts +0 -1
- package/dist/commands/canvas/folder/rename.d.ts +0 -1
- package/dist/commands/canvas/folder/restore.d.ts +0 -1
- package/dist/commands/canvas/get.d.ts +0 -1
- package/dist/commands/canvas/inspect.d.ts +0 -1
- package/dist/commands/canvas/node/add.d.ts +1 -1
- package/dist/commands/canvas/node/add.js +2 -2
- package/dist/commands/canvas/node/delete.d.ts +0 -1
- package/dist/commands/canvas/node/edit-resource.d.ts +0 -2
- package/dist/commands/canvas/node/edit-resource.js +1 -9
- package/dist/commands/canvas/node/edit-shot.d.ts +0 -1
- package/dist/commands/canvas/node/get.d.ts +0 -1
- package/dist/commands/canvas/node/list.d.ts +0 -5
- package/dist/commands/canvas/node/list.js +2 -43
- package/dist/commands/canvas/node/run.d.ts +0 -15
- package/dist/commands/canvas/node/run.js +6 -142
- package/dist/commands/canvas/node/types.d.ts +0 -1
- package/dist/commands/canvas/node/update-many.d.ts +0 -1
- package/dist/commands/canvas/node/update.d.ts +0 -1
- package/dist/commands/canvas/settings/get.d.ts +0 -1
- package/dist/commands/canvas/settings/set.d.ts +0 -24
- package/dist/commands/canvas/settings/set.js +1 -60
- package/dist/commands/config/get.d.ts +0 -1
- package/dist/commands/config/set.d.ts +0 -2
- package/dist/commands/config/set.js +2 -55
- package/dist/commands/preflight.d.ts +0 -1
- package/dist/commands/preflight.js +1 -9
- package/dist/commands/project/create.d.ts +0 -1
- package/dist/commands/project/delete.d.ts +0 -1
- package/dist/commands/project/get.d.ts +0 -1
- package/dist/commands/project/list.d.ts +0 -1
- package/dist/commands/project/update.d.ts +0 -1
- package/dist/commands/skill/install.d.ts +0 -1
- package/dist/commands/skill/install.js +0 -1
- package/dist/commands/skill/path.d.ts +0 -1
- package/dist/commands/skill/path.js +0 -1
- package/dist/commands/skill/status.d.ts +0 -1
- package/dist/commands/skill/status.js +0 -1
- package/dist/commands/task/cancel.d.ts +0 -1
- package/dist/commands/task/get.d.ts +0 -1
- package/dist/commands/task/wait.d.ts +0 -2
- package/dist/commands/task/wait.js +1 -6
- package/dist/domain/vvicat-api.d.ts +3 -63
- package/dist/domain/vvicat-api.js +9 -74
- package/dist/output/formatter.d.ts +0 -11
- package/dist/output/formatter.js +0 -20
- package/dist/preflight.d.ts +0 -1
- package/dist/preflight.js +1 -14
- package/dist/skill/command-flags.js +4 -7
- package/dist/skill/skill-manager.d.ts +2 -75
- package/dist/skill/skill-manager.js +15 -60
- package/package.json +3 -4
- package/scripts/postinstall.mjs +12 -7
- package/skills/using-vvicat-ai-short-studio-cli/SKILL.md +67 -27
- package/skills/using-vvicat-ai-short-studio-cli/references/commands/canvas.md +4 -3
- package/skills/using-vvicat-ai-short-studio-cli/references/commands/project.md +2 -26
- package/skills/using-vvicat-ai-short-studio-cli/references/commands.md +2 -2
- package/skills/using-vvicat-ai-short-studio-cli/references/editing-delivery.md +1 -1
- package/skills/using-vvicat-ai-short-studio-cli/references/h3-video-delivery.md +1 -1
- package/skills/using-vvicat-ai-short-studio-cli/references/humanizer/humanizer.md +9 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/SKILL.md +447 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/brief.md +93 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/project-files.md +246 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/reference-video.md +266 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/script-and-time.md +253 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/creation/transformations.md +141 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/environment/distribution.md +176 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/environment/local-tools.md +411 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/environment/model-and-provider.md +275 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/environment/profile.md +286 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/asset-and-shot-preproduction.md +193 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/b-roll.md +94 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/caption-tracking.md +125 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/captions.md +252 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/examples/conversation-images.md +218 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/examples/h3-base-prompt-writing.md +222 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/examples/h3-reference-prompt-writing.md +341 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/examples/image-direction.md +123 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/generated-dependencies.md +38 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/graphic-compositions.md +85 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/h3-prompt-writing.md +54 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/image-direction.md +95 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/motion-graphics.md +68 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/recreation-policy.md +51 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/screen-demonstrations.md +51 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/shot-production-contracts.md +161 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/sound-mix.md +76 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/video-direction.md +433 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/voice-and-performance.md +224 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/craft/voice-direction.md +99 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/narration-led-demo.md +87 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/presenter-led-explainer.md +160 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/ranking-listicle.md +71 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/reference-recreation-canvas.md +8 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/short-drama-workflow.md +165 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/short-drama.md +88 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/street-interview.md +92 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/talking-head.md +82 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/formats/two-person-podcast.md +101 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/playbooks/index.md +77 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/audio-presentation.md +49 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/authoring.md +228 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/browser-capture.md +112 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/builds.md +330 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/caption-authoring.md +156 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/caption-presentation.md +66 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/component-design.md +217 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/component-sharing.md +150 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/component-visuals.md +152 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/detail.svrun +8 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/direction.svs +14 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/look.svs +6 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/material.svrun +5 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/production.svml +73 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/production.svrun +5 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/examples/visuals.ts +62 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/fonts-and-text.md +138 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/image-operations.md +102 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/index.md +73 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/media-presentation.md +111 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/media.md +246 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/performance.md +114 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/prompt-kits.md +165 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/rendering.md +141 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/review.md +211 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/runs.md +151 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/script-syntax.md +236 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/snapshots.md +90 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/sound.md +75 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/source-syntax.md +163 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/spatial.md +189 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/studio-companions.md +186 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/studio.md +249 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/system.md +169 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/timeline.md +74 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/timing.md +96 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/track-authoring.md +215 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/tracks.md +67 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/video-downloads.md +47 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/vocabulary.md +119 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/project-and-canvas.md +1 -1
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/README.md +11 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/SKILL.md +102 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/art-styles.json +585 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-character-images.md +11 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-character-profiles/character-profile-output.schema.json +99 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-character-profiles.md +7 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-drama-art-style.md +9 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-prop-assets.md +11 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/generate-scene-assets.md +13 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/manage-drama-art-styles.md +9 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/manage-drama-assets.md +9 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/analyze-drama-source/prompts/source_analysis.en.txt +24 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/analyze-drama-source/prompts/source_analysis.zh.txt +24 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_acting_direction.en.txt +61 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_acting_direction.zh.txt +79 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_cinematographer.en.txt +101 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_cinematographer.zh.txt +150 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_storyboard_detail.en.txt +114 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_storyboard_detail.zh.txt +89 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_storyboard_plan.en.txt +114 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/agent_storyboard_plan.zh.txt +389 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/professional_storyboard.en.txt +40 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/build-drama-storyboard/prompts/professional_storyboard.zh.txt +40 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/define-drama-brief/prompts/drama_brief.en.txt +24 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/define-drama-brief/prompts/drama_brief.zh.txt +24 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/character_voice_description.en.txt +19 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/character_voice_description.zh.txt +19 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/character_voice_recommend.en.txt +26 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/character_voice_recommend.zh.txt +26 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/music_track_design.en.txt +33 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/music_track_design.zh.txt +33 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/voice_analysis.en.txt +36 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-audio/prompts/voice_analysis.zh.txt +36 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-bible/prompts/ai_story_expand.en.txt +33 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/design-drama-bible/prompts/ai_story_expand.zh.txt +33 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/agent_character_visual.en.txt +26 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/agent_character_visual.zh.txt +26 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_asset_sheet.en.txt +21 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_asset_sheet.zh.txt +21 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_create.en.txt +12 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_create.zh.txt +12 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_description_update.en.txt +13 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_description_update.zh.txt +13 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_image_to_description.en.txt +11 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_image_to_description.zh.txt +11 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_modify.en.txt +15 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_modify.zh.txt +15 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_regenerate.en.txt +14 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-images/prompts/character_regenerate.zh.txt +14 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-profiles/prompts/agent_character_profile.en.txt +50 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-character-profiles/prompts/agent_character_profile.zh.txt +50 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-drama-art-style/prompts/art_style_decision.en.txt +18 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-drama-art-style/prompts/art_style_decision.zh.txt +18 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-drama-art-style/prompts/config_generation.en.txt +67 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-drama-art-style/prompts/config_generation.zh.txt +67 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/prop_description_update.en.txt +14 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/prop_description_update.zh.txt +14 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/prop_generate.en.txt +16 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/prop_generate.zh.txt +16 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/select_prop.en.txt +17 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-prop-assets/prompts/select_prop.zh.txt +17 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_create.en.txt +11 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_create.zh.txt +11 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_description_update.en.txt +14 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_description_update.zh.txt +14 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_modify.en.txt +13 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_modify.zh.txt +13 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_regenerate.en.txt +12 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/location_regenerate.zh.txt +12 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/scene_asset_sheet.en.txt +19 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/scene_asset_sheet.zh.txt +19 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/select_location.en.txt +18 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-scene-assets/prompts/select_location.zh.txt +17 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_grid_enhance.en.txt +29 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_grid_enhance.zh.txt +29 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_grid_image.en.txt +77 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_grid_image.zh.txt +77 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_storyboard_image.en.txt +109 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/generate-storyboard-images/prompts/panel_storyboard_image.zh.txt +109 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/ideate-drama-from-market/prompts/market_inspiration.en.txt +23 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/ideate-drama-from-market/prompts/market_inspiration.zh.txt +23 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/outline-drama-series/prompts/episode_split.en.txt +42 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/outline-drama-series/prompts/episode_split.zh.txt +42 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-drama-assets/prompts/asset_analysis.en.txt +55 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-drama-assets/prompts/asset_analysis.zh.txt +55 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-drama-production/prompts/production_plan.en.txt +49 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-drama-production/prompts/production_plan.zh.txt +52 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-shot-continuity/prompts/continuity_plan.en.txt +37 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/plan-shot-continuity/prompts/continuity_plan.zh.txt +37 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/review-drama-script/prompts/review_drama_script.en.txt +28 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/review-drama-script/prompts/review_drama_script.zh.txt +28 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_shot_variant_analysis.en.txt +57 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_shot_variant_analysis.zh.txt +169 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_shot_variant_generate.en.txt +64 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_shot_variant_generate.zh.txt +117 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_storyboard_insert.en.txt +34 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/agent_storyboard_insert.zh.txt +34 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/storyboard_edit.en.txt +18 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/revise-drama-storyboards/prompts/storyboard_edit.zh.txt +13 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/transform-drama-media/prompts/2d_to_live_action.en.txt +7 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/transform-drama-media/prompts/2d_to_live_action.zh.txt +7 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/transform-drama-media/prompts/image_prompt_modify.en.txt +28 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/transform-drama-media/prompts/image_prompt_modify.zh.txt +42 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-director-book/prompts/director_book.en.txt +35 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-director-book/prompts/director_book.zh.txt +35 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-episode/prompts/agent_clip.en.txt +21 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-episode/prompts/agent_clip.zh.txt +21 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-episode/prompts/screenplay_conversion.en.txt +39 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-episode/prompts/screenplay_conversion.zh.txt +39 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/h3_video.en.txt +49 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/h3_video.zh.txt +48 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/panel_grid_video.en.txt +51 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/panel_grid_video.zh.txt +51 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/panel_storyboard_video.en.txt +50 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/panel_storyboard_video.zh.txt +50 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/seedance2_video.en.txt +48 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/modules/write-drama-video-prompts/prompts/seedance2_video.zh.txt +46 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/assets/plan-drama-assets.md +7 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/codex-contracts.md +14 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/comfly-provider.md +12 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/controlled-vocabulary.json +115 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/analyze-drama-source.md +7 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/define-drama-brief.md +8 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/design-drama-bible.md +5 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/humanizer.md +9 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/outline-drama-series.md +5 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/short-drama.md +13 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/write-drama-director-book.md +6 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/creation/write-drama-episode.md +6 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/director-composition.md +794 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/editing/edit-deliver-drama.md +5 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/editing/edit-drama-timeline.md +22 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/editing/remotion-best-practices.md +12 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/editing-workflow.md +56 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/feature-completeness.md +111 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/configure-generation-providers.md +17 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/design-drama-audio.md +11 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/drama-generation-service.md +13 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/generate-drama-videos.md +9 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/generate-storyboard-images.md +11 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/monitor-drama-tasks.md +15 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/transform-drama-media.md +9 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/generation/write-drama-video-prompts.md +50 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/analyze-drama-market/market-report.schema.json +46 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/analyze-drama-market/methodology.md +24 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/analyze-drama-market.md +47 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/ideate-drama-from-market/market-inspiration.schema.json +109 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/market/ideate-drama-from-market.md +15 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/module-map.json +595 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/music-catalog-providers.md +16 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/manage-drama-projects.md +11 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/orchestrate-short-drama.md +20 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/recover-drama-pipeline.md +5 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/short-drama-skill-index.md +29 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/operations/use-short-drama-studio.md +15 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/pipeline.md +85 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/project-spec-v1.md +217 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/prompt-skill-index.md +62 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/recreation/publish-drama-references/litterbox.md +5 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/review/review-drama-script.md +7 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/review/review-drama-shots.md +39 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/runninghub-provider.md +33 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/starrouter-provider.md +53 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/build-drama-storyboard.md +13 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/design-fight-video.md +19 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/direct-blender-previz/action-previz.md +39 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/direct-blender-previz/direction-contract.md +96 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/direct-blender-previz/weapons-vfx.md +23 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/direct-blender-previz.md +15 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/generate-blender-previz.md +20 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/plan-drama-production.md +21 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/plan-shot-continuity.md +15 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/storyboard/revise-drama-storyboards.md +5 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/short-drama/usage-guide.md +107 -0
- package/skills/using-vvicat-ai-short-studio-cli/references/special-workflows.md +2 -8
- package/skills/using-vvicat-ai-short-studio-cli/references/troubleshooting.md +0 -1
- package/dist/auth/login-provider.d.ts +0 -2
- package/dist/auth/login-provider.js +0 -3
- package/dist/commands/canvas/node/quote.d.ts +0 -17
- package/dist/commands/canvas/node/quote.js +0 -13
- package/dist/commands/config/ai-provider/capabilities.d.ts +0 -60
- package/dist/commands/config/ai-provider/capabilities.js +0 -124
- package/dist/commands/config/ai-provider/get.d.ts +0 -22
- package/dist/commands/config/ai-provider/get.js +0 -21
- package/dist/commands/config/ai-provider/list.d.ts +0 -21
- package/dist/commands/config/ai-provider/list.js +0 -19
- package/dist/commands/config/ai-provider/models.d.ts +0 -22
- package/dist/commands/config/ai-provider/models.js +0 -21
- package/dist/commands/config/ai-provider/set.d.ts +0 -41
- package/dist/commands/config/ai-provider/set.js +0 -65
- package/dist/commands/config/ai-provider/test.d.ts +0 -25
- package/dist/commands/config/ai-provider/test.js +0 -24
- package/dist/commands/project/provider/get.d.ts +0 -15
- package/dist/commands/project/provider/get.js +0 -12
- package/dist/commands/project/provider/set.d.ts +0 -16
- package/dist/commands/project/provider/set.js +0 -18
- package/dist/commands/project/provider/test.d.ts +0 -15
- package/dist/commands/project/provider/test.js +0 -12
- package/dist/domain/ai-provider-capabilities.d.ts +0 -109
- package/dist/domain/ai-provider-capabilities.js +0 -180
- package/dist/domain/ai-provider-command-helpers.d.ts +0 -27
- package/dist/domain/ai-provider-command-helpers.js +0 -55
- package/skills/using-vvicat-ai-short-studio-cli/references/b-roll-and-screen.md +0 -9
- package/skills/using-vvicat-ai-short-studio-cli/references/caption-and-graphics-direction.md +0 -11
- package/skills/using-vvicat-ai-short-studio-cli/references/composition-and-shot-review.md +0 -17
- package/skills/using-vvicat-ai-short-studio-cli/references/craft-index.md +0 -20
- package/skills/using-vvicat-ai-short-studio-cli/references/drama-canvas.md +0 -19
- package/skills/using-vvicat-ai-short-studio-cli/references/format-relationships.md +0 -15
- package/skills/using-vvicat-ai-short-studio-cli/references/h3-prompts.md +0 -7
- package/skills/using-vvicat-ai-short-studio-cli/references/image-and-reference-direction.md +0 -9
- package/skills/using-vvicat-ai-short-studio-cli/references/licensed-music.md +0 -9
- package/skills/using-vvicat-ai-short-studio-cli/references/licenses/oh-my-short-drama-MIT.txt +0 -21
- package/skills/using-vvicat-ai-short-studio-cli/references/licenses/short-drama-MIT.txt +0 -21
- package/skills/using-vvicat-ai-short-studio-cli/references/media-provenance-and-review.md +0 -22
- package/skills/using-vvicat-ai-short-studio-cli/references/paid-plan.md +0 -7
- package/skills/using-vvicat-ai-short-studio-cli/references/production-specialties.md +0 -25
- package/skills/using-vvicat-ai-short-studio-cli/references/recreation.md +0 -21
- package/skills/using-vvicat-ai-short-studio-cli/references/reference-analysis-and-timing.md +0 -19
- package/skills/using-vvicat-ai-short-studio-cli/references/remotion-editing.md +0 -18
- package/skills/using-vvicat-ai-short-studio-cli/references/shot-production.md +0 -9
- package/skills/using-vvicat-ai-short-studio-cli/references/sound-and-captions.md +0 -7
- package/skills/using-vvicat-ai-short-studio-cli/references/sources.md +0 -6
- package/skills/using-vvicat-ai-short-studio-cli/references/story-craft/canvas-production.md +0 -9
- package/skills/using-vvicat-ai-short-studio-cli/references/story-craft/guide.md +0 -7
- package/skills/using-vvicat-ai-short-studio-cli/references/story-craft/index.md +0 -13
- package/skills/using-vvicat-ai-short-studio-cli/references/video-and-performance-direction.md +0 -9
- package/skills/using-vvicat-ai-short-studio-cli/references/voice-and-sound-direction.md +0 -9
- package/skills/using-vvicat-ai-short-studio-cli/references/writing-polish.md +0 -15
- /package/skills/using-vvicat-ai-short-studio-cli/references/{licenses/humanizer-MIT.txt → short-drama/assets/modules/humanizer/LICENSE} +0 -0
- /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/compliance-checklist.md +0 -0
- /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/genre-guide.md +0 -0
- /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/hook-design.md +0 -0
- /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/opening-rules.md +0 -0
- /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/paywall-design.md +0 -0
- /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/rhythm-curve.md +0 -0
- /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/satisfaction-matrix.md +0 -0
- /package/skills/using-vvicat-ai-short-studio-cli/references/{story-craft → short-drama/writing}/villain-design.md +0 -0
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
# Script syntax
|
|
2
|
+
|
|
3
|
+
Read this when writing or correcting `<script>`, including display spelling, pronunciation,
|
|
4
|
+
spaces, Caption grouping and semantic markers. [Script and semantic time](../creation/script-and-time.md)
|
|
5
|
+
owns the creative decisions; [Source syntax](source-syntax.md) owns imports and graph references;
|
|
6
|
+
[Timing](timing.md) explains how components use the resulting identities.
|
|
7
|
+
|
|
8
|
+
These are the current 0.2 author forms. Package releases and logical Module ABIs are different:
|
|
9
|
+
`@hypit/script@1` remains the import. A syntax error calls for an explicit correction to the source;
|
|
10
|
+
do not reinterpret old bare markers or remove authored spaces to make an inherited example work.
|
|
11
|
+
The installed Script package owns the parser and exact diagnostics.
|
|
12
|
+
|
|
13
|
+
## Keep the languages distinct
|
|
14
|
+
|
|
15
|
+
| Where you are writing | Form | Meaning |
|
|
16
|
+
| --- | --- | --- |
|
|
17
|
+
| Structured Source attribute | `narrative={story}` | A whole-value graph reference. |
|
|
18
|
+
| Script prose | `@{reveal!}` | A semantic Moment; contributes no displayed or spoken text. |
|
|
19
|
+
| Script prose | `clear{emphasis}` | An attribute on the preceding display word. |
|
|
20
|
+
| A model's prompt text | `@image1` | That model's reference notation, when its Kit declares it. |
|
|
21
|
+
| A temporal attribute | `instant="moment.cue + 8f"` | The component's explicit time expression. |
|
|
22
|
+
|
|
23
|
+
Braces and at-signs have no global substitution rule. The receiving Surface owns its body's grammar.
|
|
24
|
+
|
|
25
|
+
## Structure, grouping and display attributes
|
|
26
|
+
|
|
27
|
+
The author-facing forms are:
|
|
28
|
+
|
|
29
|
+
| Form | Meaning |
|
|
30
|
+
| --- | --- |
|
|
31
|
+
| `<opening>...</opening>` | A Segment named `opening`; all spoken prose belongs inside a Segment. |
|
|
32
|
+
| `<pause/>` | A self-closing Segment with identity and boundaries but no words. |
|
|
33
|
+
| `<HOST>` | A Role Cue inside the current Segment; it applies until another Role Cue or the Segment end. |
|
|
34
|
+
| `<display text \| spoken text>` | One Dual Text unit with separate visible and pronounced wording. |
|
|
35
|
+
| `<display text\|>` | One complete display/speech unit using the same wording for both; individual spoken word times remain available. |
|
|
36
|
+
| `< \| spoken text>` | Spoken words that keep semantic timing while contributing no visible Caption words. |
|
|
37
|
+
| `\|\|` | A Caption Cue handoff between complete Alignment Units. |
|
|
38
|
+
| `word{emphasis,keyword}` | Boolean attributes on one complete display word for a Caption family to interpret. |
|
|
39
|
+
| `word{importance=2,tone=warm}` | Named string, number or boolean attribute values on that display word. |
|
|
40
|
+
| `@{proof} ... @{/proof}` | A Selection: one named semantic range. |
|
|
41
|
+
| `@{claim!}` | A Moment: one named semantic point. |
|
|
42
|
+
|
|
43
|
+
A Script contains one or more uniquely named Segments matching `[a-z][a-z0-9_-]{0,63}`;
|
|
44
|
+
`script` is reserved. A paired Segment can carry prose or be wordless; the self-closing form also
|
|
45
|
+
carries a wordless passage. A Role Cue is a bare turn marker: the next Role Cue begins the next turn,
|
|
46
|
+
and closing the Segment ends the final turn
|
|
47
|
+
and resets its Role. When a Segment uses Roles, place the first Role before that Segment's first
|
|
48
|
+
spoken text. One Segment can contain several Role turns without requiring several generated Takes. A bare tag
|
|
49
|
+
inside a Segment is a Role Cue by context, not by capitalization: `<host>`, `<主持人>` and
|
|
50
|
+
`<진행자>` can name speakers. The label directs the request through dialogue; it selects no voice
|
|
51
|
+
or character asset by itself.
|
|
52
|
+
|
|
53
|
+
Dual Text can contain several visible or spoken words on either side; its display side feeds Caption
|
|
54
|
+
and its spoken side feeds pronunciation. An empty display side intentionally omits those spoken words
|
|
55
|
+
from Caption while keeping them in the Narrative and semantic timing. Selections and Moments can be
|
|
56
|
+
placed on the spoken side because that side owns the speech anchors. Place Cue Breaks around the
|
|
57
|
+
complete Dual Text unit, not inside it. Attributes for a displayed Dual Text word belong on the
|
|
58
|
+
display side before the pipe. Inside that display side, use `\@` when the visible text itself needs an
|
|
59
|
+
at-sign.
|
|
60
|
+
|
|
61
|
+
The three Dual forms serve distinct author choices:
|
|
62
|
+
|
|
63
|
+
| Script fragment | Display | Speech | Use |
|
|
64
|
+
| --- | --- | --- | --- |
|
|
65
|
+
| `<S\|ess>` | `S` | `ess` | Keep the spelling while specifying the letter's spoken name. |
|
|
66
|
+
| `<New York\|>` | `New York` | `New York` | Keep the same words and internal space in one complete correspondence. |
|
|
67
|
+
| `<\|再见>` | No Caption words | `再见` | Retain speech and its semantic anchors without displaying it. |
|
|
68
|
+
|
|
69
|
+
[Pronunciation choices](../creation/script-and-time.md#choose-the-sound-the-spelling-should-carry)
|
|
70
|
+
shows letter names, abbreviations, coined names and homophonic readings. The spoken side is ordinary
|
|
71
|
+
Text supplied to the selected model, not a separate phonetic language interpreted by Script.
|
|
72
|
+
|
|
73
|
+
When the wording is identical, `<组件化|>` is shorthand for `<组件化|组件化>`. It can group a name,
|
|
74
|
+
compound or phrase for Caption presentation while leaving its spoken Tokens and timing intact:
|
|
75
|
+
`把<动效|><组件化|>。|| 以后就能<直接复用|>。` Choose groups for the intended expression; ordinary
|
|
76
|
+
Chinese prose does not require word-by-word markup. The group's Style determines its visual response;
|
|
77
|
+
`||` still controls which reading phrases appear as separate Cues.
|
|
78
|
+
|
|
79
|
+
With speech omitted, the left side supplies both projections, so semantic markers can be placed
|
|
80
|
+
there and Studio writes back there: `<组@{beat!}件化|>`. Display attributes and markers are annotations,
|
|
81
|
+
not spoken words. Attributes still apply to the preceding display word rather than the whole group.
|
|
82
|
+
With an explicit spoken side, markers continue to belong on that right-hand side.
|
|
83
|
+
Either form needs a spoken word: `<API|...>` supplies no speech correspondence for its display.
|
|
84
|
+
|
|
85
|
+
Script comments contribute no text and do not split a word: `hel<!--note-->lo` remains `hello`.
|
|
86
|
+
In ordinary prose, a comment or zero-width marker also leaves a following attribute attached to its
|
|
87
|
+
word: `hello<!--note-->{emphasis}` and `hello@{beat!}{emphasis}` annotate `hello`.
|
|
88
|
+
An actual space before `{emphasis}` breaks that attachment.
|
|
89
|
+
A comment can also stand between passages:
|
|
90
|
+
|
|
91
|
+
```svml
|
|
92
|
+
<!-- This note enters no text projection. -->
|
|
93
|
+
<social><HOST> Follow us \@hypit.</social>
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Reserved Script punctuation remains literal when escaped: `\@` produces `@`, `\<` produces `<`,
|
|
97
|
+
`\{` produces `{`, `\}` produces `}`, `\|` produces `|`, and `\\` produces `\`. A plain `>` needs
|
|
98
|
+
no escape in ordinary prose; inside Dual Text, `\>` keeps it from closing that unit. A single `|` in
|
|
99
|
+
ordinary prose is literal; `||` is the Caption Cue handoff. Inside Dual Text, the first unescaped `|`
|
|
100
|
+
separates display from pronunciation; write `\|` for a literal pipe and `\|\|` for two literal pipes.
|
|
101
|
+
These escapes belong to Script prose, while structured Source attributes and elements use the Markup
|
|
102
|
+
escaping described in [Source syntax](../production/source-syntax.md).
|
|
103
|
+
|
|
104
|
+
Script derives speech tokens from words and numbers. Punctuation remains attached to the displayed
|
|
105
|
+
word it belongs with and does not create another speech time unit. CJK prose commonly contributes
|
|
106
|
+
one Han, Hiragana or Katakana character per lexical unit; compounds, decimal numbers and the spoken
|
|
107
|
+
side of Dual Text preserve their own lexical structure. This is why Cue breaks, word attributes and
|
|
108
|
+
semantic markers attach to complete authored units instead of punctuation or visual line positions.
|
|
109
|
+
Character-level timing does not call for character-sized Cues: use `||` for meaningful reading
|
|
110
|
+
phrases. [Caption craft](../playbooks/craft/captions.md#language-changes-the-reading-unit) explains
|
|
111
|
+
Chinese, English and mixed-script grouping, spacing and their fit in the picture.
|
|
112
|
+
|
|
113
|
+
## Preserve spelling independently of timing
|
|
114
|
+
|
|
115
|
+
Ordinary whitespace runs become one displayed/spoken space. Leading and trailing whitespace in a
|
|
116
|
+
Turn and padding at the edges of each Dual side are omitted. A Source newline is prose formatting;
|
|
117
|
+
`||` makes a Caption Cue handoff, and the Caption family controls visual line wrapping.
|
|
118
|
+
|
|
119
|
+
| Script body inside a Segment | Display text | What the author chose |
|
|
120
|
+
| --- | --- | --- |
|
|
121
|
+
| `是的 就是这样` | `是的 就是这样` | A real space in Chinese prose. |
|
|
122
|
+
| `是的@{answer}就是这样@{/answer}` | `是的就是这样` | Joined text with a zero-width semantic range. |
|
|
123
|
+
| `是的 @{answer}就是这样@{/answer}` | `是的 就是这样` | The same range after an authored space. |
|
|
124
|
+
| `Hello @{place}New York.@{/place}` | `Hello New York.` | English spaces and attached punctuation. |
|
|
125
|
+
| `이건 3개월 동안 만든 영상이에요.` | `이건 3개월 동안 만든 영상이에요.` | Korean word spaces; no space inside `3개월`. |
|
|
126
|
+
| `3 개월` | `3 개월` | An explicitly different spelling. |
|
|
127
|
+
| `3D` / `3 D` | `3D` / `3 D` | Numeric/Latin adjacency is also authored. |
|
|
128
|
+
| `<New York\|>` | `New York` | One Alignment Unit with an internal space. |
|
|
129
|
+
| `<API\|A P I>` | `API` | One correspondence to several spoken tokens. |
|
|
130
|
+
| `<\|只说不显示>` | *(no visible words)* | Spoken content and semantic timing remain. |
|
|
131
|
+
|
|
132
|
+
Do not insert spaces around markers for parsing, strip Chinese spaces, or infer Korean/English gaps
|
|
133
|
+
from speech tokens. A space is display information, not an extra timed token. Caption consumers use
|
|
134
|
+
`separatorBefore` together with each display word's `text`; suppress a leading separator at a displayed
|
|
135
|
+
line/Cue start. [Caption authoring](caption-authoring.md) explains consuming these values in a new family.
|
|
136
|
+
|
|
137
|
+
The Script source and its projections answer different needs. Source preserves the author's prose;
|
|
138
|
+
display and speech normalize ordinary whitespace as above. Studio moving a marker relocates only
|
|
139
|
+
that annotation and retains unrelated source whitespace. Explicit Script formatting may reindent
|
|
140
|
+
and compact whitespace while preserving the same parsed meaning.
|
|
141
|
+
|
|
142
|
+
## Use the Script's deliberate projections
|
|
143
|
+
|
|
144
|
+
One Script publishes the full Narrative and the narrow views needed by the rest of the work:
|
|
145
|
+
|
|
146
|
+
| Reference | What it carries |
|
|
147
|
+
| --- | --- |
|
|
148
|
+
| `{story}` | The complete authored Narrative. |
|
|
149
|
+
| `{story.segment.hook}` | The `hook` Segment as a NarrativeExcerpt for one SemanticTake. |
|
|
150
|
+
| `{story.segment.hook.dialogue}` | Role-aware dialogue using the spoken side of Dual Text, suitable for a speaking performance request. |
|
|
151
|
+
| `{story.segment.hook.speech}` | Pronunciation-only Text, suitable for `hypit measure` or independent speech. |
|
|
152
|
+
| `{story.caption}` | Display Words, Alignment Units, attributes, Roles, and authored Cue Breaks for Caption. |
|
|
153
|
+
| `{story.selection.proof}` | The named semantic range. |
|
|
154
|
+
| `{story.moment.claim}` | The named semantic point. |
|
|
155
|
+
|
|
156
|
+
For example, this Segment inside `story` assigns two speaking turns:
|
|
157
|
+
|
|
158
|
+
```svml
|
|
159
|
+
<exchange>
|
|
160
|
+
<HOST> Let me show you.
|
|
161
|
+
<GUEST> That looks much easier.
|
|
162
|
+
</exchange>
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
`{story.segment.exchange.dialogue}` supplies:
|
|
166
|
+
|
|
167
|
+
```text
|
|
168
|
+
HOST: Let me show you.
|
|
169
|
+
GUEST: That looks much easier.
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Pass that Text to the speaking prompt. In action direction, relate HOST and GUEST to the supplied
|
|
173
|
+
character views and voices. The selected [Prompt Kit](prompt-kits.md) owns its reference
|
|
174
|
+
order; [podcast direction](../playbooks/formats/two-person-podcast.md#direct-conversation-inside-a-take)
|
|
175
|
+
shows how those roles and references form one performed exchange.
|
|
176
|
+
|
|
177
|
+
These are projections of one authored Script, not copies to maintain. The performance request,
|
|
178
|
+
Caption system, and semantic timing therefore remain connected even when their visible and spoken
|
|
179
|
+
wording differ.
|
|
180
|
+
|
|
181
|
+
## Bind meaning to Script identities
|
|
182
|
+
|
|
183
|
+
Every semantic marker is enclosed in `@{...}`, with `/`, `!` and `~` inside. The marker contributes
|
|
184
|
+
no text or whitespace. `是的@{part}就是这样@{/part}` stays joined; `是的 @{part}就是这样@{/part}`
|
|
185
|
+
keeps its authored space. Do not add spaces to make a marker parse. Markers cannot split a speech
|
|
186
|
+
Token or its attached punctuation: write `@{beat!}“测试”`, not `“@{beat!}测试”`.
|
|
187
|
+
`hel@{beat!}lo` and `안@{beat!}녕` also split tokens. Grouping with Dual Text does not make these
|
|
188
|
+
positions legal. Attributes stay attached to their display word: `word{emphasis}@{beat!}`.
|
|
189
|
+
Write literal `@{part}` as `\@\{part\}`.
|
|
190
|
+
|
|
191
|
+
Selections may overlap, cross, or span Segments; they are named semantic ranges rather than nested
|
|
192
|
+
markup. Selection and Moment names share one namespace and match `[a-z][a-z0-9_-]{0,63}`.
|
|
193
|
+
Inside spoken text, each marker chooses an
|
|
194
|
+
adjacent semantic boundary:
|
|
195
|
+
|
|
196
|
+
| Marker | Boundary |
|
|
197
|
+
| --- | --- |
|
|
198
|
+
| `@{name}` | Open a Selection at the next word's start. |
|
|
199
|
+
| `@{~name}` | Open a Selection at the previous word's end. |
|
|
200
|
+
| `@{/name}` | Close a Selection at the previous word's end. |
|
|
201
|
+
| `@{/name~}` | Close a Selection at the next word's start. |
|
|
202
|
+
| `@{name!}` | Place a Moment at the next word's start. |
|
|
203
|
+
| `@{~name!}` | Place a Moment at the previous word's end. |
|
|
204
|
+
|
|
205
|
+
Markers may sit between or outside Segments when the meaning crosses structural passages. For
|
|
206
|
+
example, this Selection owns the complete Script program rather than borrowing the first and last
|
|
207
|
+
word boundaries:
|
|
208
|
+
|
|
209
|
+
```svml
|
|
210
|
+
@{~whole}
|
|
211
|
+
<opening><HOST>First thought.</opening>
|
|
212
|
+
<answer><HOST>Final answer.</answer>
|
|
213
|
+
@{/whole~}
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
At a Script or Segment edge, the corresponding structural boundary remains available even when
|
|
217
|
+
there is no neighboring word. Thus `@{videos} videos @{/videos}` covers exactly that word. Adjacent
|
|
218
|
+
visual Windows can share a boundary at either side of the pause between words. To give that pause
|
|
219
|
+
to the incoming picture, meet at the previous word's end:
|
|
220
|
+
|
|
221
|
+
```svml
|
|
222
|
+
@{coffee} my coffee @{/coffee} @{~smoothie} my smoothie @{/smoothie}
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
To give it to the outgoing picture, meet at the next word's start:
|
|
226
|
+
|
|
227
|
+
```svml
|
|
228
|
+
@{coffee} my coffee @{/coffee~} @{smoothie} my smoothie @{/smoothie}
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
Both Selections now meet at one instant in either example. A `||` between the phrases changes
|
|
232
|
+
Caption grouping, not their visual boundary. [Material-led picture craft](../playbooks/craft/b-roll.md)
|
|
233
|
+
owns whether the edit should meet there, leave a pause visible or let another picture continue.
|
|
234
|
+
|
|
235
|
+
The marker locates meaning, not an animation's lifetime. A reveal may leave its answer visible;
|
|
236
|
+
a covering picture may occupy the full Selection. [Timing](timing.md) explains those consuming forms.
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Inspect the current picture
|
|
2
|
+
|
|
3
|
+
Use `hypit snapshot` first when the question concerns an existing production's visible state,
|
|
4
|
+
layout or motion sequence. It captures selected frames of the current picture through the
|
|
5
|
+
Profile's `render-frames` Endpoint. Studio playback supplies motion with sound; an encoded video
|
|
6
|
+
supplies evidence about the delivered file. Choose the view that establishes the relationship.
|
|
7
|
+
|
|
8
|
+
## Capture the work already open in Studio
|
|
9
|
+
|
|
10
|
+
Open the actual Run using [Studio](studio.md). After its current preview is ready:
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
hypit snapshot --studio http://localhost:5191 \
|
|
14
|
+
--at-frame 240 --to evidence/comparison-detail
|
|
15
|
+
|
|
16
|
+
hypit snapshot --studio http://localhost:5191 \
|
|
17
|
+
--at-frame 240,255,269 --grid 3x1 --cell 480 --to evidence/comparison-states
|
|
18
|
+
|
|
19
|
+
hypit snapshot --studio http://localhost:5191 \
|
|
20
|
+
--start-frame 240 --end-frame-exclusive 270 --step-frames 1 \
|
|
21
|
+
--grid 4x3 --cell 480 --to evidence/comparison-motion
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Use the address of the existing Studio session and frames located in that programme. The examples
|
|
25
|
+
demonstrate the options. Locate meaningful events through Script, Timeline or the Studio playhead;
|
|
26
|
+
pass their resulting frame positions to the observation command. Frame selection does not change
|
|
27
|
+
the authored timing relationship.
|
|
28
|
+
|
|
29
|
+
Studio supplies its already compiled `HyperframesDocument` and the material selected by the Run.
|
|
30
|
+
This preserves declared fonts, images, video sampling, transparent Surfaces and resources used
|
|
31
|
+
inside a component's browser program. The command sends one immediate request, keeping the original
|
|
32
|
+
programme clock and component-local clocks. It writes images directly into the chosen directory.
|
|
33
|
+
There is no new Build, material generation or video encoding in this call.
|
|
34
|
+
|
|
35
|
+
Use `--runtime <profile>` and `--workspace <project>` when the invocation needs an explicit selection;
|
|
36
|
+
otherwise run in the project that already selected its Profile. The command names the selected
|
|
37
|
+
Endpoint before execution. If several Endpoints offer frame capture, select one with the Profile's
|
|
38
|
+
`@hypit/render-hyperframes@1#render-frames` binding. Browser preparation remains with that Provider:
|
|
39
|
+
[local tools](../environment/local-tools.md#prepare-the-local-rendering-browser).
|
|
40
|
+
|
|
41
|
+
## Read frames at the scale the question needs
|
|
42
|
+
|
|
43
|
+
- `--at-frame` chooses one frame or a strictly increasing list of frames.
|
|
44
|
+
- A range includes `--start-frame` and excludes `--end-frame-exclusive`. `--step-frames 1` retains
|
|
45
|
+
every frame. Frame indices start at zero on the original programme clock.
|
|
46
|
+
- Every selected frame is saved as a full-size PNG. Open one for typography, edges and geometry.
|
|
47
|
+
- `--grid columnsxrows` adds paginated contact sheets. `--cell` chooses the width of each picture;
|
|
48
|
+
labels sit below it and give its original frame index and time. The full-size PNGs remain available.
|
|
49
|
+
- `--json` reports the output paths and frame positions for subsequent inspection.
|
|
50
|
+
|
|
51
|
+
Widen the interval to understand a handoff, follow every frame to understand a movement, and enlarge
|
|
52
|
+
the image to judge small detail. Compare the corresponding event in reference and production;
|
|
53
|
+
different performances can put that event at different seconds. Revisit the whole passage in Studio
|
|
54
|
+
to hear and feel how the observed states work together.
|
|
55
|
+
|
|
56
|
+
## Existing HTML and source video
|
|
57
|
+
|
|
58
|
+
An already materialized HyperFrames HTML file can also be the input:
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
hypit snapshot ./picture/index.html --at-frame 240 --to evidence/html-detail
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
The HTML carries its compiled frame clock and frame-sampling declarations. Its directly referenced
|
|
65
|
+
media and fonts travel with the request; scripts and styles are inline. An HTML URL is accepted too.
|
|
66
|
+
For a current Studio work, prefer `--studio`: its compiled document also retains resource declarations
|
|
67
|
+
inside JavaScript data and the full typed Surface input. Snapshot is a programme-frame operation;
|
|
68
|
+
[browser capture](browser-capture.md) owns screenshots of ordinary websites and applications.
|
|
69
|
+
|
|
70
|
+
For an existing source video or encoded Result, use the media commands. Native-frame extraction
|
|
71
|
+
decodes each chosen interval once and retains the source's actual timestamps, including variable
|
|
72
|
+
frame rates:
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
hypit media tiles reference.mp4 --start 8 --end 9 --every-frame \
|
|
76
|
+
--columns 4 --rows 3 --cell 480 --to evidence/reference-motion
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
`media frames --every-frame` saves individual images; `media tiles --ranges ranges.json
|
|
80
|
+
--every-frame` follows several selected intervals. `--transcript` adds the words around each
|
|
81
|
+
actual frame. [Reference understanding](../creation/reference-video.md) connects these views to
|
|
82
|
+
coarse and fine observation.
|
|
83
|
+
|
|
84
|
+
## After a composition change
|
|
85
|
+
|
|
86
|
+
Keep accepted material selected in the Run, let Studio compile the updated Source, then capture the
|
|
87
|
+
affected states and their handoffs. Carry discoveries back to the owning Source, component or
|
|
88
|
+
Treatment. This is the preferred picture-review path. Use a
|
|
89
|
+
[range render](rendering.md#choose-a-render-interval-in-frames) when a short encoded video with sound
|
|
90
|
+
is the evidence or deliverable needed; render and inspect the full file for final export.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Presenting existing sound
|
|
2
|
+
|
|
3
|
+
Use Sound to present audio from Takes already placed on the [Timeline](timeline.md). Use
|
|
4
|
+
[Audio Track](audio-presentation.md) for independently supplied sound. Sound chooses how existing sources are heard; [Performance](performance.md)
|
|
5
|
+
chooses how their pictures appear. Neither changes the Script or the Take placements.
|
|
6
|
+
|
|
7
|
+
## Broad treatment and local Uses
|
|
8
|
+
|
|
9
|
+
```svml
|
|
10
|
+
<import as="sound" from="@hypit/sound@1"/>
|
|
11
|
+
<sound:Style id="normal"/>
|
|
12
|
+
<sound:Style id="opening" gain="0" end-gain="1"/>
|
|
13
|
+
<sound:Style id="silent" gain="0"/>
|
|
14
|
+
<sound:Track id="voice" timeline={program.timeline}>
|
|
15
|
+
<sound:Use style={normal}/>
|
|
16
|
+
<sound:Use at="0f" for="2s" style={opening}/>
|
|
17
|
+
<sound:Use during={story.selection.demonstration} style={silent}/>
|
|
18
|
+
</sound:Track>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Select `voice.audio` in Film to hear this presentation. Timeline retains source material; Sound
|
|
22
|
+
chooses how it is heard. Independent music and effects remain separate Film contributions.
|
|
23
|
+
|
|
24
|
+
The first Use sets a broad treatment. The last matching Use replaces it locally, including when
|
|
25
|
+
the winner is silent. A later normal Use can restore sound inside a muted passage. No matching
|
|
26
|
+
Use means no sound from this Track. This is the same broad/local presentation rule as Performance
|
|
27
|
+
and Caption, with time Windows as Sound's domain.
|
|
28
|
+
|
|
29
|
+
The ordinary Style chooses the last Timeline-declared active source with audio. A Take without an
|
|
30
|
+
audio member contributes no candidate. No Take means no original sound; it does not affect separate
|
|
31
|
+
music or effects. A recording that contains silence is still an audio source.
|
|
32
|
+
|
|
33
|
+
`gain` is a linear amplitude multiplier, normally 1; `end-gain` defaults to the same value. Different
|
|
34
|
+
values create a linear change over the Use's full Window. Use `gain="0"` for silence, or
|
|
35
|
+
`gain="1" end-gain="0"` for a fade-out. A leading Timeline gap has no source to fade: attach an
|
|
36
|
+
opening fade to the first Take's actual start when it begins later than the program.
|
|
37
|
+
|
|
38
|
+
All shared time forms apply: `during`, `at` + `for`, `until` + `for`, and `start` + `end`. Word-related
|
|
39
|
+
changes can follow Selections or Moments; independently timed changes can use seconds or frames.
|
|
40
|
+
The Window governs treatment progress, while the Take placement governs source playback. After a
|
|
41
|
+
local override, both resume at the progress appropriate to the current time.
|
|
42
|
+
|
|
43
|
+
## Explicit source relationships
|
|
44
|
+
|
|
45
|
+
For a crossfade, a project Style selects its outgoing and incoming Segments explicitly. An ordinary
|
|
46
|
+
Use then selects the overlap Window. A Style declaration might look like:
|
|
47
|
+
|
|
48
|
+
```svml
|
|
49
|
+
<mix:Crossfade id="handoff"
|
|
50
|
+
outgoing={story.segment.first} incoming={story.segment.second}/>
|
|
51
|
+
<sound:Track id="voice" timeline={program.timeline}>
|
|
52
|
+
<sound:Use style={normal}/>
|
|
53
|
+
<sound:Use style={handoff}
|
|
54
|
+
start-source={story.segment.second} start="segment.start"
|
|
55
|
+
end-source={story.segment.first} end="segment.end"/>
|
|
56
|
+
</sound:Track>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
Here `mix:Crossfade` is a project-defined Style, not a built-in Sound tag. Its complete example ships
|
|
60
|
+
at `examples/semantic-composition/packages/sound-styles/` in the Hypit Distribution. The interval
|
|
61
|
+
locates the effect; the bound sources determine its roles. Sound does not infer a mix from a visual
|
|
62
|
+
transition. A family for intentional simultaneous speech can retain both sources at full gain.
|
|
63
|
+
|
|
64
|
+
## Author a new sound Style
|
|
65
|
+
|
|
66
|
+
Use `soundStyle(fragment, bindings)` from `@hypit/hypit/sound`. Its fragment receives `timeline` and
|
|
67
|
+
the original `window`, plus the family's typed bindings, and exports `audio: AudioTrack`. A Surface
|
|
68
|
+
publishes this definition as an inline `soundTypes.style` value. Each Use expands normal graph edges.
|
|
69
|
+
|
|
70
|
+
`sourceSound(timeline, window, segment, { gain, endGain })` selects one existing source, and
|
|
71
|
+
`ordinarySound(timeline, window, { gain, endGain })` provides the usual last-source behavior. Known
|
|
72
|
+
sources without audio return no clips. A custom family can combine explicit sources or author a
|
|
73
|
+
richer gain envelope using ordinary AudioClip data. No new renderer mode is needed.
|
|
74
|
+
See [component authoring](track-authoring.md) for packaging and [sound direction](../playbooks/craft/sound-mix.md)
|
|
75
|
+
for deciding what the audible change contributes to the work.
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
# Reading and writing Source syntax
|
|
2
|
+
|
|
3
|
+
Read this for the language around a production: imports, references, literal values, Recipes and
|
|
4
|
+
Run choices. [Script syntax](script-syntax.md) owns prose, Roles, Dual Text, Cue breaks, display
|
|
5
|
+
attributes and markers. [Timing](timing.md) explains how components consume those identities.
|
|
6
|
+
[System relationships](system.md) explains authored values and computed Outputs.
|
|
7
|
+
|
|
8
|
+
## Three documents, three decisions
|
|
9
|
+
|
|
10
|
+
A `.svml` normally describes the work, a `.svs` holds reusable authored values, and a `.svrun`
|
|
11
|
+
chooses what to execute and reuse. Each document's Header selects its parser; the filename extension
|
|
12
|
+
is the convention used to recognize its role.
|
|
13
|
+
|
|
14
|
+
This small Author Source produces Text and Script values; it makes no media request:
|
|
15
|
+
|
|
16
|
+
```svml
|
|
17
|
+
<?svml using="@hypit/markup@1"?>
|
|
18
|
+
<svml>
|
|
19
|
+
<import from="@hypit/script@1"/>
|
|
20
|
+
<import as="copy" from="@hypit/text@1"/>
|
|
21
|
+
<import as="kit" source="./direction.svs"/>
|
|
22
|
+
|
|
23
|
+
<script id="story">
|
|
24
|
+
<opening><HOST>Here is @{proof}the useful part.@{/proof}</opening>
|
|
25
|
+
</script>
|
|
26
|
+
<copy:Value id="direction">She leans in slightly, amused by her own observation.</copy:Value>
|
|
27
|
+
<copy:Render id="prompt" template={kit.performance}>
|
|
28
|
+
<copy:Set name="dialogue" text={story.segment.opening.dialogue}/>
|
|
29
|
+
<copy:Set name="direction" text={direction}/>
|
|
30
|
+
</copy:Render>
|
|
31
|
+
</svml>
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Package imports expose vocabulary under a local alias. Source imports expose a document's public
|
|
35
|
+
values: `<import as="look" source="./look.svs"/>`. A data package can expose the same kind of Source,
|
|
36
|
+
for example `<import as="ugc" source="@hypit/gpt-image-kits/phone-ugc-v1"/>`; its own relative imports
|
|
37
|
+
and assets stay inside that package. Put imports in the leading prologue, before body declarations.
|
|
38
|
+
Use a package's logical Module ABI, such as `@hypit/text@1`, in `from`; installed package versions
|
|
39
|
+
belong to ordinary package management. Reading a packaged Source does not activate its JavaScript.
|
|
40
|
+
|
|
41
|
+
A Source alias qualifies public bindings; it does not rename a Narrative's authored identity.
|
|
42
|
+
Two imported Sources declaring different Scripts both named `story` therefore conflict. Share the
|
|
43
|
+
one Script that owns the work, or give genuinely separate Narratives distinct ids.
|
|
44
|
+
|
|
45
|
+
## Braces connect values
|
|
46
|
+
|
|
47
|
+
`duration="5"` is literal attribute text interpreted by the receiving Surface.
|
|
48
|
+
`prompt={direction}` is a whole-value graph reference, checked against the declared input Type.
|
|
49
|
+
`prompt="direction"` is a string, not that reference. Braces contain whole-value graph references.
|
|
50
|
+
Use `copy:Render` with a TextTemplate and explicit bindings to assemble text; use the receiving
|
|
51
|
+
package's expression syntax where it declares one, such as temporal offsets.
|
|
52
|
+
|
|
53
|
+
Output paths are package vocabulary, not inferred from the element's tag:
|
|
54
|
+
|
|
55
|
+
- `copy:Value id="direction"` publishes `{direction}`;
|
|
56
|
+
- an imported `media:Image id="logo"` publishes `{logo}`;
|
|
57
|
+
- `gpt:Image id="portrait"` publishes `{portrait.image}`;
|
|
58
|
+
- `pipeline:Normalize id="prepared"` publishes `{prepared.media}`;
|
|
59
|
+
- `time:Timeline id="speech"` publishes `{speech.timeline}`. Performance and Sound separately publish the picture and sound contributions selected in Film.
|
|
60
|
+
|
|
61
|
+
Inspect `hypit vocabulary` for the actual Surface's exports and use the published path it reports.
|
|
62
|
+
Public bindings can be authored Records or realizable Logical Outputs. Script,
|
|
63
|
+
Recipes and literal Text already exist as authored data; they are not Run Targets. The computed
|
|
64
|
+
`prompt` from `copy:Render` is a Logical Output that can be targeted or satisfied by a Candidate.
|
|
65
|
+
Name declarations before the structured Surfaces that resolve their inputs; the current Markup
|
|
66
|
+
handlers inspect imported values and earlier declarations during decoding. Graph edges, rather than
|
|
67
|
+
XML body order, schedule execution.
|
|
68
|
+
|
|
69
|
+
Different bodies have different readers. Script uses its own prose grammar; structured components
|
|
70
|
+
declare their permitted attributes and children; Text has its own literal/template forms. In
|
|
71
|
+
structured Markup, use the receiving Surface's declared attributes, children, literals, Recipes and
|
|
72
|
+
reference expressions, and escape `&`, `<`, `>`, `"`, and `'` as `&`, `<`, `>`,
|
|
73
|
+
`"`, and `'`; comments use `<!-- ... -->` outside raw bodies. Script owns the punctuation
|
|
74
|
+
inside its raw body, as described in [Script syntax](script-syntax.md).
|
|
75
|
+
|
|
76
|
+
## Recipes are named values
|
|
77
|
+
|
|
78
|
+
```svs
|
|
79
|
+
<?svml using="@hypit/svs@1"?>
|
|
80
|
+
<sheet version="1">
|
|
81
|
+
media.cover {
|
|
82
|
+
fit: cover;
|
|
83
|
+
stack-order: 10;
|
|
84
|
+
}
|
|
85
|
+
</sheet>
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Imported as `look`, this rule is `{look.media.cover}`. Recipe rule names use dotted paths, such as
|
|
89
|
+
`media.cover`. Rules do not inherit or cascade. Scalars, strict JSON arrays and strict JSON objects are
|
|
90
|
+
supported; each consumer owns the allowed properties, defaults and units. A Caption Style's Recipe
|
|
91
|
+
is not interchangeable with Media appearance merely because both have a color or size.
|
|
92
|
+
|
|
93
|
+
Every property ends with `;`. `null`, booleans, finite numbers, and simple bare words are scalar
|
|
94
|
+
values. Quote strings whose punctuation could be read as SVS syntax. Arrays and objects use strict
|
|
95
|
+
JSON, including quoted keys and strings:
|
|
96
|
+
|
|
97
|
+
```svs
|
|
98
|
+
caption.host {
|
|
99
|
+
enabled: true;
|
|
100
|
+
color: "#ff6f61";
|
|
101
|
+
padding: [12, 18];
|
|
102
|
+
motion: {"kind":"spring","amount":0.12};
|
|
103
|
+
enter: 8f;
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Units such as `8f`, `250ms`, and `50%` remain strings until the consuming package interprets them.
|
|
108
|
+
Recipe values do not evaluate graph references. Media, fonts, semantic ranges, and other graph
|
|
109
|
+
values remain explicit Source inputs to the component that consumes them.
|
|
110
|
+
|
|
111
|
+
Some packages, such as TextTemplate, explicitly define parameter precedence. That local behavior
|
|
112
|
+
does not create global SVS inheritance. A Prompt Kit remains a reusable text program; image
|
|
113
|
+
references, voice references, model parameters and generated Outputs stay explicit in Author Source.
|
|
114
|
+
|
|
115
|
+
The `direction.svs` used above selects Text's own Recipe Frontend to produce a TextTemplate rather
|
|
116
|
+
than ordinary Recipes. This is the same file-extension convention with a different explicit Header:
|
|
117
|
+
|
|
118
|
+
```svs
|
|
119
|
+
<?svml using="@hypit/text/svs@1"?>
|
|
120
|
+
<sheet version="1" id="performance">
|
|
121
|
+
text-template.performance { separator: paragraph; }
|
|
122
|
+
text-template.performance.block.dialogue {
|
|
123
|
+
kind: slot;
|
|
124
|
+
order: 10;
|
|
125
|
+
slot: dialogue;
|
|
126
|
+
}
|
|
127
|
+
text-template.performance.block.direction {
|
|
128
|
+
kind: slot;
|
|
129
|
+
order: 20;
|
|
130
|
+
slot: direction;
|
|
131
|
+
}
|
|
132
|
+
</sheet>
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
This small Kit just joins two Text inputs. It does not generate a video. Fixed blocks and variable
|
|
136
|
+
axes can be added when they express reusable direction; `@hypit/text` owns that template grammar.
|
|
137
|
+
|
|
138
|
+
## Runs demand Outputs and choose Candidates
|
|
139
|
+
|
|
140
|
+
For the Text example saved as `main.svml`, beside `direction.svs`:
|
|
141
|
+
|
|
142
|
+
```svml
|
|
143
|
+
<?svml using="@hypit/run-markup@1"?>
|
|
144
|
+
<svrun version="1">
|
|
145
|
+
<author source="./main.svml"/>
|
|
146
|
+
<target output="prompt"/>
|
|
147
|
+
</svrun>
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
A video Run usually targets the renderer's public video Output. Several Targets are valid when
|
|
151
|
+
several deliverables are wanted. Targets are public Output names; requests outside the demanded graph
|
|
152
|
+
are not executed.
|
|
153
|
+
|
|
154
|
+
To reuse a prior Output, declare a `build-record` Candidate and select it with `satisfy`; the prior
|
|
155
|
+
Result name and the current Logical Output name can differ. A raw MP4 file is a Blob Artifact, not
|
|
156
|
+
an aligned SemanticTake. Select Candidates by their real nominal Type and creative meaning, retaining
|
|
157
|
+
normalization or alignment where still needed. [Runs](runs.md) explains complete Candidate forms,
|
|
158
|
+
Fragment inputs and exports; [Authoring](authoring.md) owns the creative reuse decisions;
|
|
159
|
+
the installed Fragment package owns its own input and export names.
|
|
160
|
+
|
|
161
|
+
`hypit check <run>` checks Source and graph legality. `hypit plan <run> --runtime <profile>` exposes
|
|
162
|
+
the selected graph and external requests without submitting them. A legal document can still describe a
|
|
163
|
+
poor image, a misplaced Caption or an unhelpful cut; those remain directing questions.
|