@objectifthunes/three-book 0.3.1 → 0.4.1

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 (46) 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 +51 -22
  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 +24 -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 +1026 -1005
  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/LoopUtility.d.ts +0 -5
  39. package/dist/utils/LoopUtility.d.ts.map +1 -1
  40. package/dist/utils/TextureUtility.d.ts +0 -1
  41. package/dist/utils/TextureUtility.d.ts.map +1 -1
  42. package/dist/utils/VectorUtility.d.ts +0 -12
  43. package/dist/utils/VectorUtility.d.ts.map +1 -1
  44. package/package.json +30 -31
  45. package/dist/utils/index.d.ts +0 -8
  46. package/dist/utils/index.d.ts.map +0 -1
@@ -3,7 +3,6 @@
3
3
  *
4
4
  * Faithful line-by-line port of:
5
5
  * - AutoTurnDirection enum
6
- * - AutoTurnMode enum
7
6
  * - AutoTurnSettings class
8
7
  * - AutoTurnSetting struct (→ class with clone())
9
8
  * - AutoTurnSettingMode enum
@@ -12,6 +11,8 @@
12
11
  * Unity `AnimationCurve` is approximated by a simple keyframe array
13
12
  * with linear interpolation (evaluate).
14
13
  */
14
+ import { AutoTurnMode } from './types';
15
+ export { AutoTurnMode };
15
16
  /**
16
17
  * Defines the direction for auto page turning.
17
18
  */
@@ -21,15 +22,6 @@ export declare enum AutoTurnDirection {
21
22
  /** Indicates the previous page direction. */
22
23
  Back = 1
23
24
  }
24
- /**
25
- * Defines the mode for auto page turning.
26
- */
27
- export declare enum AutoTurnMode {
28
- /** This mode simulates swiping the paper surface to turn it. */
29
- Surface = 0,
30
- /** This mode simulates holding the paper edge and turning it. */
31
- Edge = 1
32
- }
33
25
  /**
34
26
  * Defines the mode of AutoTurnSetting.
35
27
  */
@@ -1 +1 @@
1
- {"version":3,"file":"AutoTurn.d.ts","sourceRoot":"","sources":["../src/AutoTurn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AutoTurn.d.ts","sourceRoot":"","sources":["../src/AutoTurn.ts"],"names":[],"mappings":"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"}
package/dist/Book.d.ts CHANGED
@@ -11,15 +11,9 @@ import { PaperSetup } from './PaperSetup';
11
11
  import { BookContent } from './BookContent';
12
12
  import { BookDirection } from './BookDirection';
13
13
  import { BookBinding, BookBound } from './BookBinding';
14
- import type { IPageContent } from './PageContent';
14
+ import type { IBookOwner, BookRaycastHit } from './types';
15
15
  import { AutoTurnDirection, AutoTurnSettings, AutoTurnSetting } from './AutoTurn';
16
- export interface BookRaycastHit {
17
- point: THREE.Vector3;
18
- textureCoordinate: THREE.Vector2;
19
- pageContent: IPageContent | null;
20
- paperIndex: number;
21
- pageIndex: number;
22
- }
16
+ export type { BookRaycastHit };
23
17
  export declare class BookHeightException extends Error {
24
18
  constructor();
25
19
  }
@@ -31,7 +25,6 @@ export interface BookOptions {
31
25
  castShadows?: boolean;
32
26
  alignToGround?: boolean;
33
27
  hideBinder?: boolean;
34
- createColliders?: boolean;
35
28
  reduceShadows?: boolean;
36
29
  reduceSubMeshes?: boolean;
37
30
  reduceOverdraw?: boolean;
@@ -46,8 +39,9 @@ export interface PaperSetupInit {
46
39
  stiffness: number;
47
40
  material: THREE.Material | null;
48
41
  }
49
- export declare class Book extends THREE.Group {
42
+ export declare class Book extends THREE.Group implements IBookOwner {
50
43
  private static s_Instances;
44
+ private static s_InstancesArray;
51
45
  static get instances(): Book[];
52
46
  private m_Content;
53
47
  private m_Binding;
@@ -56,7 +50,6 @@ export declare class Book extends THREE.Group {
56
50
  private m_CastShadows;
57
51
  private m_AlignToGround;
58
52
  private m_HideBinder;
59
- private m_CreateColliders;
60
53
  private m_ReduceShadows;
61
54
  private m_ReduceSubMeshes;
62
55
  private m_ReduceOverdraw;
@@ -84,6 +77,10 @@ export declare class Book extends THREE.Group {
84
77
  private m_MaxPaperThickness;
85
78
  private m_RendererIds;
86
79
  private m_WasIdle;
80
+ private m_ContentDirty;
81
+ private m_StructuralDirty;
82
+ private m_AppliedDirection;
83
+ private _frontPapersCache;
87
84
  get minPaperWidth(): number;
88
85
  get minPaperHeight(): number;
89
86
  get minPaperThickness(): number;
@@ -93,10 +90,21 @@ export declare class Book extends THREE.Group {
93
90
  get castShadowsFlag(): boolean;
94
91
  /** Alias matching IBookOwner interface expected by Paper.ts */
95
92
  get castShadows(): boolean;
93
+ set castShadows(value: boolean);
96
94
  get alignToGround(): boolean;
95
+ set alignToGround(value: boolean);
96
+ get hideBinder(): boolean;
97
+ set hideBinder(value: boolean);
97
98
  get reduceShadows(): boolean;
99
+ set reduceShadows(value: boolean);
100
+ get reduceSubMeshes(): boolean;
101
+ set reduceSubMeshes(value: boolean);
102
+ get reduceOverdraw(): boolean;
103
+ set reduceOverdraw(value: boolean);
98
104
  get coverPaperSetup(): PaperSetup;
105
+ set coverPaperSetup(value: Partial<PaperSetupInit>);
99
106
  get pagePaperSetup(): PaperSetup;
107
+ set pagePaperSetup(value: Partial<PaperSetupInit>);
100
108
  get bound(): BookBound | null;
101
109
  get papers(): Paper[];
102
110
  get rendererIds(): number[];
@@ -117,13 +125,28 @@ export declare class Book extends THREE.Group {
117
125
  get isAutoTurning(): boolean;
118
126
  get hasPendingAutoTurns(): boolean;
119
127
  get autoTurningEndTime(): number;
128
+ /** Current open progress (0-1), read from actual paper positions. */
129
+ get openProgress(): number;
120
130
  constructor(options?: BookOptions);
121
131
  startTurning(ray: THREE.Ray): boolean;
122
132
  updateTurning(ray: THREE.Ray): void;
123
133
  stopTurning(): void;
124
- getActivePaperSideIndices(indices: number[]): void;
134
+ getActivePaperSideIndices(indices: Set<number>): void;
135
+ /**
136
+ * Sets the book's open progress to a value between 0 (fully closed) and 1 (fully open).
137
+ * This cancels any pending auto turns and immediately moves all papers to match
138
+ * the requested progress.
139
+ */
125
140
  setOpenProgress(openProgress: number): void;
126
141
  setOpenProgressByIndex(paperSideIndex: number): void;
142
+ /**
143
+ * Starts auto-turning pages in the given direction.
144
+ * @param direction - Which direction to turn (Next or Back)
145
+ * @param settings - Turn animation settings (twist, bend, duration)
146
+ * @param turnCount - Number of pages to turn
147
+ * @param delayPerTurn - Delay between consecutive turns (number in seconds, or AutoTurnSetting)
148
+ * @returns true if at least one turn was queued
149
+ */
127
150
  startAutoTurning(direction: AutoTurnDirection, settings: AutoTurnSettings, turnCount?: number, delayPerTurn?: number | AutoTurnSetting): boolean;
128
151
  cancelPendingAutoTurns(): void;
129
152
  private processAutoTurnQueue;
@@ -137,31 +160,37 @@ export declare class Book extends THREE.Group {
137
160
  */
138
161
  init(): void;
139
162
  /**
140
- * Call every frame with delta time.
163
+ * Call every frame with delta time in seconds.
141
164
  * Equivalent to Unity's LateUpdate.
165
+ * @param dt - Delta time in seconds since the last frame
142
166
  */
143
167
  update(dt: number): void;
168
+ /**
169
+ * Dispose the book and release all resources.
170
+ * MANDATORY: You must call dispose() when removing a Book to prevent memory leaks.
171
+ * The Book holds a reference in the static `s_Instances` set; without dispose(),
172
+ * it will never be garbage collected.
173
+ */
144
174
  dispose(): void;
145
- build(): void;
175
+ private build;
176
+ /**
177
+ * Clears the built state of the book.
178
+ * NOTE: This does NOT call super.clear() — it has different semantics from
179
+ * THREE.Group.clear(). It resets internal book state (papers, bound, flags)
180
+ * without removing children from the Three.js scene graph.
181
+ */
146
182
  clear(): this;
147
183
  private hardClear;
148
184
  private createPaperMeshDataPool;
149
185
  private getFrontPapers;
150
186
  getAverageTime(): number;
151
187
  bookRaycast(ray: THREE.Ray): BookRaycastHit | null;
152
- /**
153
- * Hot-swap page/cover content without rebuilding geometry.
154
- * Preserves open progress, turning state, and animations.
155
- * If the new content has a different page/cover structure, falls back
156
- * to a full rebuild with state preservation.
157
- */
158
- updateContent(newContent: BookContent): void;
159
188
  /**
160
189
  * Re-apply all page/cover textures from the current BookContent
161
190
  * to existing papers without rebuilding geometry.
162
191
  * Returns false if a structural rebuild is needed (page count changed).
163
192
  */
164
- refreshContent(): boolean;
193
+ private refreshContent;
165
194
  private getCurrentOpenProgress;
166
195
  private updateLivePages;
167
196
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Book.d.ts","sourceRoot":"","sources":["../src/Book.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Book.d.ts","sourceRoot":"","sources":["../src/Book.ts"],"names":[],"mappings":"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"}
@@ -5,22 +5,27 @@
5
5
  */
6
6
  import * as THREE from 'three';
7
7
  import type { Book } from './Book';
8
- import type { BookRenderer, MeshFactory, RendererFactory } from './Renderer';
8
+ import type { MeshFactory, RendererFactory } from './Renderer';
9
9
  import type { Paper } from './Paper';
10
10
  import type { PaperPattern } from './PaperPattern';
11
11
  import type { PaperUVMargin } from './PaperUVMargin';
12
+ import type { IBinderRenderer } from './types';
12
13
  export declare abstract class BookBinding {
13
14
  abstract createBound(book: Book, root: THREE.Object3D, rendererFactory: RendererFactory, meshFactory: MeshFactory): BookBound;
14
15
  }
15
16
  export declare abstract class BookBound {
16
17
  protected m_Book: Book;
17
18
  protected m_Root: THREE.Object3D;
19
+ /** Discriminant property for runtime type checks (avoids constructor.name). */
20
+ readonly bindingType: string;
18
21
  abstract get useSharedMeshDataForLowpoly(): boolean;
19
- abstract get binderRenderer(): BookRenderer;
22
+ abstract get binderRenderer(): IBinderRenderer;
20
23
  constructor(book: Book, root: THREE.Object3D);
21
24
  abstract createPaperPattern(quality: number, size: THREE.Vector2, thickness: number, uvMargin: PaperUVMargin, reduceOverdraw: boolean, reduceSubMeshes: boolean): PaperPattern;
22
25
  abstract resetPaperPosition(paper: Paper): void;
23
26
  abstract updatePaperPosition(paper: Paper): void;
24
27
  abstract onLateUpdate(): void;
28
+ /** Release GPU resources. Override in subclasses. */
29
+ dispose(): void;
25
30
  }
26
31
  //# sourceMappingURL=BookBinding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BookBinding.d.ts","sourceRoot":"","sources":["../src/BookBinding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAMrD,8BAAsB,WAAW;IAC/B,QAAQ,CAAC,WAAW,CAClB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,KAAK,CAAC,QAAQ,EACpB,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,GACvB,SAAS;CACb;AAMD,8BAAsB,SAAS;IAC7B,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;IAEjC,QAAQ,KAAK,2BAA2B,IAAI,OAAO,CAAC;IACpD,QAAQ,KAAK,cAAc,IAAI,YAAY,CAAC;gBAEhC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ;IAK5C,QAAQ,CAAC,kBAAkB,CACzB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,aAAa,EACvB,cAAc,EAAE,OAAO,EACvB,eAAe,EAAE,OAAO,GACvB,YAAY;IAEf,QAAQ,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAC/C,QAAQ,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAChD,QAAQ,CAAC,YAAY,IAAI,IAAI;CAC9B"}
1
+ {"version":3,"file":"BookBinding.d.ts","sourceRoot":"","sources":["../src/BookBinding.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAM/C,8BAAsB,WAAW;IAC/B,QAAQ,CAAC,WAAW,CAClB,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,KAAK,CAAC,QAAQ,EACpB,eAAe,EAAE,eAAe,EAChC,WAAW,EAAE,WAAW,GACvB,SAAS;CACb;AAMD,8BAAsB,SAAS;IAC7B,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC;IACvB,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC;IAEjC,+EAA+E;IAC/E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAM;IAElC,QAAQ,KAAK,2BAA2B,IAAI,OAAO,CAAC;IACpD,QAAQ,KAAK,cAAc,IAAI,eAAe,CAAC;gBAEnC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ;IAK5C,QAAQ,CAAC,kBAAkB,CACzB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,aAAa,EACvB,cAAc,EAAE,OAAO,EACvB,eAAe,EAAE,OAAO,GACvB,YAAY;IAEf,QAAQ,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAC/C,QAAQ,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAChD,QAAQ,CAAC,YAAY,IAAI,IAAI;IAE7B,qDAAqD;IACrD,OAAO,IAAI,IAAI;CAChB"}
@@ -19,11 +19,15 @@ export declare class BookContent {
19
19
  private m_Covers;
20
20
  private m_Pages;
21
21
  private m_Book;
22
+ private _cachedCovers;
23
+ private _cachedPages;
22
24
  private get coverCount4();
23
25
  private get pageCount4();
24
26
  get book(): Book | null;
25
27
  get covers(): (THREE.Texture | IPageContent | null)[];
28
+ set covers(value: (THREE.Texture | IPageContent | null)[]);
26
29
  get pages(): (THREE.Texture | IPageContent | null)[];
30
+ set pages(value: (THREE.Texture | IPageContent | null)[]);
27
31
  get isEmpty(): boolean;
28
32
  get direction(): BookDirection;
29
33
  set direction(value: BookDirection);
@@ -1 +1 @@
1
- {"version":3,"file":"BookContent.d.ts","sourceRoot":"","sources":["../src/BookContent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAOlD;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAA4C;IAC/D,OAAO,CAAC,QAAQ,CAAqE;IACrF,OAAO,CAAC,OAAO,CAA6F;IAC5G,OAAO,CAAC,MAAM,CAAqB;IAEnC,OAAO,KAAK,WAAW,GAEtB;IAED,OAAO,KAAK,UAAU,GAErB;IAED,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,CAEtB;IAED,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,YAAY,GAAG,IAAI,CAAC,EAAE,CAEpD;IAED,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,YAAY,GAAG,IAAI,CAAC,EAAE,CAEnD;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,SAAS,IAAI,aAAa,CAE7B;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,aAAa,EAEjC;IAED,IAAI,aAAa,IAAI,YAAY,EAAE,CAElC;IAED,IAAI,YAAY,IAAI,YAAY,EAAE,CAEjC;IAED,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,UAAU;IAclB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAatB,iCAAiC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAS7D,gCAAgC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAO3D,iCAAiC,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAUjE,gCAAgC,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAQhE,mCAAmC,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAInE,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAatD,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;CAGtD"}
1
+ {"version":3,"file":"BookContent.d.ts","sourceRoot":"","sources":["../src/BookContent.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAOlD;;;;;GAKG;AACH,qBAAa,WAAW;IACtB,OAAO,CAAC,WAAW,CAA4C;IAC/D,OAAO,CAAC,QAAQ,CAAqE;IACrF,OAAO,CAAC,OAAO,CAA6F;IAC5G,OAAO,CAAC,MAAM,CAAqB;IAGnC,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,YAAY,CAA+B;IAEnD,OAAO,KAAK,WAAW,GAEtB;IAED,OAAO,KAAK,UAAU,GAErB;IAED,IAAI,IAAI,IAAI,IAAI,GAAG,IAAI,CAEtB;IAED,IAAI,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,YAAY,GAAG,IAAI,CAAC,EAAE,CAEpD;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,YAAY,GAAG,IAAI,CAAC,EAAE,EAGxD;IAED,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,YAAY,GAAG,IAAI,CAAC,EAAE,CAEnD;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,YAAY,GAAG,IAAI,CAAC,EAAE,EAGvD;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,SAAS,IAAI,aAAa,CAE7B;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,aAAa,EAEjC;IAED,IAAI,aAAa,IAAI,YAAY,EAAE,CAKlC;IAED,IAAI,YAAY,IAAI,YAAY,EAAE,CAKjC;IAED,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,UAAU;IAclB,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAgBtB,iCAAiC,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAS7D,gCAAgC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAO3D,iCAAiC,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAUjE,gCAAgC,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAQhE,mCAAmC,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAInE,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAatD,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;CAGtD"}
@@ -17,6 +17,13 @@ export declare class Cylinder {
17
17
  private m_DirectionZ;
18
18
  private m_EulerY;
19
19
  private m_Radius;
20
+ private readonly _positionOut;
21
+ private readonly _scratchRP1;
22
+ private readonly _scratchRP2;
23
+ private readonly _scratchRollClosest;
24
+ private readonly _scratchRollEuler;
25
+ private readonly _scratchOffsetRoll;
26
+ /** Returns internal vector — do NOT mutate. Copy if you need to store it. */
20
27
  get position(): THREE.Vector3;
21
28
  set position(value: THREE.Vector3);
22
29
  set direction(value: THREE.Vector3);
@@ -29,11 +36,28 @@ export declare class Cylinder {
29
36
  * 1. Rotate (x, 0, 0) by Z degrees around Z-axis.
30
37
  * 2. Rotate by X degrees around X-axis (X = 0 here, so skip).
31
38
  * 3. Rotate by Y degrees around Y-axis.
39
+ *
40
+ * Writes result into `out` and returns it.
32
41
  */
33
42
  private eulerRotateVector;
43
+ /**
44
+ * Rolls `point` in place around the cylinder. Mutates and returns `point`.
45
+ * Uses _scratchRollClosest for closest-point calculation and
46
+ * _scratchRollEuler for euler rotation result.
47
+ */
34
48
  private roll;
49
+ /**
50
+ * Computes offset for `point`. Mutates and returns `point`.
51
+ * Offset = roll(point with x=0) with z adjusted.
52
+ * Uses _scratchOffsetRoll to hold a copy for rolling (avoids aliasing
53
+ * with `point` itself when roll() internally reads and writes).
54
+ */
35
55
  private getOffset;
36
- private getClosestPoint;
56
+ /**
57
+ * Projects `point` onto the cylinder axis, writing the result into `point`.
58
+ * Returns the mutated `point`.
59
+ */
60
+ private getClosestPointInto;
37
61
  private getSide;
38
62
  clone(): Cylinder;
39
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Cylinder.d.ts","sourceRoot":"","sources":["../src/Cylinder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;;;GAUG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,QAAQ,CAAa;IAI7B,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAE5B;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAGhC;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAKjC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAEvB;IAIM,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO;IAMrD;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,IAAI;IAqBZ,OAAO,CAAC,SAAS;IAOjB,OAAO,CAAC,eAAe;IASvB,OAAO,CAAC,OAAO;IAQR,KAAK,IAAI,QAAQ;CAUzB"}
1
+ {"version":3,"file":"Cylinder.d.ts","sourceRoot":"","sources":["../src/Cylinder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;;;GAUG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,QAAQ,CAAa;IAU7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuB;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAuB;IACnD,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAuB;IAC3D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuB;IACzD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAuB;IAI1D,6EAA6E;IAC7E,IAAI,QAAQ,IAAI,KAAK,CAAC,OAAO,CAE5B;IAED,IAAI,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAGhC;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAKjC;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,MAAM,EAEvB;IAIM,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO;IAoBrD;;;;;;;;;OASG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;;;OAIG;IACH,OAAO,CAAC,IAAI;IAyBZ;;;;;OAKG;IACH,OAAO,CAAC,SAAS;IAUjB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAS3B,OAAO,CAAC,OAAO;IAQR,KAAK,IAAI,QAAQ;CAUzB"}
@@ -8,13 +8,8 @@
8
8
  */
9
9
  import * as THREE from 'three';
10
10
  import type { BookContent } from './BookContent';
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
- }
11
+ import type { IPageContent } from './types';
12
+ export type { IPageContent };
18
13
  export declare abstract class PageContent implements IPageContent {
19
14
  private m_BookContent;
20
15
  private m_IsActive;
@@ -1 +1 @@
1
- {"version":3,"file":"PageContent.d.ts","sourceRoot":"","sources":["../src/PageContent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAMjD,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;AAOD,8BAAsB,WAAY,YAAW,YAAY;IACvD,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,UAAU,CAAkB;IAEpC,IAAI,WAAW,IAAI,WAAW,GAAG,IAAI,CAEpC;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,QAAQ,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IAE7C,IAAI,SAAS,IAAI,KAAK,CAAC,OAAO,CAE7B;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,uBAAuB,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAQ;IAEpD,SAAS,CAAC,MAAM,IAAI,IAAI;IACxB,SAAS,CAAC,eAAe,IAAI,IAAI;IACjC,SAAS,CAAC,eAAe,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,GAAG,OAAO;IAIhE,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,GAAG,OAAO;IAInD,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAWpC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;CAOjC;AAOD,qBAAa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,WAAW,CAAgB;gBAEvB,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,OAAO;IAKpE,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,GAAG,IAAI,CAElC;IAED,IAAI,SAAS,IAAI,KAAK,CAAC,OAAO,CAG7B;IAED,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,GAAG,OAAO;IAIpD,IAAI,CAAC,YAAY,EAAE,WAAW,GAAG,IAAI;IAErC,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAClC"}
1
+ {"version":3,"file":"PageContent.d.ts","sourceRoot":"","sources":["../src/PageContent.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG5C,YAAY,EAAE,YAAY,EAAE,CAAC;AAO7B,8BAAsB,WAAY,YAAW,YAAY;IACvD,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,UAAU,CAAkB;IAEpC,IAAI,WAAW,IAAI,WAAW,GAAG,IAAI,CAEpC;IAED,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,QAAQ,KAAK,OAAO,IAAI,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IAE7C,IAAI,SAAS,IAAI,KAAK,CAAC,OAAO,CAE7B;IAED,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED,uBAAuB,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAQ;IAEpD,SAAS,CAAC,MAAM,IAAI,IAAI;IACxB,SAAS,CAAC,eAAe,IAAI,IAAI;IACjC,SAAS,CAAC,eAAe,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,GAAG,OAAO;IAIhE,aAAa,CAAC,YAAY,EAAE,KAAK,CAAC,OAAO,GAAG,OAAO;IAInD,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAWpC,SAAS,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI;CAOjC;AAOD,qBAAa,kBAAmB,YAAW,YAAY;IACrD,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,WAAW,CAAgB;gBAEvB,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,EAAE,SAAS,CAAC,EAAE,KAAK,CAAC,OAAO;IAKpE,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,GAAG,IAAI,CAElC;IAED,IAAI,SAAS,IAAI,KAAK,CAAC,OAAO,CAG7B;IAED,aAAa,CAAC,aAAa,EAAE,KAAK,CAAC,OAAO,GAAG,OAAO;IAIpD,IAAI,CAAC,YAAY,EAAE,WAAW,GAAG,IAAI;IAErC,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;CAClC"}
package/dist/Paper.d.ts CHANGED
@@ -19,55 +19,11 @@ import { PaperMeshData } from './PaperMeshData';
19
19
  import { PaperSetup } from './PaperSetup';
20
20
  import { PaperMaterialData } from './PaperMaterialData';
21
21
  import { PaperMeshDataPool } from './Renderer';
22
- import { BookDirection } from './BookDirection';
23
- /** Mirrors C# IPageContent */
24
- export interface IPageContent {
25
- texture: THREE.Texture | null;
26
- textureST: THREE.Vector4;
27
- isPointOverUI(textureCoord: THREE.Vector2): boolean;
28
- init(bookContent: unknown): void;
29
- setActive(active: boolean): void;
30
- }
31
- /** Mirrors C# BookRaycastHit struct */
32
- export interface BookRaycastHit {
33
- point: THREE.Vector3;
34
- textureCoordinate: THREE.Vector2;
35
- pageContent: IPageContent | null;
36
- paperIndex: number;
37
- pageIndex: number;
38
- }
39
- /** Mirrors C# AutoTurnMode enum */
40
- export declare enum AutoTurnMode {
41
- Surface = 0,
42
- Edge = 1
43
- }
44
- /**
45
- * Minimal interface the Paper class expects from the Book owner.
46
- * Keeps the file self-contained without importing the full Book class.
47
- */
48
- export interface IBookOwner {
49
- bound: IBookBound;
50
- castShadows: boolean;
51
- reduceShadows: boolean;
52
- direction: BookDirection;
53
- }
54
- /** Minimal interface for BookBound as used by Paper */
55
- export interface IBookBound {
56
- resetPaperPosition(paper: Paper): void;
57
- updatePaperPosition(paper: Paper): void;
58
- }
59
- /**
60
- * Minimal wrapper mirroring the C# Renderer helper class used by Paper.
61
- * In Three.js this maps to THREE.Mesh + THREE.Object3D.
62
- */
63
- export interface IPaperRenderer {
64
- readonly transform: THREE.Object3D;
65
- mesh: THREE.BufferGeometry | null;
66
- castShadows: boolean;
67
- setMaterials(materials: THREE.Material[]): void;
68
- setPropertyBlock(props: Record<string, unknown>, materialIndex: number): void;
69
- readonly bounds: THREE.Box3;
70
- }
22
+ import type { IPageContent, IBookOwner, IPaperRenderer, BookRaycastHit } from './types';
23
+ import { AutoTurnMode } from './types';
24
+ export type { IPageContent, IBookOwner, IPaperRenderer, BookRaycastHit };
25
+ export { AutoTurnMode };
26
+ export type { IBookBound } from './types';
71
27
  export declare class Paper {
72
28
  private m_Index;
73
29
  private m_Transform;
@@ -114,6 +70,25 @@ export declare class Paper {
114
70
  private m_IsFallingLeft;
115
71
  private m_isMeshChanged;
116
72
  sizeXOffset: number;
73
+ private readonly _ucStartHandle;
74
+ private readonly _ucCurrentHandle;
75
+ private readonly _ucHandleDir;
76
+ private readonly _ucA;
77
+ private readonly _ucB;
78
+ private readonly _ucMid;
79
+ private readonly _ucRollResult;
80
+ private readonly _ucCylDir;
81
+ private readonly _utV1;
82
+ private readonly _utV2;
83
+ private readonly _utV3;
84
+ private readonly _utV4;
85
+ private readonly _chP;
86
+ private readonly _chA;
87
+ private readonly _chC;
88
+ private readonly _chEllipseCenter1;
89
+ private readonly _chEllipseCenter2;
90
+ private readonly _chEllipseSize1;
91
+ private readonly _chEllipseSize2;
117
92
  get isMeshChanged(): boolean;
118
93
  set isMeshChanged(value: boolean);
119
94
  get isCover(): boolean;
@@ -139,7 +114,6 @@ export declare class Paper {
139
114
  set next(value: Paper | null);
140
115
  set noHole(value: boolean);
141
116
  private get isIdle();
142
- get isInMiddelOfStack(): boolean;
143
117
  constructor(isCover: boolean, index: number, book: IBookOwner, renderer: IPaperRenderer);
144
118
  setTime(time: number): void;
145
119
  setMeshData(lowpolyMeshData: PaperMeshData, lowpolyHoleMeshData: PaperMeshData | null, highpolyMeshDataPool: PaperMeshDataPool): void;
@@ -184,7 +158,6 @@ export declare class Paper {
184
158
  private clampHandle;
185
159
  private updateCylinder;
186
160
  private rollPoint;
187
- drawWireframe(_color: unknown): void;
188
161
  startAutoTurning(mode: AutoTurnMode, twist: number, bend: number, duration: number): void;
189
162
  get cylinder(): Cylinder;
190
163
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Paper.d.ts","sourceRoot":"","sources":["../src/Paper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Paper.d.ts","sourceRoot":"","sources":["../src/Paper.ts"],"names":[],"mappings":"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"}
@@ -7,12 +7,15 @@
7
7
  */
8
8
  import * as THREE from 'three';
9
9
  import type { PaperSetup } from './PaperSetup';
10
+ import type { PropertyBlock } from './types';
10
11
  export declare class PaperMaterialData {
11
12
  private m_Materials1;
12
13
  private m_Materials3;
13
14
  private m_Color;
14
15
  private m_Texture;
15
16
  private m_TextureST;
17
+ private _cachedPropertyBlock;
18
+ private _propertyBlockDirty;
16
19
  get materials1(): THREE.Material[];
17
20
  get materials3(): THREE.Material[];
18
21
  get color(): THREE.Color;
@@ -22,8 +25,10 @@ export declare class PaperMaterialData {
22
25
  /**
23
26
  * Mirrors Unity's MaterialPropertyBlock: stores color, texture, and textureST.
24
27
  * Paper.ts reads this after calling updatePropertyBlock.
28
+ *
29
+ * Returns a cached object — callers must NOT mutate the returned values.
25
30
  */
26
- get propertyBlock(): Record<string, unknown>;
31
+ get propertyBlock(): PropertyBlock;
27
32
  updatePropertyBlock(texture: THREE.Texture | null, textureST: THREE.Vector4): void;
28
33
  }
29
34
  //# sourceMappingURL=PaperMaterialData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaperMaterialData.d.ts","sourceRoot":"","sources":["../src/PaperMaterialData.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,OAAO,CAAc;IAG7B,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,WAAW,CAAgD;IAEnE,IAAI,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,CAEjC;IAED,IAAI,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,CAEjC;IAED,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,CAEvB;IAED,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,GAAG,IAAI,CAElC;IAED,IAAI,SAAS,IAAI,KAAK,CAAC,OAAO,CAE7B;gBAEW,UAAU,EAAE,UAAU;IAWlC;;;OAGG;IACH,IAAI,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAM3C;IAED,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI;CAInF"}
1
+ {"version":3,"file":"PaperMaterialData.d.ts","sourceRoot":"","sources":["../src/PaperMaterialData.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE7C,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,OAAO,CAAc;IAG7B,OAAO,CAAC,SAAS,CAA8B;IAC/C,OAAO,CAAC,WAAW,CAAgD;IAGnE,OAAO,CAAC,oBAAoB,CAA8B;IAC1D,OAAO,CAAC,mBAAmB,CAAiB;IAE5C,IAAI,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,CAEjC;IAED,IAAI,UAAU,IAAI,KAAK,CAAC,QAAQ,EAAE,CAEjC;IAED,IAAI,KAAK,IAAI,KAAK,CAAC,KAAK,CAEvB;IAED,IAAI,OAAO,IAAI,KAAK,CAAC,OAAO,GAAG,IAAI,CAElC;IAED,IAAI,SAAS,IAAI,KAAK,CAAC,OAAO,CAE7B;gBAEW,UAAU,EAAE,UAAU;IAWlC;;;;;OAKG;IACH,IAAI,aAAa,IAAI,aAAa,CAUjC;IAED,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,GAAG,IAAI;CAKnF"}
@@ -33,11 +33,5 @@ export declare class PaperMeshData {
33
33
  * Ported from lines ~2185-2255.
34
34
  */
35
35
  updateMesh(): void;
36
- /**
37
- * Returns wireframe quad data for debug visualisation.
38
- *
39
- * Ported from lines ~2257-2262.
40
- */
41
- drawWireframe(matrix: THREE.Matrix4): Array<[THREE.Vector3, THREE.Vector3, THREE.Vector3, THREE.Vector3]>;
42
36
  }
43
37
  //# sourceMappingURL=PaperMeshData.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaperMeshData.d.ts","sourceRoot":"","sources":["../src/PaperMeshData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAqB9C,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,SAAS,CAAkB;IAEnC,IAAW,QAAQ,IAAI,KAAK,CAAC,cAAc,CAE1C;IAED,IAAW,OAAO,IAAI,YAAY,CAEjC;IAED,IAAW,YAAY,IAAI,KAAK,CAAC,OAAO,EAAE,CAEzC;gBAEW,QAAQ,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,YAAY;IA8EjE;;;;;OAKG;IACI,kBAAkB,IAAI,IAAI;IAiBjC;;;;;;;;;;;;;;OAcG;IACI,UAAU,IAAI,IAAI;IA+FzB;;;;OAIG;IACI,aAAa,CAClB,MAAM,EAAE,KAAK,CAAC,OAAO,GACpB,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;CAKvE"}
1
+ {"version":3,"file":"PaperMeshData.d.ts","sourceRoot":"","sources":["../src/PaperMeshData.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAoB9C,qBAAa,aAAa;IACxB,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,SAAS,CAAe;IAChC,OAAO,CAAC,cAAc,CAAkB;IACxC,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,SAAS,CAAkB;IAEnC,IAAW,QAAQ,IAAI,KAAK,CAAC,cAAc,CAE1C;IAED,IAAW,OAAO,IAAI,YAAY,CAEjC;IAED,IAAW,YAAY,IAAI,KAAK,CAAC,OAAO,EAAE,CAEzC;gBAEW,QAAQ,EAAE,KAAK,CAAC,cAAc,EAAE,OAAO,EAAE,YAAY;IA8EjE;;;;;OAKG;IACI,kBAAkB,IAAI,IAAI;IAiBjC;;;;;;;;;;;;;;OAcG;IACI,UAAU,IAAI,IAAI;CA6F1B"}
@@ -41,15 +41,6 @@ export declare function addBorders(borders: PaperBorder[], triangles: number[],
41
41
  * Ported from `PaperMeshUtility.UpdateBorders` (lines ~2647-2705).
42
42
  */
43
43
  export declare function updateBorders(borders: PaperBorder[], vertices: THREE.Vector3[], normals: THREE.Vector3[], nX: number, nZ: number): void;
44
- /**
45
- * Debug draws border edges in world space. In Three.js, callers can use
46
- * THREE.LineSegments or a helper to visualise these.
47
- *
48
- * Returns pairs of [start, end] line segment positions in world space.
49
- *
50
- * Ported from `PaperMeshUtility.DebugDrawBorders` (lines ~2707-2747).
51
- */
52
- export declare function debugDrawBorders(borders: PaperBorder[], vertices: THREE.Vector3[], nX: number, _nZ: number, matrix: THREE.Matrix4): Array<[THREE.Vector3, THREE.Vector3]>;
53
44
  /**
54
45
  * Adds a front face and its matching back face (offset by `offset`).
55
46
  *
@@ -62,11 +53,4 @@ export declare function addFrontAndBackFaces(frontTriangles: number[], backTrian
62
53
  * Ported from `PaperMeshUtility.AddFrontAndBackTexcoords` (lines ~2780-2815).
63
54
  */
64
55
  export declare function addFrontAndBackTexcoords(texcoords: THREE.Vector2[], xList: number[], zList: number[], size: THREE.Vector2, uvMargin: PaperUVMargin, direction: BookDirection): void;
65
- /**
66
- * Returns wireframe quad data for debug visualisation.
67
- * In Unity this used Handles; in Three.js, callers can use THREE.LineSegments.
68
- *
69
- * Ported from `PaperMeshUtility.DrawWireframe` (lines ~2838-2877).
70
- */
71
- export declare function drawWireframe(vertices: THREE.Vector3[], nX: number, nZ: number, matrix: THREE.Matrix4): Array<[THREE.Vector3, THREE.Vector3, THREE.Vector3, THREE.Vector3]>;
72
56
  //# sourceMappingURL=PaperMeshUtility.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PaperMeshUtility.d.ts","sourceRoot":"","sources":["../src/PaperMeshUtility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAuBhD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EAAE,EACtB,KAAK,EAAE,SAAS,EAAE,GACjB,IAAI,CAQN;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,EAAE,EAClB,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,EACzB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,OAAO,GAChB,IAAI,CAoBN;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,EAAE,EAClB,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,EACzB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,GAChB,IAAI,CAiBN;AAoDD;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,WAAW,EAAE,EACtB,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,EAC1B,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,IAAI,CAgEN;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,WAAW,EAAE,EACtB,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,EACzB,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EACxB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,IAAI,CAqDN;AAMD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,WAAW,EAAE,EACtB,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,EACzB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,KAAK,CAAC,OAAO,GACpB,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAkCvC;AAoDD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,MAAM,EAAE,EACxB,aAAa,EAAE,MAAM,EAAE,EACvB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,MAAM,GACb,IAAI,CAON;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,EAC1B,KAAK,EAAE,MAAM,EAAE,EACf,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,aAAa,GACvB,IAAI,CAgCN;AAyCD;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,EACzB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,KAAK,CAAC,OAAO,GACpB,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAuBrE"}
1
+ {"version":3,"file":"PaperMeshUtility.d.ts","sourceRoot":"","sources":["../src/PaperMeshUtility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAchD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EAAE,EACtB,KAAK,EAAE,SAAS,EAAE,GACjB,IAAI,CAQN;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,EAAE,EAClB,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,EACzB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,OAAO,GAChB,IAAI,CAoBN;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,SAAS,EAAE,EAClB,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,EACzB,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,OAAO,GAChB,IAAI,CAiBN;AAoDD;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,OAAO,EAAE,WAAW,EAAE,EACtB,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,EAC1B,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,IAAI,CAgEN;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,WAAW,EAAE,EACtB,QAAQ,EAAE,KAAK,CAAC,OAAO,EAAE,EACzB,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,EACxB,EAAE,EAAE,MAAM,EACV,EAAE,EAAE,MAAM,GACT,IAAI,CAqDN;AAoDD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,cAAc,EAAE,MAAM,EAAE,EACxB,aAAa,EAAE,MAAM,EAAE,EACvB,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,MAAM,EAAE,MAAM,GACb,IAAI,CAON;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,KAAK,CAAC,OAAO,EAAE,EAC1B,KAAK,EAAE,MAAM,EAAE,EACf,KAAK,EAAE,MAAM,EAAE,EACf,IAAI,EAAE,KAAK,CAAC,OAAO,EACnB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,aAAa,GACvB,IAAI,CAgCN"}
@@ -18,7 +18,6 @@ export declare class PaperNode {
18
18
  get prevNoneHole(): PaperNode;
19
19
  get nextNoneHole(): PaperNode;
20
20
  createNext(value: number, hole?: boolean, seam?: boolean): PaperNode;
21
- createNextFromDouble(value: number, hole?: boolean, seam?: boolean): PaperNode;
22
21
  insert(node: PaperNode): boolean;
23
22
  updateIndex(index: number): void;
24
23
  getValues(): number[];
@@ -1 +1 @@
1
- {"version":3,"file":"PaperNode.d.ts","sourceRoot":"","sources":["../src/PaperNode.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,qBAAa,SAAS;IACb,IAAI,EAAE,SAAS,GAAG,IAAI,CAAQ;IAC9B,IAAI,EAAE,SAAS,GAAG,IAAI,CAAQ;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAK;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;gBAET,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,OAAe,EAAE,IAAI,GAAE,OAAe;IAQvE,IAAI,YAAY,IAAI,SAAS,CAG5B;IAED,IAAI,YAAY,IAAI,SAAS,CAG5B;IAED,IAAI,YAAY,IAAI,SAAS,CAG5B;IAED,IAAI,YAAY,IAAI,SAAS,CAG5B;IAIM,UAAU,CACf,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,OAAe,EACrB,IAAI,GAAE,OAAe,GACpB,SAAS;IASL,oBAAoB,CACzB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,OAAe,EACrB,IAAI,GAAE,OAAe,GACpB,SAAS;IASL,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IA6BhC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQhC,SAAS,IAAI,MAAM,EAAE;IACrB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAUxC,OAAO,CAAC,mBAAmB;IAQpB,QAAQ,IAAI,OAAO,EAAE;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI;IAUvC,OAAO,CAAC,kBAAkB;CAK3B"}
1
+ {"version":3,"file":"PaperNode.d.ts","sourceRoot":"","sources":["../src/PaperNode.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,qBAAa,SAAS;IACb,IAAI,EAAE,SAAS,GAAG,IAAI,CAAQ;IAC9B,IAAI,EAAE,SAAS,GAAG,IAAI,CAAQ;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAK;IAClB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;gBAET,KAAK,EAAE,MAAM,EAAE,IAAI,GAAE,OAAe,EAAE,IAAI,GAAE,OAAe;IAQvE,IAAI,YAAY,IAAI,SAAS,CAG5B;IAED,IAAI,YAAY,IAAI,SAAS,CAG5B;IAED,IAAI,YAAY,IAAI,SAAS,CAG5B;IAED,IAAI,YAAY,IAAI,SAAS,CAG5B;IAIM,UAAU,CACf,KAAK,EAAE,MAAM,EACb,IAAI,GAAE,OAAe,EACrB,IAAI,GAAE,OAAe,GACpB,SAAS;IASL,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,OAAO;IA6BhC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAQhC,SAAS,IAAI,MAAM,EAAE;IACrB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI;IAUxC,OAAO,CAAC,mBAAmB;IAQpB,QAAQ,IAAI,OAAO,EAAE;IACrB,QAAQ,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,IAAI;IAUvC,OAAO,CAAC,kBAAkB;CAK3B"}