presenter 0.9.3 → 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.
- package/dist/3d/index.d.ts +17 -0
- package/dist/3d/objects/ThreeBox.d.ts +9 -0
- package/dist/3d/objects/ThreeCameraType.d.ts +5 -0
- package/dist/3d/objects/ThreeMesh.d.ts +30 -0
- package/dist/3d/objects/ThreeModel.d.ts +18 -0
- package/dist/3d/objects/ThreeModelMaterial.d.ts +11 -0
- package/dist/3d/objects/ThreeModelNode.d.ts +24 -0
- package/dist/3d/objects/ThreeModelTarget.d.ts +9 -0
- package/dist/3d/objects/ThreeObjectType.d.ts +10 -0
- package/dist/3d/objects/ThreePresenterGroup.d.ts +13 -0
- package/dist/3d/objects/ThreeScene.d.ts +39 -0
- package/dist/3d/objects/ThreeSphere.d.ts +9 -0
- package/dist/3d/renderers/getThreeObjectRenderers.d.ts +6 -0
- package/dist/3d/renderers/renderThreeSceneFallback.d.ts +3 -0
- package/dist/3d/renderers/renderThreeScenePowerPointFallback.d.ts +3 -0
- package/dist/3d/renderers/threeFallbackRenderers.d.ts +5 -0
- package/dist/3d/types/ThreeModules.d.ts +10 -0
- package/dist/3d/utils/colorToThreeHex.d.ts +2 -0
- package/dist/3d/utils/inspectThreeModel.d.ts +4 -0
- package/dist/3d/utils/installThreeSceneCaptureApi.d.ts +21 -0
- package/dist/3d/utils/loadThreeModules.d.ts +2 -0
- package/dist/3d/utils/modelCache.d.ts +6 -0
- package/dist/3d/utils/modelInspection.d.ts +23 -0
- package/dist/3d/utils/modelInspection.test.d.ts +1 -0
- package/dist/3d/utils/modelPaths.d.ts +14 -0
- package/dist/3d/utils/modelPaths.test.d.ts +1 -0
- package/dist/3d.js +2 -0
- package/dist/3d.js.map +1 -0
- package/dist/3d.mjs +1055 -0
- package/dist/3d.mjs.map +1 -0
- package/dist/export/browser-image-renderer/BrowserImageRenderer.d.ts +7 -0
- package/dist/export/browser-image-renderer/types/BrowserImageRendererProps.d.ts +36 -0
- package/dist/export/browser.d.ts +2 -0
- package/dist/export/image-renderer/ImageRenderer.d.ts +1 -1
- package/dist/export/index.d.ts +2 -0
- package/dist/export/utils/getImageExportFrames.d.ts +14 -0
- package/dist/export/utils/getImageExportFrames.test.d.ts +1 -0
- package/dist/export-browser.js +6 -0
- package/dist/export-browser.js.map +1 -0
- package/dist/export-browser.mjs +2231 -0
- package/dist/export-browser.mjs.map +1 -0
- package/dist/export.js +74 -72
- package/dist/export.js.map +1 -1
- package/dist/export.mjs +5443 -4333
- package/dist/export.mjs.map +1 -1
- package/dist/objects/Image.d.ts +2 -1
- package/dist/presenter.js +5 -5
- package/dist/presenter.js.map +1 -1
- package/dist/presenter.mjs +1820 -1794
- package/dist/presenter.mjs.map +1 -1
- package/dist/renderer/browser-canvas/types/BrowserCanvasObjectRenderer.d.ts +8 -1
- package/dist/renderer/browser-canvas/utils/text/getTextLayout.d.ts +4 -11
- package/dist/renderer/browser-canvas/utils/text/getTextUnitMeasurements.d.ts +9 -0
- package/dist/utils/presentation/getImagePathUrlById.d.ts +2 -0
- package/dist/utils/presentation/getObjectChildren.d.ts +1 -1
- package/package.json +23 -3
|
@@ -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
|
-
|
|
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;
|
|
@@ -1,18 +1,11 @@
|
|
|
1
1
|
import { Size } from '../../../../types/Size';
|
|
2
2
|
import { TextUnitMeasurement } from './getTextUnitMeasurements';
|
|
3
|
-
export interface TextLineLayout extends Size {
|
|
4
|
-
readonly baselineY: number;
|
|
5
|
-
readonly bottom: number;
|
|
6
|
-
readonly lineAdvance: number;
|
|
7
|
-
readonly top: number;
|
|
8
|
-
}
|
|
9
|
-
export interface TextLayout {
|
|
10
|
-
readonly lines: readonly TextLineLayout[];
|
|
11
|
-
readonly size: Size;
|
|
12
|
-
}
|
|
13
3
|
/**
|
|
14
4
|
* Computes text block bounds and per-line baseline positions.
|
|
15
5
|
*
|
|
16
6
|
* Accepts as input per-line measurements for each text unit, plus a desired line spacing.
|
|
17
7
|
*/
|
|
18
|
-
export declare function getTextLayout(lineMeasurements: readonly (readonly TextUnitMeasurement[])[], lineSpacing?: number):
|
|
8
|
+
export declare function getTextLayout(lineMeasurements: readonly (readonly TextUnitMeasurement[])[], lineSpacing?: number): {
|
|
9
|
+
baselines: number[];
|
|
10
|
+
size: Size;
|
|
11
|
+
};
|
|
@@ -2,10 +2,19 @@ import { Size } from '../../../../types/Size';
|
|
|
2
2
|
import { TextStyle } from '../../../../types/TextStyle';
|
|
3
3
|
import { TextUnit } from '../../../../types/TextUnit';
|
|
4
4
|
import { UnifiedCanvasContext } from '../../types/UnifiedCanvasContext';
|
|
5
|
+
/**
|
|
6
|
+
* Font measurements for one styled text unit, in canvas pixels.
|
|
7
|
+
*
|
|
8
|
+
* The inherited `width` is the horizontal advance, while `height` is `top + bottom`.
|
|
9
|
+
*/
|
|
5
10
|
export interface TextUnitMeasurement extends Size {
|
|
11
|
+
/** Offset added to the line baseline when drawing; negative values move text upward. */
|
|
6
12
|
readonly baselineShift: number;
|
|
13
|
+
/** Distance from the line baseline to the bottom of the font bounds. */
|
|
7
14
|
readonly bottom: number;
|
|
15
|
+
/** Font size used to calculate the line box height. */
|
|
8
16
|
readonly lineAdvance: number;
|
|
17
|
+
/** Distance from the line baseline to the top of the font bounds. */
|
|
9
18
|
readonly top: number;
|
|
10
19
|
}
|
|
11
20
|
export declare function getTextUnitMeasurements(textUnits: TextUnit[][], style: TextStyle, ctx: UnifiedCanvasContext): TextUnitMeasurement[][];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { SlideObject } from '../../types/SlideObject';
|
|
2
2
|
/**
|
|
3
|
-
* Returns the children of a SlideObject if they exist
|
|
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.
|
|
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,10 +79,11 @@
|
|
|
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",
|
|
66
|
-
"vite": "^6.
|
|
86
|
+
"vite": "^6.4.3",
|
|
67
87
|
"vite-plugin-dts": "^4.5.4"
|
|
68
88
|
},
|
|
69
89
|
"lint-staged": {
|