mulmocast 2.6.3 → 2.6.4

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.
@@ -0,0 +1,317 @@
1
+ {
2
+ "$mulmocast": { "version": "1.1" },
3
+ "title": "IR Visualization Samples",
4
+ "description": "Sankey, Treemap, and Waterfall chart demos for financial presentations",
5
+ "lang": "en",
6
+ "canvasSize": { "width": 1280, "height": 720 },
7
+ "beats": [
8
+ {
9
+ "text": "Sankey: Consolidated Balance Sheet",
10
+ "image": {
11
+ "type": "chart",
12
+ "title": "",
13
+ "chartData": {
14
+ "type": "sankey",
15
+ "data": {
16
+ "datasets": [
17
+ {
18
+ "data": [
19
+ { "from": "cash", "to": "current_a", "flow": 3000 },
20
+ { "from": "receivable", "to": "current_a", "flow": 2000 },
21
+ { "from": "inventory", "to": "current_a", "flow": 1500 },
22
+ { "from": "other_ca", "to": "current_a", "flow": 500 },
23
+ { "from": "ppe", "to": "fixed_a", "flow": 4500 },
24
+ { "from": "intangible", "to": "fixed_a", "flow": 1000 },
25
+ { "from": "investments", "to": "fixed_a", "flow": 2000 },
26
+ { "from": "other_fa", "to": "fixed_a", "flow": 500 },
27
+ { "from": "current_a", "to": "total_a", "flow": 7000 },
28
+ { "from": "fixed_a", "to": "total_a", "flow": 8000 },
29
+ { "from": "total_a", "to": "liabilities", "flow": 10000 },
30
+ { "from": "total_a", "to": "equity", "flow": 5000 },
31
+ { "from": "liabilities", "to": "payable", "flow": 2000 },
32
+ { "from": "liabilities", "to": "short_debt", "flow": 1500 },
33
+ { "from": "liabilities", "to": "other_cl", "flow": 1000 },
34
+ { "from": "liabilities", "to": "long_debt", "flow": 4000 },
35
+ { "from": "liabilities", "to": "other_fl", "flow": 1500 },
36
+ { "from": "equity", "to": "retained", "flow": 4000 },
37
+ { "from": "equity", "to": "other_cap", "flow": 700 },
38
+ { "from": "equity", "to": "other_eq", "flow": 300 }
39
+ ],
40
+ "priority": {
41
+ "cash": 4,
42
+ "receivable": 5,
43
+ "inventory": 6,
44
+ "other_ca": 7,
45
+ "ppe": 0,
46
+ "intangible": 1,
47
+ "investments": 2,
48
+ "other_fa": 3,
49
+ "current_a": 1,
50
+ "fixed_a": 0,
51
+ "total_a": 0,
52
+ "liabilities": 0,
53
+ "equity": 1,
54
+ "payable": 2,
55
+ "short_debt": 3,
56
+ "other_cl": 4,
57
+ "long_debt": 0,
58
+ "other_fl": 1,
59
+ "retained": 5,
60
+ "other_cap": 6,
61
+ "other_eq": 7
62
+ },
63
+ "column": {
64
+ "cash": 0,
65
+ "receivable": 0,
66
+ "inventory": 0,
67
+ "other_ca": 0,
68
+ "ppe": 0,
69
+ "intangible": 0,
70
+ "investments": 0,
71
+ "other_fa": 0,
72
+ "current_a": 1,
73
+ "fixed_a": 1,
74
+ "total_a": 2,
75
+ "liabilities": 3,
76
+ "equity": 3,
77
+ "payable": 4,
78
+ "short_debt": 4,
79
+ "other_cl": 4,
80
+ "long_debt": 4,
81
+ "other_fl": 4,
82
+ "retained": 4,
83
+ "other_cap": 4,
84
+ "other_eq": 4
85
+ },
86
+ "labels": {
87
+ "cash": "Cash\n$3,000M",
88
+ "receivable": "Receivables\n$2,000M",
89
+ "inventory": "Inventory\n$1,500M",
90
+ "other_ca": "Other Current\n$500M",
91
+ "ppe": "PP&E\n$4,500M",
92
+ "intangible": "Intangibles\n$1,000M",
93
+ "investments": "Investments\n$2,000M",
94
+ "other_fa": "Other Fixed\n$500M",
95
+ "current_a": "Current Assets\n$7,000M",
96
+ "fixed_a": "Fixed Assets\n$8,000M",
97
+ "total_a": "Total Assets\n$15,000M",
98
+ "liabilities": "Liabilities\n$10,000M",
99
+ "equity": "Equity\n$5,000M",
100
+ "payable": "Payables\n$2,000M",
101
+ "short_debt": "Short-term Debt\n$1,500M",
102
+ "other_cl": "Other Current Liab.\n$1,000M",
103
+ "long_debt": "Long-term Debt\n$4,000M",
104
+ "other_fl": "Other Fixed Liab.\n$1,500M",
105
+ "retained": "Retained Earnings\n$4,000M",
106
+ "other_cap": "Other Capital\n$700M",
107
+ "other_eq": "Other Equity\n$300M"
108
+ },
109
+ "colorFrom": {
110
+ "cash": "#555",
111
+ "receivable": "#555",
112
+ "inventory": "#555",
113
+ "other_ca": "#555",
114
+ "ppe": "#555",
115
+ "intangible": "#555",
116
+ "investments": "#555",
117
+ "other_fa": "#555",
118
+ "current_a": "#555",
119
+ "fixed_a": "#555",
120
+ "total_a": "#555",
121
+ "liabilities": "#DC2626",
122
+ "equity": "#16A34A"
123
+ },
124
+ "colorTo": {
125
+ "current_a": "#555",
126
+ "fixed_a": "#555",
127
+ "total_a": "#555",
128
+ "liabilities": "#DC2626",
129
+ "equity": "#16A34A",
130
+ "payable": "#DC2626",
131
+ "short_debt": "#DC2626",
132
+ "other_cl": "#DC2626",
133
+ "long_debt": "#DC2626",
134
+ "other_fl": "#DC2626",
135
+ "retained": "#16A34A",
136
+ "other_cap": "#16A34A",
137
+ "other_eq": "#16A34A"
138
+ },
139
+ "colorMode": "gradient",
140
+ "color": "#333",
141
+ "borderWidth": 1,
142
+ "nodeWidth": 20,
143
+ "nodePadding": 48,
144
+ "size": "max"
145
+ }
146
+ ]
147
+ },
148
+ "options": {
149
+ "layout": {
150
+ "padding": { "top": 10, "left": 100, "right": 100, "bottom": 10 }
151
+ },
152
+ "plugins": {
153
+ "legend": { "display": false },
154
+ "title": { "display": true, "text": "Consolidated Balance Sheet FY2025 ($M)", "font": { "size": 18 } }
155
+ }
156
+ }
157
+ }
158
+ }
159
+ },
160
+ {
161
+ "text": "Treemap: Business Portfolio Composition",
162
+ "image": {
163
+ "type": "chart",
164
+ "title": "Business Portfolio (Treemap)",
165
+ "chartData": {
166
+ "type": "treemap",
167
+ "data": {
168
+ "datasets": [
169
+ {
170
+ "tree": [
171
+ { "name": "Cloud SVC", "value": 420 },
172
+ { "name": "Cloud Infra", "value": 180 },
173
+ { "name": "Enterprise SW", "value": 350 },
174
+ { "name": "Enterprise Spt", "value": 120 },
175
+ { "name": "Consumer App", "value": 200 },
176
+ { "name": "Consumer HW", "value": 80 },
177
+ { "name": "Other", "value": 50 }
178
+ ],
179
+ "key": "value",
180
+ "labels": {
181
+ "display": true,
182
+ "align": "center",
183
+ "position": "middle",
184
+ "color": "white",
185
+ "font": { "size": 14, "weight": "bold" }
186
+ },
187
+ "backgroundColor": ["#3B82F6", "#60A5FA", "#6366F1", "#818CF8", "#10B981", "#34D399", "#94A3B8"],
188
+ "borderColor": "white",
189
+ "borderWidth": 2,
190
+ "spacing": 1
191
+ }
192
+ ]
193
+ },
194
+ "options": {
195
+ "responsive": false,
196
+ "plugins": {
197
+ "legend": { "display": false },
198
+ "tooltip": { "enabled": false }
199
+ }
200
+ }
201
+ }
202
+ }
203
+ },
204
+ {
205
+ "text": "Waterfall: Operating Profit Bridge",
206
+ "image": {
207
+ "type": "slide",
208
+ "slide": {
209
+ "layout": "waterfall",
210
+ "title": "FY2025 Operating Profit Bridge",
211
+ "subtitle": "YoY +$15M (+12.5%)",
212
+ "items": [
213
+ { "label": "FY2024\nOp. Profit", "value": 120, "isTotal": true },
214
+ { "label": "Revenue\nGrowth", "value": 35 },
215
+ { "label": "COGS\nImprovement", "value": 12 },
216
+ { "label": "Personnel\nCosts", "value": -18 },
217
+ { "label": "R&D\nInvestment", "value": -10 },
218
+ { "label": "FX\nImpact", "value": -4 },
219
+ { "label": "FY2025\nOp. Profit", "value": 135, "isTotal": true }
220
+ ],
221
+ "unit": "$M",
222
+ "callout": {
223
+ "text": "Revenue growth and COGS improvement drove profit growth, absorbing personnel and R&D investment increases",
224
+ "label": "Summary"
225
+ }
226
+ }
227
+ }
228
+ },
229
+ {
230
+ "text": "Stacked Bar: Regional Revenue Breakdown",
231
+ "image": {
232
+ "type": "chart",
233
+ "title": "Regional Revenue Breakdown (Stacked Bar)",
234
+ "chartData": {
235
+ "type": "bar",
236
+ "data": {
237
+ "labels": ["FY2021", "FY2022", "FY2023", "FY2024", "FY2025"],
238
+ "datasets": [
239
+ {
240
+ "label": "Japan",
241
+ "data": [400, 420, 450, 480, 530],
242
+ "backgroundColor": "#3B82F6"
243
+ },
244
+ {
245
+ "label": "Americas",
246
+ "data": [150, 180, 220, 260, 310],
247
+ "backgroundColor": "#10B981"
248
+ },
249
+ {
250
+ "label": "EMEA",
251
+ "data": [80, 100, 130, 160, 200],
252
+ "backgroundColor": "#F59E0B"
253
+ },
254
+ {
255
+ "label": "APAC",
256
+ "data": [50, 70, 90, 120, 160],
257
+ "backgroundColor": "#EF4444"
258
+ }
259
+ ]
260
+ },
261
+ "options": {
262
+ "scales": {
263
+ "x": { "stacked": true },
264
+ "y": { "stacked": true, "title": { "display": true, "text": "Revenue (億円)" } }
265
+ },
266
+ "plugins": {
267
+ "legend": { "position": "top" }
268
+ }
269
+ }
270
+ }
271
+ }
272
+ },
273
+ {
274
+ "text": "Bubble: Business Unit Positioning",
275
+ "image": {
276
+ "type": "chart",
277
+ "title": "Business Unit Positioning (Growth vs Margin)",
278
+ "chartData": {
279
+ "type": "bubble",
280
+ "data": {
281
+ "datasets": [
282
+ {
283
+ "label": "Cloud Services",
284
+ "data": [{ "x": 25, "y": 35, "r": 20 }],
285
+ "backgroundColor": "rgba(59, 130, 246, 0.6)"
286
+ },
287
+ {
288
+ "label": "Enterprise SW",
289
+ "data": [{ "x": 8, "y": 28, "r": 18 }],
290
+ "backgroundColor": "rgba(16, 185, 129, 0.6)"
291
+ },
292
+ {
293
+ "label": "Consumer Apps",
294
+ "data": [{ "x": 15, "y": 12, "r": 12 }],
295
+ "backgroundColor": "rgba(245, 158, 11, 0.6)"
296
+ },
297
+ {
298
+ "label": "Hardware",
299
+ "data": [{ "x": -2, "y": 5, "r": 8 }],
300
+ "backgroundColor": "rgba(239, 68, 68, 0.6)"
301
+ }
302
+ ]
303
+ },
304
+ "options": {
305
+ "scales": {
306
+ "x": { "title": { "display": true, "text": "Revenue Growth (%)" } },
307
+ "y": { "title": { "display": true, "text": "Operating Margin (%)" } }
308
+ },
309
+ "plugins": {
310
+ "legend": { "position": "right" }
311
+ }
312
+ }
313
+ }
314
+ }
315
+ }
316
+ ]
317
+ }
@@ -0,0 +1,101 @@
1
+ {
2
+ "$mulmocast": { "version": "1.1" },
3
+ "title": "Movie Reference Image Tests",
4
+ "lang": "en",
5
+ "canvasSize": { "width": 1280, "height": 720 },
6
+ "movieParams": {
7
+ "provider": "google",
8
+ "model": "veo-3.1-generate-preview"
9
+ },
10
+ "imageParams": {
11
+ "images": {
12
+ "start_frame": {
13
+ "type": "imagePrompt",
14
+ "prompt": "A serene Japanese garden with cherry blossoms in spring, bright daylight, photorealistic"
15
+ },
16
+ "end_frame": {
17
+ "type": "imagePrompt",
18
+ "prompt": "The same Japanese garden at sunset, golden hour lighting, warm tones, photorealistic"
19
+ },
20
+ "style_ref": {
21
+ "type": "imagePrompt",
22
+ "prompt": "Anime style illustration with vibrant colors, Studio Ghibli aesthetic"
23
+ },
24
+ "asset_car": {
25
+ "type": "imagePrompt",
26
+ "prompt": "A red sports car from the side, clean white background, product photography"
27
+ },
28
+ "asset_building": {
29
+ "type": "imagePrompt",
30
+ "prompt": "A modern glass office building, clean white background, architectural photography"
31
+ }
32
+ }
33
+ },
34
+ "beats": [
35
+ {
36
+ "text": "Pattern 1: moviePrompt only (text-to-video)",
37
+ "moviePrompt": "A calm ocean wave rolling onto a sandy beach at sunset"
38
+ },
39
+ {
40
+ "text": "Pattern 2: moviePrompt with imageName (first frame → image-to-video)",
41
+ "imagePrompt": "Cherry blossom petals gently falling in a Japanese garden",
42
+ "moviePrompt": "Cherry blossom petals gently falling in a Japanese garden"
43
+ },
44
+ {
45
+ "text": "Pattern 3: moviePrompt with first frame + lastFrame (interpolation)",
46
+ "imagePrompt": "A serene Japanese garden in bright daylight",
47
+ "moviePrompt": "Time-lapse of a Japanese garden transitioning from day to sunset",
48
+ "movieParams": {
49
+ "lastFrameImageName": "end_frame"
50
+ }
51
+ },
52
+ {
53
+ "text": "Pattern 4: moviePrompt with referenceImages ASSET (subject reference, no first frame)",
54
+ "moviePrompt": "A red sports car driving through a futuristic city at night",
55
+ "movieParams": {
56
+ "referenceImages": [{ "imageName": "asset_car", "referenceType": "ASSET" }]
57
+ }
58
+ },
59
+ {
60
+ "text": "Pattern 5: moviePrompt with referenceImages STYLE (aesthetic reference)",
61
+ "moviePrompt": "A character walking through a magical forest with glowing mushrooms",
62
+ "movieParams": {
63
+ "referenceImages": [{ "imageName": "style_ref", "referenceType": "STYLE" }]
64
+ }
65
+ },
66
+ {
67
+ "text": "Pattern 6: moviePrompt with multiple ASSET referenceImages",
68
+ "moviePrompt": "A red sports car parked in front of a modern glass building",
69
+ "movieParams": {
70
+ "referenceImages": [
71
+ { "imageName": "asset_car", "referenceType": "ASSET" },
72
+ { "imageName": "asset_building", "referenceType": "ASSET" }
73
+ ]
74
+ }
75
+ },
76
+ {
77
+ "text": "Pattern 7: first frame + lastFrame + ASSET ref (NOTE: referenceImages is mutually exclusive with image/lastFrame in Veo 3.1, so this tests the validation — asset ref should be silently ignored when first frame is present)",
78
+ "imagePrompt": "A red sports car parked in a Japanese garden during cherry blossom season",
79
+ "moviePrompt": "The red sports car slowly drives through the garden as cherry blossom petals fall, transitioning from bright daylight to golden sunset",
80
+ "movieParams": {
81
+ "lastFrameImageName": "end_frame",
82
+ "referenceImages": [{ "imageName": "asset_car", "referenceType": "ASSET" }]
83
+ }
84
+ },
85
+ {
86
+ "text": "Pattern 8: firstFrameImageName from imageRefs (no imagePrompt needed)",
87
+ "moviePrompt": "Cherry blossom petals swirling in wind through the garden",
88
+ "movieParams": {
89
+ "firstFrameImageName": "start_frame"
90
+ }
91
+ },
92
+ {
93
+ "text": "Pattern 9: firstFrameImageName + lastFrameImageName (both from imageRefs, no imagePrompt)",
94
+ "moviePrompt": "Smooth transition from bright spring daylight to warm golden sunset in the garden",
95
+ "movieParams": {
96
+ "firstFrameImageName": "start_frame",
97
+ "lastFrameImageName": "end_frame"
98
+ }
99
+ }
100
+ ]
101
+ }
@@ -0,0 +1,151 @@
1
+ {
2
+ "$mulmocast": { "version": "1.1" },
3
+ "title": "Plugin Feature Tests",
4
+ "lang": "en",
5
+ "canvasSize": { "width": 1280, "height": 720 },
6
+ "imageParams": {
7
+ "images": {
8
+ "bg_gradient": {
9
+ "type": "image",
10
+ "source": { "kind": "url", "url": "https://images.unsplash.com/photo-1557682250-33bd709cbe85?w=1280&h=720&fit=crop" }
11
+ }
12
+ }
13
+ },
14
+ "beats": [
15
+ {
16
+ "text": "Chart with backgroundImage (URL string)",
17
+ "image": {
18
+ "type": "chart",
19
+ "title": "Revenue by Quarter",
20
+ "backgroundImage": "https://images.unsplash.com/photo-1557682250-33bd709cbe85?w=1280&h=720&fit=crop",
21
+ "chartData": {
22
+ "type": "bar",
23
+ "data": {
24
+ "labels": ["Q1", "Q2", "Q3", "Q4"],
25
+ "datasets": [
26
+ {
27
+ "label": "Revenue ($M)",
28
+ "data": [120, 150, 180, 210],
29
+ "backgroundColor": "rgba(59, 130, 246, 0.8)"
30
+ }
31
+ ]
32
+ },
33
+ "options": {
34
+ "plugins": {
35
+ "legend": { "labels": { "color": "white" } },
36
+ "title": { "display": false }
37
+ },
38
+ "scales": {
39
+ "x": { "ticks": { "color": "white" }, "grid": { "color": "rgba(255,255,255,0.1)" } },
40
+ "y": { "ticks": { "color": "white" }, "grid": { "color": "rgba(255,255,255,0.1)" } }
41
+ }
42
+ }
43
+ }
44
+ }
45
+ },
46
+ {
47
+ "text": "Chart with backgroundImage (source object with opacity)",
48
+ "image": {
49
+ "type": "chart",
50
+ "title": "Market Share",
51
+ "backgroundImage": {
52
+ "source": { "kind": "url", "url": "https://images.unsplash.com/photo-1557682250-33bd709cbe85?w=1280&h=720&fit=crop" },
53
+ "size": "cover",
54
+ "opacity": 0.3
55
+ },
56
+ "chartData": {
57
+ "type": "doughnut",
58
+ "data": {
59
+ "labels": ["Product A", "Product B", "Product C", "Other"],
60
+ "datasets": [
61
+ {
62
+ "data": [35, 25, 20, 20],
63
+ "backgroundColor": ["#3B82F6", "#10B981", "#F59E0B", "#94A3B8"]
64
+ }
65
+ ]
66
+ }
67
+ }
68
+ }
69
+ },
70
+ {
71
+ "text": "Chart with custom style",
72
+ "image": {
73
+ "type": "chart",
74
+ "title": "Growth Trend",
75
+ "style": "body { background: linear-gradient(135deg, #1a1a2e, #16213e, #0f3460); } h1 { color: #e94560; }",
76
+ "chartData": {
77
+ "type": "line",
78
+ "data": {
79
+ "labels": ["Jan", "Feb", "Mar", "Apr", "May", "Jun"],
80
+ "datasets": [
81
+ {
82
+ "label": "Users (K)",
83
+ "data": [10, 15, 25, 35, 50, 72],
84
+ "borderColor": "#e94560",
85
+ "backgroundColor": "rgba(233, 69, 96, 0.2)",
86
+ "fill": true,
87
+ "tension": 0.4
88
+ }
89
+ ]
90
+ },
91
+ "options": {
92
+ "plugins": { "legend": { "labels": { "color": "white" } } },
93
+ "scales": {
94
+ "x": { "ticks": { "color": "#ccc" }, "grid": { "color": "rgba(255,255,255,0.1)" } },
95
+ "y": { "ticks": { "color": "#ccc" }, "grid": { "color": "rgba(255,255,255,0.1)" } }
96
+ }
97
+ }
98
+ }
99
+ }
100
+ },
101
+ {
102
+ "text": "Mermaid with backgroundImage (image:name ref)",
103
+ "image": {
104
+ "type": "mermaid",
105
+ "title": "System Architecture",
106
+ "code": {
107
+ "kind": "text",
108
+ "text": "graph TD\n A[Client] --> B[API Gateway]\n B --> C[Auth Service]\n B --> D[Data Service]\n C --> E[(Database)]\n D --> E"
109
+ },
110
+ "backgroundImage": {
111
+ "source": { "kind": "url", "url": "https://images.unsplash.com/photo-1557682250-33bd709cbe85?w=1280&h=720&fit=crop" },
112
+ "size": "cover",
113
+ "opacity": 0.15
114
+ }
115
+ }
116
+ },
117
+ {
118
+ "text": "Chart with backgroundImage + style combined",
119
+ "image": {
120
+ "type": "chart",
121
+ "title": "",
122
+ "style": "h1 { display: none; }",
123
+ "backgroundImage": {
124
+ "source": { "kind": "url", "url": "https://images.unsplash.com/photo-1557682250-33bd709cbe85?w=1280&h=720&fit=crop" },
125
+ "size": "cover",
126
+ "opacity": 0.2
127
+ },
128
+ "chartData": {
129
+ "type": "radar",
130
+ "data": {
131
+ "labels": ["Speed", "Reliability", "Cost", "Security", "Scalability", "UX"],
132
+ "datasets": [
133
+ {
134
+ "label": "Product A",
135
+ "data": [85, 90, 60, 80, 75, 70],
136
+ "borderColor": "#3B82F6",
137
+ "backgroundColor": "rgba(59, 130, 246, 0.2)"
138
+ },
139
+ {
140
+ "label": "Product B",
141
+ "data": [70, 65, 90, 75, 85, 80],
142
+ "borderColor": "#10B981",
143
+ "backgroundColor": "rgba(16, 185, 129, 0.2)"
144
+ }
145
+ ]
146
+ }
147
+ }
148
+ }
149
+ }
150
+ ]
151
+ }