mulmocast 2.6.15 → 2.6.17
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/lib/actions/index.d.ts +1 -0
- package/lib/actions/index.js +1 -0
- package/lib/actions/viewer.d.ts +3 -0
- package/lib/actions/viewer.js +173 -0
- package/lib/cli/bin.js +0 -0
- package/lib/cli/commands/viewer/builder.d.ts +20 -0
- package/lib/cli/commands/viewer/builder.js +6 -0
- package/lib/cli/commands/viewer/handler.d.ts +4 -0
- package/lib/cli/commands/viewer/handler.js +11 -0
- package/lib/cli/commands/viewer/index.d.ts +4 -0
- package/lib/cli/commands/viewer/index.js +4 -0
- package/lib/cli/main.js +2 -0
- package/lib/mcp/server.js +0 -0
- package/lib/types/schema.d.ts +458 -457
- package/lib/types/schema.js +3 -2
- package/lib/types/type.d.ts +1 -1
- package/lib/utils/context.d.ts +729 -728
- package/lib/utils/context.js +1 -0
- package/lib/utils/image_plugins/slide.d.ts +1 -1
- package/lib/utils/image_plugins/slide.js +1 -1
- package/package.json +12 -11
- package/lib/data/styles.d.ts +0 -255
- package/lib/data/styles.js +0 -284
- package/lib/slide/blocks.d.ts +0 -13
- package/lib/slide/blocks.js +0 -251
- package/lib/slide/index.d.ts +0 -6
- package/lib/slide/index.js +0 -7
- package/lib/slide/layouts/big_quote.d.ts +0 -2
- package/lib/slide/layouts/big_quote.js +0 -19
- package/lib/slide/layouts/columns.d.ts +0 -2
- package/lib/slide/layouts/columns.js +0 -53
- package/lib/slide/layouts/comparison.d.ts +0 -2
- package/lib/slide/layouts/comparison.js +0 -25
- package/lib/slide/layouts/funnel.d.ts +0 -2
- package/lib/slide/layouts/funnel.js +0 -25
- package/lib/slide/layouts/grid.d.ts +0 -2
- package/lib/slide/layouts/grid.js +0 -38
- package/lib/slide/layouts/index.d.ts +0 -3
- package/lib/slide/layouts/index.js +0 -46
- package/lib/slide/layouts/matrix.d.ts +0 -2
- package/lib/slide/layouts/matrix.js +0 -53
- package/lib/slide/layouts/split.d.ts +0 -2
- package/lib/slide/layouts/split.js +0 -51
- package/lib/slide/layouts/stats.d.ts +0 -2
- package/lib/slide/layouts/stats.js +0 -23
- package/lib/slide/layouts/table.d.ts +0 -2
- package/lib/slide/layouts/table.js +0 -10
- package/lib/slide/layouts/timeline.d.ts +0 -2
- package/lib/slide/layouts/timeline.js +0 -27
- package/lib/slide/layouts/title.d.ts +0 -2
- package/lib/slide/layouts/title.js +0 -19
- package/lib/slide/layouts/waterfall.d.ts +0 -2
- package/lib/slide/layouts/waterfall.js +0 -63
- package/lib/slide/render.d.ts +0 -17
- package/lib/slide/render.js +0 -101
- package/lib/slide/schema.d.ts +0 -9309
- package/lib/slide/schema.js +0 -434
- package/lib/slide/utils.d.ts +0 -76
- package/lib/slide/utils.js +0 -243
- package/lib/types/slide.d.ts +0 -9309
- package/lib/types/slide.js +0 -434
- package/lib/utils/browser_pool.d.ts +0 -5
- package/lib/utils/browser_pool.js +0 -39
- package/lib/utils/markdown.d.ts +0 -3
- package/lib/utils/markdown.js +0 -49
package/lib/utils/context.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ImageProcessorParams } from "../../types/index.js";
|
|
2
|
-
import type { SlideLayout, ContentBlock } from "
|
|
2
|
+
import type { SlideLayout, ContentBlock } from "@mulmocast/deck";
|
|
3
3
|
export declare const imageType = "slide";
|
|
4
4
|
/**
|
|
5
5
|
* Collect all content block arrays from a slide layout.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import nodePath from "node:path";
|
|
2
2
|
import { pathToFileURL } from "node:url";
|
|
3
|
-
import { generateSlideHTML } from "
|
|
3
|
+
import { generateSlideHTML } from "@mulmocast/deck";
|
|
4
4
|
import { slideThemes } from "../../data/slideThemes.js";
|
|
5
5
|
import { renderHTMLToImage } from "../html_render.js";
|
|
6
6
|
import { parrotingImagePath } from "./utils.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mulmocast",
|
|
3
|
-
"version": "2.6.
|
|
3
|
+
"version": "2.6.17",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.node.js",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
},
|
|
26
26
|
"resolutions": {
|
|
27
27
|
"minimatch": "^10.2.5",
|
|
28
|
-
"tar": "7.5.
|
|
29
|
-
"yauzl": "^3.3.
|
|
28
|
+
"tar": "7.5.15",
|
|
29
|
+
"yauzl": "^3.3.1"
|
|
30
30
|
},
|
|
31
31
|
"bin": {
|
|
32
32
|
"mulmo": "lib/cli/bin.js",
|
|
@@ -89,7 +89,7 @@
|
|
|
89
89
|
"homepage": "https://github.com/receptron/mulmocast-cli#readme",
|
|
90
90
|
"dependencies": {
|
|
91
91
|
"@google-cloud/text-to-speech": "^6.4.1",
|
|
92
|
-
"@google/genai": "^2.
|
|
92
|
+
"@google/genai": "^2.7.0",
|
|
93
93
|
"@graphai/anthropic_agent": "^2.0.12",
|
|
94
94
|
"@graphai/browserless_agent": "^2.0.2",
|
|
95
95
|
"@graphai/gemini_agent": "^2.0.5",
|
|
@@ -104,16 +104,17 @@
|
|
|
104
104
|
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
105
105
|
"@modernized/fluent-ffmpeg": "^1.0.0",
|
|
106
106
|
"@mozilla/readability": "^0.6.0",
|
|
107
|
+
"@mulmocast/deck": "^0.1.2",
|
|
107
108
|
"@tavily/core": "^0.7.3",
|
|
108
109
|
"archiver": "^7.0.1",
|
|
109
110
|
"clipboardy": "^5.3.1",
|
|
110
111
|
"dotenv": "^17.4.2",
|
|
111
|
-
"graphai": "^2.0.
|
|
112
|
+
"graphai": "^2.0.17",
|
|
112
113
|
"jsdom": "^29.1.1",
|
|
113
|
-
"marked": "^18.0.
|
|
114
|
+
"marked": "^18.0.4",
|
|
114
115
|
"mulmocast-vision": "^1.0.10",
|
|
115
116
|
"ora": "^9.4.0",
|
|
116
|
-
"puppeteer": "^25.0
|
|
117
|
+
"puppeteer": "^25.1.0",
|
|
117
118
|
"replicate": "^1.4.0",
|
|
118
119
|
"yaml": "^2.9.0",
|
|
119
120
|
"yargs": "^18.0.0",
|
|
@@ -126,16 +127,16 @@
|
|
|
126
127
|
"@types/jsdom": "^28.0.3",
|
|
127
128
|
"@types/yargs": "^17.0.35",
|
|
128
129
|
"cross-env": "^10.1.0",
|
|
129
|
-
"eslint": "^10.4.
|
|
130
|
+
"eslint": "^10.4.1",
|
|
130
131
|
"eslint-config-prettier": "^10.1.8",
|
|
131
132
|
"eslint-plugin-import": "^2.32.0",
|
|
132
|
-
"eslint-plugin-prettier": "^5.5.
|
|
133
|
+
"eslint-plugin-prettier": "^5.5.6",
|
|
133
134
|
"eslint-plugin-sonarjs": "^4.0.3",
|
|
134
135
|
"globals": "^17.6.0",
|
|
135
136
|
"prettier": "^3.8.3",
|
|
136
|
-
"tsx": "^4.22.
|
|
137
|
+
"tsx": "^4.22.3",
|
|
137
138
|
"typescript": "6.0.3",
|
|
138
|
-
"typescript-eslint": "^8.
|
|
139
|
+
"typescript-eslint": "^8.60.0"
|
|
139
140
|
},
|
|
140
141
|
"engines": {
|
|
141
142
|
"node": ">=22.0.0"
|
package/lib/data/styles.d.ts
DELETED
|
@@ -1,255 +0,0 @@
|
|
|
1
|
-
export declare const styles: ({
|
|
2
|
-
filename: string;
|
|
3
|
-
presentationStyle: {
|
|
4
|
-
$mulmocast: {
|
|
5
|
-
credit: string;
|
|
6
|
-
version: string;
|
|
7
|
-
};
|
|
8
|
-
canvasSize: {
|
|
9
|
-
height: number;
|
|
10
|
-
width: number;
|
|
11
|
-
};
|
|
12
|
-
imageParams: {
|
|
13
|
-
images: {
|
|
14
|
-
girl: {
|
|
15
|
-
source: {
|
|
16
|
-
kind: string;
|
|
17
|
-
url: string;
|
|
18
|
-
};
|
|
19
|
-
type: string;
|
|
20
|
-
};
|
|
21
|
-
ani?: undefined;
|
|
22
|
-
presenter?: undefined;
|
|
23
|
-
optimus?: undefined;
|
|
24
|
-
};
|
|
25
|
-
style: string;
|
|
26
|
-
model?: undefined;
|
|
27
|
-
provider?: undefined;
|
|
28
|
-
};
|
|
29
|
-
audioParams?: undefined;
|
|
30
|
-
movieParams?: undefined;
|
|
31
|
-
speechParams?: undefined;
|
|
32
|
-
};
|
|
33
|
-
} | {
|
|
34
|
-
filename: string;
|
|
35
|
-
presentationStyle: {
|
|
36
|
-
$mulmocast: {
|
|
37
|
-
credit: string;
|
|
38
|
-
version: string;
|
|
39
|
-
};
|
|
40
|
-
audioParams: {
|
|
41
|
-
bgm: {
|
|
42
|
-
kind: string;
|
|
43
|
-
url: string;
|
|
44
|
-
};
|
|
45
|
-
};
|
|
46
|
-
canvasSize: {
|
|
47
|
-
height: number;
|
|
48
|
-
width: number;
|
|
49
|
-
};
|
|
50
|
-
imageParams: {
|
|
51
|
-
images: {
|
|
52
|
-
ani: {
|
|
53
|
-
source: {
|
|
54
|
-
kind: string;
|
|
55
|
-
url: string;
|
|
56
|
-
};
|
|
57
|
-
type: string;
|
|
58
|
-
};
|
|
59
|
-
girl?: undefined;
|
|
60
|
-
presenter?: undefined;
|
|
61
|
-
optimus?: undefined;
|
|
62
|
-
};
|
|
63
|
-
model: string;
|
|
64
|
-
provider: string;
|
|
65
|
-
style: string;
|
|
66
|
-
};
|
|
67
|
-
movieParams: {
|
|
68
|
-
model: string;
|
|
69
|
-
provider: string;
|
|
70
|
-
};
|
|
71
|
-
speechParams: {
|
|
72
|
-
speakers: {
|
|
73
|
-
Presenter: {
|
|
74
|
-
provider: string;
|
|
75
|
-
speechOptions: {
|
|
76
|
-
instruction: string;
|
|
77
|
-
};
|
|
78
|
-
voiceId: string;
|
|
79
|
-
};
|
|
80
|
-
};
|
|
81
|
-
provider?: undefined;
|
|
82
|
-
};
|
|
83
|
-
};
|
|
84
|
-
} | {
|
|
85
|
-
filename: string;
|
|
86
|
-
presentationStyle: {
|
|
87
|
-
$mulmocast: {
|
|
88
|
-
credit: string;
|
|
89
|
-
version: string;
|
|
90
|
-
};
|
|
91
|
-
canvasSize: {
|
|
92
|
-
height: number;
|
|
93
|
-
width: number;
|
|
94
|
-
};
|
|
95
|
-
imageParams: {
|
|
96
|
-
style: string;
|
|
97
|
-
images?: undefined;
|
|
98
|
-
model?: undefined;
|
|
99
|
-
provider?: undefined;
|
|
100
|
-
};
|
|
101
|
-
audioParams?: undefined;
|
|
102
|
-
movieParams?: undefined;
|
|
103
|
-
speechParams?: undefined;
|
|
104
|
-
};
|
|
105
|
-
} | {
|
|
106
|
-
filename: string;
|
|
107
|
-
presentationStyle: {
|
|
108
|
-
$mulmocast: {
|
|
109
|
-
credit: string;
|
|
110
|
-
version: string;
|
|
111
|
-
};
|
|
112
|
-
canvasSize: {
|
|
113
|
-
height: number;
|
|
114
|
-
width: number;
|
|
115
|
-
};
|
|
116
|
-
imageParams: {
|
|
117
|
-
images: {
|
|
118
|
-
presenter: {
|
|
119
|
-
source: {
|
|
120
|
-
kind: string;
|
|
121
|
-
url: string;
|
|
122
|
-
};
|
|
123
|
-
type: string;
|
|
124
|
-
};
|
|
125
|
-
girl?: undefined;
|
|
126
|
-
ani?: undefined;
|
|
127
|
-
optimus?: undefined;
|
|
128
|
-
};
|
|
129
|
-
style: string;
|
|
130
|
-
model?: undefined;
|
|
131
|
-
provider?: undefined;
|
|
132
|
-
};
|
|
133
|
-
audioParams?: undefined;
|
|
134
|
-
movieParams?: undefined;
|
|
135
|
-
speechParams?: undefined;
|
|
136
|
-
};
|
|
137
|
-
} | {
|
|
138
|
-
filename: string;
|
|
139
|
-
presentationStyle: {
|
|
140
|
-
$mulmocast: {
|
|
141
|
-
credit: string;
|
|
142
|
-
version: string;
|
|
143
|
-
};
|
|
144
|
-
canvasSize: {
|
|
145
|
-
height: number;
|
|
146
|
-
width: number;
|
|
147
|
-
};
|
|
148
|
-
imageParams: {
|
|
149
|
-
images: {
|
|
150
|
-
presenter: {
|
|
151
|
-
source: {
|
|
152
|
-
kind: string;
|
|
153
|
-
url: string;
|
|
154
|
-
};
|
|
155
|
-
type: string;
|
|
156
|
-
};
|
|
157
|
-
girl?: undefined;
|
|
158
|
-
ani?: undefined;
|
|
159
|
-
optimus?: undefined;
|
|
160
|
-
};
|
|
161
|
-
style: string;
|
|
162
|
-
model?: undefined;
|
|
163
|
-
provider?: undefined;
|
|
164
|
-
};
|
|
165
|
-
speechParams: {
|
|
166
|
-
provider: string;
|
|
167
|
-
speakers: {
|
|
168
|
-
Presenter: {
|
|
169
|
-
speechOptions: {
|
|
170
|
-
instruction: string;
|
|
171
|
-
};
|
|
172
|
-
voiceId: string;
|
|
173
|
-
provider?: undefined;
|
|
174
|
-
};
|
|
175
|
-
};
|
|
176
|
-
};
|
|
177
|
-
audioParams?: undefined;
|
|
178
|
-
movieParams?: undefined;
|
|
179
|
-
};
|
|
180
|
-
} | {
|
|
181
|
-
filename: string;
|
|
182
|
-
presentationStyle: {
|
|
183
|
-
$mulmocast: {
|
|
184
|
-
credit: string;
|
|
185
|
-
version: string;
|
|
186
|
-
};
|
|
187
|
-
canvasSize: {
|
|
188
|
-
height: number;
|
|
189
|
-
width: number;
|
|
190
|
-
};
|
|
191
|
-
imageParams: {
|
|
192
|
-
images: {
|
|
193
|
-
optimus: {
|
|
194
|
-
source: {
|
|
195
|
-
kind: string;
|
|
196
|
-
url: string;
|
|
197
|
-
};
|
|
198
|
-
type: string;
|
|
199
|
-
};
|
|
200
|
-
presenter: {
|
|
201
|
-
source: {
|
|
202
|
-
kind: string;
|
|
203
|
-
url: string;
|
|
204
|
-
};
|
|
205
|
-
type: string;
|
|
206
|
-
};
|
|
207
|
-
girl?: undefined;
|
|
208
|
-
ani?: undefined;
|
|
209
|
-
};
|
|
210
|
-
style: string;
|
|
211
|
-
model?: undefined;
|
|
212
|
-
provider?: undefined;
|
|
213
|
-
};
|
|
214
|
-
audioParams?: undefined;
|
|
215
|
-
movieParams?: undefined;
|
|
216
|
-
speechParams?: undefined;
|
|
217
|
-
};
|
|
218
|
-
} | {
|
|
219
|
-
filename: string;
|
|
220
|
-
presentationStyle: {
|
|
221
|
-
$mulmocast: {
|
|
222
|
-
credit: string;
|
|
223
|
-
version: string;
|
|
224
|
-
};
|
|
225
|
-
audioParams: {
|
|
226
|
-
bgm: {
|
|
227
|
-
kind: string;
|
|
228
|
-
url: string;
|
|
229
|
-
};
|
|
230
|
-
};
|
|
231
|
-
canvasSize: {
|
|
232
|
-
height: number;
|
|
233
|
-
width: number;
|
|
234
|
-
};
|
|
235
|
-
imageParams: {
|
|
236
|
-
model: string;
|
|
237
|
-
provider: string;
|
|
238
|
-
images?: undefined;
|
|
239
|
-
style?: undefined;
|
|
240
|
-
};
|
|
241
|
-
speechParams: {
|
|
242
|
-
speakers: {
|
|
243
|
-
Presenter: {
|
|
244
|
-
provider: string;
|
|
245
|
-
speechOptions: {
|
|
246
|
-
instruction: string;
|
|
247
|
-
};
|
|
248
|
-
voiceId: string;
|
|
249
|
-
};
|
|
250
|
-
};
|
|
251
|
-
provider?: undefined;
|
|
252
|
-
};
|
|
253
|
-
movieParams?: undefined;
|
|
254
|
-
};
|
|
255
|
-
})[];
|
package/lib/data/styles.js
DELETED
|
@@ -1,284 +0,0 @@
|
|
|
1
|
-
export const styles = [
|
|
2
|
-
{
|
|
3
|
-
filename: 'akira_comic',
|
|
4
|
-
presentationStyle: {
|
|
5
|
-
'$mulmocast': {
|
|
6
|
-
credit: 'closing',
|
|
7
|
-
version: '1.1'
|
|
8
|
-
},
|
|
9
|
-
canvasSize: {
|
|
10
|
-
height: 1024,
|
|
11
|
-
width: 1536
|
|
12
|
-
},
|
|
13
|
-
imageParams: {
|
|
14
|
-
images: {
|
|
15
|
-
girl: {
|
|
16
|
-
source: {
|
|
17
|
-
kind: 'url',
|
|
18
|
-
url: 'https://raw.githubusercontent.com/receptron/mulmocast-media/refs/heads/main/characters/akira_presenter.png'
|
|
19
|
-
},
|
|
20
|
-
type: 'image'
|
|
21
|
-
}
|
|
22
|
-
},
|
|
23
|
-
style: '<style>AKIRA aesthetic.</style>'
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
filename: 'ani',
|
|
29
|
-
presentationStyle: {
|
|
30
|
-
'$mulmocast': {
|
|
31
|
-
credit: 'closing',
|
|
32
|
-
version: '1.1'
|
|
33
|
-
},
|
|
34
|
-
audioParams: {
|
|
35
|
-
bgm: {
|
|
36
|
-
kind: 'url',
|
|
37
|
-
url: 'https://github.com/receptron/mulmocast-media/raw/refs/heads/main/bgms/morning001.mp3'
|
|
38
|
-
}
|
|
39
|
-
},
|
|
40
|
-
canvasSize: {
|
|
41
|
-
height: 1536,
|
|
42
|
-
width: 1024
|
|
43
|
-
},
|
|
44
|
-
imageParams: {
|
|
45
|
-
images: {
|
|
46
|
-
ani: {
|
|
47
|
-
source: {
|
|
48
|
-
kind: 'url',
|
|
49
|
-
url: 'https://raw.githubusercontent.com/receptron/mulmocast-media/refs/heads/main/characters/ani.png'
|
|
50
|
-
},
|
|
51
|
-
type: 'image'
|
|
52
|
-
}
|
|
53
|
-
},
|
|
54
|
-
model: 'gemini-2.5-flash-image',
|
|
55
|
-
provider: 'google',
|
|
56
|
-
style: '<style>A highly polished 2D digital illustration in anime and manga style, featuring clean linework, soft shading, vivid colors, and expressive facial detailing. The composition emphasizes clarity and visual impact with a minimalistic background and a strong character focus. The lighting is even and bright, giving the image a crisp and energetic feel, reminiscent of high-quality character art used in Japanese visual novels or mobile games.</style>'
|
|
57
|
-
},
|
|
58
|
-
movieParams: {
|
|
59
|
-
model: 'bytedance/seedance-1-lite',
|
|
60
|
-
provider: 'replicate'
|
|
61
|
-
},
|
|
62
|
-
speechParams: {
|
|
63
|
-
speakers: {
|
|
64
|
-
Presenter: {
|
|
65
|
-
provider: 'gemini',
|
|
66
|
-
speechOptions: {
|
|
67
|
-
instruction: 'Speak in a slightly high-pitched, curt tone with sudden flustered shifts—like a tsundere anime girl.'
|
|
68
|
-
},
|
|
69
|
-
voiceId: 'Leda'
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
{
|
|
76
|
-
filename: 'children_book',
|
|
77
|
-
presentationStyle: {
|
|
78
|
-
'$mulmocast': {
|
|
79
|
-
credit: 'closing',
|
|
80
|
-
version: '1.1'
|
|
81
|
-
},
|
|
82
|
-
canvasSize: {
|
|
83
|
-
height: 1024,
|
|
84
|
-
width: 1536
|
|
85
|
-
},
|
|
86
|
-
imageParams: {
|
|
87
|
-
style: 'A hand-drawn style illustration with a warm, nostalgic atmosphere. The background is rich with natural scenery—lush forests, cloudy skies, and traditional Japanese architecture. Characters have expressive eyes, soft facial features, and are portrayed with gentle lighting and subtle shading. The color palette is muted yet vivid, using earthy tones and watercolor-like textures. The overall scene feels magical and peaceful, with a sense of quiet wonder and emotional depth, reminiscent of classic 1980s and 1990s Japanese animation.'
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
},
|
|
91
|
-
{
|
|
92
|
-
filename: 'comic_strips',
|
|
93
|
-
presentationStyle: {
|
|
94
|
-
'$mulmocast': {
|
|
95
|
-
credit: 'closing',
|
|
96
|
-
version: '1.1'
|
|
97
|
-
},
|
|
98
|
-
canvasSize: {
|
|
99
|
-
height: 1024,
|
|
100
|
-
width: 1536
|
|
101
|
-
},
|
|
102
|
-
imageParams: {
|
|
103
|
-
style: '<style>A multi panel comic strips. 1990s American workplace humor. Clean, minimalist line art with muted colors. One character is a nerdy office worker with glasses</style>'
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
filename: 'drslump_comic',
|
|
109
|
-
presentationStyle: {
|
|
110
|
-
'$mulmocast': {
|
|
111
|
-
credit: 'closing',
|
|
112
|
-
version: '1.1'
|
|
113
|
-
},
|
|
114
|
-
canvasSize: {
|
|
115
|
-
height: 1024,
|
|
116
|
-
width: 1536
|
|
117
|
-
},
|
|
118
|
-
imageParams: {
|
|
119
|
-
images: {
|
|
120
|
-
girl: {
|
|
121
|
-
source: {
|
|
122
|
-
kind: 'url',
|
|
123
|
-
url: 'https://raw.githubusercontent.com/receptron/mulmocast-media/refs/heads/main/characters/slump_presenter.png'
|
|
124
|
-
},
|
|
125
|
-
type: 'image'
|
|
126
|
-
}
|
|
127
|
-
},
|
|
128
|
-
style: '<style>Dragon Ball/Dr. Slump aesthetic.</style>'
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
filename: 'ghibli_comic',
|
|
134
|
-
presentationStyle: {
|
|
135
|
-
'$mulmocast': {
|
|
136
|
-
credit: 'closing',
|
|
137
|
-
version: '1.1'
|
|
138
|
-
},
|
|
139
|
-
canvasSize: {
|
|
140
|
-
height: 1024,
|
|
141
|
-
width: 1536
|
|
142
|
-
},
|
|
143
|
-
imageParams: {
|
|
144
|
-
images: {
|
|
145
|
-
presenter: {
|
|
146
|
-
source: {
|
|
147
|
-
kind: 'url',
|
|
148
|
-
url: 'https://raw.githubusercontent.com/receptron/mulmocast-media/refs/heads/main/characters/ghibli_presenter.png'
|
|
149
|
-
},
|
|
150
|
-
type: 'image'
|
|
151
|
-
}
|
|
152
|
-
},
|
|
153
|
-
style: '<style>Ghibli style</style>'
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
},
|
|
157
|
-
{
|
|
158
|
-
filename: 'ghibli_shorts',
|
|
159
|
-
presentationStyle: {
|
|
160
|
-
'$mulmocast': {
|
|
161
|
-
credit: 'closing',
|
|
162
|
-
version: '1.1'
|
|
163
|
-
},
|
|
164
|
-
canvasSize: {
|
|
165
|
-
height: 1536,
|
|
166
|
-
width: 1024
|
|
167
|
-
},
|
|
168
|
-
imageParams: {
|
|
169
|
-
images: {
|
|
170
|
-
presenter: {
|
|
171
|
-
source: {
|
|
172
|
-
kind: 'url',
|
|
173
|
-
url: 'https://raw.githubusercontent.com/receptron/mulmocast-media/refs/heads/main/characters/ghibli_presenter.jpg'
|
|
174
|
-
},
|
|
175
|
-
type: 'image'
|
|
176
|
-
}
|
|
177
|
-
},
|
|
178
|
-
style: '<style>Ghibli style</style>'
|
|
179
|
-
},
|
|
180
|
-
speechParams: {
|
|
181
|
-
provider: 'openai',
|
|
182
|
-
speakers: {
|
|
183
|
-
Presenter: {
|
|
184
|
-
speechOptions: {
|
|
185
|
-
instruction: 'speak very fast'
|
|
186
|
-
},
|
|
187
|
-
voiceId: 'shimmer'
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
},
|
|
193
|
-
{
|
|
194
|
-
filename: 'ghost_comic',
|
|
195
|
-
presentationStyle: {
|
|
196
|
-
'$mulmocast': {
|
|
197
|
-
credit: 'closing',
|
|
198
|
-
version: '1.1'
|
|
199
|
-
},
|
|
200
|
-
canvasSize: {
|
|
201
|
-
height: 1024,
|
|
202
|
-
width: 1536
|
|
203
|
-
},
|
|
204
|
-
imageParams: {
|
|
205
|
-
images: {
|
|
206
|
-
optimus: {
|
|
207
|
-
source: {
|
|
208
|
-
kind: 'url',
|
|
209
|
-
url: 'https://raw.githubusercontent.com/receptron/mulmocast-media/refs/heads/main/characters/optimus.png'
|
|
210
|
-
},
|
|
211
|
-
type: 'image'
|
|
212
|
-
},
|
|
213
|
-
presenter: {
|
|
214
|
-
source: {
|
|
215
|
-
kind: 'url',
|
|
216
|
-
url: 'https://raw.githubusercontent.com/receptron/mulmocast-media/refs/heads/main/characters/ghost_presenter.png'
|
|
217
|
-
},
|
|
218
|
-
type: 'image'
|
|
219
|
-
}
|
|
220
|
-
},
|
|
221
|
-
style: '<style>Ghost in the shell aesthetic.</style>'
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
},
|
|
225
|
-
{
|
|
226
|
-
filename: 'leda',
|
|
227
|
-
presentationStyle: {
|
|
228
|
-
'$mulmocast': {
|
|
229
|
-
credit: 'closing',
|
|
230
|
-
version: '1.1'
|
|
231
|
-
},
|
|
232
|
-
audioParams: {
|
|
233
|
-
bgm: {
|
|
234
|
-
kind: 'url',
|
|
235
|
-
url: 'https://github.com/receptron/mulmocast-media/raw/refs/heads/main/bgms/morning001.mp3'
|
|
236
|
-
}
|
|
237
|
-
},
|
|
238
|
-
canvasSize: {
|
|
239
|
-
height: 1536,
|
|
240
|
-
width: 1024
|
|
241
|
-
},
|
|
242
|
-
imageParams: {
|
|
243
|
-
model: 'gemini-2.5-flash-image',
|
|
244
|
-
provider: 'google'
|
|
245
|
-
},
|
|
246
|
-
speechParams: {
|
|
247
|
-
speakers: {
|
|
248
|
-
Presenter: {
|
|
249
|
-
provider: 'gemini',
|
|
250
|
-
speechOptions: {
|
|
251
|
-
instruction: 'Speak like a professional news presenter.'
|
|
252
|
-
},
|
|
253
|
-
voiceId: 'Leda'
|
|
254
|
-
}
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
}
|
|
258
|
-
},
|
|
259
|
-
{
|
|
260
|
-
filename: 'onepiece_comic',
|
|
261
|
-
presentationStyle: {
|
|
262
|
-
'$mulmocast': {
|
|
263
|
-
credit: 'closing',
|
|
264
|
-
version: '1.1'
|
|
265
|
-
},
|
|
266
|
-
canvasSize: {
|
|
267
|
-
height: 1024,
|
|
268
|
-
width: 1536
|
|
269
|
-
},
|
|
270
|
-
imageParams: {
|
|
271
|
-
images: {
|
|
272
|
-
presenter: {
|
|
273
|
-
source: {
|
|
274
|
-
kind: 'url',
|
|
275
|
-
url: 'https://raw.githubusercontent.com/receptron/mulmocast-media/refs/heads/main/characters/onepiece_presenter.png'
|
|
276
|
-
},
|
|
277
|
-
type: 'image'
|
|
278
|
-
}
|
|
279
|
-
},
|
|
280
|
-
style: '<style>One Piece aesthetic.</style>'
|
|
281
|
-
}
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
];
|
package/lib/slide/blocks.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { ContentBlock, TableCellValue } from "./schema.js";
|
|
2
|
-
export declare const resolveCellColor: (cellObj: {
|
|
3
|
-
color?: string;
|
|
4
|
-
}, isRowHeader: boolean) => string;
|
|
5
|
-
export declare const renderBadge: (text: string, color: string) => string;
|
|
6
|
-
export declare const renderCellValue: (cell: TableCellValue, isRowHeader: boolean) => string;
|
|
7
|
-
export declare const renderTableCore: (headers: string[] | undefined, rows: TableCellValue[][], rowHeaders?: boolean, striped?: boolean) => string;
|
|
8
|
-
/** Render a single content block to HTML */
|
|
9
|
-
export declare const renderContentBlock: (block: ContentBlock) => string;
|
|
10
|
-
/** Render an array of content blocks to HTML */
|
|
11
|
-
export declare const renderContentBlocks: (blocks: ContentBlock[]) => string;
|
|
12
|
-
/** Render content blocks with fixed aspect-ratio container for image blocks (used in card layouts) */
|
|
13
|
-
export declare const renderCardContentBlocks: (blocks: ContentBlock[]) => string;
|