three-text 0.1.1 → 0.2.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 (42) hide show
  1. package/README.md +166 -156
  2. package/dist/index.cjs +368 -82
  3. package/dist/index.d.ts +46 -17
  4. package/dist/index.js +367 -81
  5. package/dist/index.min.cjs +2 -2
  6. package/dist/index.min.js +2 -2
  7. package/dist/index.umd.js +372 -84
  8. package/dist/index.umd.min.js +2 -2
  9. package/dist/p5/index.cjs +33 -0
  10. package/dist/p5/index.d.ts +19 -0
  11. package/dist/p5/index.js +31 -0
  12. package/dist/three/index.cjs +50 -0
  13. package/dist/three/index.d.ts +29 -0
  14. package/dist/three/index.js +48 -0
  15. package/dist/{react/index.cjs → three/react.cjs} +14 -4
  16. package/dist/three/react.d.ts +346 -0
  17. package/dist/{react/index.js → three/react.js} +14 -4
  18. package/dist/types/core/Text.d.ts +1 -1
  19. package/dist/types/core/cache/GlyphCache.d.ts +4 -4
  20. package/dist/types/core/cache/GlyphContourCollector.d.ts +2 -2
  21. package/dist/types/core/cache/GlyphGeometryBuilder.d.ts +3 -2
  22. package/dist/types/core/geometry/BoundaryClusterer.d.ts +2 -2
  23. package/dist/types/core/geometry/Polygonizer.d.ts +3 -3
  24. package/dist/types/core/layout/TextLayout.d.ts +1 -2
  25. package/dist/types/core/shaping/TextShaper.d.ts +1 -2
  26. package/dist/types/core/types.d.ts +13 -16
  27. package/dist/types/core/vectors.d.ts +75 -0
  28. package/dist/types/p5/index.d.ts +17 -0
  29. package/dist/types/{react → three}/ThreeText.d.ts +2 -2
  30. package/dist/types/three/index.d.ts +21 -0
  31. package/dist/types/three/react.d.ts +10 -0
  32. package/dist/types/webgl/index.d.ts +48 -0
  33. package/dist/types/webgpu/index.d.ts +16 -0
  34. package/dist/webgl/index.cjs +88 -0
  35. package/dist/webgl/index.d.ts +51 -0
  36. package/dist/webgl/index.js +86 -0
  37. package/dist/webgpu/index.cjs +99 -0
  38. package/dist/webgpu/index.d.ts +19 -0
  39. package/dist/webgpu/index.js +97 -0
  40. package/package.json +22 -6
  41. package/dist/react/index.d.ts +0 -18
  42. package/dist/types/react/index.d.ts +0 -2
package/dist/index.d.ts CHANGED
@@ -1,4 +1,36 @@
1
- import { BufferGeometry, Vector3 } from 'three';
1
+ declare class Vec3 {
2
+ x: number;
3
+ y: number;
4
+ z: number;
5
+ constructor(x?: number, y?: number, z?: number);
6
+ set(x: number, y: number, z: number): Vec3;
7
+ clone(): Vec3;
8
+ copy(v: Vec3): Vec3;
9
+ add(v: Vec3): Vec3;
10
+ sub(v: Vec3): Vec3;
11
+ multiply(scalar: number): Vec3;
12
+ divide(scalar: number): Vec3;
13
+ length(): number;
14
+ lengthSq(): number;
15
+ normalize(): Vec3;
16
+ dot(v: Vec3): number;
17
+ cross(v: Vec3): Vec3;
18
+ distanceTo(v: Vec3): number;
19
+ distanceToSquared(v: Vec3): number;
20
+ equals(v: Vec3): boolean;
21
+ }
22
+ interface BoundingBox {
23
+ min: {
24
+ x: number;
25
+ y: number;
26
+ z: number;
27
+ };
28
+ max: {
29
+ x: number;
30
+ y: number;
31
+ z: number;
32
+ };
33
+ }
2
34
 
3
35
  interface HyphenationTrieNode {
4
36
  patterns: number[] | null;
@@ -167,20 +199,17 @@ interface TextQueryOptions {
167
199
  }[];
168
200
  }
169
201
  interface TextGeometryInfo {
170
- geometry: BufferGeometry;
171
- glyphs: GlyphGeometryInfo[];
172
- planeBounds: {
173
- min: {
174
- x: number;
175
- y: number;
176
- z: number;
177
- };
178
- max: {
179
- x: number;
180
- y: number;
181
- z: number;
182
- };
202
+ vertices: Float32Array;
203
+ normals: Float32Array;
204
+ indices: Uint32Array;
205
+ colors?: Float32Array;
206
+ glyphAttributes?: {
207
+ glyphCenter: Float32Array;
208
+ glyphIndex: Float32Array;
209
+ glyphLineIndex: Float32Array;
183
210
  };
211
+ glyphs: GlyphGeometryInfo[];
212
+ planeBounds: BoundingBox;
184
213
  stats: {
185
214
  trianglesGenerated: number;
186
215
  verticesGenerated: number;
@@ -285,8 +314,8 @@ interface GlyphData {
285
314
  normals: Float32Array;
286
315
  indices: Uint16Array | Uint32Array;
287
316
  bounds: {
288
- min: Vector3;
289
- max: Vector3;
317
+ min: Vec3;
318
+ max: Vec3;
290
319
  };
291
320
  useCount: number;
292
321
  }
@@ -361,7 +390,7 @@ declare class Text {
361
390
  measureTextWidth(text: string, letterSpacing?: number): number;
362
391
  getCacheStatistics(): GlyphCacheStats | null;
363
392
  clearCache(): void;
364
- private addGlyphAttributes;
393
+ private createGlyphAttributes;
365
394
  destroy(): void;
366
395
  }
367
396