@configura/web-core 1.3.0-alpha.3 → 1.3.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.
Files changed (177) hide show
  1. package/LICENSE +201 -201
  2. package/README.md +1 -1
  3. package/dist/cm/basic/Color.d.ts +16 -16
  4. package/dist/cm/basic/Color.js +18 -18
  5. package/dist/cm/basic/ColorF.d.ts +9 -9
  6. package/dist/cm/basic/ColorF.js +10 -10
  7. package/dist/cm/basic/boolean.d.ts +2 -2
  8. package/dist/cm/basic/boolean.js +11 -11
  9. package/dist/cm/basic/number.d.ts +3 -3
  10. package/dist/cm/basic/number.js +18 -18
  11. package/dist/cm/basic/string.d.ts +2 -2
  12. package/dist/cm/basic/string.js +11 -11
  13. package/dist/cm/core3D/ATriMeshF.d.ts +96 -90
  14. package/dist/cm/core3D/ATriMeshF.js +197 -193
  15. package/dist/cm/core3D/GMaterial3D.d.ts +62 -58
  16. package/dist/cm/core3D/GMaterial3D.js +112 -112
  17. package/dist/cm/core3D/GMaterialClassic.d.ts +55 -55
  18. package/dist/cm/core3D/GMaterialClassic.js +171 -171
  19. package/dist/cm/core3D/GMaterialPBR.d.ts +73 -71
  20. package/dist/cm/core3D/GMaterialPBR.js +314 -288
  21. package/dist/cm/core3D/MultiGMaterial3D.d.ts +8 -8
  22. package/dist/cm/core3D/MultiGMaterial3D.js +17 -17
  23. package/dist/cm/core3D/{UVMapEnv.d.ts → uvmapper/UVMapEnv.d.ts} +19 -17
  24. package/dist/cm/core3D/{UVMapEnv.js → uvmapper/UVMapEnv.js} +47 -35
  25. package/dist/cm/core3D/uvmapper/UVMapper.d.ts +42 -0
  26. package/dist/cm/core3D/uvmapper/UVMapper.js +94 -0
  27. package/dist/cm/core3D/uvmapper/UVMapperBox.d.ts +5 -0
  28. package/dist/cm/core3D/uvmapper/UVMapperBox.js +181 -0
  29. package/dist/cm/core3D/uvmapper/UVMapperCylinder.d.ts +10 -0
  30. package/dist/cm/core3D/uvmapper/UVMapperCylinder.js +96 -0
  31. package/dist/cm/core3D/uvmapper/UVMapperPlane.d.ts +4 -0
  32. package/dist/cm/core3D/uvmapper/UVMapperPlane.js +84 -0
  33. package/dist/cm/core3D/uvmapper/UVTransformer.d.ts +6 -0
  34. package/dist/cm/core3D/{UVTransformer.js → uvmapper/UVTransformer.js} +5 -5
  35. package/dist/cm/core3D/uvmapper/instantiateUVMapper.d.ts +4 -0
  36. package/dist/cm/core3D/uvmapper/instantiateUVMapper.js +4 -0
  37. package/dist/cm/format/cmsym/InvalidationEnv.d.ts +9 -9
  38. package/dist/cm/format/cmsym/InvalidationEnv.js +13 -13
  39. package/dist/cm/format/cmsym/SymImportEnv.d.ts +9 -9
  40. package/dist/cm/format/cmsym/SymImportEnv.js +9 -9
  41. package/dist/cm/format/cmsym/SymInv.d.ts +8 -8
  42. package/dist/cm/format/cmsym/SymInv.js +15 -15
  43. package/dist/cm/format/cmsym/SymNode.d.ts +93 -85
  44. package/dist/cm/format/cmsym/SymNode.js +652 -577
  45. package/dist/cm/format/cmsym/components/SymBox.d.ts +15 -14
  46. package/dist/cm/format/cmsym/components/SymBox.js +39 -34
  47. package/dist/cm/format/cmsym/components/SymComponent.d.ts +29 -29
  48. package/dist/cm/format/cmsym/components/SymComponent.js +54 -54
  49. package/dist/cm/format/cmsym/components/SymConnector.d.ts +5 -5
  50. package/dist/cm/format/cmsym/components/SymConnector.js +10 -10
  51. package/dist/cm/format/cmsym/components/SymDexObj.d.ts +11 -11
  52. package/dist/cm/format/cmsym/components/SymDexObj.js +10 -10
  53. package/dist/cm/format/cmsym/components/SymGFX.d.ts +11 -11
  54. package/dist/cm/format/cmsym/components/SymGFX.js +20 -20
  55. package/dist/cm/format/cmsym/components/SymGMaterial.d.ts +19 -19
  56. package/dist/cm/format/cmsym/components/SymGMaterial.js +88 -88
  57. package/dist/cm/format/cmsym/components/SymGMaterialSelector.d.ts +17 -12
  58. package/dist/cm/format/cmsym/components/SymGMaterialSelector.js +22 -20
  59. package/dist/cm/format/cmsym/components/SymGetMeshEnv.d.ts +9 -9
  60. package/dist/cm/format/cmsym/components/SymGetMeshEnv.js +9 -9
  61. package/dist/cm/format/cmsym/components/SymLODGroup.d.ts +9 -9
  62. package/dist/cm/format/cmsym/components/SymLODGroup.js +11 -11
  63. package/dist/cm/format/cmsym/components/SymLight.d.ts +8 -8
  64. package/dist/cm/format/cmsym/components/SymLight.js +10 -10
  65. package/dist/cm/format/cmsym/components/SymLines2D.d.ts +5 -5
  66. package/dist/cm/format/cmsym/components/SymLines2D.js +7 -7
  67. package/dist/cm/format/cmsym/components/SymMeasure.d.ts +33 -34
  68. package/dist/cm/format/cmsym/components/SymMeasure.js +149 -158
  69. package/dist/cm/format/cmsym/components/SymMesh.d.ts +29 -29
  70. package/dist/cm/format/cmsym/components/SymMesh.js +130 -130
  71. package/dist/cm/format/cmsym/components/SymMeshLight.d.ts +8 -8
  72. package/dist/cm/format/cmsym/components/SymMeshLight.js +10 -10
  73. package/dist/cm/format/cmsym/components/SymMultiSelector.d.ts +13 -13
  74. package/dist/cm/format/cmsym/components/SymMultiSelector.js +48 -49
  75. package/dist/cm/format/cmsym/components/SymParams.d.ts +16 -4
  76. package/dist/cm/format/cmsym/components/SymParams.js +58 -7
  77. package/dist/cm/format/cmsym/components/SymPlane.d.ts +14 -14
  78. package/dist/cm/format/cmsym/components/SymPlane.js +30 -27
  79. package/dist/cm/format/cmsym/components/SymPlaneDivider.d.ts +4 -4
  80. package/dist/cm/format/cmsym/components/SymPlaneDivider.js +7 -7
  81. package/dist/cm/format/cmsym/components/SymPrimitive2D.d.ts +3 -3
  82. package/dist/cm/format/cmsym/components/SymPrimitive2D.js +3 -3
  83. package/dist/cm/format/cmsym/components/SymProgs.d.ts +32 -4
  84. package/dist/cm/format/cmsym/components/SymProgs.js +120 -7
  85. package/dist/cm/format/cmsym/components/SymProps.d.ts +54 -54
  86. package/dist/cm/format/cmsym/components/SymProps.js +170 -170
  87. package/dist/cm/format/cmsym/components/SymRep.d.ts +13 -13
  88. package/dist/cm/format/cmsym/components/SymRep.js +28 -28
  89. package/dist/cm/format/cmsym/components/SymReps.d.ts +36 -36
  90. package/dist/cm/format/cmsym/components/SymReps.js +229 -229
  91. package/dist/cm/format/cmsym/components/SymShape.d.ts +10 -10
  92. package/dist/cm/format/cmsym/components/SymShape.js +17 -14
  93. package/dist/cm/format/cmsym/components/SymSphere.d.ts +18 -16
  94. package/dist/cm/format/cmsym/components/SymSphere.js +33 -30
  95. package/dist/cm/format/cmsym/components/SymSpotlight.d.ts +8 -8
  96. package/dist/cm/format/cmsym/components/SymSpotlight.js +10 -10
  97. package/dist/cm/format/cmsym/components/SymTags.d.ts +11 -11
  98. package/dist/cm/format/cmsym/components/SymTags.js +20 -20
  99. package/dist/cm/format/cmsym/components/SymText2D.d.ts +5 -4
  100. package/dist/cm/format/cmsym/components/SymText2D.js +8 -8
  101. package/dist/cm/format/cmsym/components/SymText3D.d.ts +5 -4
  102. package/dist/cm/format/cmsym/components/SymText3D.js +8 -8
  103. package/dist/cm/format/cmsym/components/SymTransform.d.ts +23 -23
  104. package/dist/cm/format/cmsym/components/SymTransform.js +101 -101
  105. package/dist/cm/format/cmsym/components/SymUVMapper.d.ts +13 -13
  106. package/dist/cm/format/cmsym/components/SymUVMapper.js +50 -50
  107. package/dist/cm/format/cmsym/components/instantiate.d.ts +2 -2
  108. package/dist/cm/format/cmsym/components/instantiate.js +121 -121
  109. package/dist/cm/format/cmsym/components/legacy.d.ts +7 -7
  110. package/dist/cm/format/cmsym/components/legacy.js +27 -27
  111. package/dist/cm/format/cmsym/components/mesh.d.ts +8 -8
  112. package/dist/cm/format/cmsym/components/mesh.js +28 -28
  113. package/dist/cm/format/cmsym/invalidation.d.ts +4 -4
  114. package/dist/cm/format/cmsym/invalidation.js +72 -72
  115. package/dist/cm/format/dex/DexIRef.d.ts +9 -9
  116. package/dist/cm/format/dex/DexIRef.js +18 -18
  117. package/dist/cm/format/dex/DexInt.d.ts +11 -11
  118. package/dist/cm/format/dex/DexInt.js +18 -18
  119. package/dist/cm/format/dex/DexInternalizedXRef.d.ts +19 -19
  120. package/dist/cm/format/dex/DexInternalizedXRef.js +64 -64
  121. package/dist/cm/format/dex/DexLoader.d.ts +8 -8
  122. package/dist/cm/format/dex/DexLoader.js +12 -12
  123. package/dist/cm/format/dex/DexManager.d.ts +20 -20
  124. package/dist/cm/format/dex/DexManager.js +78 -78
  125. package/dist/cm/format/dex/DexObj.d.ts +15 -15
  126. package/dist/cm/format/dex/DexObj.js +86 -86
  127. package/dist/cm/format/dex/DexReader.d.ts +90 -86
  128. package/dist/cm/format/dex/DexReader.js +532 -492
  129. package/dist/cm/format/dex/DexRef.d.ts +6 -6
  130. package/dist/cm/format/dex/DexRef.js +8 -8
  131. package/dist/cm/format/dex/DexReplacedXRefs.d.ts +8 -8
  132. package/dist/cm/format/dex/DexReplacedXRefs.js +22 -22
  133. package/dist/cm/format/dex/DexURL.d.ts +4 -4
  134. package/dist/cm/format/dex/DexURL.js +5 -5
  135. package/dist/cm/format/dex/DexVersion.d.ts +15 -15
  136. package/dist/cm/format/dex/DexVersion.js +53 -53
  137. package/dist/cm/format/dex/DexXRef.d.ts +18 -18
  138. package/dist/cm/format/dex/DexXRef.js +51 -51
  139. package/dist/cm/format/dex/DexXRefTargetFilter.d.ts +4 -4
  140. package/dist/cm/format/dex/DexXRefTargetFilter.js +5 -5
  141. package/dist/cm/geometry/Angle.d.ts +9 -9
  142. package/dist/cm/geometry/Angle.js +18 -18
  143. package/dist/cm/geometry/AngleF.d.ts +5 -5
  144. package/dist/cm/geometry/AngleF.js +8 -8
  145. package/dist/cm/geometry/Box.d.ts +7 -7
  146. package/dist/cm/geometry/Box.js +9 -9
  147. package/dist/cm/geometry/DetailMask.d.ts +37 -32
  148. package/dist/cm/geometry/DetailMask.js +114 -112
  149. package/dist/cm/geometry/LayerExpr.d.ts +2 -2
  150. package/dist/cm/geometry/LayerExpr.js +2 -2
  151. package/dist/cm/geometry/Matrix22.d.ts +7 -6
  152. package/dist/cm/geometry/Matrix22.js +9 -6
  153. package/dist/cm/geometry/Matrix33.d.ts +42 -42
  154. package/dist/cm/geometry/Matrix33.js +124 -124
  155. package/dist/cm/geometry/Orientation.d.ts +7 -7
  156. package/dist/cm/geometry/Orientation.js +7 -7
  157. package/dist/cm/geometry/Plane.d.ts +8 -8
  158. package/dist/cm/geometry/Plane.js +14 -14
  159. package/dist/cm/geometry/Point.d.ts +21 -18
  160. package/dist/cm/geometry/Point.js +65 -56
  161. package/dist/cm/geometry/Point2D.d.ts +9 -8
  162. package/dist/cm/geometry/Point2D.js +23 -20
  163. package/dist/cm/geometry/PointF.d.ts +11 -11
  164. package/dist/cm/geometry/PointF.js +27 -27
  165. package/dist/cm/geometry/Transform.d.ts +11 -11
  166. package/dist/cm/geometry/Transform.js +61 -61
  167. package/dist/cm/geometry/Transform2D.d.ts +7 -7
  168. package/dist/cm/geometry/Transform2D.js +6 -6
  169. package/dist/cm/io/Semver.d.ts +18 -17
  170. package/dist/cm/io/Semver.js +61 -58
  171. package/dist/index.js +1 -1
  172. package/package.json +4 -4
  173. package/dist/cm/core3D/DummyUVMapper.d.ts +0 -7
  174. package/dist/cm/core3D/DummyUVMapper.js +0 -6
  175. package/dist/cm/core3D/UVTransformer.d.ts +0 -6
  176. package/dist/cm/core3D/instantiateUVMapper.d.ts +0 -4
  177. package/dist/cm/core3D/instantiateUVMapper.js +0 -5
@@ -0,0 +1,84 @@
1
+ import { UVMapper } from "./UVMapper.js";
2
+ /**
3
+ * Calculate base vectors for the mapping plane where the first is orthogonal with the
4
+ * normal-vector and flat along the ground and the other is orthogonal to the first two.
5
+ */
6
+ function calculateMappingPlaneVectors(normal) {
7
+ const [normalX, normalY, normalZ] = normal;
8
+ const normalLen = Math.sqrt(normalX * normalX + normalY * normalY + normalZ * normalZ);
9
+ // Probably already normalized, but just to be sure
10
+ const normalNormalized = normal.map((n) => n / normalLen);
11
+ if (normalNormalized[0] === 0 && normalNormalized[1] === 0 && normalNormalized[2] === 1) {
12
+ return [
13
+ [0, 1, 0],
14
+ [-1, 0, 0],
15
+ ];
16
+ }
17
+ const [normalNormalizedX, normalNormalizedY, normalNormalizedZ] = normalNormalized;
18
+ const base0Len = Math.sqrt(normalNormalizedX * normalNormalizedX + normalNormalizedY * normalNormalizedY);
19
+ // Along the ground (z is 0) as in CET
20
+ const base0 = [-normalNormalizedY / base0Len, normalNormalizedX / base0Len, 0];
21
+ const [base0X, base0Y, base0Z] = base0;
22
+ // Cross product, orthogonal to the plane normal and the "along the ground vector"
23
+ const base1 = [
24
+ normalNormalizedY * base0Z - normalNormalizedZ * base0Y,
25
+ normalNormalizedZ * base0X - normalNormalizedX * base0Z,
26
+ normalNormalizedX * base0Y - normalNormalizedY * base0X,
27
+ ];
28
+ return [base0, base1];
29
+ }
30
+ /** From a point over to the UV-coordinates by projecting */
31
+ function toUv(point, mappingPlaneVectors) {
32
+ const [b0, b1] = mappingPlaneVectors;
33
+ const [x, y, z] = point;
34
+ return [b0[0] * x + b0[1] * y + b0[2] * z, b1[0] * x + b1[1] * y + b1[2] * z];
35
+ }
36
+ export function createUVPlaneCoordinates(env, positions) {
37
+ return createUV(env, positions, undefined);
38
+ }
39
+ export function createUVPlaneCoordinatesForStretched(env, positions, refPositions) {
40
+ return createUV(env, positions, refPositions);
41
+ }
42
+ function createUV(env, positions, refPositions) {
43
+ var _a;
44
+ if (env === undefined) {
45
+ throw new Error("env needed for plane mapper");
46
+ }
47
+ const xyzCount = positions.length;
48
+ const vertexCount = xyzCount / 3;
49
+ if (refPositions !== undefined && refPositions.length !== xyzCount) {
50
+ throw new Error(`Position count differs: ${refPositions.length} vs ${xyzCount}.`);
51
+ }
52
+ refPositions = refPositions || positions;
53
+ const normal = env.normal;
54
+ const transform = (_a = env.transforms) === null || _a === void 0 ? void 0 : _a[0];
55
+ const mappingPlaneVectors = calculateMappingPlaneVectors([normal.x, normal.y, normal.z]);
56
+ let refMinU = Number.POSITIVE_INFINITY;
57
+ let refMaxU = Number.NEGATIVE_INFINITY;
58
+ let refMinV = Number.POSITIVE_INFINITY;
59
+ let refMaxV = Number.NEGATIVE_INFINITY;
60
+ for (let i = 0; i < vertexCount; i++) {
61
+ const xyzOffset = i * 3;
62
+ const [u, v] = toUv([refPositions[xyzOffset], refPositions[xyzOffset + 1], refPositions[xyzOffset + 2]], mappingPlaneVectors);
63
+ refMinU = Math.min(refMinU, u);
64
+ refMaxU = Math.max(refMaxU, u);
65
+ refMinV = Math.min(refMinV, v);
66
+ refMaxV = Math.max(refMaxV, v);
67
+ }
68
+ const refSizeU = refMaxU - refMinU;
69
+ const refSizeV = refMaxV - refMinV;
70
+ const newUvs = new Float32Array(vertexCount * 2);
71
+ for (let i = 0; i < vertexCount; i++) {
72
+ const xyzOffset = i * 3;
73
+ const uvOffset = i * 2;
74
+ let [u, v] = toUv([positions[xyzOffset], positions[xyzOffset + 1], positions[xyzOffset + 2]], mappingPlaneVectors);
75
+ u = (u - refMinU) / refSizeU;
76
+ v = (v - refMinV) / refSizeV;
77
+ if (transform !== undefined) {
78
+ [u, v] = UVMapper.applyUvTransform([u, v], transform);
79
+ }
80
+ newUvs[uvOffset] = u;
81
+ newUvs[uvOffset + 1] = v;
82
+ }
83
+ return newUvs;
84
+ }
@@ -0,0 +1,6 @@
1
+ import { Transform2D } from "../../geometry/Transform2D.js";
2
+ export declare class UVTransformer {
3
+ transform: Transform2D;
4
+ constructor(transform: Transform2D);
5
+ }
6
+ //# sourceMappingURL=UVTransformer.d.ts.map
@@ -1,5 +1,5 @@
1
- export class UVTransformer {
2
- constructor(transform) {
3
- this.transform = transform;
4
- }
5
- }
1
+ export class UVTransformer {
2
+ constructor(transform) {
3
+ this.transform = transform;
4
+ }
5
+ }
@@ -0,0 +1,4 @@
1
+ import { Logger } from "@configura/web-utilities";
2
+ import { UVMapper } from "./UVMapper.js";
3
+ export declare function instantiateUVMapper(logger: Logger, className: string): UVMapper;
4
+ //# sourceMappingURL=instantiateUVMapper.d.ts.map
@@ -0,0 +1,4 @@
1
+ import { UVMapper } from "./UVMapper.js";
2
+ export function instantiateUVMapper(logger, className) {
3
+ return new UVMapper();
4
+ }
@@ -1,10 +1,10 @@
1
- import { SymInv } from "./SymInv.js";
2
- import { SymNode } from "./SymNode.js";
3
- export declare class InvalidationEnv {
4
- node: SymNode;
5
- invalidation: SymInv[];
6
- n: number;
7
- constructor(node: SymNode, invalidation: SymInv[], n?: number);
8
- dump(): void;
9
- }
1
+ import { SymInv } from "./SymInv.js";
2
+ import { SymNode } from "./SymNode.js";
3
+ export declare class InvalidationEnv {
4
+ node: SymNode;
5
+ invalidation: SymInv[];
6
+ n: number;
7
+ constructor(node: SymNode, invalidation: SymInv[], n?: number);
8
+ dump(): void;
9
+ }
10
10
  //# sourceMappingURL=InvalidationEnv.d.ts.map
@@ -1,13 +1,13 @@
1
- export class InvalidationEnv {
2
- constructor(node, invalidation, n = 0) {
3
- this.node = node;
4
- this.invalidation = invalidation;
5
- this.n = n;
6
- }
7
- dump() {
8
- console.log(`${" ".repeat(this.n)}${this.node}`);
9
- for (const inv of this.invalidation) {
10
- console.log(`${" ".repeat(this.n + 1)}${inv}`);
11
- }
12
- }
13
- }
1
+ export class InvalidationEnv {
2
+ constructor(node, invalidation, n = 0) {
3
+ this.node = node;
4
+ this.invalidation = invalidation;
5
+ this.n = n;
6
+ }
7
+ dump() {
8
+ console.log(`${" ".repeat(this.n)}${this.node}`);
9
+ for (const inv of this.invalidation) {
10
+ console.log(`${" ".repeat(this.n + 1)}${inv}`);
11
+ }
12
+ }
13
+ }
@@ -1,10 +1,10 @@
1
- import { Semver } from "../../io/Semver.js";
2
- import { DexObj } from "../dex/DexObj.js";
3
- import { SymNode } from "./SymNode.js";
4
- export declare class SymImportEnv {
5
- fileVersion: Semver;
6
- sharedNodeMap: Map<DexObj, SymNode>;
7
- constructor(fileVersion: Semver);
8
- copy(): SymImportEnv;
9
- }
1
+ import { Semver } from "../../io/Semver.js";
2
+ import { DexObj } from "../dex/DexObj.js";
3
+ import { SymNode } from "./SymNode.js";
4
+ export declare class SymImportEnv {
5
+ fileVersion: Semver;
6
+ sharedNodeMap: Map<DexObj, SymNode>;
7
+ constructor(fileVersion: Semver);
8
+ copy(): SymImportEnv;
9
+ }
10
10
  //# sourceMappingURL=SymImportEnv.d.ts.map
@@ -1,9 +1,9 @@
1
- export class SymImportEnv {
2
- constructor(fileVersion) {
3
- this.fileVersion = fileVersion;
4
- this.sharedNodeMap = new Map();
5
- }
6
- copy() {
7
- return new SymImportEnv(this.fileVersion);
8
- }
9
- }
1
+ export class SymImportEnv {
2
+ constructor(fileVersion) {
3
+ this.fileVersion = fileVersion;
4
+ this.sharedNodeMap = new Map();
5
+ }
6
+ copy() {
7
+ return new SymImportEnv(this.fileVersion);
8
+ }
9
+ }
@@ -1,9 +1,9 @@
1
- import { SymNode } from "./SymNode.js";
2
- export declare class SymInv {
3
- needToInvalidate(node: SymNode): boolean;
4
- skip(node: SymNode): boolean;
5
- propagate(): boolean;
6
- invalidate(node: SymNode): void;
7
- toString(): string;
8
- }
1
+ import { SymNode } from "./SymNode.js";
2
+ export declare class SymInv {
3
+ needToInvalidate(node: SymNode): boolean;
4
+ skip(node: SymNode): boolean;
5
+ propagate(): boolean;
6
+ invalidate(node: SymNode): void;
7
+ toString(): string;
8
+ }
9
9
  //# sourceMappingURL=SymInv.d.ts.map
@@ -1,15 +1,15 @@
1
- export class SymInv {
2
- needToInvalidate(node) {
3
- return true;
4
- }
5
- skip(node) {
6
- return false;
7
- }
8
- propagate() {
9
- return true;
10
- }
11
- invalidate(node) { }
12
- toString() {
13
- return `SymInv()`;
14
- }
15
- }
1
+ export class SymInv {
2
+ needToInvalidate(node) {
3
+ return true;
4
+ }
5
+ skip(node) {
6
+ return false;
7
+ }
8
+ propagate() {
9
+ return true;
10
+ }
11
+ invalidate(node) { }
12
+ toString() {
13
+ return `SymInv()`;
14
+ }
15
+ }
@@ -1,86 +1,94 @@
1
- import { Logger } from "@configura/web-utilities";
2
- import { DetailLevel } from "../../geometry/DetailMask.js";
3
- import { DexManager } from "../dex/DexManager.js";
4
- import { DexObj } from "../dex/DexObj.js";
5
- import { SymBox } from "./components/SymBox.js";
6
- import { DexObjKey, SymComponent, SymComponentKey } from "./components/SymComponent.js";
7
- import { SymDexObj } from "./components/SymDexObj.js";
8
- import { SymGMaterial } from "./components/SymGMaterial.js";
9
- import { SymGMaterialSelector } from "./components/SymGMaterialSelector.js";
10
- import { SymMesh } from "./components/SymMesh.js";
11
- import { SymProps } from "./components/SymProps.js";
12
- import { SymReps } from "./components/SymReps.js";
13
- import { SymSphere } from "./components/SymSphere.js";
14
- import { SymTags } from "./components/SymTags.js";
15
- import { SymTransform } from "./components/SymTransform.js";
16
- import { SymUVMapper } from "./components/SymUVMapper.js";
17
- import { SymImportEnv } from "./SymImportEnv.js";
18
- export declare class SymNode {
19
- id: string;
20
- _children?: Map<string, SymNode>;
21
- components: Map<string, SymComponent>;
22
- _parents?: SymNode[];
23
- constructor(id: string);
24
- setId(logger: Logger, newId: string): void;
25
- children(logger: Logger, safe: true, load: boolean): Map<string, SymNode>;
26
- children(logger: Logger, safe?: boolean, load?: boolean): Map<string, SymNode> | undefined;
27
- ensureChildrenLoaded(logger: Logger): void;
28
- dexChildrenCount(): number;
29
- loadDexChildren(logger: Logger): void;
30
- addChild(logger: Logger, child: SymNode, invalidate?: boolean): void;
31
- loadChild(logger: Logger, dexChildren: DexObj, id: string, env?: SymImportEnv): SymNode | undefined;
32
- addParent(parent?: SymNode, safe?: boolean): void;
33
- invalidateParent(parent: SymNode, removed: boolean): void;
34
- invalidate(removed: boolean): void;
35
- importEnv(ascend?: boolean): SymImportEnv | undefined;
36
- setImportEnv(env: SymImportEnv): (SymDexObj & Error) | undefined;
37
- set(key: string, value: any): void;
38
- get(key: string): unknown;
39
- has(key: string): boolean;
40
- fillPropsAfterLoad(): (SymProps & Error) | undefined;
41
- hasDexComponent(key: string): boolean | (DexObj & Error);
42
- breakDexConnection(loadChildren?: boolean, descend?: boolean): void;
43
- _breakDexConnection(env: SymImportEnv, loadChildren: boolean, descend: boolean): void;
44
- dexObj(): DexObj | undefined;
45
- symDexObj(): SymDexObj | undefined;
46
- symGMaterial(safe: true): SymGMaterial;
47
- symGMaterial(safe?: boolean): SymGMaterial | undefined;
48
- symGMaterialSelector(safe: true): SymGMaterialSelector;
49
- symGMaterialSelector(safe?: boolean): SymGMaterialSelector | undefined;
50
- symMesh(safe: true): SymMesh;
51
- symMesh(safe?: boolean): SymMesh | undefined;
52
- symSphere(safe: true): SymSphere;
53
- symSphere(safe?: boolean): SymSphere | undefined;
54
- symBox(safe: true): SymBox;
55
- symBox(safe?: boolean): SymBox | undefined;
56
- symProps(safe: true): SymProps;
57
- symProps(safe?: boolean): SymProps | undefined;
58
- symReps(safe: true): SymReps;
59
- symReps(safe?: boolean): SymReps | undefined;
60
- symTags(safe: true): SymTags;
61
- symTags(safe?: boolean): SymTags | undefined;
62
- symTransform(safe: true): SymTransform;
63
- symTransform(safe?: boolean): SymTransform | undefined;
64
- symUVMapper(safe: true): SymUVMapper;
65
- symUVMapper(safe?: boolean): SymUVMapper | undefined;
66
- getComponent(key: SymComponentKey): SymComponent | undefined;
67
- addComponent(component: SymComponent, invalidate?: boolean): void;
68
- hasComponent(key: SymComponentKey | DexObjKey): boolean;
69
- removeComponent(key: SymComponentKey, invalidate?: boolean): void;
70
- loadComponents(logger: Logger, force?: boolean): void;
71
- loadComponent(logger: Logger, key: SymComponentKey | DexObjKey, obj: DexObj, env?: SymImportEnv, force?: boolean): boolean;
72
- prepareAfterLoad(): void;
73
- features(create?: boolean): Map<string, SymComponentKey>;
74
- featureProviderKey(feature: string): SymComponentKey | undefined;
75
- featureProvider(feature: string): SymComponent | undefined;
76
- buildFeatures(): Map<string, SymComponentKey>;
77
- addFeaturesFrom(component: SymComponent): void;
78
- childrenProvider(): SymComponent | undefined;
79
- meshProvider(): SymComponent | undefined;
80
- get3DTmp(logger: Logger, detail: DetailLevel): import("./components/mesh.js").TaggedNode[];
81
- toString(): string;
82
- }
83
- export declare function toSymNode(logger: Logger, obj: DexObj, parent?: SymNode, env?: SymImportEnv, putImportEnv?: boolean): SymNode;
84
- export declare function loadSymFile(logger: Logger, url: string, manager: DexManager, abortSignal?: AbortSignal): Promise<SymNode>;
85
- export declare function makeSymFromDex(logger: Logger, root: DexObj): SymNode;
1
+ import { Logger } from "@configura/web-utilities";
2
+ import { DetailLevel } from "../../geometry/DetailMask.js";
3
+ import { DexManager } from "../dex/DexManager.js";
4
+ import { DexObj } from "../dex/DexObj.js";
5
+ import { SymBox } from "./components/SymBox.js";
6
+ import { DexObjKey, SymComponent, SymComponentKey } from "./components/SymComponent.js";
7
+ import { SymDexObj } from "./components/SymDexObj.js";
8
+ import { SymGMaterial } from "./components/SymGMaterial.js";
9
+ import { SymGMaterialSelector } from "./components/SymGMaterialSelector.js";
10
+ import { SymMeasure } from "./components/SymMeasure.js";
11
+ import { SymMesh } from "./components/SymMesh.js";
12
+ import { SymPlane } from "./components/SymPlane.js";
13
+ import { SymProps } from "./components/SymProps.js";
14
+ import { SymReps } from "./components/SymReps.js";
15
+ import { SymSphere } from "./components/SymSphere.js";
16
+ import { SymTags } from "./components/SymTags.js";
17
+ import { SymTransform } from "./components/SymTransform.js";
18
+ import { SymUVMapper } from "./components/SymUVMapper.js";
19
+ import { SymImportEnv } from "./SymImportEnv.js";
20
+ export declare const VERBOSE_SYM_LOGGING = false;
21
+ export declare class SymNode {
22
+ id: string;
23
+ _children?: Map<string, SymNode>;
24
+ components: Map<string, SymComponent>;
25
+ _parents?: SymNode[];
26
+ constructor(id: string);
27
+ setId(logger: Logger, newId: string): void;
28
+ children(logger: Logger, safe: true, load: boolean): Map<string, SymNode>;
29
+ children(logger: Logger, safe?: boolean, load?: boolean): Map<string, SymNode> | undefined;
30
+ ensureChildrenLoaded(logger: Logger): void;
31
+ dexChildrenCount(): number;
32
+ loadDexChildren(logger: Logger): void;
33
+ addChild(logger: Logger, child: SymNode, invalidate?: boolean): void;
34
+ loadChild(logger: Logger, dexChildren: DexObj, id: string, env?: SymImportEnv): SymNode | undefined;
35
+ addParent(parent?: SymNode, safe?: boolean): void;
36
+ invalidateParent(parent: SymNode, removed: boolean): void;
37
+ invalidate(removed: boolean): void;
38
+ importEnv(ascend?: boolean): SymImportEnv | undefined;
39
+ setImportEnv(env: SymImportEnv): (SymDexObj & Error) | undefined;
40
+ set(key: string, value: any): void;
41
+ get(key: string): unknown;
42
+ has(key: string): boolean;
43
+ fillPropsAfterLoad(): (SymProps & Error) | undefined;
44
+ hasDexComponent(key: string): boolean | (DexObj & Error);
45
+ breakDexConnection(loadChildren?: boolean, descend?: boolean): void;
46
+ _breakDexConnection(env: SymImportEnv, loadChildren: boolean, descend: boolean): void;
47
+ dexObj(): DexObj | undefined;
48
+ symDexObj(): SymDexObj | undefined;
49
+ symGMaterial(safe: true): SymGMaterial;
50
+ symGMaterial(safe?: boolean): SymGMaterial | undefined;
51
+ symGMaterialSelector(safe: true): SymGMaterialSelector;
52
+ symGMaterialSelector(safe?: boolean): SymGMaterialSelector | undefined;
53
+ symMesh(safe: true): SymMesh;
54
+ symMesh(safe?: boolean): SymMesh | undefined;
55
+ symSphere(safe: true): SymSphere;
56
+ symSphere(safe?: boolean): SymSphere | undefined;
57
+ symBox(safe: true): SymBox;
58
+ symBox(safe?: boolean): SymBox | undefined;
59
+ symPlane(safe: true): SymPlane;
60
+ symPlane(safe?: boolean): SymPlane | undefined;
61
+ symProps(safe: true): SymProps;
62
+ symProps(safe?: boolean): SymProps | undefined;
63
+ symReps(safe: true): SymReps;
64
+ symReps(safe?: boolean): SymReps | undefined;
65
+ symTags(safe: true): SymTags;
66
+ symTags(safe?: boolean): SymTags | undefined;
67
+ symTransform(safe: true): SymTransform;
68
+ symTransform(safe?: boolean): SymTransform | undefined;
69
+ symUVMapper(safe: true): SymUVMapper;
70
+ symUVMapper(safe?: boolean): SymUVMapper | undefined;
71
+ getMeasure(): SymMeasure | undefined;
72
+ private _isStretch;
73
+ isStretch(logger: Logger, detailLevel: DetailLevel): boolean;
74
+ getComponent(key: SymComponentKey): SymComponent | undefined;
75
+ addComponent(component: SymComponent, invalidate?: boolean): void;
76
+ hasComponent(key: SymComponentKey | DexObjKey): boolean;
77
+ removeComponent(key: SymComponentKey, invalidate?: boolean): void;
78
+ loadComponents(logger: Logger, force?: boolean): void;
79
+ loadComponent(logger: Logger, key: SymComponentKey | DexObjKey, obj: DexObj, env?: SymImportEnv, force?: boolean): boolean;
80
+ prepareAfterLoad(): void;
81
+ features(create?: boolean): Map<string, SymComponentKey>;
82
+ featureProviderKey(feature: string): SymComponentKey | undefined;
83
+ featureProvider(feature: string): SymComponent | undefined;
84
+ buildFeatures(): Map<string, SymComponentKey>;
85
+ addFeaturesFrom(component: SymComponent): void;
86
+ childrenProvider(): SymComponent | undefined;
87
+ meshProvider(): SymComponent | undefined;
88
+ get3DTmp(logger: Logger, detail: DetailLevel): import("./components/mesh.js").TaggedNode[];
89
+ toString(): string;
90
+ }
91
+ export declare function toSymNode(logger: Logger, obj: DexObj, parent?: SymNode, env?: SymImportEnv, putImportEnv?: boolean): SymNode;
92
+ export declare function loadSymFile(logger: Logger, url: string, manager: DexManager, abortSignal?: AbortSignal): Promise<SymNode>;
93
+ export declare function makeSymFromDex(logger: Logger, root: DexObj): SymNode;
86
94
  //# sourceMappingURL=SymNode.d.ts.map