@objectifthunes/three-book 0.4.0 → 0.4.2

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 (50) hide show
  1. package/dist/AutoTurn.d.ts +2 -10
  2. package/dist/AutoTurn.d.ts.map +1 -1
  3. package/dist/Book.d.ts +34 -14
  4. package/dist/Book.d.ts.map +1 -1
  5. package/dist/BookBinding.d.ts +7 -2
  6. package/dist/BookBinding.d.ts.map +1 -1
  7. package/dist/BookContent.d.ts +4 -0
  8. package/dist/BookContent.d.ts.map +1 -1
  9. package/dist/Cylinder.d.ts +25 -1
  10. package/dist/Cylinder.d.ts.map +1 -1
  11. package/dist/PageContent.d.ts +2 -7
  12. package/dist/PageContent.d.ts.map +1 -1
  13. package/dist/Paper.d.ts +37 -51
  14. package/dist/Paper.d.ts.map +1 -1
  15. package/dist/PaperMaterialData.d.ts +6 -1
  16. package/dist/PaperMaterialData.d.ts.map +1 -1
  17. package/dist/PaperMeshData.d.ts +0 -6
  18. package/dist/PaperMeshData.d.ts.map +1 -1
  19. package/dist/PaperMeshUtility.d.ts +0 -16
  20. package/dist/PaperMeshUtility.d.ts.map +1 -1
  21. package/dist/PaperNode.d.ts +0 -1
  22. package/dist/PaperNode.d.ts.map +1 -1
  23. package/dist/Renderer.d.ts +6 -9
  24. package/dist/Renderer.d.ts.map +1 -1
  25. package/dist/SpreadContent.d.ts.map +1 -1
  26. package/dist/StapleBinding.d.ts +12 -57
  27. package/dist/StapleBinding.d.ts.map +1 -1
  28. package/dist/TextOverlayContent.d.ts.map +1 -1
  29. package/dist/index.d.ts +1 -0
  30. package/dist/index.d.ts.map +1 -1
  31. package/dist/index.js +972 -1024
  32. package/dist/mathUtils.d.ts +18 -0
  33. package/dist/mathUtils.d.ts.map +1 -0
  34. package/dist/textContentUtils.d.ts +26 -0
  35. package/dist/textContentUtils.d.ts.map +1 -0
  36. package/dist/types.d.ts +57 -0
  37. package/dist/types.d.ts.map +1 -0
  38. package/dist/utils/EllipseUtility.d.ts +4 -3
  39. package/dist/utils/EllipseUtility.d.ts.map +1 -1
  40. package/dist/utils/LoopUtility.d.ts +0 -5
  41. package/dist/utils/LoopUtility.d.ts.map +1 -1
  42. package/dist/utils/MatrixUtility.d.ts +2 -1
  43. package/dist/utils/MatrixUtility.d.ts.map +1 -1
  44. package/dist/utils/TextureUtility.d.ts +4 -5
  45. package/dist/utils/TextureUtility.d.ts.map +1 -1
  46. package/dist/utils/VectorUtility.d.ts +5 -15
  47. package/dist/utils/VectorUtility.d.ts.map +1 -1
  48. package/package.json +1 -1
  49. package/dist/utils/index.d.ts +0 -8
  50. package/dist/utils/index.d.ts.map +0 -1
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Shared math utilities extracted from Paper.ts, StapleBinding.ts,
3
+ * AutoTurn.ts, and PaperMeshUtility.ts to eliminate duplication.
4
+ *
5
+ * This file has NO imports from implementation files to avoid circular deps.
6
+ */
7
+ export declare const DEG2RAD: number;
8
+ export declare const RAD2DEG: number;
9
+ export declare function clamp(value: number, min: number, max: number): number;
10
+ export declare function clamp01(value: number): number;
11
+ /** Linear interpolation with `t` clamped to [0, 1]. */
12
+ export declare function lerp(a: number, b: number, t: number): number;
13
+ /** Linear interpolation without clamping `t`. */
14
+ export declare function lerpUnclamped(a: number, b: number, t: number): number;
15
+ export declare function inverseLerp(a: number, b: number, value: number): number;
16
+ /** Unity's exact SmoothStep: clamp01((t-from)/(to-from)); t*t*(3-2*t) */
17
+ export declare function smoothStep(from: number, to: number, t: number): number;
18
+ //# sourceMappingURL=mathUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mathUtils.d.ts","sourceRoot":"","sources":["../src/mathUtils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,OAAO,QAAgB,CAAC;AACrC,eAAO,MAAM,OAAO,QAAgB,CAAC;AAErC,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,uDAAuD;AACvD,wBAAgB,IAAI,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAG5D;AAED,iDAAiD;AACjD,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAErE;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGvE;AAED,yEAAyE;AACzE,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGtE"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Shared utilities for canvas-based page content classes
3
+ * (TextOverlayContent, SpreadContent).
4
+ */
5
+ import * as THREE from 'three';
6
+ import type { TextBlock } from './TextBlock';
7
+ import type { TextBlockOptions } from './TextBlock';
8
+ export type MappedMaterial = THREE.Material & {
9
+ map: THREE.Texture;
10
+ };
11
+ export declare function hasMaterialMap(mat: THREE.Material): mat is MappedMaterial;
12
+ /**
13
+ * Traverse `root` and set `needsUpdate = true` on every material map whose
14
+ * source image matches the given canvas.
15
+ *
16
+ * This compensates for three-book's Renderer cloning textures on first
17
+ * assignment — cloned textures share the same `image` reference but won't
18
+ * pick up the `needsUpdate` flag from the original CanvasTexture.
19
+ */
20
+ export declare function syncMaterialsForCanvas(root: THREE.Object3D, canvas: HTMLCanvasElement): void;
21
+ /**
22
+ * Apply a partial set of TextBlockOptions onto an existing TextBlock.
23
+ * Only provided (non-undefined) fields are written.
24
+ */
25
+ export declare function applyTextBlockOptions(block: TextBlock, options: Partial<TextBlockOptions>): void;
26
+ //# sourceMappingURL=textContentUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textContentUtils.d.ts","sourceRoot":"","sources":["../src/textContentUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAIpD,MAAM,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,GAAG;IAAE,GAAG,EAAE,KAAK,CAAC,OAAO,CAAA;CAAE,CAAC;AAErE,wBAAgB,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,GAAG,GAAG,IAAI,cAAc,CAEzE;AAID;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,KAAK,CAAC,QAAQ,EACpB,MAAM,EAAE,iBAAiB,GACxB,IAAI,CAWN;AAID;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE,OAAO,CAAC,gBAAgB,CAAC,GACjC,IAAI,CAeN"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Shared type definitions for the three-book library.
3
+ *
4
+ * Centralises interfaces and enums that are referenced across multiple files,
5
+ * breaking circular dependencies between Book, Paper, BookBinding, etc.
6
+ */
7
+ import * as THREE from 'three';
8
+ import type { BookContent } from './BookContent';
9
+ import type { BookDirection } from './BookDirection';
10
+ import type { Paper } from './Paper';
11
+ export interface IPageContent {
12
+ readonly texture: THREE.Texture | null;
13
+ readonly textureST: THREE.Vector4;
14
+ isPointOverUI(textureCoord: THREE.Vector2): boolean;
15
+ init(bookContent: BookContent): void;
16
+ setActive(active: boolean): void;
17
+ }
18
+ export interface BookRaycastHit {
19
+ point: THREE.Vector3;
20
+ textureCoordinate: THREE.Vector2;
21
+ pageContent: IPageContent | null;
22
+ paperIndex: number;
23
+ pageIndex: number;
24
+ }
25
+ export declare enum AutoTurnMode {
26
+ /** This mode simulates swiping the paper surface to turn it. */
27
+ Surface = 0,
28
+ /** This mode simulates holding the paper edge and turning it. */
29
+ Edge = 1
30
+ }
31
+ export interface IBookBound {
32
+ resetPaperPosition(paper: Paper): void;
33
+ updatePaperPosition(paper: Paper): void;
34
+ }
35
+ export interface IBookOwner {
36
+ readonly bound: IBookBound | null;
37
+ readonly castShadows: boolean;
38
+ readonly reduceShadows: boolean;
39
+ readonly direction: BookDirection;
40
+ }
41
+ export interface PropertyBlock {
42
+ color: THREE.Color;
43
+ map: THREE.Texture | null;
44
+ textureST: THREE.Vector4;
45
+ }
46
+ export interface IBinderRenderer {
47
+ setVisibility(visible: boolean): void;
48
+ }
49
+ export interface IPaperRenderer {
50
+ readonly transform: THREE.Object3D;
51
+ mesh: THREE.BufferGeometry | null;
52
+ castShadows: boolean;
53
+ setMaterials(materials: THREE.Material[]): void;
54
+ setPropertyBlock(props: PropertyBlock, materialIndex: number): void;
55
+ readonly bounds: THREE.Box3;
56
+ }
57
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAMrC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;IAClC,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACpD,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAAC;IACrC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CAClC;AAMD,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;IACrB,iBAAiB,EAAE,KAAK,CAAC,OAAO,CAAC;IACjC,WAAW,EAAE,YAAY,GAAG,IAAI,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAMD,oBAAY,YAAY;IACtB,gEAAgE;IAChE,OAAO,IAAI;IACX,iEAAiE;IACjE,IAAI,IAAI;CACT;AAMD,MAAM,WAAW,UAAU;IACzB,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACvC,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;CACzC;AAMD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAAC;IAClC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;CACnC;AAMD,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;IACnB,GAAG,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IAC1B,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC;CAC1B;AAMD,MAAM,WAAW,eAAe;IAC9B,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACvC;AAMD,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC;IACnC,IAAI,EAAE,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;IAClC,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC;IAChD,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACpE,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC;CAC7B"}
@@ -1,8 +1,9 @@
1
1
  import * as THREE from 'three';
2
2
  /**
3
3
  * Clamps a point to the surface of an ellipse if it lies outside.
4
- * (Note: the original C# method was named "Calmp" -- a typo preserved here
5
- * in the comment but corrected in the exported function name.)
4
+ * Writes result into `out` to avoid allocation.
5
+ *
6
+ * `point` and `out` may be the same object (in-place operation is safe).
6
7
  */
7
- export declare function clamp(point: THREE.Vector2, ellipseCenter: THREE.Vector2, ellipseSize: THREE.Vector2): THREE.Vector2;
8
+ export declare function clamp(point: THREE.Vector2, ellipseCenter: THREE.Vector2, ellipseSize: THREE.Vector2, out: THREE.Vector2): THREE.Vector2;
8
9
  //# sourceMappingURL=EllipseUtility.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EllipseUtility.d.ts","sourceRoot":"","sources":["../../src/utils/EllipseUtility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAuC/B;;;;GAIG;AACH,wBAAgB,KAAK,CACnB,KAAK,EAAE,KAAK,CAAC,OAAO,EACpB,aAAa,EAAE,KAAK,CAAC,OAAO,EAC5B,WAAW,EAAE,KAAK,CAAC,OAAO,GACzB,KAAK,CAAC,OAAO,CASf"}
1
+ {"version":3,"file":"EllipseUtility.d.ts","sourceRoot":"","sources":["../../src/utils/EllipseUtility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA6C/B;;;;;GAKG;AACH,wBAAgB,KAAK,CACnB,KAAK,EAAE,KAAK,CAAC,OAAO,EACpB,aAAa,EAAE,KAAK,CAAC,OAAO,EAC5B,WAAW,EAAE,KAAK,CAAC,OAAO,EAC1B,GAAG,EAAE,KAAK,CAAC,OAAO,GACjB,KAAK,CAAC,OAAO,CAWf"}
@@ -6,9 +6,4 @@ export declare function nextIndex(index: number, arrayLength: number): number;
6
6
  * Returns the previous index in a circular array, wrapping from 0 to the end.
7
7
  */
8
8
  export declare function prevIndex(index: number, arrayLength: number): number;
9
- /**
10
- * Wraps an index into the valid range [0, arrayLength) using floor-based modulo.
11
- * Handles negative indices correctly (unlike the JS % operator).
12
- */
13
- export declare function loopIndex(index: number, arrayLength: number): number;
14
9
  //# sourceMappingURL=LoopUtility.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LoopUtility.d.ts","sourceRoot":"","sources":["../../src/utils/LoopUtility.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAIpE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAGpE;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAEpE"}
1
+ {"version":3,"file":"LoopUtility.d.ts","sourceRoot":"","sources":["../../src/utils/LoopUtility.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAIpE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAGpE"}
@@ -7,7 +7,8 @@ import * as THREE from 'three';
7
7
  * projective row. THREE.Vector3.applyMatrix4 does the same for affine
8
8
  * matrices (w is assumed 1 and the perspective divide is a no-op).
9
9
  *
10
- * Returns a new THREE.Ray with the transformed origin and direction.
10
+ * Returns a module-level scratch Ray use the result immediately before
11
+ * calling transformRay again.
11
12
  */
12
13
  export declare function transformRay(ray: THREE.Ray, matrix: THREE.Matrix4): THREE.Ray;
13
14
  //# sourceMappingURL=MatrixUtility.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MatrixUtility.d.ts","sourceRoot":"","sources":["../../src/utils/MatrixUtility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,MAAM,EAAE,KAAK,CAAC,OAAO,GACpB,KAAK,CAAC,GAAG,CAIX"}
1
+ {"version":3,"file":"MatrixUtility.d.ts","sourceRoot":"","sources":["../../src/utils/MatrixUtility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,KAAK,CAAC,GAAG,EACd,MAAM,EAAE,KAAK,CAAC,OAAO,GACpB,KAAK,CAAC,GAAG,CAKX"}
@@ -5,13 +5,12 @@
5
5
  */
6
6
  import * as THREE from 'three';
7
7
  /**
8
- * Flip the X axis of a texture ST vector.
8
+ * Flip the X axis of a texture ST vector in place.
9
9
  * ST format: (scaleX, scaleY, offsetX, offsetY)
10
10
  */
11
- export declare function xFlipST(st: THREE.Vector4): THREE.Vector4;
11
+ export declare function xFlipST(st: THREE.Vector4): void;
12
12
  /**
13
- * Flip the Y axis of a texture ST vector.
13
+ * Flip the Y axis of a texture ST vector in place.
14
14
  */
15
- export declare function yFlipST(st: THREE.Vector4): THREE.Vector4;
16
- export declare function fixNull(texture: THREE.Texture | null): THREE.Texture;
15
+ export declare function yFlipST(st: THREE.Vector4): void;
17
16
  //# sourceMappingURL=TextureUtility.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TextureUtility.d.ts","sourceRoot":"","sources":["../../src/utils/TextureUtility.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;GAGG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAExD;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAExD;AAQD,wBAAgB,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,GAAG,KAAK,CAAC,OAAO,CAWpE"}
1
+ {"version":3,"file":"TextureUtility.d.ts","sourceRoot":"","sources":["../../src/utils/TextureUtility.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;GAGG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAG/C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,CAG/C"}
@@ -6,24 +6,14 @@ import * as THREE from 'three';
6
6
  * Returns the new smoothed position.
7
7
  */
8
8
  export declare function smoothDamp(current: THREE.Vector3, target: THREE.Vector3, currentVelocity: THREE.Vector3, smoothTime: THREE.Vector3, maxSpeed?: number, deltaTime?: number): THREE.Vector3;
9
- /**
10
- * Per-component SmoothStep for Vector3.
11
- */
12
- export declare function smoothStep(from: THREE.Vector3, to: THREE.Vector3, smoothStepT: THREE.Vector3): THREE.Vector3;
13
- /**
14
- * Per-component MoveTowards for Vector3.
15
- */
16
- export declare function moveTowards(current: THREE.Vector3, target: THREE.Vector3, maxDistanceDelta: THREE.Vector3): THREE.Vector3;
17
- /**
18
- * Returns a perpendicular vector in the XZ plane (swaps x and z, negates z).
19
- */
20
- export declare function getPerpendicularXZ2(vector: THREE.Vector3): THREE.Vector3;
21
9
  /**
22
10
  * Converts an XY vector to XZ (y -> z, y set to 0).
11
+ * Writes into `out` to avoid allocation.
23
12
  */
24
- export declare function xy2xz(v: THREE.Vector3): THREE.Vector3;
13
+ export declare function xy2xz(v: THREE.Vector2, out: THREE.Vector3): THREE.Vector3;
25
14
  /**
26
- * Converts an XZ vector to XY (z -> y, z set to 0).
15
+ * Converts an XZ vector to XY (z -> y).
16
+ * Writes into `out` to avoid allocation.
27
17
  */
28
- export declare function xz2xy(v: THREE.Vector3): THREE.Vector3;
18
+ export declare function xz2xy(v: THREE.Vector3, out: THREE.Vector2): THREE.Vector2;
29
19
  //# sourceMappingURL=VectorUtility.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VectorUtility.d.ts","sourceRoot":"","sources":["../../src/utils/VectorUtility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAmF/B;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,MAAM,EAAE,KAAK,CAAC,OAAO,EACrB,eAAe,EAAE,KAAK,CAAC,OAAO,EAC9B,UAAU,EAAE,KAAK,CAAC,OAAO,EACzB,QAAQ,GAAE,MAAiB,EAC3B,SAAS,GAAE,MAAe,GACzB,KAAK,CAAC,OAAO,CA8Bf;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,EAAE,EAAE,KAAK,CAAC,OAAO,EACjB,WAAW,EAAE,KAAK,CAAC,OAAO,GACzB,KAAK,CAAC,OAAO,CAMf;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,MAAM,EAAE,KAAK,CAAC,OAAO,EACrB,gBAAgB,EAAE,KAAK,CAAC,OAAO,GAC9B,KAAK,CAAC,OAAO,CAMf;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAExE;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAErD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAErD"}
1
+ {"version":3,"file":"VectorUtility.d.ts","sourceRoot":"","sources":["../../src/utils/VectorUtility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA4D/B;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,KAAK,CAAC,OAAO,EACtB,MAAM,EAAE,KAAK,CAAC,OAAO,EACrB,eAAe,EAAE,KAAK,CAAC,OAAO,EAC9B,UAAU,EAAE,KAAK,CAAC,OAAO,EACzB,QAAQ,GAAE,MAAiB,EAC3B,SAAS,GAAE,MAAe,GACzB,KAAK,CAAC,OAAO,CA+Bf;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAEzE;AAED;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAEzE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@objectifthunes/three-book",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -1,8 +0,0 @@
1
- export * as VectorUtility from './VectorUtility';
2
- export * as BezierUtility from './BezierUtility';
3
- export * as EllipseUtility from './EllipseUtility';
4
- export * as TriangleUtility from './TriangleUtility';
5
- export * as LoopUtility from './LoopUtility';
6
- export * as MatrixUtility from './MatrixUtility';
7
- export * as TextureUtility from './TextureUtility';
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,aAAa,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAC"}