@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,189 @@
|
|
|
1
|
+
# Spatial layout
|
|
2
|
+
|
|
3
|
+
Read this when positioning or fitting media, text or a project component. Timing is explained in
|
|
4
|
+
[Timing](timing.md); it is independent of these coordinates. Read
|
|
5
|
+
[component design](component-design.md) when deciding which content shares layout or motion;
|
|
6
|
+
[image direction](../playbooks/craft/image-direction.md) owns the source camera view. This page owns
|
|
7
|
+
the destination geometry, for Performance, independent Media and project scenes alike.
|
|
8
|
+
|
|
9
|
+
## Canvas, extent and destination
|
|
10
|
+
|
|
11
|
+
The Canvas gives the final image's pixel dimensions and coordinate basis. Introduce Frames and
|
|
12
|
+
component scopes where they help organize the picture; they need not tile the canvas or remain
|
|
13
|
+
separate rectangles. Components can overlap, share motion and own local trees. Canvas itself does
|
|
14
|
+
not contain a central list of layers. Each rendered Present supplies its own paint order.
|
|
15
|
+
|
|
16
|
+
An IntrinsicExtent gives a source image's actual dimensions. A Frame gives the destination rectangle
|
|
17
|
+
a consumer should occupy. A landscape image can retain its real extent while appearing in a portrait
|
|
18
|
+
composition. An A-roll source has no prescribed Frame or crop. For performance remaining mostly
|
|
19
|
+
full-screen, its intended final aspect can guide source direction; later insets or splits remain
|
|
20
|
+
presentation choices. Translate required source framing into visible camera facts before generation.
|
|
21
|
+
|
|
22
|
+
```svml
|
|
23
|
+
<import as="space" from="@hypit/spatial@1"/>
|
|
24
|
+
|
|
25
|
+
<space:Canvas id="canvas" width="1080" height="1920"/>
|
|
26
|
+
<space:Extent id="photo-size" width="1600" height="1200"/>
|
|
27
|
+
<space:Frame id="full" within={canvas}
|
|
28
|
+
left="0%" top="0%" right="100%" bottom="100%"/>
|
|
29
|
+
<space:Frame id="content" within={full}
|
|
30
|
+
left="6%" top="8%" right="94%" bottom="90%"/>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Coordinates start at the top left; x increases rightward and y downward. Frame edges are positions
|
|
34
|
+
from the parent's left/top, so `right="94%"` is the right edge at 94% of parent width. It leaves a
|
|
35
|
+
6% margin. A percentage on the x axis uses the parent width; on y it uses parent height. Nesting
|
|
36
|
+
changes that reference rectangle. Pixel lengths use `px`.
|
|
37
|
+
|
|
38
|
+
## Anchor an object or preserve its aspect
|
|
39
|
+
|
|
40
|
+
```svml
|
|
41
|
+
<space:AnchoredFrame id="label" within={content}
|
|
42
|
+
x="50%" y="85%" width="80%" height="12%" anchor="center"/>
|
|
43
|
+
<space:AspectFrame id="photo-frame" within={content}
|
|
44
|
+
x="100%" y="0%" width="45%" aspect={photo-size} anchor="top-right"/>
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
AnchoredFrame pins the named point of a sized rectangle to x/y in the parent. AspectFrame derives
|
|
48
|
+
one dimension from the other: specify width or height, plus an Extent or a ratio such as `4/3`.
|
|
49
|
+
An `offset-x` or `offset-y` is an additional pixel nudge. An anchored frame can extend beyond its
|
|
50
|
+
parent when that is the intended composition.
|
|
51
|
+
|
|
52
|
+
For text, `space:Point` supplies a pixel position and `space:Path` supplies authored Move/Line/curve
|
|
53
|
+
commands. [Fonts and text](fonts-and-text.md) shows which Typography placement consumes each.
|
|
54
|
+
|
|
55
|
+
## Fit the source into the Frame
|
|
56
|
+
|
|
57
|
+
Media Track and the ordinary Performance Style share two spatial roles:
|
|
58
|
+
|
|
59
|
+
- The **destination Frame** places the visual on the Canvas and supplies its outer shape.
|
|
60
|
+
- The **fitted content rectangle** places the scaled source inside that Frame. Its size and position
|
|
61
|
+
come from the source's real Extent and the appearance Recipe's fit and alignment choices.
|
|
62
|
+
|
|
63
|
+
Supply the destination Frame and the source's actual dimensions. A still image needs an Extent;
|
|
64
|
+
prepared moving media already carries its dimensions. The component calculates the content rectangle.
|
|
65
|
+
Border and padding reduce the area used for fitting inside the outer Frame. This inset is derived
|
|
66
|
+
from those settings, rather than requiring another authored Frame.
|
|
67
|
+
|
|
68
|
+
For example, with no border or padding, a `1600 × 900` image fitted into a `600 × 600` Frame becomes
|
|
69
|
+
`600 × 337.5` under `contain`, leaving room above and below when centered. Under `cover`, it becomes
|
|
70
|
+
about `1066.7 × 600`; a frame clip shows the middle square. Moving the destination moves the whole
|
|
71
|
+
presentation; changing content alignment changes which part of that image occupies the square.
|
|
72
|
+
|
|
73
|
+
Choose fitting through the component's appearance Recipe:
|
|
74
|
+
|
|
75
|
+
- **contain** keeps the complete image visible and may leave space around it;
|
|
76
|
+
- **cover** fills the destination and may crop the image;
|
|
77
|
+
- **stretch** changes the source proportions to occupy the destination.
|
|
78
|
+
|
|
79
|
+
The selected Media/Performance vocabulary also exposes `fit-width`, `fit-height`, `native` and `scale-down` when one
|
|
80
|
+
dimension or the source's own pixel size should determine the scale. The default is centered
|
|
81
|
+
`contain`. `fit: stretch` is spatial resizing; Media Track's `playback: stretch` is a separate choice
|
|
82
|
+
about video speed.
|
|
83
|
+
|
|
84
|
+
## Align the picture inside its destination
|
|
85
|
+
|
|
86
|
+
The fit aligns a point on the scaled picture with a point in the fitting area:
|
|
87
|
+
|
|
88
|
+
| Control in the appearance Recipe | Meaning |
|
|
89
|
+
| --- | --- |
|
|
90
|
+
| `frame-x`, `frame-y` | The destination alignment point, from `0` to `1` across the fitting area's width and height |
|
|
91
|
+
| `content-x`, `content-y` | The point on the scaled source that meets it, also from `0` to `1` |
|
|
92
|
+
| `fit-offset-x`, `fit-offset-y` | Additional source displacement in pixels, positive right and down |
|
|
93
|
+
| `fit-constraint` | `bounded` keeps the fitted rectangle within the available placement range; `free` preserves the authored alignment and offsets |
|
|
94
|
+
|
|
95
|
+
The four point coordinates default to `0.5`; offsets default to zero. To keep a cover crop aligned
|
|
96
|
+
to the top, use `frame-y: 0; content-y: 0;`. `frame-x` and `frame-y` are alignment fractions inside
|
|
97
|
+
this fitting area. Position the whole card or inset with its spatial Frame.
|
|
98
|
+
|
|
99
|
+
With `bounded`, a source larger than the fitting area keeps it covered on that axis; a smaller
|
|
100
|
+
source stays inside it. An offset can therefore be limited, including to zero when the dimensions
|
|
101
|
+
match. Use `free` when exposing space through an offset is part of the design. Choose alignment from
|
|
102
|
+
the actual subject and composition; these coordinates express your crop choice.
|
|
103
|
+
|
|
104
|
+
## Shape the outer frame
|
|
105
|
+
|
|
106
|
+
Clipping, border, padding, shadow and frame paint belong to the outer Frame. The shared appearance
|
|
107
|
+
Recipe uses `clip: frame` for a rectangular clip, `clip: rounded` with a pixel `radius` for rounded
|
|
108
|
+
corners, or `clip: none` to show overflow. A radius takes effect with the rounded clip.
|
|
109
|
+
|
|
110
|
+
Here is a circular presenter inset; the named Canvas, SemanticTake and imported namespaces are
|
|
111
|
+
already available:
|
|
112
|
+
|
|
113
|
+
```svml
|
|
114
|
+
<space:AnchoredFrame id="presenter-frame" within={canvas}
|
|
115
|
+
x="94%" y="94%" width="320px" height="320px" anchor="bottom-right"/>
|
|
116
|
+
<time:Clock id="clock" frame-rate="30"/>
|
|
117
|
+
<time:Timeline id="speech" clock={clock}>
|
|
118
|
+
<time:Take source={opening.take}/>
|
|
119
|
+
</time:Timeline>
|
|
120
|
+
<performance:Style id="presenter-style" frame={presenter-frame} appearance={look.presenter}/>
|
|
121
|
+
<performance:Track id="presenter" timeline={speech.timeline} canvas={canvas}>
|
|
122
|
+
<performance:Use style={presenter-style} during="program"/>
|
|
123
|
+
</performance:Track>
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
```svs
|
|
127
|
+
look.presenter {
|
|
128
|
+
stack-order: 20;
|
|
129
|
+
fit: cover;
|
|
130
|
+
clip: rounded;
|
|
131
|
+
radius: 160;
|
|
132
|
+
border-width: 3;
|
|
133
|
+
border-color: #D8C7A8;
|
|
134
|
+
}
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
A square Frame with radius half its side makes a circle. This crops the source geometrically;
|
|
138
|
+
subject-shaped transparency comes from the prepared media. For a rounded card, choose a radius
|
|
139
|
+
appropriate to its size. Rounded clipping follows the Frame: a smaller `contain` picture sitting
|
|
140
|
+
away from its corners can still have square picture corners. For rounded edges that follow the
|
|
141
|
+
picture itself, make the Frame match its displayed aspect and place the content flush inside it.
|
|
142
|
+
|
|
143
|
+
`padding` uses quoted pixel values: `"12"` for all sides, `"8 12"` for vertical/horizontal, or
|
|
144
|
+
`"8 12 16 12"` for top/right/bottom/left. Border and padding both reduce the fitting area while the
|
|
145
|
+
outer Frame keeps its size. Padding changes where fitting happens; the clip still follows the outer
|
|
146
|
+
Frame. `frame-paint` colors the space behind the source, including space left by fitting. Borders
|
|
147
|
+
outline the Frame and `shadows` sit behind it. Sample `opacity` and filters affect the picture;
|
|
148
|
+
the frame's paint and decoration have their own appearance.
|
|
149
|
+
|
|
150
|
+
## Move the frame or move its contents
|
|
151
|
+
|
|
152
|
+
A lifecycle `motion` Recipe moves or fades the complete framed presentation, including its border
|
|
153
|
+
and paint. `Sampling` children pan, zoom or rotate the fitted picture under that frame. Use Sampling
|
|
154
|
+
for a moving crop or a slow push-in while a card's outline stays still:
|
|
155
|
+
|
|
156
|
+
```svml
|
|
157
|
+
<media:Item media={prepared.media} during={story.selection.detail}
|
|
158
|
+
frame={detail-frame} appearance={look.detail}>
|
|
159
|
+
<media:Sampling at="start" zoom="1"/>
|
|
160
|
+
<media:Sampling at="end" zoom="1.08" y="-18"/>
|
|
161
|
+
</media:Item>
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
This excerpt belongs inside Media Track, with prepared media, a Selection, Frame and Recipe already
|
|
165
|
+
available. Sampling fields apply to a direct-source Item or Member, or a sampled Layer.
|
|
166
|
+
`x` and `y` are pixel offsets, `rotate` is in
|
|
167
|
+
degrees, and `at` follows the source unit's active span from `start` to `end`, with percentages for
|
|
168
|
+
intermediate keys. Sampling acts after the static fit; its movement can expose space inside the
|
|
169
|
+
Frame. Choose the crop and motion together for the intended coverage.
|
|
170
|
+
|
|
171
|
+
[Performance](performance.md) applies fixed or custom Styles to existing Timeline footage. A moving
|
|
172
|
+
Style retains the original Use Window across partial coverage and Take boundaries. A scene that
|
|
173
|
+
coordinates the viewport with surrounding graphics can own the shared motion in its
|
|
174
|
+
[component program](component-visuals.md#compose-video-and-graphics-in-one-browser-program), retaining
|
|
175
|
+
source playback positions.
|
|
176
|
+
|
|
177
|
+
[Media presentation](media-presentation.md) and [Performance](performance.md) own their content and
|
|
178
|
+
playback inputs. Read their installed vocabulary for the complete appearance and motion fields.
|
|
179
|
+
|
|
180
|
+
## Carry measured regions through the same geometry
|
|
181
|
+
|
|
182
|
+
RegionTimeline contains already measured boxes indexed by program frame. Its recipe uses normalized
|
|
183
|
+
`[x, y, width, height]` boxes and `null` for absent measurements, converted against the chosen Canvas.
|
|
184
|
+
Take-local measurements need their actual program offsets. Reframed or cropped footage needs the
|
|
185
|
+
corresponding spatial transform before its boxes can position text correctly.
|
|
186
|
+
|
|
187
|
+
[Caption tracking](../playbooks/craft/caption-tracking.md) explains producing and applying head
|
|
188
|
+
regions. In a new component's visual element tree, child positions are relative to their parent;
|
|
189
|
+
[component visuals](component-visuals.md) shows that final layout boundary.
|
package/skills/using-vvicat-ai-short-studio-cli/references/hypit/production/studio-companions.md
ADDED
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
# Make a component useful in Studio
|
|
2
|
+
|
|
3
|
+
Read this while adding timeline meaning, picture selection or author controls to a project
|
|
4
|
+
component. [Studio](studio.md) owns opening and operating the editor;
|
|
5
|
+
[component design](component-design.md) owns the component's creative boundary.
|
|
6
|
+
|
|
7
|
+
The Companion describes two things: **what an author can recognize and select**, and **which
|
|
8
|
+
authored fact an edit changes**. Keep the same concepts across the picture, timeline and Inspector.
|
|
9
|
+
A reveal can be one entity even when its graphic moves and later remains on a board. A coordinated
|
|
10
|
+
presenter-and-diagram scene can stay one entity when its layout is intended to be edited together.
|
|
11
|
+
Recognition and editing are separate capabilities. A production may use Studio mainly to watch and
|
|
12
|
+
show its arrangement, with a few useful adjustments. Clear labels, timing and selected read-only
|
|
13
|
+
facts can fully serve a one-off scene; useful Caption controls can coexist with that fixed scene.
|
|
14
|
+
|
|
15
|
+
## Choose useful entities and lanes
|
|
16
|
+
|
|
17
|
+
Match the component's actual Module ABI, Surface and terminal output Type. Generic VisualTrack or
|
|
18
|
+
AudioTrack entities are enough for simple occupancy. Use `project(context)` when the author needs
|
|
19
|
+
domain meaning that the terminal drawing no longer contains. A Surface preview supplies a useful
|
|
20
|
+
static recognition image; live entities and editable bindings come from the Companion.
|
|
21
|
+
|
|
22
|
+
Generic presentation recognizes the terminal Type, not the component's creative role. A custom
|
|
23
|
+
Caption Track can therefore render correct subtitles yet appear as a generic blue visual lane with
|
|
24
|
+
opaque ids when its package has no matching Companion. Inspect the selected Companion and its
|
|
25
|
+
Module/Surface match before treating this as misplaced content or moving visuals between Tracks.
|
|
26
|
+
The package declares its role; Studio does not infer one from a tag name or the text in a picture.
|
|
27
|
+
|
|
28
|
+
When adapting an existing family, carry forward its editor meaning wherever the public content,
|
|
29
|
+
schedule and author identities still agree. Reuse its Companion with the actual Module/Surface
|
|
30
|
+
identity, or adapt its projection for the changed behavior. Preserve useful Cue/Use or item/event
|
|
31
|
+
relationships along with rendering. A rendering wrapper alone does not activate that integration.
|
|
32
|
+
|
|
33
|
+
For example, a board can expose its outer lifetime and its individual reveal events. Publish the
|
|
34
|
+
deterministic schedule/program needed to describe these from the same Surface, then request its
|
|
35
|
+
exact output port through `requiredValues`. `requiredSurfaceValue(context, "schedule")` reads that
|
|
36
|
+
published output. `requiredReferencedValue` reads an exact typed author reference instead.
|
|
37
|
+
|
|
38
|
+
| Declaration | Authoring meaning |
|
|
39
|
+
| --- | --- |
|
|
40
|
+
| Companion label, tone, icon and `lane.heightPx` | Recognize the component and give its information enough room. |
|
|
41
|
+
| Entity id and authored identity | Select the same authored object after recompilation or reordering. Qualify child ids across component instances. |
|
|
42
|
+
| `display.title` and display layers | Show useful content, text or declared media rather than an opaque implementation id. |
|
|
43
|
+
| `startFrame`, `endFrameExclusive` | Describe what this rectangle edits: occupancy, activation or another explicit interval. |
|
|
44
|
+
| `stackOrder` | Order overlapping editor entities; this is separate from changing the Film's paint order. |
|
|
45
|
+
| Companion `attachments` and entity `lane` | Expose a meaningful child lane, such as reveals under a board, with its own fields. |
|
|
46
|
+
|
|
47
|
+
Each declared lane is one row. Overlapping items remain selectable; selection raises the selected
|
|
48
|
+
rectangle within that row. Parent and attached lanes use the same behavior. Add a child lane when
|
|
49
|
+
it explains another authoring relationship, such as activation within a persistent board.
|
|
50
|
+
|
|
51
|
+
An activation rectangle may end before the object disappears. Keep the activation's editable range
|
|
52
|
+
and the object's continuing picture identity distinct. The installed Ranking Companion demonstrates
|
|
53
|
+
this with the board and its independent reveals.
|
|
54
|
+
|
|
55
|
+
## Put related rules in a Band
|
|
56
|
+
|
|
57
|
+
A Track's `bands` are internal strips sharing its label. For example, Caption shows Cue content
|
|
58
|
+
with a bottom band for Style Uses; Performance and Sound show placed Takes with their Uses below.
|
|
59
|
+
The rule is a selectable entity with its own Window, even when overridden or currently empty.
|
|
60
|
+
It remains one Use across gaps and content boundaries.
|
|
61
|
+
|
|
62
|
+
```ts
|
|
63
|
+
bands: [{ id: "uses", placement: "after", heightPx: 15, display: "label" }]
|
|
64
|
+
// The projected Use entity selects: band: "uses"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Use `attachments` for independent child objects such as Ranking reveals. Use a Band for another
|
|
68
|
+
aspect of the same Track such as its presentation choices. Both use ordinary entity selection,
|
|
69
|
+
overlap order, field declarations and time editing. Each entity chooses one declared band or lane.
|
|
70
|
+
|
|
71
|
+
## Connect the picture to the entity
|
|
72
|
+
|
|
73
|
+
Associate the actual rendered parts with `presentId` or `renderIds`. All phases belonging to the
|
|
74
|
+
same item can select that item: entrance, movement and settled appearance. Give the board/background
|
|
75
|
+
parts to the parent and the reveal's parts to its child when separate selection is useful.
|
|
76
|
+
|
|
77
|
+
The renderer's explicit `subjectId` can associate multiple rendered phases with one domain item;
|
|
78
|
+
the Companion carries their actual ids into `renderIds`. Studio uses the visible parts at the
|
|
79
|
+
current frame. This preserves selection after an icon lands without duplicating animation geometry
|
|
80
|
+
in the Companion. A preset with no separately exposed child remains part of the parent entity.
|
|
81
|
+
|
|
82
|
+
Picture selection and timeline selection identify the same authored object. If position and size
|
|
83
|
+
are exposed choices, its declared Inspector fields can adjust them.
|
|
84
|
+
|
|
85
|
+
## Expose decisions, not implementation debris
|
|
86
|
+
|
|
87
|
+
Declare `bindings` for the actual author endpoints, then choose visible `inspector` fields. A
|
|
88
|
+
binding can follow a shared authored Frame or Style through `referenced`, or an SVS Recipe through
|
|
89
|
+
`recipe`. Use `parameterReferences` for an entity's actual reference, when a derived entity points to a different authored object. Shared values retain their shared effect when edited.
|
|
90
|
+
|
|
91
|
+
A Companion presents the author model. A meaningful semantic event may deserve a timeline handle
|
|
92
|
+
without turning every animation key into an Inspector field. Conversely, a visible number or
|
|
93
|
+
qualitative setting inside drawing code need not become a public input. The
|
|
94
|
+
[parameter boundary](component-design.md#expose-the-choices-the-work-needs) applies before choosing UI controls. When an Inspector adjustment
|
|
95
|
+
is actually needed, bind it to a real Source input or domain event. A label inside a one-off renderer
|
|
96
|
+
can remain an implementation detail until external control has a purpose. Useful child entities can
|
|
97
|
+
live inside the same Track, and selection can be read-only. The
|
|
98
|
+
[component boundary](component-design.md#separate-responsibility-parameters-and-reuse) determines
|
|
99
|
+
what is independently organized; it does not prescribe how many controls to provide.
|
|
100
|
+
|
|
101
|
+
Where describes placement and layout. When describes timing, playback and motion. How describes
|
|
102
|
+
appearance, content and sound. Each Companion chooses useful pages and sections within them.
|
|
103
|
+
|
|
104
|
+
| Control | Useful choice |
|
|
105
|
+
| --- | --- |
|
|
106
|
+
| `text` | Wording or a meaningful expression; `multiline` for longer text. |
|
|
107
|
+
| `number` | Magnitude, with appropriate units, scale and limits. |
|
|
108
|
+
| `boolean` | An actual two-state choice. |
|
|
109
|
+
| `select` | Preset, font, alignment or another finite choice, with readable labels. |
|
|
110
|
+
| `color` | Exact hex color, optionally with suggested `swatches`. |
|
|
111
|
+
| `list` / `record` | A schema-described ordered list or named set of values, saved together when editing ends and the value is complete. |
|
|
112
|
+
|
|
113
|
+
For a Surface with a literal `label` attribute, a minimal declaration is:
|
|
114
|
+
|
|
115
|
+
```ts
|
|
116
|
+
bindings: [{ name: "label", writable: true }],
|
|
117
|
+
inspector: [{
|
|
118
|
+
binding: "label", label: "Label", domain: "how",
|
|
119
|
+
section: { id: "content", label: "Content" }, control: "text",
|
|
120
|
+
}],
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
The Surface already owns `label`; the Companion exposes it. A width stored as `"78%"` can use
|
|
124
|
+
`control: "number", number: { suffixes: ["%", "px"] }`: editing 42 retains the existing suffix.
|
|
125
|
+
An opacity stored as `0.78` can use `unit: "%", number: { scale: 100, minimum: 0, maximum: 100 }`:
|
|
126
|
+
the control shows 78 and entering 42 writes 0.42. `unit` alone is a display label. Suffix handling
|
|
127
|
+
retains an authored unit; it does not convert percentages to pixels.
|
|
128
|
+
|
|
129
|
+
A Style can own its controls independently of the Track that consumes it. The Track declares
|
|
130
|
+
`{ name: "style", companion: true }`; the Style's package contributes
|
|
131
|
+
`createStudioCompanionHostFacet({ parameters: [{ id, match: { module, surface }, bindings, inspector }] })`.
|
|
132
|
+
Its field names are local to that Style. Studio follows the reference and combines those fields
|
|
133
|
+
with the Use's time controls. This works for a new project motion Style as well as a familiar
|
|
134
|
+
framed presentation. Shared Style edits continue to affect its other Uses.
|
|
135
|
+
|
|
136
|
+
A binding's typed `fallback` exposes an omitted default; first editing it writes the property or
|
|
137
|
+
attribute into its owning source. A fallback function can express a dependent default from the
|
|
138
|
+
authored properties. Choose useful valid defaults in the component's own vocabulary. Read-only
|
|
139
|
+
facts and controls share Where, When and How; unpaged fields remain visible beside the active page.
|
|
140
|
+
|
|
141
|
+
Related scalar attributes can share one `record` draft through a binding's `attributes` list and
|
|
142
|
+
schema. Use object alternatives with a literal mode field when each choice needs different inputs;
|
|
143
|
+
Once its required fields are complete, editing writes the chosen group together and removes unused members. Audio playback demonstrates
|
|
144
|
+
this for its mode and stretch bounds. The package owns those alternatives; see
|
|
145
|
+
the installed Studio adapter README, “Edit related attributes together,” for the exact declaration.
|
|
146
|
+
|
|
147
|
+
Select options may be plain strings or `{ value, label, description, preview }` entries. Color and
|
|
148
|
+
font previews are small visual hints; the actual option value is written. A font hint uses a family
|
|
149
|
+
available to the editor, while the production font remains an explicit resource as described in
|
|
150
|
+
[fonts and text](fonts-and-text.md). The component's schema owns valid author values. Studio
|
|
151
|
+
performs the declared conversion, serializes in the source language and saves the owning file.
|
|
152
|
+
|
|
153
|
+
## Preserve the timing decision through editing
|
|
154
|
+
|
|
155
|
+
Carry the real Window/Instant lineage into each entity. For a domain Spec consumed beside a
|
|
156
|
+
projection, `temporalLineageFor(context, item.id, "activation")` follows that actual consumer input;
|
|
157
|
+
use the real input name, such as `window`, `outer` or `activation`. `authoredChildFor` and
|
|
158
|
+
`childEntities` connect domain child identities to their exact author origins.
|
|
159
|
+
|
|
160
|
+
The [authored time form](timing.md#choose-what-a-later-edit-changes) determines the edit: a direct
|
|
161
|
+
Selection changes its two Script anchors, a direct Moment changes one anchor, and a quoted clock
|
|
162
|
+
expression changes its local time or offset. A projected frame alone does not establish that
|
|
163
|
+
relationship. Several objects can consume the same Selection or Moment; changing it updates them
|
|
164
|
+
all through normal compilation. A separate offset remains a separate local decision.
|
|
165
|
+
|
|
166
|
+
## Load it with the project package
|
|
167
|
+
|
|
168
|
+
Keep the Companion separate from the component's Producers. External packages import
|
|
169
|
+
`@hypit/hypit/studio-adapter` and relevant public `@hypit/hypit/*` APIs, with the Distribution as a
|
|
170
|
+
development dependency. Add `createStudioTrackCompanionHostFacet(companions)` to the existing
|
|
171
|
+
activation's `hostFacets`, retaining its author and producer contributions. Ship the compiled
|
|
172
|
+
Companion through the package's normal activation entry.
|
|
173
|
+
|
|
174
|
+
The Source-selected package activates its Companion. Restart Studio after changing package code
|
|
175
|
+
or activation. Ordinary Source and Recipe edits recompile within the current session.
|
|
176
|
+
|
|
177
|
+
Use the installed `packages/studio-adapter/README.md` for the complete minimal Companion and
|
|
178
|
+
activation example, `packages/studio/INSPECTOR.md` for field declarations, and
|
|
179
|
+
`packages/temporal-markup/EDITING.md` for exact time-form behavior. These are package references
|
|
180
|
+
inside the installed Distribution. Ranking, Caption Fine and Media Track Companions demonstrate
|
|
181
|
+
persistent events, Cue content with Style Uses, and material occupancy respectively.
|
|
182
|
+
|
|
183
|
+
Try the component in its actual Run: select a meaningful picture part, inspect the corresponding
|
|
184
|
+
timeline entity, change an exposed value and inspect the owning Source and resulting picture.
|
|
185
|
+
For a shared timing edit, inspect the other consumers too. Seek into both movement and settled
|
|
186
|
+
states when those belong to the component's behavior.
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
# Work in Studio
|
|
2
|
+
|
|
3
|
+
Read this when opening a Run, choosing its interface language, using its timeline and Inspector, or giving a project component a
|
|
4
|
+
useful Studio presentation. For component implementation, read [Companion authoring](studio-companions.md).
|
|
5
|
+
[Review](review.md) owns the judgment made from the visible work;
|
|
6
|
+
[Track authoring](track-authoring.md) owns the component's production behavior.
|
|
7
|
+
|
|
8
|
+
## Open the actual Run
|
|
9
|
+
|
|
10
|
+
From the video project, use the installed Distribution's command:
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
hypit studio --run build.svrun
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Supply `--runtime <profile>` when intentionally using a different Profile from the project's
|
|
17
|
+
`hypit runtime use` selection. Studio needs a Run whose selected targets reach one Film with resolved
|
|
18
|
+
composition and time. The Timeline supplies the clock and any placed Script anchors for component
|
|
19
|
+
lanes, including a pure animation with no Takes. An image-generation-only Run is not a Film view; several distinct
|
|
20
|
+
Films need separate Runs or sessions.
|
|
21
|
+
|
|
22
|
+
Open the URL actually printed by the process and retain it with the Run it serves. For review, open
|
|
23
|
+
that URL with `#comments` appended, such as `http://localhost:5179/#comments`; this selects the
|
|
24
|
+
Comments view directly. The printed port is authoritative. The default
|
|
25
|
+
requested port is 5179; `--port` selects another, and an occupied port can cause Vite to choose a
|
|
26
|
+
different one. Reuse an existing session when it serves the intended project and Run.
|
|
27
|
+
|
|
28
|
+
The startup output identifies the project, absolute Run path, Runtime Profile and selection source.
|
|
29
|
+
An explicit `--runtime` applies to this session; the project's default comes from `.hypit/runtime`.
|
|
30
|
+
When launching from another directory, use `--workspace` to select the project and supply the Run
|
|
31
|
+
path from the current directory, as shown in [project boundaries](../creation/project-files.md#establish-the-project-boundary).
|
|
32
|
+
|
|
33
|
+
Studio watches the Run and its loaded Author/Recipe Sources and recompiles them after changes.
|
|
34
|
+
Changing package code, adding a package import, changing Companion activation, or selecting another
|
|
35
|
+
Runtime or Result repository requires restarting that Studio session: those implementations and
|
|
36
|
+
selections are loaded at startup. A browser refresh alone does not reload the server-side modules.
|
|
37
|
+
Stop only the relevant Studio process; stopping Studio does not cancel a submitted Build.
|
|
38
|
+
|
|
39
|
+
## Choose the interface language
|
|
40
|
+
|
|
41
|
+
The globe menu to the left of **Studio / Comments** changes the interface language. English and
|
|
42
|
+
Simplified Chinese are included. The first visit follows browser language preferences; later visits
|
|
43
|
+
remember the user's choice. Switching preserves the playhead, selection and comment draft. When
|
|
44
|
+
introducing the review, point out this menu if it helps the user work in their preferred language.
|
|
45
|
+
This choice affects Studio's interface, not the video's Script, captions or user comments;
|
|
46
|
+
component-owned names and Companion labels retain their authored text.
|
|
47
|
+
|
|
48
|
+
Additional languages are ordinary JSON data, loaded explicitly when opening Studio:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
hypit studio --check-locale ./studio-ja.json
|
|
52
|
+
hypit studio --run build.svrun --locale-pack ./studio-ja.json
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
For a new translation, copy `packages/studio/locales/en.json` from the installed Distribution.
|
|
56
|
+
Set `locale`, the native language `name`, and `direction` (`ltr` or `rtl`); translate `messages`
|
|
57
|
+
while keeping their IDs and named variables such as `{count}`. Missing entries use English.
|
|
58
|
+
The check command reports missing entries, unknown IDs and invalid variables without opening a Run.
|
|
59
|
+
Relative file paths start at the command's working directory. Repeat `--locale-pack` for several
|
|
60
|
+
languages, or pass an installed package's JSON export instead, such as
|
|
61
|
+
`--locale-pack @your-scope/studio-ja/locale.json`. A local file is enough; sharing it as a package
|
|
62
|
+
is optional. Restart Studio to load changed language files. The installed
|
|
63
|
+
`packages/studio/LOCALIZATION.md` covers plural forms and JSON package exports.
|
|
64
|
+
|
|
65
|
+
## Discuss the work while composing
|
|
66
|
+
|
|
67
|
+
When the user is collaborating locally, open the actual composition once a meaningful passage is
|
|
68
|
+
available and keep its Studio URL connected to the current Run. Point to the passage, object or
|
|
69
|
+
transition being discussed so the user can give concrete direction. Continue through settled choices;
|
|
70
|
+
showing progress need not become an approval stop. Use the prepared production media and explain
|
|
71
|
+
which passages are already composed. A rendered frame or clip remains useful when it answers the
|
|
72
|
+
current question more directly.
|
|
73
|
+
|
|
74
|
+
Check that the objects being discussed are recognizable and that their useful author choices are
|
|
75
|
+
available. A successful preview establishes that the picture renders; the component's Companion
|
|
76
|
+
establishes what the user can select and revise. [Companion authoring](studio-companions.md) explains
|
|
77
|
+
this view of the same Source, including generic fallback and project-defined families.
|
|
78
|
+
|
|
79
|
+
## Revise from timestamped Comments
|
|
80
|
+
|
|
81
|
+
Open Comments directly when the user wants to point at a moment and describe a change.
|
|
82
|
+
It gives the same composition a larger player and a comment column. A change of visual style,
|
|
83
|
+
choreography or graphic structure often needs authored code or direction, while a position or color
|
|
84
|
+
may fit an Inspector field. Both are ordinary collaboration: Comments carries the desired result,
|
|
85
|
+
and the Agent chooses the owning Source, Recipe, component or material decision to change.
|
|
86
|
+
|
|
87
|
+
Comments live in `FEEDBACK.json` at the project workspace root. Read the entries for the reviewed Run
|
|
88
|
+
and the open notes before revising. Each entry has a stable `id`, workspace-relative `run`, `at` in
|
|
89
|
+
seconds, `text`, and optional `resolved` (false when omitted). For example:
|
|
90
|
+
|
|
91
|
+
```json
|
|
92
|
+
{"comments":[{"id":"opening-title","run":"runs/render.svrun","at":1.5,
|
|
93
|
+
"text":"Give the title a softer pink and a stronger offset shadow.","resolved":false}]}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
The UI displays notes in time order; its `#` labels follow submission order within that Run. Identify
|
|
97
|
+
file edits by `id` and preserve the array order and unrelated entries. Clicking a note seeks to its
|
|
98
|
+
saved time. Interpret that time with its words and the reviewed composition: changing Script or Take
|
|
99
|
+
placement can move the intended event. Comments retain the reviewed seconds rather than silently
|
|
100
|
+
following new semantic timing.
|
|
101
|
+
|
|
102
|
+
Explain the changes you will make, apply them to their owning facts, and inspect the affected passage
|
|
103
|
+
and handoffs. Mark the addressed notes `resolved: true`; a note can be reopened with false. Both the
|
|
104
|
+
user and Agent can edit this file, and Studio observes saved changes. Read the current file before
|
|
105
|
+
writing so newly added comments survive. Retain useful directing decisions in Treatment or Progress;
|
|
106
|
+
comments remain the concrete review conversation.
|
|
107
|
+
|
|
108
|
+
Send saves a comment. Agent notification is not connected yet; when the user asks for another review
|
|
109
|
+
pass, read the latest file. [Composition review](review.md) explains the judgment, and
|
|
110
|
+
[project files](../creation/project-files.md) owns the production's durable memory.
|
|
111
|
+
|
|
112
|
+
## Review before export
|
|
113
|
+
|
|
114
|
+
For visual inspection, use [snapshot](snapshots.md) on this session first. It reads the current
|
|
115
|
+
compiled programme and selected resources, captures exact original frames, and writes PNGs with
|
|
116
|
+
optional grids. Studio remains the interactive view for playback, sound and editing.
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
When the composition is substantially ready and the user can access it, open the current Run at
|
|
120
|
+
`#comments` for discussion and introduce Comments and Studio together. Comments lets the user
|
|
121
|
+
pause and leave direction at a time; Studio shows the timeline, component relationships and exposed
|
|
122
|
+
parameters they can adjust. Both views stay with the same work and playhead. Browser playback does not render an MP4,
|
|
123
|
+
create an export Build or save frame sequences. It can therefore show real material and animation
|
|
124
|
+
while avoiding a full encode for changes the user is still choosing. Use Studio's other view for
|
|
125
|
+
Inspector or timeline edits, and an encoded frame or clip when that evidence is needed.
|
|
126
|
+
|
|
127
|
+
Introduce the review in the user's language: explain what is ready, invite timestamped comments,
|
|
128
|
+
and say whether export is waiting for their review or already covered by their request. For example:
|
|
129
|
+
“I've opened the editable video. You can pause and leave timestamped notes in Comments, or switch
|
|
130
|
+
to Studio to explore the timeline and adjust available parameters. When you're happy with it,
|
|
131
|
+
I can export the video.” This is a collaboration choice, not a mandatory
|
|
132
|
+
approval stage. A user who has asked for final export has already chosen that step.
|
|
133
|
+
|
|
134
|
+
A first-time reviewer may benefit from one short welcome note at the relevant time, saved with
|
|
135
|
+
`resolved: true`. Write it explicitly as the Agent's invitation, such as “You can pause here and
|
|
136
|
+
leave a note about anything you'd like changed.” It demonstrates the file workflow without adding
|
|
137
|
+
an unfinished production task or pretending that the user requested a change. Keep this optional
|
|
138
|
+
and specific to the collaboration; existing comments need no repeated welcome.
|
|
139
|
+
|
|
140
|
+
Once export is wanted, reuse the accepted material in a Build, retrieve its completed video and
|
|
141
|
+
check that encoded deliverable. [Rendering](rendering.md) and [Builds](builds.md) own that execution.
|
|
142
|
+
Comments is a review view of the editable work; the exported file is the deliverable.
|
|
143
|
+
|
|
144
|
+
## Show the finished work
|
|
145
|
+
|
|
146
|
+
Alongside the delivered video, a brief look at its editable production can make the handoff more
|
|
147
|
+
tangible. When Studio is readily accessible to the user, open the finished work and share the session
|
|
148
|
+
URL. Use a Run that reuses the completed media and SemanticTakes while keeping its Tracks and Recipes
|
|
149
|
+
available for editing. Reuse a suitable existing session or launch one as described above.
|
|
150
|
+
|
|
151
|
+
Point out something specific to this piece: a reveal tied to a word, the Caption styling, or a
|
|
152
|
+
component parameter they can adjust. Let the actual work demonstrate the editing experience. For a
|
|
153
|
+
remote user, a readily available screenshot or short recording can provide the same introduction.
|
|
154
|
+
[Project handoff](../creation/project-files.md#hand-over-an-editable-production) explains what to
|
|
155
|
+
include when the user wants to continue editing on another machine.
|
|
156
|
+
|
|
157
|
+
## Read the different views
|
|
158
|
+
|
|
159
|
+
| View | What it shows and what it can change |
|
|
160
|
+
| --- | --- |
|
|
161
|
+
| Source | The exact Run, Author and imported Source/Recipe files. Select a file and use Edit source; changes save automatically, and Cmd/Ctrl+S saves immediately. Check save/error state. This is not a project filesystem browser. |
|
|
162
|
+
| Preview | The selected Film composition rendered by HyperFrames in the browser. Play or seek with the transport or timeline. Selecting a component-declared visual part selects its corresponding timeline entity; adjust its exposed position in the Inspector. |
|
|
163
|
+
| Timeline | Semantic Segments, Selections and Moments, plus the component-projected Track entities and their visible intervals, materials or event lanes. A rectangle may describe occupancy, activation or persistent visibility; read the component's meaning. |
|
|
164
|
+
| Inspector | With nothing selected, project, Canvas, time and Run facts. For a selected entity, its declared read-only facts and adjustable fields, organized under Where, When and How where applicable. |
|
|
165
|
+
| Tasks | One card per Build, grouped into ongoing and finished. Active status and progress come from the selected Runtime; completed, failed and cancelled Builds come from project Results. Cards retain the source Run, times and any failure or attention reason. |
|
|
166
|
+
| Artifacts | Image, video and audio file Outputs from project Results, including those already published by ongoing Builds. Use the sidebar to choose all media, videos, images or audio. View media on a Build opens its Outputs; opening the Artifacts tab returns to project media. Composite Outputs such as normalized media and Semantic Takes stay intact and do not add their internal files to this gallery. Click a card to view it in the central preview; video and audio have playback and a time slider. Back to composition returns to the existing composition position. Previewing a file does not select it as a Candidate in the Run. |
|
|
167
|
+
|
|
168
|
+
A declared lane stays one row even when items overlap. Later items cover earlier ones at equal
|
|
169
|
+
stacking order; selecting an item brings its full rectangle forward within that lane. This changes
|
|
170
|
+
editor selection, not the Film's paint order. The same behavior applies to attached child lanes.
|
|
171
|
+
The time ruler and its Segment, Word and Selection/Moment bands form one pinned Timeline area.
|
|
172
|
+
Empty information bands are omitted; a work without Segments keeps the ordinary time ruler.
|
|
173
|
+
Select an overlapping object to bring it forward, or right-click the overlap to choose one covered
|
|
174
|
+
by its peers. This changes editor selection, not the composition.
|
|
175
|
+
|
|
176
|
+
Open either library tab or click Refresh to read its latest state. These lists do not poll.
|
|
177
|
+
Refresh replaces the view; scrolling to the end loads more. Media categories query matching files
|
|
178
|
+
across Result pages, so an intervening Build without that kind of media does not require a separate action. A failed refresh keeps the
|
|
179
|
+
previous view and displays the error. Multiple references to one stored file share a media card;
|
|
180
|
+
its source details retain the originating Builds and Outputs. Highlighted Outputs appear first.
|
|
181
|
+
Names show up to two lines. Double-click a name or press F2 to edit; Enter or leaving the field
|
|
182
|
+
saves, and Escape cancels. Renaming changes the displayed Output name in the finished Result,
|
|
183
|
+
not its reference identifier or media file.
|
|
184
|
+
|
|
185
|
+
Use [Builds and Results](builds.md) to inspect Output names, export media, finish an incomplete Result,
|
|
186
|
+
edit Result presentation metadata or select an earlier Output. Studio reads the same project Result
|
|
187
|
+
repository. With no Runtime selected, finished Results remain accessible; preview works when its
|
|
188
|
+
display closure needs no unresolved Endpoint work. Active Runtime status and transient Endpoint
|
|
189
|
+
processing require the selected environment.
|
|
190
|
+
|
|
191
|
+
Studio opens the selected work for interactive playback and editing. It creates no Build and submits
|
|
192
|
+
no paid generation. It can evaluate deterministic Producers and the exact immediate capabilities a
|
|
193
|
+
Provider permits for transient authoring, such as media inspection and normalization. Select existing
|
|
194
|
+
files or produced Outputs through the Run for the material the view needs. If a required generation
|
|
195
|
+
is still running, continue component work and open its resulting composition when the material is ready.
|
|
196
|
+
|
|
197
|
+
[Runs](runs.md) explains selection and reuse. [Snapshots](snapshots.md) captures the current picture
|
|
198
|
+
directly with `hypit snapshot --studio <this-studio-url>`. [Rendering](rendering.md) provides frame-range Builds
|
|
199
|
+
for inspecting the composition as encoded media; choose the view that helps answer the current question.
|
|
200
|
+
|
|
201
|
+
## Edit the owning Source fact
|
|
202
|
+
|
|
203
|
+
Inspector fields and timeline handles write back to actual Source endpoints. A field can live in a
|
|
204
|
+
referenced Frame, Style or SVS Recipe rather than on the selected Track tag. Editing a shared Recipe
|
|
205
|
+
changes every consumer that uses it; create and select a separate authored instance when the design
|
|
206
|
+
needs independent variation. Lists and records save their complete validated value when editing ends. Required fields that are
|
|
207
|
+
still incomplete remain in the editor with a completion hint. Check save status and the resulting preview.
|
|
208
|
+
|
|
209
|
+
Where groups position, size, fitting and layout. When groups timing, playback, trims and motion.
|
|
210
|
+
How groups content, typography, color, effects and audio levels. Components name their own pages
|
|
211
|
+
and sections within these questions. Numeric units sit outside the editable value: a width authored
|
|
212
|
+
as `78%` keeps `%` when edited, while a fractional opacity may display as a percentage and write
|
|
213
|
+
back as a fraction. Dropdowns can have readable option names and previews; their underlying value
|
|
214
|
+
is what the Source receives. Color fields support exact hex values and suggested swatches.
|
|
215
|
+
|
|
216
|
+
For catalog fonts, Caption, Typography and Ranking can expose the primary font family's dropdown
|
|
217
|
+
through the selected Style. It edits the shared font declaration; its weight and style must be
|
|
218
|
+
available in the chosen family. A local font continues to use its exact file. A project component
|
|
219
|
+
can offer its own font or preset choices through Companion fields.
|
|
220
|
+
|
|
221
|
+
Timeline's placed Takes and complete extent provide reference information. Edit their `at` and
|
|
222
|
+
`end` declarations in Source when their placement should change. Presentation handles edit Uses
|
|
223
|
+
or component events; they do not move Takes or adjust Canvas dimensions implicitly.
|
|
224
|
+
|
|
225
|
+
Timing edits follow the authored relationship. A direct Selection or Moment edits that identity
|
|
226
|
+
in Script; a quoted expression edits its local clock value or offset; a duration changes independently.
|
|
227
|
+
[Timing and edit behavior](timing.md#choose-what-a-later-edit-changes) gives the complete forms,
|
|
228
|
+
affinity choices and shared-consumer consequences. Marker moves preserve unrelated prose whitespace. With unchanged spoken tokens and identities,
|
|
229
|
+
new marker references can use the existing Take's anchor times. [Reuse boundaries](authoring.md#reuse-produced-work-explicitly)
|
|
230
|
+
explain when to retain prepared Takes and when to retain only their upstream media.
|
|
231
|
+
|
|
232
|
+
A successful parameter or timeline edit saves the owning Source and recompiles the selected Run
|
|
233
|
+
for the view. Rejected edits retain the accepted Source and values. Result renaming instead updates
|
|
234
|
+
Result presentation metadata; it does not change the authored composition or trigger a Build.
|
|
235
|
+
|
|
236
|
+
Source edits outside Studio are observed too. If a stale UI edit conflicts with a newer file, read
|
|
237
|
+
the current Source and retry the intended change against it instead of overwriting the newer work.
|
|
238
|
+
Composition edits return to the ordinary Sources; they do not create a second Studio project.
|
|
239
|
+
|
|
240
|
+
## Give a project component a useful Companion
|
|
241
|
+
|
|
242
|
+
A Companion makes the component's own production relationships legible and editable: a board's
|
|
243
|
+
lifetime, a reveal event, a Cue's actual Style, or a scene's layout choices. Its Producers still own
|
|
244
|
+
the rendered work. Generic Track presentation is useful when no additional authoring concepts are
|
|
245
|
+
needed; a component with meaningful child events or controls can publish those directly.
|
|
246
|
+
|
|
247
|
+
Read [Companion authoring](studio-companions.md) for entities and child lanes, picture selection,
|
|
248
|
+
parameter controls, unit conversion, semantic writeback and package activation. It builds on the
|
|
249
|
+
same [component design](component-design.md) decisions used to make the video.
|