@mlightcad/mtext-renderer 0.4.4 → 0.4.6

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 (44) hide show
  1. package/README.md +249 -0
  2. package/dist/assets/mtextWorker-BlkfNPdt.js +7 -0
  3. package/dist/index.js +1811 -1420
  4. package/dist/index.umd.cjs +3 -3
  5. package/{dist → lib}/font/baseFont.d.ts +12 -0
  6. package/lib/font/charGeometryCache.d.ts +43 -0
  7. package/{dist → lib}/font/fontManager.d.ts +16 -0
  8. package/{dist → lib}/font/meshFont.d.ts +6 -0
  9. package/{dist → lib}/font/shxFont.d.ts +6 -0
  10. package/{dist → lib}/font/shxTextShape.d.ts +4 -1
  11. package/{dist → lib}/index.d.ts +1 -0
  12. package/lib/worker/base-renderer.d.ts +50 -0
  13. package/lib/worker/baseRenderer.d.ts +64 -0
  14. package/lib/worker/index.d.ts +6 -0
  15. package/lib/worker/main-thread-renderer.d.ts +30 -0
  16. package/lib/worker/mainThreadRenderer.d.ts +32 -0
  17. package/lib/worker/mtext-worker.d.ts +1 -0
  18. package/lib/worker/mtextWorker.d.ts +1 -0
  19. package/lib/worker/unified-renderer.d.ts +41 -0
  20. package/lib/worker/unifiedRenderer.d.ts +44 -0
  21. package/lib/worker/web-worker-renderer.d.ts +115 -0
  22. package/lib/worker/webWorkerRenderer.d.ts +124 -0
  23. package/lib/worker/worker-manager.d.ts +113 -0
  24. package/package.json +4 -3
  25. /package/{dist → lib}/cache/fontCacheManager.d.ts +0 -0
  26. /package/{dist → lib}/cache/index.d.ts +0 -0
  27. /package/{dist → lib}/cache/schema.d.ts +0 -0
  28. /package/{dist → lib}/common/eventManager.d.ts +0 -0
  29. /package/{dist → lib}/common/index.d.ts +0 -0
  30. /package/{dist → lib}/common/utils.d.ts +0 -0
  31. /package/{dist → lib}/font/baseTextShape.d.ts +0 -0
  32. /package/{dist → lib}/font/defaultFontLoader.d.ts +0 -0
  33. /package/{dist → lib}/font/font.d.ts +0 -0
  34. /package/{dist → lib}/font/fontFactory.d.ts +0 -0
  35. /package/{dist → lib}/font/fontLoader.d.ts +0 -0
  36. /package/{dist → lib}/font/index.d.ts +0 -0
  37. /package/{dist → lib}/font/meshFontParser.d.ts +0 -0
  38. /package/{dist → lib}/font/meshTextShape.d.ts +0 -0
  39. /package/{dist → lib}/font/normalComputationToggle.d.ts +0 -0
  40. /package/{dist → lib}/renderer/index.d.ts +0 -0
  41. /package/{dist → lib}/renderer/mtext.d.ts +0 -0
  42. /package/{dist → lib}/renderer/mtextProcessor.d.ts +0 -0
  43. /package/{dist → lib}/renderer/styleManager.d.ts +0 -0
  44. /package/{dist → lib}/renderer/types.d.ts +0 -0
@@ -0,0 +1,113 @@
1
+ import { MTextData, TextStyle, ColorSettings } from '../renderer/types';
2
+ import * as THREE from 'three';
3
+ interface SerializedMText {
4
+ type: string;
5
+ position: {
6
+ x: number;
7
+ y: number;
8
+ z: number;
9
+ };
10
+ rotation: {
11
+ x: number;
12
+ y: number;
13
+ z: number;
14
+ w: number;
15
+ };
16
+ scale: {
17
+ x: number;
18
+ y: number;
19
+ z: number;
20
+ };
21
+ box: {
22
+ min: {
23
+ x: number;
24
+ y: number;
25
+ z: number;
26
+ };
27
+ max: {
28
+ x: number;
29
+ y: number;
30
+ z: number;
31
+ };
32
+ };
33
+ children: SerializedChild[];
34
+ }
35
+ interface SerializedChild {
36
+ type: 'mesh' | 'line';
37
+ position: {
38
+ x: number;
39
+ y: number;
40
+ z: number;
41
+ };
42
+ rotation: {
43
+ x: number;
44
+ y: number;
45
+ z: number;
46
+ w: number;
47
+ };
48
+ scale: {
49
+ x: number;
50
+ y: number;
51
+ z: number;
52
+ };
53
+ geometry: {
54
+ attributes: {
55
+ [key: string]: {
56
+ arrayBuffer: ArrayBuffer;
57
+ byteOffset: number;
58
+ length: number;
59
+ itemSize: number;
60
+ normalized: boolean;
61
+ };
62
+ };
63
+ index: {
64
+ arrayBuffer: ArrayBuffer;
65
+ byteOffset: number;
66
+ length: number;
67
+ } | null;
68
+ };
69
+ material: {
70
+ type: string;
71
+ color: number;
72
+ transparent: boolean;
73
+ opacity: number;
74
+ side?: number;
75
+ linewidth?: number;
76
+ };
77
+ }
78
+ /**
79
+ * Manages communication with the MText web worker
80
+ */
81
+ export declare class MTextWorkerManager {
82
+ private worker;
83
+ private pendingRequests;
84
+ private requestId;
85
+ constructor();
86
+ private handleWorkerMessage;
87
+ private sendMessage;
88
+ /**
89
+ * Render MText in the worker and return serialized data
90
+ */
91
+ renderMText(mtextContent: MTextData, textStyle: TextStyle, colorSettings?: ColorSettings): Promise<SerializedMText>;
92
+ /**
93
+ * Load fonts in the worker
94
+ */
95
+ loadFonts(fonts: string[]): Promise<{
96
+ loaded: string[];
97
+ }>;
98
+ /**
99
+ * Get available fonts from the worker
100
+ */
101
+ getAvailableFonts(): Promise<{
102
+ fonts: any[];
103
+ }>;
104
+ /**
105
+ * Reconstruct MText object from JSON serialized data
106
+ */
107
+ reconstructMText(serializedData: SerializedMText): THREE.Object3D;
108
+ /**
109
+ * Terminate the worker
110
+ */
111
+ terminate(): void;
112
+ }
113
+ export {};
package/package.json CHANGED
@@ -1,12 +1,13 @@
1
1
  {
2
2
  "name": "@mlightcad/mtext-renderer",
3
- "version": "0.4.4",
3
+ "version": "0.4.6",
4
4
  "description": "AutoCAD MText renderer based on Three.js",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
- "types": "dist/index.d.ts",
7
+ "types": "lib/index.d.ts",
8
8
  "files": [
9
9
  "dist",
10
+ "lib",
10
11
  "README.md",
11
12
  "package.json"
12
13
  ],
@@ -22,7 +23,7 @@
22
23
  "license": "MIT",
23
24
  "dependencies": {
24
25
  "@mlightcad/mtext-parser": "^1.2.0",
25
- "@mlightcad/shx-parser": "^1.0.4",
26
+ "@mlightcad/shx-parser": "^1.0.5",
26
27
  "opentype.js": "^1.3.4",
27
28
  "idb": "^8.0.3"
28
29
  },
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes