@indreamai/openclaw-plugin 0.1.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.
Files changed (31) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +6 -0
  3. package/dist/chunk-ENGUNMFI.js +196 -0
  4. package/dist/index.d.ts +11 -0
  5. package/dist/index.js +781 -0
  6. package/dist/setup-entry.d.ts +11 -0
  7. package/dist/setup-entry.js +20 -0
  8. package/openclaw.plugin.json +98 -0
  9. package/package.json +58 -0
  10. package/skills/indream-editor-json/SKILL.md +157 -0
  11. package/skills/indream-editor-json/references/asset-mapping.md +147 -0
  12. package/skills/indream-editor-json/references/common-items.md +280 -0
  13. package/skills/indream-editor-json/references/editor-state.v1.schema.json +1491 -0
  14. package/skills/indream-editor-json/references/keyframes.md +102 -0
  15. package/skills/indream-editor-json/references/material-libraries.md +97 -0
  16. package/skills/indream-editor-json/references/minimal-editor-state.json +36 -0
  17. package/skills/indream-editor-json/references/motion-effects-and-transitions.md +235 -0
  18. package/skills/indream-editor-json/references/recipes.md +122 -0
  19. package/skills/indream-editor-json/references/structure-and-principles.md +159 -0
  20. package/skills/indream-editor-json/references/template-catalog.md +45 -0
  21. package/skills/indream-editor-json/references/templates/chart-showcase.json +654 -0
  22. package/skills/indream-editor-json/references/templates/gallery-carousel.json +538 -0
  23. package/skills/indream-editor-json/references/templates/hello-world.json +212 -0
  24. package/skills/indream-editor-json/references/templates/illustration-board.json +480 -0
  25. package/skills/indream-editor-json/references/templates/keyframe-motion-lab.json +362 -0
  26. package/skills/indream-editor-json/references/templates/product-intro.json +614 -0
  27. package/skills/indream-editor-json/references/templates/subtitle-promo.json +341 -0
  28. package/skills/indream-editor-json/references/text-and-captions.md +211 -0
  29. package/skills/indream-editor-json/references/validation-repair.md +134 -0
  30. package/skills/indream-render-workflow/SKILL.md +57 -0
  31. package/skills/indream-render-workflow/references/workflow.md +19 -0
@@ -0,0 +1,159 @@
1
+ # Structure and Principles
2
+
3
+ ## Mental model
4
+
5
+ Indream editor JSON is easiest to author when you treat it as five linked layers:
6
+
7
+ 1. `assets`
8
+ Source media and source subtitle data.
9
+ 2. `items`
10
+ Timeline instances that place assets, text, shapes, effects, filters, and charts in time.
11
+ 3. `tracks`
12
+ Ordered clip lists that define which items belong together on one timeline lane.
13
+ 4. `transitions`
14
+ Same-track joins between adjacent clips.
15
+ 5. Optional top-level extras
16
+ `outputRatio`, `globalBackground`, `deletedAssets`, and any valid metadata already present in an existing draft.
17
+
18
+ ## Required top-level fields
19
+
20
+ - `compositionWidth`
21
+ - `compositionHeight`
22
+ - `timebaseTicksPerSecond`
23
+ - `tracks`
24
+ - `assets`
25
+ - `items`
26
+ - `transitions`
27
+
28
+ `timebaseTicksPerSecond` must always be `240000`.
29
+
30
+ ## Composition sizing
31
+
32
+ Rules from the schema:
33
+
34
+ - `compositionWidth`: integer from `50` to `1920`
35
+ - `compositionHeight`: integer from `50` to `1920`
36
+ - `outputRatio`: optional, one of `16:9`, `9:16`, `1:1`, `4:3`, `3:4`, `custom`
37
+
38
+ Practical authoring guidance:
39
+
40
+ - Use concrete width and height first.
41
+ - Add `outputRatio` when the user asked for a standard aspect ratio or when it improves readability.
42
+ - If the user says "vertical short video", `1080 x 1920` with `outputRatio: "9:16"` is a clear default.
43
+ - If the user says "YouTube landscape", `1920 x 1080` with `outputRatio: "16:9"` is a clear default.
44
+
45
+ ## Build order
46
+
47
+ Write editor JSON in this order:
48
+
49
+ 1. lock composition width, height, ratio, and high-level scene count
50
+ 2. create or map all assets
51
+ 3. create each item with full required fields
52
+ 4. place item IDs into tracks
53
+ 5. add transitions only after track order is stable
54
+ 6. add optional global background and preserve existing valid metadata only when needed
55
+ 7. validate
56
+
57
+ ## Stable ID strategy
58
+
59
+ Prefer readable and stable IDs such as:
60
+
61
+ - `track-main`
62
+ - `track-captions`
63
+ - `asset-hero-video`
64
+ - `item-hero-video`
65
+ - `item-lower-third`
66
+ - `transition-scene-1-2`
67
+
68
+ Do not rename valid IDs during repair unless the failure is caused by an ID mismatch.
69
+
70
+ ## Static and animated number tracks
71
+
72
+ Many numeric item properties are not raw numbers.
73
+ They must use the animated number track shape:
74
+
75
+ ```json
76
+ {
77
+ "value": 1,
78
+ "keyframes": []
79
+ }
80
+ ```
81
+
82
+ Use static tracks by default.
83
+ Add keyframes only when the user actually wants motion such as:
84
+
85
+ - slide-in or slide-out movement
86
+ - zooms
87
+ - fades driven by `opacity`
88
+ - rotating badges or callouts
89
+
90
+ Example:
91
+
92
+ ```json
93
+ {
94
+ "opacity": {
95
+ "value": 1,
96
+ "keyframes": [
97
+ { "timeTicks": 0, "value": 0 },
98
+ { "timeTicks": 24, "value": 1 }
99
+ ]
100
+ }
101
+ }
102
+ ```
103
+
104
+ ## Track planning patterns
105
+
106
+ ### Sequential slideshow
107
+
108
+ Use one primary track when the timeline is a simple sequence of back-to-back scenes.
109
+ This is the easiest place to add transitions.
110
+
111
+ ### Layered promo
112
+
113
+ Use separate logical tracks when the timeline has:
114
+
115
+ - a primary footage layer
116
+ - a text or subtitle overlay layer
117
+ - decorative shapes or stickers
118
+ - music or narration
119
+
120
+ ### Subtitle-driven video
121
+
122
+ Use:
123
+
124
+ - one primary video track
125
+ - one captions track with a `captions` item
126
+ - optional overlay text track for title cards and callouts
127
+
128
+ ## Transition rules
129
+
130
+ Transitions belong in `transitions`, not in `items`.
131
+ Each transition must:
132
+
133
+ - reference one `trackId`
134
+ - use `fromClipId` and `toClipId` that are adjacent in that track
135
+ - use a supported transition type
136
+
137
+ Do not create transitions across different tracks.
138
+
139
+ ## Optional top-level sections
140
+
141
+ ### `globalBackground`
142
+
143
+ Use when the entire composition needs a background treatment.
144
+ Supported schema forms:
145
+
146
+ - `none`
147
+ - `color`
148
+ - `blur`
149
+ - `image`
150
+
151
+ ### `brandRuntime`
152
+
153
+ This field can appear in existing drafts.
154
+ Preserve it if it is already present and valid, but do not treat it as a new authoring surface for this Open API skill.
155
+
156
+ ### `deletedAssets`
157
+
158
+ Usually preserve this from an existing draft.
159
+ Do not populate it during a fresh authoring pass unless you are deliberately editing asset deletion state.
@@ -0,0 +1,45 @@
1
+ # Scene Template Catalog
2
+
3
+ These templates are meant to be copied, adapted, and validated.
4
+ They cover common user requests while demonstrating real editor-state patterns.
5
+
6
+ ## Template list
7
+
8
+ 1. `templates/hello-world.json`
9
+ Minimal greeting scene with a solid background, centered text, clip animation, and caption animation.
10
+
11
+ 2. `templates/gallery-carousel.json`
12
+ Three-image carousel with transitions, overlay copy, and a timed filter window.
13
+
14
+ 3. `templates/product-intro.json`
15
+ Product hero scene with image media, geometric shapes, illustration support art, and an opening effect.
16
+
17
+ 4. `templates/subtitle-promo.json`
18
+ Vertical promo scene with a caption asset, styled subtitles, title copy, and subtitle animation.
19
+
20
+ 5. `templates/chart-showcase.json`
21
+ Data-driven showcase with multiple chart types, transitions, supporting copy, and timed look changes.
22
+
23
+ 6. `templates/illustration-board.json`
24
+ Hand-drawn vector collage scene built from the live illustration library and geometric decorations.
25
+
26
+ 7. `templates/keyframe-motion-lab.json`
27
+ Motion-focused scene that demonstrates single-keyframe entry motion, scale changes, opacity ramps, and timed effects.
28
+
29
+ ## How to use the catalog
30
+
31
+ 1. Pick the closest template for the user's request.
32
+ 2. Replace assets, copy, colors, and timing.
33
+ 3. Keep the required field shapes intact.
34
+ 4. Validate the edited state.
35
+ 5. If validation fails, repair the smallest possible part of the JSON.
36
+
37
+ ## Selection guidance
38
+
39
+ - Use `hello-world` for the absolute minimum valid scene.
40
+ - Use `gallery-carousel` for album-style slideshows and travel reels.
41
+ - Use `product-intro` for launch, e-commerce, and feature callouts.
42
+ - Use `subtitle-promo` for short-form caption-heavy edits.
43
+ - Use `chart-showcase` for analytics, dashboard, and business storytelling.
44
+ - Use `illustration-board` for hand-drawn vector compositions.
45
+ - Use `keyframe-motion-lab` when the user wants custom motion beyond standard clip animations.