@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.
- package/LICENSE +21 -0
- package/README.md +6 -0
- package/dist/chunk-ENGUNMFI.js +196 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +781 -0
- package/dist/setup-entry.d.ts +11 -0
- package/dist/setup-entry.js +20 -0
- package/openclaw.plugin.json +98 -0
- package/package.json +58 -0
- package/skills/indream-editor-json/SKILL.md +157 -0
- package/skills/indream-editor-json/references/asset-mapping.md +147 -0
- package/skills/indream-editor-json/references/common-items.md +280 -0
- package/skills/indream-editor-json/references/editor-state.v1.schema.json +1491 -0
- package/skills/indream-editor-json/references/keyframes.md +102 -0
- package/skills/indream-editor-json/references/material-libraries.md +97 -0
- package/skills/indream-editor-json/references/minimal-editor-state.json +36 -0
- package/skills/indream-editor-json/references/motion-effects-and-transitions.md +235 -0
- package/skills/indream-editor-json/references/recipes.md +122 -0
- package/skills/indream-editor-json/references/structure-and-principles.md +159 -0
- package/skills/indream-editor-json/references/template-catalog.md +45 -0
- package/skills/indream-editor-json/references/templates/chart-showcase.json +654 -0
- package/skills/indream-editor-json/references/templates/gallery-carousel.json +538 -0
- package/skills/indream-editor-json/references/templates/hello-world.json +212 -0
- package/skills/indream-editor-json/references/templates/illustration-board.json +480 -0
- package/skills/indream-editor-json/references/templates/keyframe-motion-lab.json +362 -0
- package/skills/indream-editor-json/references/templates/product-intro.json +614 -0
- package/skills/indream-editor-json/references/templates/subtitle-promo.json +341 -0
- package/skills/indream-editor-json/references/text-and-captions.md +211 -0
- package/skills/indream-editor-json/references/validation-repair.md +134 -0
- package/skills/indream-render-workflow/SKILL.md +57 -0
- 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.
|