presenter 0.9.4 → 0.10.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 (54) hide show
  1. package/dist/3d/index.d.ts +17 -0
  2. package/dist/3d/objects/ThreeBox.d.ts +9 -0
  3. package/dist/3d/objects/ThreeCameraType.d.ts +5 -0
  4. package/dist/3d/objects/ThreeMesh.d.ts +30 -0
  5. package/dist/3d/objects/ThreeModel.d.ts +18 -0
  6. package/dist/3d/objects/ThreeModelMaterial.d.ts +11 -0
  7. package/dist/3d/objects/ThreeModelNode.d.ts +24 -0
  8. package/dist/3d/objects/ThreeModelTarget.d.ts +9 -0
  9. package/dist/3d/objects/ThreeObjectType.d.ts +10 -0
  10. package/dist/3d/objects/ThreePresenterGroup.d.ts +13 -0
  11. package/dist/3d/objects/ThreeScene.d.ts +39 -0
  12. package/dist/3d/objects/ThreeSphere.d.ts +9 -0
  13. package/dist/3d/renderers/getThreeObjectRenderers.d.ts +6 -0
  14. package/dist/3d/renderers/renderThreeSceneFallback.d.ts +3 -0
  15. package/dist/3d/renderers/renderThreeScenePowerPointFallback.d.ts +3 -0
  16. package/dist/3d/renderers/threeFallbackRenderers.d.ts +5 -0
  17. package/dist/3d/types/ThreeModules.d.ts +10 -0
  18. package/dist/3d/utils/colorToThreeHex.d.ts +2 -0
  19. package/dist/3d/utils/inspectThreeModel.d.ts +4 -0
  20. package/dist/3d/utils/installThreeSceneCaptureApi.d.ts +21 -0
  21. package/dist/3d/utils/loadThreeModules.d.ts +2 -0
  22. package/dist/3d/utils/modelCache.d.ts +6 -0
  23. package/dist/3d/utils/modelInspection.d.ts +23 -0
  24. package/dist/3d/utils/modelInspection.test.d.ts +1 -0
  25. package/dist/3d/utils/modelPaths.d.ts +14 -0
  26. package/dist/3d/utils/modelPaths.test.d.ts +1 -0
  27. package/dist/3d.js +2 -0
  28. package/dist/3d.js.map +1 -0
  29. package/dist/3d.mjs +1055 -0
  30. package/dist/3d.mjs.map +1 -0
  31. package/dist/export/browser-image-renderer/BrowserImageRenderer.d.ts +7 -0
  32. package/dist/export/browser-image-renderer/types/BrowserImageRendererProps.d.ts +36 -0
  33. package/dist/export/browser.d.ts +2 -0
  34. package/dist/export/image-renderer/ImageRenderer.d.ts +1 -1
  35. package/dist/export/index.d.ts +2 -0
  36. package/dist/export/utils/getImageExportFrames.d.ts +14 -0
  37. package/dist/export/utils/getImageExportFrames.test.d.ts +1 -0
  38. package/dist/export-browser.js +6 -0
  39. package/dist/export-browser.js.map +1 -0
  40. package/dist/export-browser.mjs +2231 -0
  41. package/dist/export-browser.mjs.map +1 -0
  42. package/dist/export.js +74 -72
  43. package/dist/export.js.map +1 -1
  44. package/dist/export.mjs +5441 -4325
  45. package/dist/export.mjs.map +1 -1
  46. package/dist/objects/Image.d.ts +2 -1
  47. package/dist/presenter.js +5 -5
  48. package/dist/presenter.js.map +1 -1
  49. package/dist/presenter.mjs +1236 -1203
  50. package/dist/presenter.mjs.map +1 -1
  51. package/dist/renderer/browser-canvas/types/BrowserCanvasObjectRenderer.d.ts +8 -1
  52. package/dist/utils/presentation/getImagePathUrlById.d.ts +2 -0
  53. package/dist/utils/presentation/getObjectChildren.d.ts +1 -1
  54. package/package.json +22 -2
@@ -6,11 +6,18 @@ import { UnifiedPath2D } from './UnifiedPath2D';
6
6
  export interface BrowserCanvasObjectRendererArgs<T extends SlideObject> {
7
7
  readonly ctx: UnifiedCanvasContext;
8
8
  readonly object: T;
9
+ /** Stable object reference before animations are applied, needed for 3D animation */
10
+ readonly originalObject: SlideObject;
9
11
  readonly opacity: number;
10
12
  readonly renderScale: number;
11
13
  readonly slideSize: Size;
12
14
  readonly imageById: Record<string, UnifiedImage>;
13
15
  readonly createPath2D: (path?: string) => UnifiedPath2D;
14
- readonly renderObject: (object: SlideObject, overallOpacity: number) => void;
16
+ /**
17
+ * Returns the current animated state for an original slide object reference.
18
+ * Needed for ThreeScene to access animated state of child meshes.
19
+ */
20
+ readonly getCurrentObject: <TObject extends SlideObject>(object: TObject) => TObject | undefined;
21
+ readonly renderObject: (object: SlideObject, overallOpacity: number, ctx?: UnifiedCanvasContext) => void;
15
22
  }
16
23
  export type BrowserCanvasObjectRenderer<T extends SlideObject> = (args: BrowserCanvasObjectRendererArgs<T>) => void;
@@ -0,0 +1,2 @@
1
+ import { Presentation } from '../../types/Presentation';
2
+ export declare function getImagePathUrlById(presentation: Presentation): Record<string, string>;
@@ -1,5 +1,5 @@
1
1
  import { SlideObject } from '../../types/SlideObject';
2
2
  /**
3
- * Returns the children of a SlideObject if they exist by checking for an "objects" property.
3
+ * Returns the children of a SlideObject if they exist.
4
4
  */
5
5
  export declare function getObjectChildren(object: SlideObject): SlideObject[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "presenter",
3
- "version": "0.9.4",
3
+ "version": "0.10.0",
4
4
  "description": "A JavaScript presentation library",
5
5
  "main": "dist/presenter.js",
6
6
  "types": "dist/index.d.ts",
@@ -14,13 +14,23 @@
14
14
  "types": "./dist/export/index.d.ts",
15
15
  "import": "./dist/export.mjs",
16
16
  "require": "./dist/export.js"
17
+ },
18
+ "./export/browser": {
19
+ "types": "./dist/export/browser.d.ts",
20
+ "import": "./dist/export-browser.mjs",
21
+ "require": "./dist/export-browser.js"
22
+ },
23
+ "./3d": {
24
+ "types": "./dist/3d/index.d.ts",
25
+ "import": "./dist/3d.mjs",
26
+ "require": "./dist/3d.js"
17
27
  }
18
28
  },
19
29
  "files": [
20
30
  "./dist/"
21
31
  ],
22
32
  "scripts": {
23
- "build": "vite build && vite build --config vite.config.export.ts",
33
+ "build": "vite build && vite build --config vite.config.export.ts && vite build --config vite.config.browser-export.ts && vite build --config vite.config.3d.ts",
24
34
  "bump-version": "sh scripts/bump-version.sh",
25
35
  "watch": "vite build --watch",
26
36
  "prettier": "prettier . --write --ignore-unknown",
@@ -45,12 +55,21 @@
45
55
  "skia-canvas": "^3.0.8",
46
56
  "svg-path-properties": "^2.0.0"
47
57
  },
58
+ "peerDependencies": {
59
+ "three": "^0.185.1"
60
+ },
61
+ "peerDependenciesMeta": {
62
+ "three": {
63
+ "optional": true
64
+ }
65
+ },
48
66
  "devDependencies": {
49
67
  "@eslint/js": "^9.35.0",
50
68
  "@types/d3-ease": "^3.0.2",
51
69
  "@types/flubber": "^0.4.0",
52
70
  "@types/jest": "^30.0.0",
53
71
  "@types/node": "^25.5.2",
72
+ "@types/three": "^0.185.0",
54
73
  "ajv": "^8.18.0",
55
74
  "eslint": "^9.35.0",
56
75
  "eslint-plugin-simple-import-sort": "^12.1.1",
@@ -60,6 +79,7 @@
60
79
  "jest-environment-jsdom": "^30.3.0",
61
80
  "jiti": "^2.6.1",
62
81
  "prettier": "^3.6.2",
82
+ "three": "^0.185.1",
63
83
  "ts-jest": "^29.4.9",
64
84
  "typescript": "^6.0.2",
65
85
  "typescript-eslint": "^8.58.0",