@lingjingai/scriptctl 0.49.15 → 0.50.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -2
- package/changes/0.49.16.md +15 -0
- package/changes/0.50.0.md +63 -0
- package/changes/unreleased.md +2 -1
- package/dist/cli.js +26 -5
- package/dist/cli.js.map +1 -1
- package/dist/domain/authoring/apply.d.ts +1 -33
- package/dist/domain/authoring/apply.js +1 -783
- package/dist/domain/authoring/apply.js.map +1 -1
- package/dist/domain/authoring/export.d.ts +1 -7
- package/dist/domain/authoring/export.js +1 -84
- package/dist/domain/authoring/export.js.map +1 -1
- package/dist/domain/authoring/parser.d.ts +2 -3
- package/dist/domain/authoring/parser.js +2 -914
- package/dist/domain/authoring/parser.js.map +1 -1
- package/dist/domain/authoring/serializer.d.ts +1 -2
- package/dist/domain/authoring/serializer.js +1 -243
- package/dist/domain/authoring/serializer.js.map +1 -1
- package/dist/domain/authoring/shared/bracket.d.ts +4 -0
- package/dist/domain/authoring/shared/bracket.js +95 -0
- package/dist/domain/authoring/shared/bracket.js.map +1 -0
- package/dist/domain/authoring/shared/types.d.ts +12 -0
- package/dist/domain/authoring/shared/types.js +2 -0
- package/dist/domain/authoring/shared/types.js.map +1 -0
- package/dist/domain/authoring/types.d.ts +2 -87
- package/dist/domain/authoring/types.js +2 -1
- package/dist/domain/authoring/types.js.map +1 -1
- package/dist/domain/authoring/v3/apply.d.ts +33 -0
- package/dist/domain/authoring/v3/apply.js +784 -0
- package/dist/domain/authoring/v3/apply.js.map +1 -0
- package/dist/domain/authoring/v3/export.d.ts +7 -0
- package/dist/domain/authoring/v3/export.js +85 -0
- package/dist/domain/authoring/v3/export.js.map +1 -0
- package/dist/domain/authoring/v3/parser.d.ts +3 -0
- package/dist/domain/authoring/v3/parser.js +823 -0
- package/dist/domain/authoring/v3/parser.js.map +1 -0
- package/dist/domain/authoring/v3/serializer.d.ts +2 -0
- package/dist/domain/authoring/v3/serializer.js +244 -0
- package/dist/domain/authoring/v3/serializer.js.map +1 -0
- package/dist/domain/authoring/v3/types.d.ts +76 -0
- package/dist/domain/authoring/v3/types.js +2 -0
- package/dist/domain/authoring/v3/types.js.map +1 -0
- package/dist/domain/authoring/v4/apply.d.ts +40 -0
- package/dist/domain/authoring/v4/apply.js +451 -0
- package/dist/domain/authoring/v4/apply.js.map +1 -0
- package/dist/domain/authoring/v4/parser.d.ts +2 -0
- package/dist/domain/authoring/v4/parser.js +729 -0
- package/dist/domain/authoring/v4/parser.js.map +1 -0
- package/dist/domain/authoring/v4/serializer.d.ts +6 -0
- package/dist/domain/authoring/v4/serializer.js +280 -0
- package/dist/domain/authoring/v4/serializer.js.map +1 -0
- package/dist/domain/authoring/v4/types.d.ts +50 -0
- package/dist/domain/authoring/v4/types.js +2 -0
- package/dist/domain/authoring/v4/types.js.map +1 -0
- package/dist/domain/ingest/apply-plan.d.ts +1 -1
- package/dist/domain/ingest/assembler.d.ts +9 -0
- package/dist/domain/ingest/assembler.js +98 -36
- package/dist/domain/ingest/assembler.js.map +1 -1
- package/dist/domain/ingest/asset-audit.d.ts +50 -0
- package/dist/domain/ingest/asset-audit.js +196 -0
- package/dist/domain/ingest/asset-audit.js.map +1 -0
- package/dist/domain/ingest/production-validation.d.ts +5 -4
- package/dist/domain/ingest/production-validation.js +10 -25
- package/dist/domain/ingest/production-validation.js.map +1 -1
- package/dist/domain/ingest/records.d.ts +1 -1
- package/dist/domain/ingest/records.js +1 -1
- package/dist/domain/ingest/records.js.map +1 -1
- package/dist/domain/ingest/serial-context.d.ts +1 -1
- package/dist/domain/ingest/validation.d.ts +1 -11
- package/dist/domain/ingest/validation.js +1 -199
- package/dist/domain/ingest/validation.js.map +1 -1
- package/dist/domain/ingest/video-apply.js +68 -45
- package/dist/domain/ingest/video-apply.js.map +1 -1
- package/dist/domain/script/address.d.ts +1 -32
- package/dist/domain/script/address.js +1 -144
- package/dist/domain/script/address.js.map +1 -1
- package/dist/domain/script/dispatch.d.ts +14 -0
- package/dist/domain/script/dispatch.js +47 -0
- package/dist/domain/script/dispatch.js.map +1 -0
- package/dist/domain/script/lookups.d.ts +1 -33
- package/dist/domain/script/lookups.js +1 -316
- package/dist/domain/script/lookups.js.map +1 -1
- package/dist/domain/script/parse.d.ts +1 -3
- package/dist/domain/script/parse.js +1 -164
- package/dist/domain/script/parse.js.map +1 -1
- package/dist/domain/script/patch/apply.d.ts +1 -2
- package/dist/domain/script/patch/apply.js +1 -30
- package/dist/domain/script/patch/apply.js.map +1 -1
- package/dist/domain/script/patch/helpers.d.ts +1 -17
- package/dist/domain/script/patch/helpers.js +1 -210
- package/dist/domain/script/patch/helpers.js.map +1 -1
- package/dist/domain/script/patch/inline-speaker.d.ts +1 -2
- package/dist/domain/script/patch/inline-speaker.js +1 -49
- package/dist/domain/script/patch/inline-speaker.js.map +1 -1
- package/dist/domain/script/patch/ops-action.d.ts +1 -12
- package/dist/domain/script/patch/ops-action.js +1 -366
- package/dist/domain/script/patch/ops-action.js.map +1 -1
- package/dist/domain/script/patch/ops-asset.d.ts +1 -14
- package/dist/domain/script/patch/ops-asset.js +1 -364
- package/dist/domain/script/patch/ops-asset.js.map +1 -1
- package/dist/domain/script/patch/ops-dialogue.d.ts +1 -2
- package/dist/domain/script/patch/ops-dialogue.js +1 -25
- package/dist/domain/script/patch/ops-dialogue.js.map +1 -1
- package/dist/domain/script/patch/ops-extend.d.ts +1 -8
- package/dist/domain/script/patch/ops-extend.js +1 -110
- package/dist/domain/script/patch/ops-extend.js.map +1 -1
- package/dist/domain/script/patch/ops-meta.d.ts +1 -5
- package/dist/domain/script/patch/ops-meta.js +1 -81
- package/dist/domain/script/patch/ops-meta.js.map +1 -1
- package/dist/domain/script/patch/ops-scene.d.ts +1 -6
- package/dist/domain/script/patch/ops-scene.js +1 -350
- package/dist/domain/script/patch/ops-scene.js.map +1 -1
- package/dist/domain/script/patch/ops-state.d.ts +1 -8
- package/dist/domain/script/patch/ops-state.js +1 -164
- package/dist/domain/script/patch/ops-state.js.map +1 -1
- package/dist/domain/script/patch/registry.d.ts +1 -2
- package/dist/domain/script/patch/registry.js +1 -52
- package/dist/domain/script/patch/registry.js.map +1 -1
- package/dist/domain/script/patch/types.d.ts +1 -10
- package/dist/domain/script/patch/types.js +1 -1
- package/dist/domain/script/patch/types.js.map +1 -1
- package/dist/domain/script/refs.d.ts +1 -4
- package/dist/domain/script/refs.js +1 -63
- package/dist/domain/script/refs.js.map +1 -1
- package/dist/domain/script/scene-refs.d.ts +1 -3
- package/dist/domain/script/scene-refs.js +1 -34
- package/dist/domain/script/scene-refs.js.map +1 -1
- package/dist/domain/script/schema.d.ts +1 -6
- package/dist/domain/script/schema.js +1 -55
- package/dist/domain/script/schema.js.map +1 -1
- package/dist/domain/script/selector.d.ts +1 -45
- package/dist/domain/script/selector.js +1 -184
- package/dist/domain/script/selector.js.map +1 -1
- package/dist/domain/script/shared/regex.d.ts +2 -0
- package/dist/domain/script/shared/regex.js +7 -0
- package/dist/domain/script/shared/regex.js.map +1 -0
- package/dist/domain/script/shared/types.d.ts +18 -0
- package/dist/domain/script/shared/types.js +9 -0
- package/dist/domain/script/shared/types.js.map +1 -0
- package/dist/domain/script/shared/validation.d.ts +10 -0
- package/dist/domain/script/shared/validation.js +2 -0
- package/dist/domain/script/shared/validation.js.map +1 -0
- package/dist/domain/script/types.d.ts +1 -123
- package/dist/domain/script/types.js +1 -8
- package/dist/domain/script/types.js.map +1 -1
- package/dist/domain/script/v3/address.d.ts +32 -0
- package/dist/domain/script/v3/address.js +145 -0
- package/dist/domain/script/v3/address.js.map +1 -0
- package/dist/domain/script/v3/lookups.d.ts +33 -0
- package/dist/domain/script/v3/lookups.js +317 -0
- package/dist/domain/script/v3/lookups.js.map +1 -0
- package/dist/domain/script/v3/ordinal.d.ts +8 -0
- package/dist/domain/script/v3/ordinal.js +92 -0
- package/dist/domain/script/v3/ordinal.js.map +1 -0
- package/dist/domain/script/v3/parse.d.ts +3 -0
- package/dist/domain/script/v3/parse.js +165 -0
- package/dist/domain/script/v3/parse.js.map +1 -0
- package/dist/domain/script/v3/patch/apply.d.ts +2 -0
- package/dist/domain/script/v3/patch/apply.js +31 -0
- package/dist/domain/script/v3/patch/apply.js.map +1 -0
- package/dist/domain/script/v3/patch/helpers.d.ts +17 -0
- package/dist/domain/script/v3/patch/helpers.js +211 -0
- package/dist/domain/script/v3/patch/helpers.js.map +1 -0
- package/dist/domain/script/v3/patch/inline-speaker.d.ts +2 -0
- package/dist/domain/script/v3/patch/inline-speaker.js +50 -0
- package/dist/domain/script/v3/patch/inline-speaker.js.map +1 -0
- package/dist/domain/script/v3/patch/ops-action.d.ts +12 -0
- package/dist/domain/script/v3/patch/ops-action.js +367 -0
- package/dist/domain/script/v3/patch/ops-action.js.map +1 -0
- package/dist/domain/script/v3/patch/ops-asset.d.ts +14 -0
- package/dist/domain/script/v3/patch/ops-asset.js +365 -0
- package/dist/domain/script/v3/patch/ops-asset.js.map +1 -0
- package/dist/domain/script/v3/patch/ops-dialogue.d.ts +2 -0
- package/dist/domain/script/v3/patch/ops-dialogue.js +26 -0
- package/dist/domain/script/v3/patch/ops-dialogue.js.map +1 -0
- package/dist/domain/script/v3/patch/ops-extend.d.ts +8 -0
- package/dist/domain/script/v3/patch/ops-extend.js +111 -0
- package/dist/domain/script/v3/patch/ops-extend.js.map +1 -0
- package/dist/domain/script/v3/patch/ops-meta.d.ts +5 -0
- package/dist/domain/script/v3/patch/ops-meta.js +82 -0
- package/dist/domain/script/v3/patch/ops-meta.js.map +1 -0
- package/dist/domain/script/v3/patch/ops-scene.d.ts +6 -0
- package/dist/domain/script/v3/patch/ops-scene.js +351 -0
- package/dist/domain/script/v3/patch/ops-scene.js.map +1 -0
- package/dist/domain/script/v3/patch/ops-state.d.ts +8 -0
- package/dist/domain/script/v3/patch/ops-state.js +165 -0
- package/dist/domain/script/v3/patch/ops-state.js.map +1 -0
- package/dist/domain/script/v3/patch/registry.d.ts +2 -0
- package/dist/domain/script/v3/patch/registry.js +53 -0
- package/dist/domain/script/v3/patch/registry.js.map +1 -0
- package/dist/domain/script/v3/patch/types.d.ts +10 -0
- package/dist/domain/script/v3/patch/types.js +2 -0
- package/dist/domain/script/v3/patch/types.js.map +1 -0
- package/dist/domain/script/v3/refs.d.ts +4 -0
- package/dist/domain/script/v3/refs.js +64 -0
- package/dist/domain/script/v3/refs.js.map +1 -0
- package/dist/domain/script/v3/scene-refs.d.ts +3 -0
- package/dist/domain/script/v3/scene-refs.js +35 -0
- package/dist/domain/script/v3/scene-refs.js.map +1 -0
- package/dist/domain/script/v3/schema.d.ts +6 -0
- package/dist/domain/script/v3/schema.js +56 -0
- package/dist/domain/script/v3/schema.js.map +1 -0
- package/dist/domain/script/v3/selector.d.ts +44 -0
- package/dist/domain/script/v3/selector.js +180 -0
- package/dist/domain/script/v3/selector.js.map +1 -0
- package/dist/domain/script/v3/types.d.ts +106 -0
- package/dist/domain/script/v3/types.js +2 -0
- package/dist/domain/script/v3/types.js.map +1 -0
- package/dist/domain/script/v3/validation.d.ts +3 -0
- package/dist/domain/script/v3/validation.js +200 -0
- package/dist/domain/script/v3/validation.js.map +1 -0
- package/dist/domain/script/v4/address.d.ts +61 -0
- package/dist/domain/script/v4/address.js +100 -0
- package/dist/domain/script/v4/address.js.map +1 -0
- package/dist/domain/script/v4/factory.d.ts +2 -0
- package/dist/domain/script/v4/factory.js +13 -0
- package/dist/domain/script/v4/factory.js.map +1 -0
- package/dist/domain/script/v4/from-v3.d.ts +29 -0
- package/dist/domain/script/v4/from-v3.js +307 -0
- package/dist/domain/script/v4/from-v3.js.map +1 -0
- package/dist/domain/script/v4/ids.d.ts +27 -0
- package/dist/domain/script/v4/ids.js +63 -0
- package/dist/domain/script/v4/ids.js.map +1 -0
- package/dist/domain/script/v4/ordinal.d.ts +3 -0
- package/dist/domain/script/v4/ordinal.js +67 -0
- package/dist/domain/script/v4/ordinal.js.map +1 -0
- package/dist/domain/script/v4/parse.d.ts +3 -0
- package/dist/domain/script/v4/parse.js +18 -0
- package/dist/domain/script/v4/parse.js.map +1 -0
- package/dist/domain/script/v4/patch/apply.d.ts +3 -0
- package/dist/domain/script/v4/patch/apply.js +24 -0
- package/dist/domain/script/v4/patch/apply.js.map +1 -0
- package/dist/domain/script/v4/patch/helpers.d.ts +32 -0
- package/dist/domain/script/v4/patch/helpers.js +139 -0
- package/dist/domain/script/v4/patch/helpers.js.map +1 -0
- package/dist/domain/script/v4/patch/ops-action.d.ts +13 -0
- package/dist/domain/script/v4/patch/ops-action.js +379 -0
- package/dist/domain/script/v4/patch/ops-action.js.map +1 -0
- package/dist/domain/script/v4/patch/ops-asset.d.ts +17 -0
- package/dist/domain/script/v4/patch/ops-asset.js +617 -0
- package/dist/domain/script/v4/patch/ops-asset.js.map +1 -0
- package/dist/domain/script/v4/patch/ops-extend.d.ts +11 -0
- package/dist/domain/script/v4/patch/ops-extend.js +86 -0
- package/dist/domain/script/v4/patch/ops-extend.js.map +1 -0
- package/dist/domain/script/v4/patch/ops-meta.d.ts +5 -0
- package/dist/domain/script/v4/patch/ops-meta.js +49 -0
- package/dist/domain/script/v4/patch/ops-meta.js.map +1 -0
- package/dist/domain/script/v4/patch/ops-scene-ref.d.ts +3 -0
- package/dist/domain/script/v4/patch/ops-scene-ref.js +98 -0
- package/dist/domain/script/v4/patch/ops-scene-ref.js.map +1 -0
- package/dist/domain/script/v4/patch/ops-structure.d.ts +6 -0
- package/dist/domain/script/v4/patch/ops-structure.js +236 -0
- package/dist/domain/script/v4/patch/ops-structure.js.map +1 -0
- package/dist/domain/script/v4/patch/registry.d.ts +2 -0
- package/dist/domain/script/v4/patch/registry.js +50 -0
- package/dist/domain/script/v4/patch/registry.js.map +1 -0
- package/dist/domain/script/v4/patch/schema.d.ts +7 -0
- package/dist/domain/script/v4/patch/schema.js +75 -0
- package/dist/domain/script/v4/patch/schema.js.map +1 -0
- package/dist/domain/script/v4/patch/types.d.ts +10 -0
- package/dist/domain/script/v4/patch/types.js +2 -0
- package/dist/domain/script/v4/patch/types.js.map +1 -0
- package/dist/domain/script/v4/selector.d.ts +11 -0
- package/dist/domain/script/v4/selector.js +125 -0
- package/dist/domain/script/v4/selector.js.map +1 -0
- package/dist/domain/script/v4/types.d.ts +120 -0
- package/dist/domain/script/v4/types.js +2 -0
- package/dist/domain/script/v4/types.js.map +1 -0
- package/dist/domain/script/v4/validation.d.ts +2 -0
- package/dist/domain/script/v4/validation.js +378 -0
- package/dist/domain/script/v4/validation.js.map +1 -0
- package/dist/help-text.js +146 -114
- package/dist/help-text.js.map +1 -1
- package/dist/llm/config.js +2 -0
- package/dist/llm/config.js.map +1 -1
- package/dist/llm/registry.d.ts +1 -0
- package/dist/llm/registry.js +3 -0
- package/dist/llm/registry.js.map +1 -1
- package/dist/llm/tasks/ingest/asset-audit.d.ts +6 -0
- package/dist/llm/tasks/ingest/asset-audit.js +164 -0
- package/dist/llm/tasks/ingest/asset-audit.js.map +1 -0
- package/dist/llm/tasks/ingest/asset-curate.d.ts +1 -1
- package/dist/llm/types.d.ts +1 -1
- package/dist/llm/types.js.map +1 -1
- package/dist/usecases/ingest/command.js +1 -1
- package/dist/usecases/ingest/final-asset-audit.d.ts +39 -0
- package/dist/usecases/ingest/final-asset-audit.js +88 -0
- package/dist/usecases/ingest/final-asset-audit.js.map +1 -0
- package/dist/usecases/ingest/pipeline.js +62 -11
- package/dist/usecases/ingest/pipeline.js.map +1 -1
- package/dist/usecases/ingest/serial-govern.d.ts +2 -1
- package/dist/usecases/ingest/serial-govern.js +11 -4
- package/dist/usecases/ingest/serial-govern.js.map +1 -1
- package/dist/usecases/ingest/video-pipeline.js +100 -14
- package/dist/usecases/ingest/video-pipeline.js.map +1 -1
- package/dist/usecases/ingest/view-server.js +2 -2
- package/dist/usecases/ingest/view-server.js.map +1 -1
- package/dist/usecases/script/actions.js +101 -5
- package/dist/usecases/script/actions.js.map +1 -1
- package/dist/usecases/script/actors.js +16 -7
- package/dist/usecases/script/actors.js.map +1 -1
- package/dist/usecases/script/alias.js +7 -6
- package/dist/usecases/script/alias.js.map +1 -1
- package/dist/usecases/script/assets.js +18 -2
- package/dist/usecases/script/assets.js.map +1 -1
- package/dist/usecases/script/audit-assets.d.ts +4 -0
- package/dist/usecases/script/audit-assets.js +40 -0
- package/dist/usecases/script/audit-assets.js.map +1 -0
- package/dist/usecases/script/command-constraints.d.ts +36 -0
- package/dist/usecases/script/command-constraints.js +115 -0
- package/dist/usecases/script/command-constraints.js.map +1 -0
- package/dist/usecases/script/context.js +31 -4
- package/dist/usecases/script/context.js.map +1 -1
- package/dist/usecases/script/create.js +2 -2
- package/dist/usecases/script/create.js.map +1 -1
- package/dist/usecases/script/delete.js +6 -3
- package/dist/usecases/script/delete.js.map +1 -1
- package/dist/usecases/script/describe.js +7 -4
- package/dist/usecases/script/describe.js.map +1 -1
- package/dist/usecases/script/dialogue.js +15 -5
- package/dist/usecases/script/dialogue.js.map +1 -1
- package/dist/usecases/script/dispatch.d.ts +3 -0
- package/dist/usecases/script/dispatch.js +10 -0
- package/dist/usecases/script/dispatch.js.map +1 -0
- package/dist/usecases/script/do.js +74 -11
- package/dist/usecases/script/do.js.map +1 -1
- package/dist/usecases/script/emotion.js +14 -3
- package/dist/usecases/script/emotion.js.map +1 -1
- package/dist/usecases/script/episodes.js +15 -4
- package/dist/usecases/script/episodes.js.map +1 -1
- package/dist/usecases/script/export-authoring.js +35 -11
- package/dist/usecases/script/export-authoring.js.map +1 -1
- package/dist/usecases/script/extend.js +23 -15
- package/dist/usecases/script/extend.js.map +1 -1
- package/dist/usecases/script/ids.js +53 -10
- package/dist/usecases/script/ids.js.map +1 -1
- package/dist/usecases/script/insert.js +74 -38
- package/dist/usecases/script/insert.js.map +1 -1
- package/dist/usecases/script/lib.d.ts +50 -1
- package/dist/usecases/script/lib.js +599 -61
- package/dist/usecases/script/lib.js.map +1 -1
- package/dist/usecases/script/locations.js +16 -7
- package/dist/usecases/script/locations.js.map +1 -1
- package/dist/usecases/script/merge.js +8 -5
- package/dist/usecases/script/merge.js.map +1 -1
- package/dist/usecases/script/move.js +24 -5
- package/dist/usecases/script/move.js.map +1 -1
- package/dist/usecases/script/parenthetical.d.ts +3 -0
- package/dist/usecases/script/parenthetical.js +55 -0
- package/dist/usecases/script/parenthetical.js.map +1 -0
- package/dist/usecases/script/props.js +16 -7
- package/dist/usecases/script/props.js.map +1 -1
- package/dist/usecases/script/refs.js +44 -0
- package/dist/usecases/script/refs.js.map +1 -1
- package/dist/usecases/script/rename.js +7 -4
- package/dist/usecases/script/rename.js.map +1 -1
- package/dist/usecases/script/scenes.js +32 -6
- package/dist/usecases/script/scenes.js.map +1 -1
- package/dist/usecases/script/script-patch.js +180 -16
- package/dist/usecases/script/script-patch.js.map +1 -1
- package/dist/usecases/script/session.d.ts +3 -0
- package/dist/usecases/script/session.js +25 -5
- package/dist/usecases/script/session.js.map +1 -1
- package/dist/usecases/script/split.js +12 -6
- package/dist/usecases/script/split.js.map +1 -1
- package/dist/usecases/script/states.js +45 -1
- package/dist/usecases/script/states.js.map +1 -1
- package/dist/usecases/script/synopsis.js +11 -4
- package/dist/usecases/script/synopsis.js.map +1 -1
- package/dist/usecases/script/v3/mutations.d.ts +2 -0
- package/dist/usecases/script/v3/mutations.js +5 -0
- package/dist/usecases/script/v3/mutations.js.map +1 -0
- package/dist/usecases/script/v4/mutations.d.ts +2 -0
- package/dist/usecases/script/v4/mutations.js +6 -0
- package/dist/usecases/script/v4/mutations.js.map +1 -0
- package/dist/usecases/script/v4/queries.d.ts +14 -0
- package/dist/usecases/script/v4/queries.js +154 -0
- package/dist/usecases/script/v4/queries.js.map +1 -0
- package/dist/usecases/script/working-copy.js +3 -3
- package/dist/usecases/script/working-copy.js.map +1 -1
- package/dist/usecases/script/write-authoring.js +99 -5
- package/dist/usecases/script/write-authoring.js.map +1 -1
- package/package.json +3 -2
- package/skills/scriptctl/SKILL.md +126 -283
- package/skills/scriptctl/references/atomic-edit-workflow.md +45 -0
- package/skills/scriptctl/references/bulk-authoring.md +35 -154
- package/skills/scriptctl/references/ingest-workflow.md +12 -11
- package/skills/scriptctl/references/production-writing-standard.md +38 -67
- package/skills/scriptctl/references/state-reference-repair.md +19 -42
- package/skills/scriptctl/references/atomic-write-workflow.md +0 -176
|
@@ -1,176 +0,0 @@
|
|
|
1
|
-
# 从零原子写 — 资产先行,按真实场界写正文
|
|
2
|
-
|
|
3
|
-
适用:**没有现成剧本文本**,从零写(手里只有题材 / 灵感 / 集纲)。
|
|
4
|
-
|
|
5
|
-
核心理念:**写手是你**。你自己想好每一句正文,用原子能力把它灌进结构化剧本里。scriptctl 负责「合法的骨架 + 引用完整性 + 校验」,不负责「写得好不好」。
|
|
6
|
-
|
|
7
|
-
人物、路人群体、地点粒度、门口跨空间、蒙太奇、对白、Action 和场内状态变化统一执行 [production-writing-standard.md](production-writing-standard.md)。
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## 端到端流程
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
create(空白剧本,既有剧本略过)
|
|
15
|
-
→ worldview 设世界观
|
|
16
|
-
→ 资产批次
|
|
17
|
-
add-actor / add-location / add-prop 注册或完善资产
|
|
18
|
-
state-rename / state-add / describe 定义默认与持久视觉状态
|
|
19
|
-
do assets.txt --apply → 读回资产与 states
|
|
20
|
-
→ 正文批次
|
|
21
|
-
add-episode / synopsis 建分集与梗概
|
|
22
|
-
insert <ep> --location 仅在真实场界处建 scene
|
|
23
|
-
scene-ref --state 绑定本场全部资产与实际 state
|
|
24
|
-
insert <ep/scn> --type ... 按 action 批次连续写正文
|
|
25
|
-
→ scenes / actions / validate 收尾自查
|
|
26
|
-
→ publish 入库(沙箱必做)
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
> 发声源写在**对白行内联**(`dialogue <at> --actor/--kind`,或 `insert --actor/--kind`);造型挂在**场景 cast 引用**上(`scene-ref <ep/scn> <kind:id> --state`)。同一人物需要多份引用时用 `--append` 追加,用 `--occurrence <n>` 定位第 n 份。正文插入前,本场必须已有地点,并且本场全部地点/人物/道具引用都绑定已建立的 state。空镜、环境动作或非角色发声场可以没有人物引用。
|
|
30
|
-
|
|
31
|
-
资产/分集/场景的 id **自动按序分配**:第一个 actor 是 `act_001`、location 是 `loc_001`、prop 是 `prp_001`、episode 是 `ep_001`、它下面第一场是 `scn_001`……所以你能在后续命令里直接引用这些可预测的 id(也可以 `--id` 显式指定)。
|
|
32
|
-
|
|
33
|
-
---
|
|
34
|
-
|
|
35
|
-
## 两种写法
|
|
36
|
-
|
|
37
|
-
### A. 增量(少量、边想边写):逐条原子 verb
|
|
38
|
-
|
|
39
|
-
```bash
|
|
40
|
-
scriptctl create --title "夏夜便利店"
|
|
41
|
-
scriptctl worldview 现代
|
|
42
|
-
scriptctl add-actor 林夏 --role 主角 --description "高三女生,沉默寡言"
|
|
43
|
-
scriptctl add-actor 陈默 --role 配角 --description "便利店夜班店员"
|
|
44
|
-
scriptctl add-location 便利店 --description "24h 便利店,冷白光"
|
|
45
|
-
scriptctl state-rename actor:act_001/default "平日造型"
|
|
46
|
-
scriptctl describe actor:act_001/default "整洁校服,黑色长发"
|
|
47
|
-
scriptctl state-rename actor:act_002/default "夜班造型"
|
|
48
|
-
scriptctl describe actor:act_002/default "便利店制服,胸前佩戴工牌"
|
|
49
|
-
scriptctl state-rename location:loc_001/default "常态"
|
|
50
|
-
scriptctl describe location:loc_001/default "冷白灯全部亮起"
|
|
51
|
-
scriptctl add-episode --title "第一集:相遇"
|
|
52
|
-
scriptctl synopsis "雨夜便利店里,林夏与夜班店员陈默因一场意外相遇。"
|
|
53
|
-
scriptctl synopsis ep_001 "林夏雨夜进入便利店,发现陈默似乎认识她。"
|
|
54
|
-
scriptctl insert ep_001 --location loc_001 --time night --space interior # → scn_001
|
|
55
|
-
scriptctl scene-ref ep_001/scn_001 location:loc_001 --state default
|
|
56
|
-
scriptctl scene-ref ep_001/scn_001 actor:act_001 --state default
|
|
57
|
-
scriptctl scene-ref ep_001/scn_001 actor:act_002 --state default
|
|
58
|
-
scriptctl insert ep_001/scn_001 --type action --content "雨夜,林夏推门进店,浑身湿透。" --emotion "狼狈"
|
|
59
|
-
scriptctl insert ep_001/scn_001 --type dialogue --content "欢迎光临。" --actor act_002
|
|
60
|
-
scriptctl insert ep_001/scn_001 --type inner_thought --content "陈默又出现了。" --actor act_001
|
|
61
|
-
scriptctl validate
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
同一人物在本场需要第二份参考时,继续追加而不是新建 actor:
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
scriptctl scene-ref ep_001/scn_001 actor:act_001 --state st_rain --append
|
|
68
|
-
scriptctl scene-ref ep_001/scn_001 actor:act_001 --state default --occurrence 2
|
|
69
|
-
scriptctl scene-ref ep_001/scn_001 actor:act_001 --remove --occurrence 2
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
### B. 整集 / 整本(推荐):资产与正文分两段 `do`
|
|
73
|
-
|
|
74
|
-
一集几十个 action 用 `do` 批量写入。先独立落盘资产批次,读回自动分配的 id;再用正文批次建集、按真实场界建 scene、绑定 state 并写 action。这两次落盘让宿主先展示人物、地点、道具及状态,再展示正文。
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
scriptctl create --title "夏夜便利店" # 先有空白剧本
|
|
78
|
-
scriptctl do assets.txt # 资产批次 dry-run
|
|
79
|
-
scriptctl do assets.txt --apply # 先落盘资产与 states
|
|
80
|
-
scriptctl actors # 读回资产 id
|
|
81
|
-
scriptctl locations
|
|
82
|
-
scriptctl props
|
|
83
|
-
scriptctl states act_001 # 逐个确认 state id / 名称 / 描述
|
|
84
|
-
scriptctl states loc_001
|
|
85
|
-
scriptctl states prp_001
|
|
86
|
-
scriptctl do ep01.txt # 正文批次 dry-run
|
|
87
|
-
scriptctl do ep01.txt --apply # 再落盘场景与正文
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
`assets.txt` 先注册资产与持久视觉状态:
|
|
91
|
-
|
|
92
|
-
```
|
|
93
|
-
worldview 现代
|
|
94
|
-
add-actor 林夏 --role 主角 --description "高三女生,沉默寡言"
|
|
95
|
-
add-actor 陈默 --role 配角 --description "便利店夜班店员"
|
|
96
|
-
add-location 便利店 --description "24h 便利店,冷白光"
|
|
97
|
-
add-prop 黑伞 --description "林夏随身携带的旧黑伞"
|
|
98
|
-
state-rename actor:act_001/default "平日造型"
|
|
99
|
-
describe actor:act_001/default "整洁校服,黑色长发"
|
|
100
|
-
state-add actor:act_001 "雨天造型" --state-id st_rain --description "校服湿透,发梢滴水"
|
|
101
|
-
state-rename actor:act_002/default "夜班造型"
|
|
102
|
-
describe actor:act_002/default "便利店制服,胸前佩戴工牌"
|
|
103
|
-
state-rename location:loc_001/default "常态"
|
|
104
|
-
describe location:loc_001/default "冷白灯全部亮起"
|
|
105
|
-
state-add location:loc_001 "停电" --state-id st_outage --description "冷白灯熄灭,应急灯发绿"
|
|
106
|
-
state-rename prop:prp_001/default "常态"
|
|
107
|
-
describe prop:prp_001/default "伞面完整,伞骨可正常开合"
|
|
108
|
-
state-add prop:prp_001 "破损" --state-id st_torn --description "伞面裂开,一根伞骨外翻"
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
`ep01.txt` 再建分集和真实 scene,然后写正文:
|
|
112
|
-
|
|
113
|
-
```
|
|
114
|
-
add-episode --title "第一集:相遇"
|
|
115
|
-
synopsis "雨夜便利店里,林夏与夜班店员陈默因一场意外相遇。"
|
|
116
|
-
synopsis ep_001 "林夏雨夜进入便利店,发现陈默似乎认识她。"
|
|
117
|
-
insert ep_001 --location loc_001 --time night --space interior
|
|
118
|
-
scene-ref ep_001/scn_001 actor:act_001 --state st_rain
|
|
119
|
-
scene-ref ep_001/scn_001 actor:act_002 --state default
|
|
120
|
-
scene-ref ep_001/scn_001 location:loc_001 --state default
|
|
121
|
-
scene-ref ep_001/scn_001 prop:prp_001 --state default
|
|
122
|
-
insert ep_001/scn_001 --type action --content "雨夜,林夏推门进店。" --emotion "狼狈"
|
|
123
|
-
insert ep_001/scn_001 --type dialogue --content "欢迎光临。" --actor act_002
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
地点、时段和叙事线连续时,后续节拍继续向 `ep_001/scn_001` 追加 action。同场人物需要多个造型或多份画面引用时,对同一 actor 追加 scene-ref,并在 Action 中写清变化顺序。互动式写作可把长场拆成多个 action 批次依次 `do --apply`,每批都指向同一 scene。场界规则以 SKILL.md「标准剧本通用流程」为准。
|
|
127
|
-
|
|
128
|
-
动词与单条命令完全一致(参数见 `scriptctl <verb> --help`)。`do` 也读 stdin:`… | scriptctl do -`。
|
|
129
|
-
|
|
130
|
-
> 机器/程序化生成的批量(如 jq 变换查询结果)才用 JSON:`scriptctl actions … --json | jq '[…ops…]' | scriptctl patch -`。手写一律 `do`。
|
|
131
|
-
|
|
132
|
-
---
|
|
133
|
-
|
|
134
|
-
## 写到哪里去(落库)
|
|
135
|
-
|
|
136
|
-
`create` 和所有编辑 verb 只写本地 `--script-path <file>`;省略时是
|
|
137
|
-
`<cwd>/workspace/script.json`。远端剧本必须遵循:
|
|
138
|
-
|
|
139
|
-
```text
|
|
140
|
-
checkout → 本地查询/原子编辑/do/patch → validate → publish
|
|
141
|
-
```
|
|
142
|
-
|
|
143
|
-
- 已有远端剧本先 `scriptctl checkout --script-path draft.json`。
|
|
144
|
-
- 全程对同一个 `draft.json` 编辑。新增原子能力只需实现本地操作,不增加远端业务 API。
|
|
145
|
-
- `scriptctl status --script-path draft.json` 查看是否 dirty。
|
|
146
|
-
- `scriptctl publish --script-path draft.json` 拉最新 snapshot 后以本地稿为准生成 patch;CAS/网络失败会重拉重试,最终远端内容与本地稿一致。
|
|
147
|
-
- 本地新剧可直接 create/ingest 后首次 publish;没有 working-copy metadata 时只尝试从 revision 0 创建。
|
|
148
|
-
|
|
149
|
-
### 两份 script.json(洗稿 / 对标 / 转绘)
|
|
150
|
-
|
|
151
|
-
同时开着原剧与新剧时,一次只作用于 `--script-path` 指的那份:从原剧读(`summary`/`actions`(带 timestamp)/`states`(带弧线)/`scenes`(带时段)),往新剧写(`create` → `do --apply`)。换文件 = 换 `--script-path` 的值。详见 SKILL.md「两个 script.json」。
|
|
152
|
-
|
|
153
|
-
---
|
|
154
|
-
|
|
155
|
-
## 校验语义(重要)
|
|
156
|
-
|
|
157
|
-
空骨架可以逐步搭建,但正文入口有更严格的前置门:
|
|
158
|
-
|
|
159
|
-
- **骨架阶段**:可以先建空剧本、空集和空场,再逐项补资产引用。
|
|
160
|
-
- **正文插入门**:`insert <ep/scn>` 要求本场已有地点,且本场全部地点/人物/道具引用都带已物化 state;对白/心声使用 actor 时,该 actor 必须已在本场 cast。空镜、环境动作或非角色发声场可以没有人物引用。
|
|
161
|
-
- **全局硬错误**:悬挂引用、重复 id、人物真名重复、说话人物不在本场、非法枚举、缺 id/name、非人类注册成 actor。
|
|
162
|
-
|
|
163
|
-
随时 `scriptctl validate` 看整体,`scriptctl issues --severity warning` 专看「还没填」的清单。
|
|
164
|
-
|
|
165
|
-
---
|
|
166
|
-
|
|
167
|
-
## 提醒
|
|
168
|
-
|
|
169
|
-
- 资产 state 判定(哪些进 `states[]`)见 SKILL.md「资产 state 判定」。
|
|
170
|
-
- 非角色发声源(系统/广播/画外/群体)用 `dialogue <at> --kind system|broadcast|offscreen|group [--label ...]`(对白行内联),**不要**注册成 actor。
|
|
171
|
-
- 人物真名全剧唯一且稳定:动作中只用 `actor_name`;称呼、绰号、职位放 aliases,只能出现在自然对白等不要求资产解析的文本里。别在名字里塞状态注解(`林夏(受伤)`会被拒),外观档位用 `state-add`。
|
|
172
|
-
- action 禁止“他 / 她 / 对方 / 其中一人 / 另一个人”等指代;逐个写明行动者真名。对白内容允许自然使用人称代词。
|
|
173
|
-
- action 写明具体动作、作用对象、空间方向和可见结果;对白的短促伴随动作放 `emotion`,影响走位、道具或连续性的动作单独写 action。
|
|
174
|
-
- 一个 scene 只绑定一个地点和每项资产的一个 state;多地点或多状态参考需求按 [production-writing-standard.md](production-writing-standard.md) 处理并报告结构限制。
|
|
175
|
-
- action 情绪放 `emotion` 字段:插入时用 `insert ... --emotion "紧张"`,修改时用 `emotion <ep/scn#idx> "紧张"` / `emotion <ep/scn#idx> --clear`,不要把 `[紧张]` 这类标记塞进 content。
|
|
176
|
-
- 参数 / 退出码以 `scriptctl <cmd> --help` 为准。
|