manim-web 0.10.0 → 0.12.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 (69) hide show
  1. package/dist/GLTFLoader-CisHz7tR.js +1381 -0
  2. package/dist/GLTFLoader-DMbWuMln.js +1381 -0
  3. package/dist/OBJLoader-Clh2POv9.js +287 -0
  4. package/dist/OBJLoader-kkTsEhJf.js +287 -0
  5. package/dist/audio/Voiceover.d.ts +95 -0
  6. package/dist/audio/Voiceover.d.ts.map +1 -0
  7. package/dist/audio/VoiceoverScene.d.ts +28 -0
  8. package/dist/audio/VoiceoverScene.d.ts.map +1 -0
  9. package/dist/audio/bookmarks.d.ts +40 -0
  10. package/dist/audio/bookmarks.d.ts.map +1 -0
  11. package/dist/audio/speechSynthesizer.d.ts +95 -0
  12. package/dist/audio/speechSynthesizer.d.ts.map +1 -0
  13. package/dist/core/Mobject.d.ts +31 -0
  14. package/dist/core/Mobject.d.ts.map +1 -1
  15. package/dist/core/Scene.d.ts +9 -0
  16. package/dist/core/Scene.d.ts.map +1 -1
  17. package/dist/export/FrameExporter.d.ts +86 -0
  18. package/dist/export/FrameExporter.d.ts.map +1 -0
  19. package/dist/export/WebCodecsExporter.d.ts +108 -0
  20. package/dist/export/WebCodecsExporter.d.ts.map +1 -0
  21. package/dist/export/index.d.ts +2 -0
  22. package/dist/export/index.d.ts.map +1 -1
  23. package/dist/index.d.ts +12 -1
  24. package/dist/index.d.ts.map +1 -1
  25. package/dist/index.js +3 -2
  26. package/dist/integrations/react.js +17 -16
  27. package/dist/integrations/vue.js +16 -15
  28. package/dist/integrations/webcomponent.d.ts +65 -0
  29. package/dist/integrations/webcomponent.d.ts.map +1 -0
  30. package/dist/integrations/webcomponent.js +2 -0
  31. package/dist/interaction/MovablePoint.d.ts +127 -0
  32. package/dist/interaction/MovablePoint.d.ts.map +1 -0
  33. package/dist/interaction/Slider.d.ts +125 -0
  34. package/dist/interaction/Slider.d.ts.map +1 -0
  35. package/dist/interaction/index.d.ts +2 -0
  36. package/dist/interaction/index.d.ts.map +1 -1
  37. package/dist/manim-web.browser.js +10073 -20358
  38. package/dist/mobjects/svg/SVGMobject.d.ts +29 -0
  39. package/dist/mobjects/svg/SVGMobject.d.ts.map +1 -1
  40. package/dist/mobjects/svg/index.d.ts +3 -1
  41. package/dist/mobjects/svg/index.d.ts.map +1 -1
  42. package/dist/mobjects/svg/svgFill.d.ts +42 -0
  43. package/dist/mobjects/svg/svgFill.d.ts.map +1 -0
  44. package/dist/mobjects/svg/svgGradients.d.ts +68 -0
  45. package/dist/mobjects/svg/svgGradients.d.ts.map +1 -0
  46. package/dist/mobjects/svg/svgImage.d.ts +9 -0
  47. package/dist/mobjects/svg/svgImage.d.ts.map +1 -0
  48. package/dist/mobjects/svg/svgLoader.d.ts +35 -0
  49. package/dist/mobjects/svg/svgLoader.d.ts.map +1 -0
  50. package/dist/mobjects/svg/svgText.d.ts +15 -0
  51. package/dist/mobjects/svg/svgText.d.ts.map +1 -0
  52. package/dist/mobjects/three-d/ModelMobject.d.ts +122 -0
  53. package/dist/mobjects/three-d/ModelMobject.d.ts.map +1 -0
  54. package/dist/mobjects/video/VideoMobject.d.ts +126 -0
  55. package/dist/mobjects/video/VideoMobject.d.ts.map +1 -0
  56. package/dist/mobjects/video/index.d.ts +2 -0
  57. package/dist/mobjects/video/index.d.ts.map +1 -0
  58. package/dist/mp4-muxer-5DGKGEJk.js +900 -0
  59. package/dist/player/Player.d.ts +4 -0
  60. package/dist/player/Player.d.ts.map +1 -1
  61. package/dist/rendering/blendModes.d.ts +38 -0
  62. package/dist/rendering/blendModes.d.ts.map +1 -0
  63. package/dist/{src-D29Z9zIa.js → src-BQF5-SG7.js} +6853 -6218
  64. package/dist/three.core-1aHSpGwp.js +11626 -0
  65. package/dist/utils/ThemeManager.d.ts +79 -0
  66. package/dist/utils/ThemeManager.d.ts.map +1 -0
  67. package/dist/webcomponent-BS5WnkDO.js +707 -0
  68. package/dist/webm-muxer-BGY-Mgbp.js +857 -0
  69. package/package.json +9 -2
@@ -0,0 +1,28 @@
1
+ import { Scene, SceneOptions } from '../core/Scene';
2
+ import { Voiceover, VoiceoverCallback, VoiceoverOptions, VoiceoverAudioOptions, VoiceoverTracker } from './Voiceover';
3
+ /** Options for a {@link VoiceoverScene}. */
4
+ export interface VoiceoverSceneOptions extends SceneOptions {
5
+ /** Default narration options (voice, rate, injected synthesizer, ...). */
6
+ voiceover?: VoiceoverOptions;
7
+ }
8
+ /** A pre-recorded voiceover on a scene; the scene supplies the scheduler. */
9
+ export type VoiceoverSceneAudioOptions = Omit<VoiceoverAudioOptions, 'audioManager'>;
10
+ /**
11
+ * A {@link Scene} that can narrate itself with synced animations.
12
+ */
13
+ export declare class VoiceoverScene extends Scene {
14
+ /** The narrator bound to this scene. */
15
+ readonly narrator: Voiceover;
16
+ constructor(container: HTMLElement | null, options?: VoiceoverSceneOptions);
17
+ /**
18
+ * Speak `text` (Web Speech) and run `callback` while it plays.
19
+ * Resolves after the narration finishes.
20
+ */
21
+ voiceover(text: string, callback?: VoiceoverCallback, options?: VoiceoverOptions): Promise<VoiceoverTracker>;
22
+ /**
23
+ * Play a pre-recorded narration clip through this scene's audio manager and
24
+ * run `callback` while it plays.
25
+ */
26
+ voiceoverAudio(options: VoiceoverSceneAudioOptions, callback?: VoiceoverCallback): Promise<VoiceoverTracker>;
27
+ }
28
+ //# sourceMappingURL=VoiceoverScene.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VoiceoverScene.d.ts","sourceRoot":"","sources":["../../src/audio/VoiceoverScene.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EACL,SAAS,EACT,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EACtB,MAAM,aAAa,CAAC;AAErB,4CAA4C;AAC5C,MAAM,WAAW,qBAAsB,SAAQ,YAAY;IACzD,0EAA0E;IAC1E,SAAS,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAED,6EAA6E;AAC7E,MAAM,MAAM,0BAA0B,GAAG,IAAI,CAAC,qBAAqB,EAAE,cAAc,CAAC,CAAC;AAErF;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,wCAAwC;IACxC,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;gBAEjB,SAAS,EAAE,WAAW,GAAG,IAAI,EAAE,OAAO,GAAE,qBAA0B;IAK9E;;;OAGG;IACG,SAAS,CACb,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,iBAAiB,EAC5B,OAAO,CAAC,EAAE,gBAAgB,GACzB,OAAO,CAAC,gBAAgB,CAAC;IAI5B;;;OAGG;IACG,cAAc,CAClB,OAAO,EAAE,0BAA0B,EACnC,QAAQ,CAAC,EAAE,iBAAiB,GAC3B,OAAO,CAAC,gBAAgB,CAAC;CAG7B"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Transcript bookmark parsing for voiceover narration.
3
+ *
4
+ * A narration string can carry inline markers that tie an animation beat to a
5
+ * spoken word, for example:
6
+ *
7
+ * ```text
8
+ * The derivative of <bookmark mark="eq"/> the function is its slope.
9
+ * ```
10
+ *
11
+ * `parseBookmarks` strips every marker out of the string and records where each
12
+ * marker sits in the clean (spoken) text. The spoken text is what the
13
+ * synthesizer receives; the recorded character index is what
14
+ * `VoiceoverTracker.waitForMark` compares boundary events against.
15
+ *
16
+ * The parser is pure and has no DOM or browser dependency, so it imports and
17
+ * runs in Node without any guard.
18
+ */
19
+ /** A single marker found in a narration string. */
20
+ export interface Bookmark {
21
+ /** The `mark` attribute value, e.g. `"eq"`. */
22
+ mark: string;
23
+ /** Character index into the clean (spoken) text where the marker sits. */
24
+ charIndex: number;
25
+ }
26
+ /** The result of stripping markers out of a narration string. */
27
+ export interface ParsedTranscript {
28
+ /** The spoken text with every `<bookmark .../>` marker removed. */
29
+ text: string;
30
+ /** Every marker found, in document order. */
31
+ bookmarks: Bookmark[];
32
+ }
33
+ /**
34
+ * Strip every bookmark marker out of a narration string.
35
+ *
36
+ * @param input - The raw narration string, possibly with markers.
37
+ * @returns The clean spoken text and the list of markers with their positions.
38
+ */
39
+ export declare function parseBookmarks(input: string): ParsedTranscript;
40
+ //# sourceMappingURL=bookmarks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bookmarks.d.ts","sourceRoot":"","sources":["../../src/audio/bookmarks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,mDAAmD;AACnD,MAAM,WAAW,QAAQ;IACvB,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,SAAS,EAAE,QAAQ,EAAE,CAAC;CACvB;AAWD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAmB9D"}
@@ -0,0 +1,95 @@
1
+ /**
2
+ * Speech synthesizer abstraction for voiceover narration.
3
+ *
4
+ * The browser speaks narration through the Web Speech API
5
+ * (`window.speechSynthesis` / `SpeechSynthesisUtterance`), entirely on-device
6
+ * with no external service. That API is wrapped behind the
7
+ * {@link SpeechSynthesizer} interface so that:
8
+ *
9
+ * - `Voiceover` depends on a small, testable surface, not on globals;
10
+ * - tests inject a fake synthesizer through {@link setSpeechSynthesizer}, so
11
+ * they never call real `speechSynthesis` (mirrors the `setTypstCompiler`
12
+ * dependency-injection seam in `TypstRenderer.ts`);
13
+ * - importing this module in Node or during SSR never throws. Every touch of
14
+ * `window` is guarded and happens inside a method, not at module load.
15
+ */
16
+ /** Playback options for one spoken utterance. */
17
+ export interface SpeechOptions {
18
+ /** Speaking rate multiplier (1 = normal). */
19
+ rate?: number;
20
+ /** Voice pitch multiplier (1 = normal). */
21
+ pitch?: number;
22
+ /** Output volume in the range [0, 1]. */
23
+ volume?: number;
24
+ /** BCP-47 language tag, e.g. `"en-US"`. */
25
+ lang?: string;
26
+ /** Name of a specific `SpeechSynthesisVoice` to use. */
27
+ voice?: string;
28
+ }
29
+ /**
30
+ * A word- or sentence-boundary event raised while an utterance is spoken.
31
+ * Fields mirror the Web Speech API `SpeechSynthesisEvent`.
32
+ */
33
+ export interface SpeechBoundaryInfo {
34
+ /** Boundary kind reported by the engine (`"word"` or `"sentence"`). */
35
+ name: string;
36
+ /** Character index into the spoken text the engine has reached. */
37
+ charIndex: number;
38
+ /** Length of the current chunk, when the engine reports it. */
39
+ charLength?: number;
40
+ /** Milliseconds elapsed since the utterance started. */
41
+ elapsedTime: number;
42
+ }
43
+ /**
44
+ * A handle to one in-flight utterance. The synthesizer returns it so the caller
45
+ * can subscribe to timing events and cancel playback.
46
+ */
47
+ export interface SpeechUtteranceHandle {
48
+ /** Register a listener for word / sentence boundary events. */
49
+ onBoundary(listener: (event: SpeechBoundaryInfo) => void): void;
50
+ /** Register a listener fired once when the utterance finishes. */
51
+ onEnd(listener: () => void): void;
52
+ /** Register a listener fired if the utterance fails. */
53
+ onError(listener: (message: string) => void): void;
54
+ /** Stop this utterance immediately. */
55
+ cancel(): void;
56
+ }
57
+ /** The dependency `Voiceover` speaks through. */
58
+ export interface SpeechSynthesizer {
59
+ /** Begin speaking `text`; returns a handle for timing and cancellation. */
60
+ speak(text: string, options?: SpeechOptions): SpeechUtteranceHandle;
61
+ /** Cancel every in-flight and queued utterance. */
62
+ cancel(): void;
63
+ /** Whether this synthesizer can actually speak in the current environment. */
64
+ isSupported(): boolean;
65
+ }
66
+ /**
67
+ * Whether the Web Speech synthesis API is available in this environment.
68
+ * Returns `false` in Node and during SSR, so callers degrade without throwing.
69
+ */
70
+ export declare function isSpeechSupported(): boolean;
71
+ /**
72
+ * The default synthesizer. Speaks through `window.speechSynthesis`.
73
+ *
74
+ * Construction never touches `window`. `speak` throws a clear error when the
75
+ * API is absent (Node / SSR), so a caller that reached this path without
76
+ * checking {@link isSpeechSupported} gets an actionable message.
77
+ */
78
+ export declare class WebSpeechSynthesizer implements SpeechSynthesizer {
79
+ isSupported(): boolean;
80
+ speak(text: string, options?: SpeechOptions): SpeechUtteranceHandle;
81
+ cancel(): void;
82
+ }
83
+ /**
84
+ * Inject a speech synthesizer, replacing the default Web Speech one.
85
+ *
86
+ * Pass a fake in tests so no real `speechSynthesis` call happens. Pass `null`
87
+ * to restore the default Web Speech synthesizer.
88
+ */
89
+ export declare function setSpeechSynthesizer(synthesizer: SpeechSynthesizer | null): void;
90
+ /**
91
+ * Resolve the active synthesizer: the injected one if present, otherwise the
92
+ * shared default Web Speech synthesizer.
93
+ */
94
+ export declare function getSpeechSynthesizer(): SpeechSynthesizer;
95
+ //# sourceMappingURL=speechSynthesizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"speechSynthesizer.d.ts","sourceRoot":"","sources":["../../src/audio/speechSynthesizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,iDAAiD;AACjD,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,SAAS,EAAE,MAAM,CAAC;IAClB,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,+DAA+D;IAC/D,UAAU,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,GAAG,IAAI,CAAC;IAChE,kEAAkE;IAClE,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAClC,wDAAwD;IACxD,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAAC;IACnD,uCAAuC;IACvC,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,iDAAiD;AACjD,MAAM,WAAW,iBAAiB;IAChC,2EAA2E;IAC3E,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,qBAAqB,CAAC;IACpE,mDAAmD;IACnD,MAAM,IAAI,IAAI,CAAC;IACf,8EAA8E;IAC9E,WAAW,IAAI,OAAO,CAAC;CACxB;AAMD;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAM3C;AAqED;;;;;;GAMG;AACH,qBAAa,oBAAqB,YAAW,iBAAiB;IAC5D,WAAW,IAAI,OAAO;IAItB,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,aAAkB,GAAG,qBAAqB;IAyBvE,MAAM,IAAI,IAAI;CAGf;AAYD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI,GAAG,IAAI,CAEhF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,iBAAiB,CAIxD"}
@@ -1,4 +1,5 @@
1
1
  import { Vector3Tuple, MobjectStyle, MobjectOptions, AxisOrOptions } from './MobjectTypes';
2
+ import { BlendMode } from '../rendering/blendModes';
2
3
  import { AnimateProxy } from './AnimateProxy';
3
4
  import * as THREE from 'three';
4
5
  /** @internal Called by AnimateProxy module to register the factory. */
@@ -34,6 +35,14 @@ export declare abstract class Mobject {
34
35
  protected _opacity: number;
35
36
  strokeWidth: number;
36
37
  fillOpacity: number;
38
+ /** Current blend mode for this mobject's own materials (default `normal`). */
39
+ protected _blendMode: BlendMode;
40
+ /**
41
+ * Whether a blend mode was ever set on this mobject. While false, the blend
42
+ * step in {@link _syncToThree} is skipped entirely, so unthemed/unblended
43
+ * mobjects never touch material blending state (keeps the default path exact).
44
+ */
45
+ protected _blendModeActive: boolean;
37
46
  /** When true, children skip the 2D z-layering offset in _syncToThree. */
38
47
  protected _disableChildZLayering: boolean;
39
48
  protected _style: MobjectStyle;
@@ -79,6 +88,28 @@ export declare abstract class Mobject {
79
88
  setStyle(style: Partial<MobjectStyle>): this;
80
89
  get submobjects(): Mobject[];
81
90
  setColor(color: string): this;
91
+ /**
92
+ * Set the blend mode for this mobject and its whole family.
93
+ *
94
+ * The mode flows through to every three.js material of this mobject and its
95
+ * submobjects on the next sync. The default is `'normal'` (standard alpha
96
+ * blending), which matches three.js's own default, so output is unchanged
97
+ * until a non-default mode is set.
98
+ *
99
+ * @param mode - One of `normal`, `additive`, `multiply`, `subtractive`, `screen`.
100
+ * @returns this for chaining.
101
+ */
102
+ setBlendMode(mode: BlendMode): this;
103
+ /** The current blend mode of this mobject. */
104
+ getBlendMode(): BlendMode;
105
+ /**
106
+ * Apply the current blend mode to this node's own three.js materials.
107
+ *
108
+ * Traverses this mobject's backing object but stops at any submobject's
109
+ * backing object, so each family member owns its own materials (a child with
110
+ * a different blend mode is not clobbered by its parent's traversal).
111
+ */
112
+ protected _applyBlendModeToThree(): void;
82
113
  setStrokeOpacity(opacity: number): this;
83
114
  setStrokeWidth(width: number): this;
84
115
  setFillOpacity(opacity: number): this;
@@ -1 +1 @@
1
- {"version":3,"file":"Mobject.d.ts","sourceRoot":"","sources":["../../src/core/Mobject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Mobject.d.ts","sourceRoot":"","sources":["../../src/core/Mobject.ts"],"names":[],"mappings":"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"}
@@ -470,6 +470,15 @@ export declare class Scene {
470
470
  * @returns Canvas height in pixels
471
471
  */
472
472
  getHeight(): number;
473
+ /**
474
+ * Get the scene background color, as a THREE.Color.
475
+ */
476
+ get backgroundColor(): THREE.Color;
477
+ /**
478
+ * Set the scene background color. Accepts a THREE.Color or a CSS color string.
479
+ * Used by {@link setTheme} to re-skin an existing scene.
480
+ */
481
+ set backgroundColor(color: THREE.Color | string);
473
482
  /**
474
483
  * Get the background opacity (0 = fully transparent, 1 = fully opaque).
475
484
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Scene.d.ts","sourceRoot":"","sources":["../../src/core/Scene.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Scene.d.ts","sourceRoot":"","sources":["../../src/core/Scene.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,86 @@
1
+ /**
2
+ * FrameExporter - in-browser PNG frame export for manim-web scenes.
3
+ *
4
+ * Captures the scene's WebGL canvas as PNG image data with no ffmpeg and no
5
+ * server round-trip. It uses `canvas.toBlob` when available and falls back to
6
+ * `canvas.toDataURL` so it also works where `toBlob` is missing.
7
+ *
8
+ * Two capture modes are provided:
9
+ * - `exportFramePNG` captures one frame (the current frame, or a seeked time).
10
+ * - `exportPNGSequence` seeks and captures one frame per timeline step, the
11
+ * same frame loop VideoExporter uses.
12
+ */
13
+ /**
14
+ * Duck-type interface for Scene, used to avoid a circular import.
15
+ * FrameExporter only needs canvas access, seek, and the timeline duration.
16
+ */
17
+ interface ExportableScene {
18
+ getCanvas(): HTMLCanvasElement;
19
+ getWidth(): number;
20
+ getHeight(): number;
21
+ seek(time: number): void;
22
+ getTimelineDuration(): number | null;
23
+ }
24
+ /** Options for a single-frame PNG capture. */
25
+ export interface FrameExportOptions {
26
+ /** Timeline time in seconds to seek to before capture. Omit for current frame. */
27
+ time?: number;
28
+ /** Image MIME type. Defaults to 'image/png'. */
29
+ type?: string;
30
+ /** Quality from 0-1 for lossy types such as 'image/jpeg'. Ignored for PNG. */
31
+ quality?: number;
32
+ }
33
+ /** Options for a PNG frame-sequence capture. */
34
+ export interface PNGSequenceOptions {
35
+ /** Frames per second to sample the timeline at. */
36
+ fps: number;
37
+ /** Start time in seconds. Defaults to 0. */
38
+ from?: number;
39
+ /** End time in seconds. Defaults to the timeline duration (or 5 if unknown). */
40
+ to?: number;
41
+ /** Image MIME type. Defaults to 'image/png'. */
42
+ type?: string;
43
+ /** Quality from 0-1 for lossy types. */
44
+ quality?: number;
45
+ /** Progress callback (0-1). */
46
+ onProgress?: (progress: number) => void;
47
+ }
48
+ /**
49
+ * Export a single frame as a PNG Blob.
50
+ *
51
+ * When `time` is given, the scene seeks to it (which renders the frame) before
52
+ * capture. Otherwise the current frame is captured as-is.
53
+ *
54
+ * @param scene - The scene to capture
55
+ * @param options - Capture options
56
+ * @returns A Promise that resolves to the frame Blob
57
+ */
58
+ export declare function exportFramePNG(scene: ExportableScene, options?: FrameExportOptions): Promise<Blob>;
59
+ /**
60
+ * Export a range of the timeline as a PNG frame sequence.
61
+ *
62
+ * The loop seeks to each frame time and captures the canvas, mirroring
63
+ * VideoExporter's frame loop. The result is one Blob per frame in order.
64
+ *
65
+ * @param scene - The scene to capture
66
+ * @param options - Sequence options (fps is required)
67
+ * @returns A Promise that resolves to the array of frame Blobs
68
+ */
69
+ export declare function exportPNGSequence(scene: ExportableScene, options: PNGSequenceOptions): Promise<Blob[]>;
70
+ /**
71
+ * Download a Blob as a file by clicking a temporary anchor element.
72
+ *
73
+ * @param blob - The blob to download
74
+ * @param filename - The target filename
75
+ */
76
+ export declare function downloadBlob(blob: Blob, filename: string): void;
77
+ /**
78
+ * Convenience helper: capture one PNG frame and download it.
79
+ *
80
+ * @param scene - The scene to capture
81
+ * @param filename - The target filename. Defaults to 'frame.png'.
82
+ * @param options - Capture options
83
+ */
84
+ export declare function exportAndDownloadPNG(scene: ExportableScene, filename?: string, options?: FrameExportOptions): Promise<void>;
85
+ export {};
86
+ //# sourceMappingURL=FrameExporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FrameExporter.d.ts","sourceRoot":"","sources":["../../src/export/FrameExporter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;GAGG;AACH,UAAU,eAAe;IACvB,SAAS,IAAI,iBAAiB,CAAC;IAC/B,QAAQ,IAAI,MAAM,CAAC;IACnB,SAAS,IAAI,MAAM,CAAC;IACpB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,8CAA8C;AAC9C,MAAM,WAAW,kBAAkB;IACjC,kFAAkF;IAClF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,gDAAgD;AAChD,MAAM,WAAW,kBAAkB;IACjC,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gFAAgF;IAChF,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+BAA+B;IAC/B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AA+CD;;;;;;;;;GASG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAMf;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,IAAI,EAAE,CAAC,CAoBjB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAS/D;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,eAAe,EACtB,QAAQ,GAAE,MAAoB,EAC9B,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAGf"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * WebCodecsExporter - deterministic, high-quality video export for manim-web.
3
+ *
4
+ * Unlike VideoExporter, which records the canvas in real time with
5
+ * `MediaRecorder`, this exporter drives the WebCodecs `VideoEncoder` frame by
6
+ * frame. Each frame is seeked, captured into a `VideoFrame`, encoded, and the
7
+ * encoded chunks are written to an MP4 or WebM container by a muxer. The result
8
+ * is frame-accurate and independent of the display refresh rate.
9
+ *
10
+ * The muxer libraries (`mp4-muxer` / `webm-muxer`) are LAZY-LOADED through a
11
+ * dynamic `import()`, so the base bundle stays light for callers that never
12
+ * export video. The import specifiers are literals so bundlers emit separate
13
+ * lazy chunks and static analysers still see the dependencies as used.
14
+ *
15
+ * When WebCodecs is unavailable, `isSupported()` returns false and `export()`
16
+ * throws a clear error that points the caller to VideoExporter (MediaRecorder).
17
+ */
18
+ /**
19
+ * Duck-type interface for Scene, used to avoid a circular import.
20
+ * WebCodecsExporter only needs canvas access, seek, and the timeline duration.
21
+ */
22
+ interface ExportableScene {
23
+ getCanvas(): HTMLCanvasElement;
24
+ getWidth(): number;
25
+ getHeight(): number;
26
+ seek(time: number): void;
27
+ getTimelineDuration(): number | null;
28
+ }
29
+ /** Video codec, shared by the encoder and the container track. */
30
+ export type WebCodecsVideoCodec = 'avc' | 'hevc' | 'vp9' | 'av1';
31
+ /** Options for configuring WebCodecs video export. */
32
+ export interface WebCodecsExportOptions {
33
+ /** Frames per second. Defaults to 60. */
34
+ fps?: number;
35
+ /** Container format. Defaults to 'mp4'. */
36
+ format?: 'mp4' | 'webm';
37
+ /** Video codec. Defaults to 'avc' for mp4 and 'vp9' for webm. */
38
+ codec?: WebCodecsVideoCodec;
39
+ /** Target bitrate in bits per second. Defaults to 5_000_000. */
40
+ bitrate?: number;
41
+ /** Output width in pixels. Defaults to scene width. */
42
+ width?: number;
43
+ /** Output height in pixels. Defaults to scene height. */
44
+ height?: number;
45
+ /** Duration in seconds. Auto-detects from the timeline if not specified. */
46
+ duration?: number;
47
+ /** Frames between key frames. Defaults to the frame rate (one per second). */
48
+ keyFrameInterval?: number;
49
+ /** Progress callback (0-1). */
50
+ onProgress?: (progress: number) => void;
51
+ }
52
+ interface ResolvedWebCodecsExportOptions {
53
+ fps: number;
54
+ format: 'mp4' | 'webm';
55
+ codec: WebCodecsVideoCodec;
56
+ bitrate: number;
57
+ width: number;
58
+ height: number;
59
+ duration: number;
60
+ keyFrameInterval: number;
61
+ onProgress: (progress: number) => void;
62
+ }
63
+ /**
64
+ * Deterministic WebCodecs-based video exporter for manim-web scenes.
65
+ */
66
+ export declare class WebCodecsExporter {
67
+ private _scene;
68
+ private _options;
69
+ /**
70
+ * Create a new WebCodecsExporter.
71
+ * @param scene - The scene to export
72
+ * @param options - Export options
73
+ */
74
+ constructor(scene: ExportableScene, options?: WebCodecsExportOptions);
75
+ /**
76
+ * Feature-detect WebCodecs. Returns true when `VideoEncoder` is available.
77
+ */
78
+ static isSupported(): boolean;
79
+ /**
80
+ * Export the scene to a video Blob.
81
+ *
82
+ * Seeks and captures one `VideoFrame` per timeline frame, encodes it with the
83
+ * WebCodecs `VideoEncoder`, and muxes the encoded chunks into the configured
84
+ * container.
85
+ *
86
+ * @returns A Promise that resolves to the video Blob
87
+ * @throws Error if WebCodecs is unavailable (use VideoExporter instead)
88
+ */
89
+ export(): Promise<Blob>;
90
+ /**
91
+ * Lazily import the muxer for the configured container and wrap it in a
92
+ * container-agnostic handle.
93
+ */
94
+ private _createMuxer;
95
+ /**
96
+ * Get the resolved export options.
97
+ */
98
+ getOptions(): Readonly<ResolvedWebCodecsExportOptions>;
99
+ }
100
+ /**
101
+ * Factory function to create a WebCodecsExporter.
102
+ * @param scene - The scene to export
103
+ * @param options - Export options
104
+ * @returns A new WebCodecsExporter instance
105
+ */
106
+ export declare function createWebCodecsExporter(scene: ExportableScene, options?: WebCodecsExportOptions): WebCodecsExporter;
107
+ export {};
108
+ //# sourceMappingURL=WebCodecsExporter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebCodecsExporter.d.ts","sourceRoot":"","sources":["../../src/export/WebCodecsExporter.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;GAGG;AACH,UAAU,eAAe;IACvB,SAAS,IAAI,iBAAiB,CAAC;IAC/B,QAAQ,IAAI,MAAM,CAAC;IACnB,SAAS,IAAI,MAAM,CAAC;IACpB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAAC;CACtC;AAED,kEAAkE;AAClE,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAEjE,sDAAsD;AACtD,MAAM,WAAW,sBAAsB;IACrC,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IACxB,iEAAiE;IACjE,KAAK,CAAC,EAAE,mBAAmB,CAAC;IAC5B,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,+BAA+B;IAC/B,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AAED,UAAU,8BAA8B;IACtC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,KAAK,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAyBD;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAkB;IAChC,OAAO,CAAC,QAAQ,CAAiC;IAEjD;;;;OAIG;gBACS,KAAK,EAAE,eAAe,EAAE,OAAO,CAAC,EAAE,sBAAsB;IAiBpE;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,OAAO;IAI7B;;;;;;;;;OASG;IACG,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAwD7B;;;OAGG;YACW,YAAY;IAsC1B;;OAEG;IACH,UAAU,IAAI,QAAQ,CAAC,8BAA8B,CAAC;CAGvD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,eAAe,EACtB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,iBAAiB,CAEnB"}
@@ -1,3 +1,5 @@
1
1
  export { GifExporter, createGifExporter, type GifExportOptions } from './GifExporter';
2
2
  export { VideoExporter, createVideoExporter, type VideoExportOptions } from './VideoExporter';
3
+ export { exportFramePNG, exportPNGSequence, downloadBlob, exportAndDownloadPNG, type FrameExportOptions, type PNGSequenceOptions, } from './FrameExporter';
4
+ export { WebCodecsExporter, createWebCodecsExporter, type WebCodecsExportOptions, type WebCodecsVideoCodec, } from './WebCodecsExporter';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/export/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/export/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAG9F,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,EACpB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,GACzB,MAAM,qBAAqB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -19,6 +19,10 @@ export { MovingCameraScene, type MovingCameraSceneOptions } from './core/MovingC
19
19
  export { VectorScene, type VectorSceneOptions } from './core/VectorScene';
20
20
  export { LinearTransformationScene, type LinearTransformationSceneOptions, type Matrix2D, } from './core/LinearTransformationScene';
21
21
  export { AudioManager, type AudioTrack, type AddSoundOptions } from './core/AudioManager';
22
+ export { Voiceover, type VoiceoverOptions, type VoiceoverCallback, type VoiceoverTracker, type VoiceoverAudioOptions, type VoiceoverAudioScheduler, } from './audio/Voiceover';
23
+ export { VoiceoverScene, type VoiceoverSceneOptions, type VoiceoverSceneAudioOptions, } from './audio/VoiceoverScene';
24
+ export { setSpeechSynthesizer, getSpeechSynthesizer, isSpeechSupported, WebSpeechSynthesizer, type SpeechSynthesizer, type SpeechUtteranceHandle, type SpeechOptions, type SpeechBoundaryInfo, } from './audio/speechSynthesizer';
25
+ export { parseBookmarks, type Bookmark, type ParsedTranscript } from './audio/bookmarks';
22
26
  export { Renderer, type RendererOptions, type IRenderer } from './core/Renderer';
23
27
  export { NullRenderer } from './core/NullRenderer';
24
28
  export { SceneStateManager, serializeMobject, deserializeMobject, saveMobjectState, restoreMobjectState, stateToJSON, stateFromJSON, snapshotToJSON, snapshotFromJSON, type MobjectState, type SceneSnapshot, } from './core/StateManager';
@@ -32,13 +36,15 @@ export { NumberLine, type NumberLineOptions, UnitInterval, type UnitIntervalOpti
32
36
  export { type CoordinateSystem, ScaleBase, LinearBase, LogBase, type GetCustomLabelsOptions, } from './mobjects/graphing';
33
37
  export { Text, type TextOptions, Paragraph, type ParagraphOptions, MarkupText, type MarkupTextOptions, MathTex, type MathTexOptions, MathTexSVG, type MathTexSVGOptions, MathTexImage, type MathTexImageOptions, type TexRenderer, Tex, type TexOptions, ensureKatexStyles, areKatexStylesLoaded, setKatexStylesheetUrl, renderLatexToSVG, preloadMathJax, isMathJaxLoaded, katexCanRender, setMathJaxScriptUrl, type MathJaxRenderOptions, type MathJaxRenderResult, parseSVGPathData, svgToVMobjects, type SVGToVMobjectOptions, DecimalNumber, Integer, type DecimalNumberOptions, Variable, type VariableOptions, GlyphVMobject, type GlyphVMobjectOptions, TextGlyphGroup, type TextGlyphGroupOptions, Code, type CodeOptions, type CodeColorScheme, type Token, type TokenType, DEFAULT_COLOR_SCHEME, MONOKAI_COLOR_SCHEME, SingleStringMathTex, type SingleStringMathTexOptions, MathTexPart, type MathTexPartOptions, BulletedList, Title, MarkdownText, type BulletedListOptions, type TitleOptions, type MarkdownTextOptions, type StyledTextSegment, type TextStyleMaps, type TextStyleRun, buildStyledTextLines, Typst, MathTypst, type TypstOptions, type MathTypstOptions, renderTypstToSVG, preloadTypst, isTypstLoaded, setTypstCompiler, type TypstRenderOptions, type TypstRenderResult, type TypstSvgCompiler, } from './mobjects/text';
34
38
  export { Mobject3D, Sphere, type SphereOptions, Cube, Box3D, type CubeOptions, type Box3DOptions, Cylinder, Cone, type CylinderOptions, type ConeOptions, Torus, type TorusOptions, Line3D, type Line3DOptions, Arrow3D, Vector3D, type Arrow3DOptions, Surface3D, Surface3D as Surface, type Surface3DOptions, ParametricSurface, SurfacePresets, type ParametricSurfaceOptions, TexturedSurface, texturedSphere, type TexturedSurfaceOptions, type TexturedSphereOptions, ThreeDAxes, type ThreeDAxesOptions, Polyhedron, Tetrahedron, Octahedron, Icosahedron, Dodecahedron, type PolyhedronOptions, type TetrahedronOptions, type OctahedronOptions, type IcosahedronOptions, type DodecahedronOptions, Prism, Dot3D, ThreeDVMobject, type PrismOptions, type Dot3DOptions, type ThreeDVMobjectOptions, ConvexHull3D, type ConvexHull3DOptions, } from './mobjects/three-d';
39
+ export { ModelMobject, setModelLoaderFactory, detectModelFormat, type ModelMobjectOptions, type ModelFormat, type ModelUpAxis, type ModelLoader, type ModelLoaderFactory, } from './mobjects/three-d/ModelMobject';
35
40
  export { ValueTracker, valueTracker, ComplexValueTracker, complexValueTracker, type ValueTrackerOptions, type ComplexValueTrackerOptions, type Complex, } from './mobjects/value-tracker';
36
41
  export { Matrix, IntegerMatrix, DecimalMatrix, MobjectMatrix, type MatrixOptions, type IntegerMatrixOptions, type DecimalMatrixOptions, type MobjectMatrixOptions, type BracketType, type ElementAlignment, getDetText, matrixToMobject, matrixToTexString, type GetDetTextOptions, } from './mobjects/matrix';
37
42
  export { ManimBanner, type ManimBannerOptions } from './mobjects/logo';
38
43
  export { Table, MathTable, MobjectTable, IntegerTable, DecimalTable, type TableOptions, type MathTableOptions, type MobjectTableOptions, type IntegerTableOptions, type DecimalTableOptions, } from './mobjects/table';
39
- export { Brace, BraceBetweenPoints, ArcBrace, BraceLabel, BraceText, type BraceOptions, type BraceBetweenPointsOptions, type ArcBraceOptions, type BraceLabelOptions, SVGMobject, svgMobject, VMobjectFromSVGPath, type SVGMobjectOptions, type VMobjectFromSVGPathOptions, } from './mobjects/svg';
44
+ export { Brace, BraceBetweenPoints, ArcBrace, BraceLabel, BraceText, type BraceOptions, type BraceBetweenPointsOptions, type ArcBraceOptions, type BraceLabelOptions, SVGMobject, svgMobject, VMobjectFromSVGPath, type SVGMobjectOptions, type VMobjectFromSVGPathOptions, type SVGMobjectFromUrlOptions, GradientVMobject, type GradientVMobjectOptions, type SvgGradient, type SvgGradientStop, type SvgGradientType, type SvgFetcher, type SvgFetchResponse, } from './mobjects/svg';
40
45
  export { GenericGraph, Graph, DiGraph, type VertexId, type EdgeTuple, type LayoutType, type VertexStyleOptions, type EdgeStyleOptions, type VertexConfig, type EdgeConfig, type LayoutConfig, type GenericGraphOptions, type DiGraphOptions, computeLayout, computeCircularLayout, completeGraph, cycleGraph, pathGraph, starGraph, binaryTree, gridGraph, bipartiteGraph, } from './mobjects/graph';
41
46
  export { ImageMobject, type ImageMobjectOptions, type ImageFilterOptions } from './mobjects/image';
47
+ export { VideoMobject, type VideoMobjectOptions } from './mobjects/video';
42
48
  export { ScreenRectangle, type ScreenRectangleOptions, FullScreenRectangle, type FullScreenRectangleOptions, FullScreenFadeRectangle, type FullScreenFadeRectangleOptions, createFadeToBlack, createFadeToWhite, DEFAULT_ASPECT_RATIO, } from './mobjects/frame';
43
49
  export { PMobject, PGroup, PointMobject, PointCloudDot, type PMobjectOptions, type PGroupOptions, type PointMobjectOptions, type PointCloudDotOptions, type PointData, Mobject1D, type Mobject1DOptions, Mobject2D, type Mobject2DOptions, type Distribution2D, } from './mobjects/point';
44
50
  export { MandelbrotSet, type MandelbrotSetOptions, NewtonFractal, type NewtonFractalOptions, } from './mobjects/fractals';
@@ -87,7 +93,9 @@ export { Controls, type ControlsOptions, type ControlsPosition, type ControlsThe
87
93
  export { Draggable, makeDraggable, type DraggableOptions, Hoverable, makeHoverable, type HoverableOptions, Clickable, makeClickable, type ClickableOptions, } from './interaction';
88
94
  export { SelectionManager, type SelectionManagerOptions } from './interaction';
89
95
  export { OrbitControls, type OrbitControlsOptions } from './interaction';
96
+ export { MovablePoint, makeMovablePoint, type MovablePointOptions, Slider, makeSlider, type SliderOptions, } from './interaction';
90
97
  export { GifExporter, createGifExporter, type GifExportOptions, VideoExporter, createVideoExporter, type VideoExportOptions, } from './export';
98
+ export { exportFramePNG, exportPNGSequence, downloadBlob, exportAndDownloadPNG, type FrameExportOptions, type PNGSequenceOptions, WebCodecsExporter, createWebCodecsExporter, type WebCodecsExportOptions, type WebCodecsVideoCodec, } from './export';
91
99
  export { scaleVec, addVec, subVec, linspace, dotVec, crossVec, lengthVec, normalizeVec, unitPerpendicularTo, orthonormalFrame, orientation2D, } from './utils/vectors';
92
100
  export { Player, type PlayerOptions } from './player';
93
101
  export { PlayerUI, type PlayerUIOptions, type PlayerUICallbacks } from './player';
@@ -109,4 +117,7 @@ export { assertIsMobjectMethod } from './animation/Always';
109
117
  export { overrideAnimate } from './animation/AnimationUtilities';
110
118
  export { registerFont, type FontSource } from './mobjects/text/registerFont';
111
119
  export { ArcPolygonFromArcs } from './mobjects/geometry';
120
+ export { ManimSceneElement, registerManimElement, manimElementInternals, type ManimSceneFactory, type ManimSceneInstance, } from './integrations/webcomponent';
121
+ export { type BlendMode, BLEND_MODES, blendModeToThree, applyBlendMode, } from './rendering/blendModes';
122
+ export { registerTheme, setTheme, getTheme, getActiveTheme, getThemeNames, resetThemes, type Theme, type ActiveTheme, type SetThemeOptions, type ReskinnableMobject, type ReskinnableScene, } from './utils/ThemeManager';
112
123
  //# sourceMappingURL=index.d.ts.map