mulmocast 2.6.17 → 2.6.19

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 (32) hide show
  1. package/lib/methods/mulmo_presentation_style.d.ts +18 -0
  2. package/lib/methods/mulmo_presentation_style.js +23 -0
  3. package/lib/types/schema.d.ts +4359 -49
  4. package/lib/utils/context.d.ts +600 -0
  5. package/lib/utils/image_plugins/slide.js +7 -4
  6. package/package.json +5 -5
  7. package/scripts/test/cinematic_showcase.json +0 -1356
  8. package/scripts/test/golden_age_of_discovery.json +0 -270
  9. package/scripts/test/image-2.png +0 -0
  10. package/scripts/test/img_detector.png +0 -0
  11. package/scripts/test/img_higgs.png +0 -0
  12. package/scripts/test/img_lhc.png +0 -0
  13. package/scripts/test/macoro_anime_proto.json +0 -120
  14. package/scripts/test/minimum_beats_completed.json +0 -45
  15. package/scripts/test/test_all_elevenlabs_tts_model.json +0 -111
  16. package/scripts/test/test_all_gemini_tts_model.json +0 -433
  17. package/scripts/test/test_all_image.json +0 -49
  18. package/scripts/test/test_all_movie.json +0 -33
  19. package/scripts/test/test_captions_2.json +0 -31
  20. package/scripts/test/test_genai2.json +0 -25
  21. package/scripts/test/test_lipsync5.json +0 -66
  22. package/scripts/test/test_reference.json +0 -0
  23. package/scripts/test/test_slide_image_ref_gemini_en.json +0 -289
  24. package/scripts/test/test_slide_showcase_corporate.json +0 -497
  25. package/scripts/test/test_slide_showcase_creative.json +0 -545
  26. package/scripts/test/test_slide_showcase_minimal.json +0 -501
  27. package/scripts/test/test_slide_showcase_pop.json +0 -547
  28. package/scripts/test/test_slide_showcase_warm.json +0 -486
  29. package/scripts/test/test_wipe_simple.json +0 -37
  30. package/scripts/test/zenn_combined_example.json +0 -39
  31. package/scripts/test/zenn_layout_samples.json +0 -92
  32. package/scripts/test/zenn_markdown_demo.json +0 -79
@@ -1,11 +1,11 @@
1
1
  import nodePath from "node:path";
2
2
  import { pathToFileURL } from "node:url";
3
3
  import { generateSlideHTML } from "@mulmocast/deck";
4
- import { slideThemes } from "../../data/slideThemes.js";
5
4
  import { renderHTMLToImage } from "../html_render.js";
6
5
  import { parrotingImagePath } from "./utils.js";
7
6
  import { pathToDataUrl } from "../../methods/mulmo_media_source.js";
8
7
  import { MulmoMediaSourceMethods } from "../../methods/mulmo_media_source.js";
8
+ import { MulmoPresentationStyleMethods } from "../../methods/mulmo_presentation_style.js";
9
9
  import { imageAction, imageFileTarget, unknownMediaType } from "../error_cause.js";
10
10
  export const imageType = "slide";
11
11
  const slideImageRefError = (refKey) => ({
@@ -95,9 +95,12 @@ const resolveTheme = (params) => {
95
95
  if (!beat.image || beat.image.type !== imageType) {
96
96
  throw new Error("resolveTheme called on non-slide beat");
97
97
  }
98
- const defaultTheme = context.presentationStyle.slideParams?.theme;
99
- const theme = beat.image.theme ?? defaultTheme ?? slideThemes.corporate;
100
- return theme;
98
+ // Single source of truth for the priority — the same method is now
99
+ // exposed via `MulmoPresentationStyleMethods` for browser callers
100
+ // (editor preview) so the deck-web preview and the PDF/movie
101
+ // render reach the same theme. See the docblock there for the
102
+ // priority spelled out.
103
+ return MulmoPresentationStyleMethods.getResolvedSlideTheme(context.presentationStyle, beat);
101
104
  };
102
105
  const resolveSlide = (params, converter = pathToDataUrl) => {
103
106
  const { beat, imageRefs } = params;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mulmocast",
3
- "version": "2.6.17",
3
+ "version": "2.6.19",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "lib/index.node.js",
@@ -104,14 +104,14 @@
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
+ "@mulmocast/deck": "^1.1.0",
108
108
  "@tavily/core": "^0.7.3",
109
109
  "archiver": "^7.0.1",
110
110
  "clipboardy": "^5.3.1",
111
111
  "dotenv": "^17.4.2",
112
112
  "graphai": "^2.0.17",
113
113
  "jsdom": "^29.1.1",
114
- "marked": "^18.0.4",
114
+ "marked": "^18.0.5",
115
115
  "mulmocast-vision": "^1.0.10",
116
116
  "ora": "^9.4.0",
117
117
  "puppeteer": "^25.1.0",
@@ -134,9 +134,9 @@
134
134
  "eslint-plugin-sonarjs": "^4.0.3",
135
135
  "globals": "^17.6.0",
136
136
  "prettier": "^3.8.3",
137
- "tsx": "^4.22.3",
137
+ "tsx": "^4.22.4",
138
138
  "typescript": "6.0.3",
139
- "typescript-eslint": "^8.60.0"
139
+ "typescript-eslint": "^8.60.1"
140
140
  },
141
141
  "engines": {
142
142
  "node": ">=22.0.0"