@configura/web-core 1.2.1 → 1.3.0-alpha.3

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 (166) 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 +90 -90
  14. package/dist/cm/core3D/ATriMeshF.js +193 -193
  15. package/dist/cm/core3D/DummyUVMapper.d.ts +6 -6
  16. package/dist/cm/core3D/DummyUVMapper.js +6 -6
  17. package/dist/cm/core3D/GMaterial3D.d.ts +58 -58
  18. package/dist/cm/core3D/GMaterial3D.js +112 -112
  19. package/dist/cm/core3D/GMaterialClassic.d.ts +55 -55
  20. package/dist/cm/core3D/GMaterialClassic.js +171 -171
  21. package/dist/cm/core3D/GMaterialPBR.d.ts +71 -71
  22. package/dist/cm/core3D/GMaterialPBR.js +288 -288
  23. package/dist/cm/core3D/MultiGMaterial3D.d.ts +8 -8
  24. package/dist/cm/core3D/MultiGMaterial3D.js +17 -17
  25. package/dist/cm/core3D/UVMapEnv.d.ts +17 -17
  26. package/dist/cm/core3D/UVMapEnv.js +35 -35
  27. package/dist/cm/core3D/UVTransformer.d.ts +5 -5
  28. package/dist/cm/core3D/UVTransformer.js +5 -5
  29. package/dist/cm/core3D/instantiateUVMapper.d.ts +3 -3
  30. package/dist/cm/core3D/instantiateUVMapper.js +5 -5
  31. package/dist/cm/format/cmsym/InvalidationEnv.d.ts +9 -9
  32. package/dist/cm/format/cmsym/InvalidationEnv.js +13 -13
  33. package/dist/cm/format/cmsym/SymImportEnv.d.ts +9 -9
  34. package/dist/cm/format/cmsym/SymImportEnv.js +9 -9
  35. package/dist/cm/format/cmsym/SymInv.d.ts +8 -8
  36. package/dist/cm/format/cmsym/SymInv.js +15 -15
  37. package/dist/cm/format/cmsym/SymNode.d.ts +85 -85
  38. package/dist/cm/format/cmsym/SymNode.js +577 -577
  39. package/dist/cm/format/cmsym/components/SymBox.d.ts +14 -14
  40. package/dist/cm/format/cmsym/components/SymBox.js +34 -34
  41. package/dist/cm/format/cmsym/components/SymComponent.d.ts +29 -29
  42. package/dist/cm/format/cmsym/components/SymComponent.js +54 -54
  43. package/dist/cm/format/cmsym/components/SymConnector.d.ts +5 -5
  44. package/dist/cm/format/cmsym/components/SymConnector.js +10 -10
  45. package/dist/cm/format/cmsym/components/SymDexObj.d.ts +11 -11
  46. package/dist/cm/format/cmsym/components/SymDexObj.js +10 -10
  47. package/dist/cm/format/cmsym/components/SymGFX.d.ts +11 -11
  48. package/dist/cm/format/cmsym/components/SymGFX.js +20 -20
  49. package/dist/cm/format/cmsym/components/SymGMaterial.d.ts +19 -19
  50. package/dist/cm/format/cmsym/components/SymGMaterial.js +88 -88
  51. package/dist/cm/format/cmsym/components/SymGMaterialSelector.d.ts +12 -12
  52. package/dist/cm/format/cmsym/components/SymGMaterialSelector.js +20 -20
  53. package/dist/cm/format/cmsym/components/SymGetMeshEnv.d.ts +9 -9
  54. package/dist/cm/format/cmsym/components/SymGetMeshEnv.js +9 -9
  55. package/dist/cm/format/cmsym/components/SymLODGroup.d.ts +9 -9
  56. package/dist/cm/format/cmsym/components/SymLODGroup.js +11 -11
  57. package/dist/cm/format/cmsym/components/SymLight.d.ts +8 -8
  58. package/dist/cm/format/cmsym/components/SymLight.js +10 -10
  59. package/dist/cm/format/cmsym/components/SymLines2D.d.ts +5 -5
  60. package/dist/cm/format/cmsym/components/SymLines2D.js +7 -7
  61. package/dist/cm/format/cmsym/components/SymMeasure.d.ts +34 -34
  62. package/dist/cm/format/cmsym/components/SymMeasure.js +158 -158
  63. package/dist/cm/format/cmsym/components/SymMesh.d.ts +29 -29
  64. package/dist/cm/format/cmsym/components/SymMesh.js +130 -130
  65. package/dist/cm/format/cmsym/components/SymMeshLight.d.ts +8 -8
  66. package/dist/cm/format/cmsym/components/SymMeshLight.js +10 -10
  67. package/dist/cm/format/cmsym/components/SymMultiSelector.d.ts +13 -13
  68. package/dist/cm/format/cmsym/components/SymMultiSelector.js +49 -49
  69. package/dist/cm/format/cmsym/components/SymParams.d.ts +4 -4
  70. package/dist/cm/format/cmsym/components/SymParams.js +7 -7
  71. package/dist/cm/format/cmsym/components/SymPlane.d.ts +14 -14
  72. package/dist/cm/format/cmsym/components/SymPlane.js +27 -27
  73. package/dist/cm/format/cmsym/components/SymPlaneDivider.d.ts +4 -4
  74. package/dist/cm/format/cmsym/components/SymPlaneDivider.js +7 -7
  75. package/dist/cm/format/cmsym/components/SymPrimitive2D.d.ts +3 -3
  76. package/dist/cm/format/cmsym/components/SymPrimitive2D.js +3 -3
  77. package/dist/cm/format/cmsym/components/SymProgs.d.ts +4 -4
  78. package/dist/cm/format/cmsym/components/SymProgs.js +7 -7
  79. package/dist/cm/format/cmsym/components/SymProps.d.ts +54 -54
  80. package/dist/cm/format/cmsym/components/SymProps.js +170 -170
  81. package/dist/cm/format/cmsym/components/SymRep.d.ts +13 -13
  82. package/dist/cm/format/cmsym/components/SymRep.js +28 -28
  83. package/dist/cm/format/cmsym/components/SymReps.d.ts +36 -36
  84. package/dist/cm/format/cmsym/components/SymReps.js +229 -229
  85. package/dist/cm/format/cmsym/components/SymShape.d.ts +10 -10
  86. package/dist/cm/format/cmsym/components/SymShape.js +14 -14
  87. package/dist/cm/format/cmsym/components/SymSphere.d.ts +16 -16
  88. package/dist/cm/format/cmsym/components/SymSphere.js +30 -30
  89. package/dist/cm/format/cmsym/components/SymSpotlight.d.ts +8 -8
  90. package/dist/cm/format/cmsym/components/SymSpotlight.js +10 -10
  91. package/dist/cm/format/cmsym/components/SymTags.d.ts +11 -11
  92. package/dist/cm/format/cmsym/components/SymTags.js +20 -20
  93. package/dist/cm/format/cmsym/components/SymText2D.d.ts +4 -4
  94. package/dist/cm/format/cmsym/components/SymText2D.js +8 -8
  95. package/dist/cm/format/cmsym/components/SymText3D.d.ts +4 -4
  96. package/dist/cm/format/cmsym/components/SymText3D.js +8 -8
  97. package/dist/cm/format/cmsym/components/SymTransform.d.ts +23 -23
  98. package/dist/cm/format/cmsym/components/SymTransform.js +101 -101
  99. package/dist/cm/format/cmsym/components/SymUVMapper.d.ts +13 -13
  100. package/dist/cm/format/cmsym/components/SymUVMapper.js +50 -50
  101. package/dist/cm/format/cmsym/components/instantiate.d.ts +2 -2
  102. package/dist/cm/format/cmsym/components/instantiate.js +121 -121
  103. package/dist/cm/format/cmsym/components/legacy.d.ts +7 -7
  104. package/dist/cm/format/cmsym/components/legacy.js +27 -27
  105. package/dist/cm/format/cmsym/components/mesh.d.ts +8 -8
  106. package/dist/cm/format/cmsym/components/mesh.js +28 -28
  107. package/dist/cm/format/cmsym/invalidation.d.ts +4 -4
  108. package/dist/cm/format/cmsym/invalidation.js +72 -72
  109. package/dist/cm/format/dex/DexIRef.d.ts +9 -9
  110. package/dist/cm/format/dex/DexIRef.js +18 -18
  111. package/dist/cm/format/dex/DexInt.d.ts +11 -11
  112. package/dist/cm/format/dex/DexInt.js +18 -18
  113. package/dist/cm/format/dex/DexInternalizedXRef.d.ts +19 -19
  114. package/dist/cm/format/dex/DexInternalizedXRef.js +64 -64
  115. package/dist/cm/format/dex/DexLoader.d.ts +8 -8
  116. package/dist/cm/format/dex/DexLoader.js +12 -12
  117. package/dist/cm/format/dex/DexManager.d.ts +20 -20
  118. package/dist/cm/format/dex/DexManager.js +78 -78
  119. package/dist/cm/format/dex/DexObj.d.ts +15 -15
  120. package/dist/cm/format/dex/DexObj.js +86 -86
  121. package/dist/cm/format/dex/DexReader.d.ts +86 -86
  122. package/dist/cm/format/dex/DexReader.js +492 -492
  123. package/dist/cm/format/dex/DexRef.d.ts +6 -6
  124. package/dist/cm/format/dex/DexRef.js +8 -8
  125. package/dist/cm/format/dex/DexReplacedXRefs.d.ts +8 -8
  126. package/dist/cm/format/dex/DexReplacedXRefs.js +22 -22
  127. package/dist/cm/format/dex/DexURL.d.ts +4 -4
  128. package/dist/cm/format/dex/DexURL.js +5 -5
  129. package/dist/cm/format/dex/DexVersion.d.ts +15 -15
  130. package/dist/cm/format/dex/DexVersion.js +53 -53
  131. package/dist/cm/format/dex/DexXRef.d.ts +18 -18
  132. package/dist/cm/format/dex/DexXRef.js +51 -51
  133. package/dist/cm/format/dex/DexXRefTargetFilter.d.ts +4 -4
  134. package/dist/cm/format/dex/DexXRefTargetFilter.js +5 -5
  135. package/dist/cm/geometry/Angle.d.ts +9 -9
  136. package/dist/cm/geometry/Angle.js +18 -18
  137. package/dist/cm/geometry/AngleF.d.ts +5 -5
  138. package/dist/cm/geometry/AngleF.js +8 -8
  139. package/dist/cm/geometry/Box.d.ts +7 -7
  140. package/dist/cm/geometry/Box.js +9 -9
  141. package/dist/cm/geometry/DetailMask.d.ts +32 -32
  142. package/dist/cm/geometry/DetailMask.js +112 -112
  143. package/dist/cm/geometry/LayerExpr.d.ts +2 -2
  144. package/dist/cm/geometry/LayerExpr.js +2 -2
  145. package/dist/cm/geometry/Matrix22.d.ts +6 -6
  146. package/dist/cm/geometry/Matrix22.js +6 -6
  147. package/dist/cm/geometry/Matrix33.d.ts +42 -42
  148. package/dist/cm/geometry/Matrix33.js +124 -124
  149. package/dist/cm/geometry/Orientation.d.ts +7 -7
  150. package/dist/cm/geometry/Orientation.js +7 -7
  151. package/dist/cm/geometry/Plane.d.ts +8 -8
  152. package/dist/cm/geometry/Plane.js +14 -14
  153. package/dist/cm/geometry/Point.d.ts +18 -18
  154. package/dist/cm/geometry/Point.js +56 -56
  155. package/dist/cm/geometry/Point2D.d.ts +8 -8
  156. package/dist/cm/geometry/Point2D.js +20 -20
  157. package/dist/cm/geometry/PointF.d.ts +11 -11
  158. package/dist/cm/geometry/PointF.js +27 -27
  159. package/dist/cm/geometry/Transform.d.ts +11 -11
  160. package/dist/cm/geometry/Transform.js +61 -61
  161. package/dist/cm/geometry/Transform2D.d.ts +7 -7
  162. package/dist/cm/geometry/Transform2D.js +6 -6
  163. package/dist/cm/io/Semver.d.ts +17 -17
  164. package/dist/cm/io/Semver.js +58 -58
  165. package/dist/index.js +1 -1
  166. package/package.json +4 -4
@@ -1,30 +1,30 @@
1
- import { Logger } from "@configura/web-utilities";
2
- import { ATriMeshF } from "../../../core3D/ATriMeshF.js";
3
- import { DexObj } from "../../dex/DexObj.js";
4
- import { SymImportEnv } from "../SymImportEnv.js";
5
- import { SymInv } from "../SymInv.js";
6
- import { SymComponent, SymComponentKey } from "./SymComponent.js";
7
- import { SymGetMeshEnv } from "./SymGetMeshEnv.js";
8
- /**
9
- * Represents a SymMesh node in the CmSym format.
10
- *
11
- * @remarks
12
- * Specification: {@link https://www.configura.com/cmsym/#SymMesh CmSym - SymMesh}
13
- */
14
- export declare class SymMesh extends SymComponent {
15
- private _mesh?;
16
- cachedKey?: string | undefined;
17
- shared: boolean;
18
- id: SymComponentKey;
19
- constructor(_mesh?: ATriMeshF | undefined, cachedKey?: string | undefined, shared?: boolean, src?: string);
20
- load(logger: Logger, dexObj: DexObj, _env: SymImportEnv, force?: boolean): void;
21
- loadLazy(logger: Logger, dexObj?: DexObj): void;
22
- loadMesh(logger: Logger, dexObj?: DexObj): Error | undefined;
23
- mesh(logger: Logger, env: SymGetMeshEnv): ATriMeshF | undefined;
24
- createUVCoordinates(logger: Logger): void;
25
- unshare(): void;
26
- dexObj(): DexObj | undefined;
27
- features(): Set<string>;
28
- invalidation(removed: boolean): SymInv[];
29
- }
1
+ import { Logger } from "@configura/web-utilities";
2
+ import { ATriMeshF } from "../../../core3D/ATriMeshF.js";
3
+ import { DexObj } from "../../dex/DexObj.js";
4
+ import { SymImportEnv } from "../SymImportEnv.js";
5
+ import { SymInv } from "../SymInv.js";
6
+ import { SymComponent, SymComponentKey } from "./SymComponent.js";
7
+ import { SymGetMeshEnv } from "./SymGetMeshEnv.js";
8
+ /**
9
+ * Represents a SymMesh node in the CmSym format.
10
+ *
11
+ * @remarks
12
+ * Specification: {@link https://www.configura.com/cmsym/#SymMesh CmSym - SymMesh}
13
+ */
14
+ export declare class SymMesh extends SymComponent {
15
+ private _mesh?;
16
+ cachedKey?: string | undefined;
17
+ shared: boolean;
18
+ id: SymComponentKey;
19
+ constructor(_mesh?: ATriMeshF | undefined, cachedKey?: string | undefined, shared?: boolean, src?: string);
20
+ load(logger: Logger, dexObj: DexObj, _env: SymImportEnv, force?: boolean): void;
21
+ loadLazy(logger: Logger, dexObj?: DexObj): void;
22
+ loadMesh(logger: Logger, dexObj?: DexObj): Error | undefined;
23
+ mesh(logger: Logger, env: SymGetMeshEnv): ATriMeshF | undefined;
24
+ createUVCoordinates(logger: Logger): void;
25
+ unshare(): void;
26
+ dexObj(): DexObj | undefined;
27
+ features(): Set<string>;
28
+ invalidation(removed: boolean): SymInv[];
29
+ }
30
30
  //# sourceMappingURL=SymMesh.d.ts.map
@@ -1,130 +1,130 @@
1
- import { ATriMeshF } from "../../../core3D/ATriMeshF.js";
2
- import { DexObj } from "../../dex/DexObj.js";
3
- import { SymComponent } from "./SymComponent.js";
4
- import { SymPropsInv, SYM_GEOMETRY_KEY, SYM_LOCAL_BOUND_KEY } from "./SymProps.js";
5
- /**
6
- * Represents a SymMesh node in the CmSym format.
7
- *
8
- * @remarks
9
- * Specification: {@link https://www.configura.com/cmsym/#SymMesh CmSym - SymMesh}
10
- */
11
- export class SymMesh extends SymComponent {
12
- constructor(_mesh, cachedKey, shared = false, src) {
13
- super(src);
14
- this._mesh = _mesh;
15
- this.cachedKey = cachedKey;
16
- this.shared = shared;
17
- this.id = "symMesh";
18
- }
19
- load(logger, dexObj, _env, force = false) {
20
- if (force) {
21
- this.loadLazy(logger, dexObj);
22
- }
23
- }
24
- loadLazy(logger, dexObj) {
25
- if (this._mesh === undefined) {
26
- this.loadMesh(logger, dexObj);
27
- }
28
- }
29
- loadMesh(logger, dexObj) {
30
- if (dexObj === undefined) {
31
- dexObj = this.dexObj();
32
- }
33
- if (dexObj !== undefined) {
34
- const meshProperty = dexObj.get("mesh");
35
- if (meshProperty instanceof DexObj) {
36
- const mesh = toATriMesh(logger, meshProperty);
37
- if (mesh instanceof Error) {
38
- return mesh;
39
- }
40
- this._mesh = mesh;
41
- }
42
- else {
43
- return logger.errorAsObject("[SymMesh.loadMesh] unexpected type:", meshProperty);
44
- }
45
- }
46
- else {
47
- return logger.errorAsObject("[SymMesh.loadMesh] no dexObj!");
48
- }
49
- }
50
- mesh(logger, env) {
51
- if (this._mesh === undefined && env.load) {
52
- this.loadMesh(logger);
53
- }
54
- const mesh = this._mesh;
55
- if (mesh === undefined) {
56
- return;
57
- }
58
- if (env.doubleSided !== !mesh.doubleSided) {
59
- this.unshare();
60
- mesh.doubleSided = env.doubleSided;
61
- }
62
- // Inside-out doesn't make any sense on double sided meshes
63
- if (env.insideOut && !mesh.doubleSided) {
64
- this.unshare();
65
- mesh.reverse();
66
- }
67
- if (!mesh.hasNormals()) {
68
- mesh.autoNormals();
69
- }
70
- if (env.requiresUVs && !mesh.hasUVCoordinates()) {
71
- this.createUVCoordinates(logger);
72
- }
73
- return this._mesh;
74
- }
75
- createUVCoordinates(logger) {
76
- throw logger.errorAsObject("[SymMesh.createUVCoordinates] not yet implemented");
77
- }
78
- unshare() {
79
- if (this.shared) {
80
- this._mesh = this._mesh && this._mesh.copy();
81
- this.cachedKey = undefined;
82
- this.shared = false;
83
- }
84
- }
85
- dexObj() {
86
- const dex = this.node && this.node.dexObj();
87
- if (dex && dex instanceof DexObj) {
88
- const dexMesh = dex.get("symMesh");
89
- if (dexMesh instanceof DexObj) {
90
- return dexMesh;
91
- }
92
- return;
93
- }
94
- }
95
- features() {
96
- return new Set(["mesh", "solid"]);
97
- }
98
- invalidation(removed) {
99
- return [new SymPropsInv(SYM_LOCAL_BOUND_KEY), new SymPropsInv(SYM_GEOMETRY_KEY)];
100
- }
101
- }
102
- function toATriMesh(logger, obj) {
103
- if (obj.type !== "ctmMesh") {
104
- return logger.errorAsObject("bad obj.type: !== ctmMesh", obj.type);
105
- }
106
- // Undefined will result in false, checked with CM code to be correct.
107
- const llto = obj.get("lowerLeftTextureOrigin");
108
- if (llto instanceof Error) {
109
- return llto;
110
- }
111
- else if (llto !== undefined && typeof llto !== "boolean") {
112
- throw logger.errorAsObject(`bad obj.lowerLeftTextureOrigin:`, llto);
113
- }
114
- // Undefined will result in false, checked with CM code to be correct.
115
- const doubleSided = obj.get("doubleSided");
116
- if (doubleSided instanceof Error) {
117
- return doubleSided;
118
- }
119
- else if (doubleSided !== undefined && typeof doubleSided !== "boolean") {
120
- throw logger.errorAsObject("bad obj.doubleSided:", doubleSided);
121
- }
122
- const data = obj.get("data");
123
- if (data instanceof Error) {
124
- return data;
125
- }
126
- else if (data instanceof Uint8Array) {
127
- return new ATriMeshF(data, llto ? true : false, doubleSided ? true : false);
128
- }
129
- return logger.errorAsObject("bad data", data);
130
- }
1
+ import { ATriMeshF } from "../../../core3D/ATriMeshF.js";
2
+ import { DexObj } from "../../dex/DexObj.js";
3
+ import { SymComponent } from "./SymComponent.js";
4
+ import { SymPropsInv, SYM_GEOMETRY_KEY, SYM_LOCAL_BOUND_KEY } from "./SymProps.js";
5
+ /**
6
+ * Represents a SymMesh node in the CmSym format.
7
+ *
8
+ * @remarks
9
+ * Specification: {@link https://www.configura.com/cmsym/#SymMesh CmSym - SymMesh}
10
+ */
11
+ export class SymMesh extends SymComponent {
12
+ constructor(_mesh, cachedKey, shared = false, src) {
13
+ super(src);
14
+ this._mesh = _mesh;
15
+ this.cachedKey = cachedKey;
16
+ this.shared = shared;
17
+ this.id = "symMesh";
18
+ }
19
+ load(logger, dexObj, _env, force = false) {
20
+ if (force) {
21
+ this.loadLazy(logger, dexObj);
22
+ }
23
+ }
24
+ loadLazy(logger, dexObj) {
25
+ if (this._mesh === undefined) {
26
+ this.loadMesh(logger, dexObj);
27
+ }
28
+ }
29
+ loadMesh(logger, dexObj) {
30
+ if (dexObj === undefined) {
31
+ dexObj = this.dexObj();
32
+ }
33
+ if (dexObj !== undefined) {
34
+ const meshProperty = dexObj.get("mesh");
35
+ if (meshProperty instanceof DexObj) {
36
+ const mesh = toATriMesh(logger, meshProperty);
37
+ if (mesh instanceof Error) {
38
+ return mesh;
39
+ }
40
+ this._mesh = mesh;
41
+ }
42
+ else {
43
+ return logger.errorAsObject("[SymMesh.loadMesh] unexpected type:", meshProperty);
44
+ }
45
+ }
46
+ else {
47
+ return logger.errorAsObject("[SymMesh.loadMesh] no dexObj!");
48
+ }
49
+ }
50
+ mesh(logger, env) {
51
+ if (this._mesh === undefined && env.load) {
52
+ this.loadMesh(logger);
53
+ }
54
+ const mesh = this._mesh;
55
+ if (mesh === undefined) {
56
+ return;
57
+ }
58
+ if (env.doubleSided !== !mesh.doubleSided) {
59
+ this.unshare();
60
+ mesh.doubleSided = env.doubleSided;
61
+ }
62
+ // Inside-out doesn't make any sense on double sided meshes
63
+ if (env.insideOut && !mesh.doubleSided) {
64
+ this.unshare();
65
+ mesh.reverse();
66
+ }
67
+ if (!mesh.hasNormals()) {
68
+ mesh.autoNormals();
69
+ }
70
+ if (env.requiresUVs && !mesh.hasUVCoordinates()) {
71
+ this.createUVCoordinates(logger);
72
+ }
73
+ return this._mesh;
74
+ }
75
+ createUVCoordinates(logger) {
76
+ throw logger.errorAsObject("[SymMesh.createUVCoordinates] not yet implemented");
77
+ }
78
+ unshare() {
79
+ if (this.shared) {
80
+ this._mesh = this._mesh && this._mesh.copy();
81
+ this.cachedKey = undefined;
82
+ this.shared = false;
83
+ }
84
+ }
85
+ dexObj() {
86
+ const dex = this.node && this.node.dexObj();
87
+ if (dex && dex instanceof DexObj) {
88
+ const dexMesh = dex.get("symMesh");
89
+ if (dexMesh instanceof DexObj) {
90
+ return dexMesh;
91
+ }
92
+ return;
93
+ }
94
+ }
95
+ features() {
96
+ return new Set(["mesh", "solid"]);
97
+ }
98
+ invalidation(removed) {
99
+ return [new SymPropsInv(SYM_LOCAL_BOUND_KEY), new SymPropsInv(SYM_GEOMETRY_KEY)];
100
+ }
101
+ }
102
+ function toATriMesh(logger, obj) {
103
+ if (obj.type !== "ctmMesh") {
104
+ return logger.errorAsObject("bad obj.type: !== ctmMesh", obj.type);
105
+ }
106
+ // Undefined will result in false, checked with CM code to be correct.
107
+ const llto = obj.get("lowerLeftTextureOrigin");
108
+ if (llto instanceof Error) {
109
+ return llto;
110
+ }
111
+ else if (llto !== undefined && typeof llto !== "boolean") {
112
+ throw logger.errorAsObject(`bad obj.lowerLeftTextureOrigin:`, llto);
113
+ }
114
+ // Undefined will result in false, checked with CM code to be correct.
115
+ const doubleSided = obj.get("doubleSided");
116
+ if (doubleSided instanceof Error) {
117
+ return doubleSided;
118
+ }
119
+ else if (doubleSided !== undefined && typeof doubleSided !== "boolean") {
120
+ throw logger.errorAsObject("bad obj.doubleSided:", doubleSided);
121
+ }
122
+ const data = obj.get("data");
123
+ if (data instanceof Error) {
124
+ return data;
125
+ }
126
+ else if (data instanceof Uint8Array) {
127
+ return new ATriMeshF(data, llto ? true : false, doubleSided ? true : false);
128
+ }
129
+ return logger.errorAsObject("bad data", data);
130
+ }
@@ -1,9 +1,9 @@
1
- import { Logger } from "@configura/web-utilities";
2
- import { DexObj } from "../../dex/DexObj.js";
3
- import { SymImportEnv } from "../SymImportEnv.js";
4
- import { SymComponent, SymComponentKey } from "./SymComponent.js";
5
- export declare class SymMeshLight extends SymComponent {
6
- id: SymComponentKey;
7
- load(logger: Logger, _obj: DexObj, _env: SymImportEnv, _force?: boolean): void;
8
- }
1
+ import { Logger } from "@configura/web-utilities";
2
+ import { DexObj } from "../../dex/DexObj.js";
3
+ import { SymImportEnv } from "../SymImportEnv.js";
4
+ import { SymComponent, SymComponentKey } from "./SymComponent.js";
5
+ export declare class SymMeshLight extends SymComponent {
6
+ id: SymComponentKey;
7
+ load(logger: Logger, _obj: DexObj, _env: SymImportEnv, _force?: boolean): void;
8
+ }
9
9
  //# sourceMappingURL=SymMeshLight.d.ts.map
@@ -1,10 +1,10 @@
1
- import { SymComponent } from "./SymComponent.js";
2
- export class SymMeshLight extends SymComponent {
3
- constructor() {
4
- super(...arguments);
5
- this.id = "symMeshLight";
6
- }
7
- load(logger, _obj, _env, _force = false) {
8
- logger.warn("Mesh light source not supported.", "SymMeshLight is not yet implemented and will be ignored.");
9
- }
10
- }
1
+ import { SymComponent } from "./SymComponent.js";
2
+ export class SymMeshLight extends SymComponent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.id = "symMeshLight";
6
+ }
7
+ load(logger, _obj, _env, _force = false) {
8
+ logger.warn("Mesh light source not supported.", "SymMeshLight is not yet implemented and will be ignored.");
9
+ }
10
+ }
@@ -1,14 +1,14 @@
1
- import { Logger } from "@configura/web-utilities";
2
- import { DexObj } from "../../dex/DexObj.js";
3
- export declare class SymMultiSelector {
4
- readonly selectors: SymDividerSelector[];
5
- constructor(obj: DexObj, logger: Logger);
6
- }
7
- export declare class SymDividerSelector {
8
- readonly dividerId: string;
9
- readonly ownerId: string;
10
- readonly outside: boolean;
11
- readonly includes: boolean;
12
- constructor(obj: DexObj, logger: Logger);
13
- }
1
+ import { Logger } from "@configura/web-utilities";
2
+ import { DexObj } from "../../dex/DexObj.js";
3
+ export declare class SymMultiSelector {
4
+ readonly selectors: SymDividerSelector[];
5
+ constructor(obj: DexObj, logger: Logger);
6
+ }
7
+ export declare class SymDividerSelector {
8
+ readonly dividerId: string;
9
+ readonly ownerId: string;
10
+ readonly outside: boolean;
11
+ readonly includes: boolean;
12
+ constructor(obj: DexObj, logger: Logger);
13
+ }
14
14
  //# sourceMappingURL=SymMultiSelector.d.ts.map
@@ -1,49 +1,49 @@
1
- import { DexObj } from "../../dex/DexObj.js";
2
- export class SymMultiSelector {
3
- constructor(obj, logger) {
4
- this.selectors = [];
5
- const selectors = obj.get("selectors");
6
- if (!(selectors instanceof Array)) {
7
- logger.warn("SymMultiSelector loading error", "selectors not of type Array");
8
- return;
9
- }
10
- for (let selector of selectors) {
11
- if (!(selector instanceof DexObj)) {
12
- logger.warn("SymMultiSelector loading error", "selector not of type DexObj");
13
- continue;
14
- }
15
- this.selectors.push(new SymDividerSelector(selector, logger));
16
- }
17
- //logger.info(`SymMultiSelector`, "selectors:", this.selectors);
18
- }
19
- }
20
- export class SymDividerSelector {
21
- constructor(obj, logger) {
22
- this.dividerId = "";
23
- this.ownerId = "";
24
- this.outside = false;
25
- this.includes = false;
26
- const dividerId = obj.get("dividerId");
27
- const ownerId = obj.get("ownerId");
28
- const outside = obj.get("outside");
29
- const includes = obj.get("include");
30
- if (!(typeof dividerId === "string" &&
31
- typeof ownerId === "string" &&
32
- typeof outside === "boolean" &&
33
- typeof includes === "boolean")) {
34
- logger.warn("SymDividerSelector loading error", "default values assigned");
35
- return;
36
- }
37
- this.dividerId = dividerId;
38
- this.ownerId = ownerId;
39
- this.outside = outside;
40
- this.includes = includes;
41
- // logger.info(
42
- // `SymDividerSelector`,
43
- // `dividerId ${this.dividerId}`,
44
- // `ownerId ${this.ownerId}`,
45
- // `outside ${this.outside}`,
46
- // `includes ${this.includes}`
47
- // );
48
- }
49
- }
1
+ import { DexObj } from "../../dex/DexObj.js";
2
+ export class SymMultiSelector {
3
+ constructor(obj, logger) {
4
+ this.selectors = [];
5
+ const selectors = obj.get("selectors");
6
+ if (!(selectors instanceof Array)) {
7
+ logger.warn("SymMultiSelector loading error", "selectors not of type Array");
8
+ return;
9
+ }
10
+ for (let selector of selectors) {
11
+ if (!(selector instanceof DexObj)) {
12
+ logger.warn("SymMultiSelector loading error", "selector not of type DexObj");
13
+ continue;
14
+ }
15
+ this.selectors.push(new SymDividerSelector(selector, logger));
16
+ }
17
+ //logger.info(`SymMultiSelector`, "selectors:", this.selectors);
18
+ }
19
+ }
20
+ export class SymDividerSelector {
21
+ constructor(obj, logger) {
22
+ this.dividerId = "";
23
+ this.ownerId = "";
24
+ this.outside = false;
25
+ this.includes = false;
26
+ const dividerId = obj.get("dividerId");
27
+ const ownerId = obj.get("ownerId");
28
+ const outside = obj.get("outside");
29
+ const includes = obj.get("include");
30
+ if (!(typeof dividerId === "string" &&
31
+ typeof ownerId === "string" &&
32
+ typeof outside === "boolean" &&
33
+ typeof includes === "boolean")) {
34
+ logger.warn("SymDividerSelector loading error", "default values assigned");
35
+ return;
36
+ }
37
+ this.dividerId = dividerId;
38
+ this.ownerId = ownerId;
39
+ this.outside = outside;
40
+ this.includes = includes;
41
+ // logger.info(
42
+ // `SymDividerSelector`,
43
+ // `dividerId ${this.dividerId}`,
44
+ // `ownerId ${this.ownerId}`,
45
+ // `outside ${this.outside}`,
46
+ // `includes ${this.includes}`
47
+ // );
48
+ }
49
+ }
@@ -1,5 +1,5 @@
1
- import { SymComponent, SymComponentKey } from "./SymComponent.js";
2
- export declare class SymParams extends SymComponent {
3
- id: SymComponentKey;
4
- }
1
+ import { SymComponent, SymComponentKey } from "./SymComponent.js";
2
+ export declare class SymParams extends SymComponent {
3
+ id: SymComponentKey;
4
+ }
5
5
  //# sourceMappingURL=SymParams.d.ts.map
@@ -1,7 +1,7 @@
1
- import { SymComponent } from "./SymComponent.js";
2
- export class SymParams extends SymComponent {
3
- constructor() {
4
- super(...arguments);
5
- this.id = "symParams";
6
- }
7
- }
1
+ import { SymComponent } from "./SymComponent.js";
2
+ export class SymParams extends SymComponent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.id = "symParams";
6
+ }
7
+ }
@@ -1,15 +1,15 @@
1
- import { Logger } from "@configura/web-utilities";
2
- import { Plane } from "../../../geometry/Plane.js";
3
- import { DexObj } from "../../dex/DexObj.js";
4
- import { SymImportEnv } from "../SymImportEnv.js";
5
- import { SymComponent, SymComponentKey } from "./SymComponent.js";
6
- export declare class SymPlane extends SymComponent {
7
- private _plane?;
8
- id: SymComponentKey;
9
- constructor(_plane?: Plane | undefined, src?: string);
10
- get plane(): Plane | undefined;
11
- get vector(): import("../../../geometry/Point.js").Point | undefined;
12
- get distance(): Number | undefined;
13
- load(logger: Logger, obj: DexObj, _env: SymImportEnv, force?: boolean): void;
14
- }
1
+ import { Logger } from "@configura/web-utilities";
2
+ import { Plane } from "../../../geometry/Plane.js";
3
+ import { DexObj } from "../../dex/DexObj.js";
4
+ import { SymImportEnv } from "../SymImportEnv.js";
5
+ import { SymComponent, SymComponentKey } from "./SymComponent.js";
6
+ export declare class SymPlane extends SymComponent {
7
+ private _plane?;
8
+ id: SymComponentKey;
9
+ constructor(_plane?: Plane | undefined, src?: string);
10
+ get plane(): Plane | undefined;
11
+ get vector(): import("../../../geometry/Point.js").Point | undefined;
12
+ get distance(): Number | undefined;
13
+ load(logger: Logger, obj: DexObj, _env: SymImportEnv, force?: boolean): void;
14
+ }
15
15
  //# sourceMappingURL=SymPlane.d.ts.map
@@ -1,27 +1,27 @@
1
- import { Plane } from "../../../geometry/Plane.js";
2
- import { SymComponent } from "./SymComponent.js";
3
- export class SymPlane extends SymComponent {
4
- constructor(_plane, src) {
5
- super(src);
6
- this._plane = _plane;
7
- this.id = "symPlane";
8
- }
9
- get plane() {
10
- return this._plane;
11
- }
12
- get vector() {
13
- var _a;
14
- return (_a = this._plane) === null || _a === void 0 ? void 0 : _a.vector;
15
- }
16
- get distance() {
17
- var _a;
18
- return (_a = this._plane) === null || _a === void 0 ? void 0 : _a.distance;
19
- }
20
- load(logger, obj, _env, force = false) {
21
- const plane = Plane.cast(obj.get("plane"));
22
- if (plane !== undefined) {
23
- this._plane = plane;
24
- }
25
- //logger.info(`SymPlane`, `vector ${this.vector}`, `distance ${this.distance}`);
26
- }
27
- }
1
+ import { Plane } from "../../../geometry/Plane.js";
2
+ import { SymComponent } from "./SymComponent.js";
3
+ export class SymPlane extends SymComponent {
4
+ constructor(_plane, src) {
5
+ super(src);
6
+ this._plane = _plane;
7
+ this.id = "symPlane";
8
+ }
9
+ get plane() {
10
+ return this._plane;
11
+ }
12
+ get vector() {
13
+ var _a;
14
+ return (_a = this._plane) === null || _a === void 0 ? void 0 : _a.vector;
15
+ }
16
+ get distance() {
17
+ var _a;
18
+ return (_a = this._plane) === null || _a === void 0 ? void 0 : _a.distance;
19
+ }
20
+ load(logger, obj, _env, force = false) {
21
+ const plane = Plane.cast(obj.get("plane"));
22
+ if (plane !== undefined) {
23
+ this._plane = plane;
24
+ }
25
+ //logger.info(`SymPlane`, `vector ${this.vector}`, `distance ${this.distance}`);
26
+ }
27
+ }
@@ -1,5 +1,5 @@
1
- import { SymComponent, SymComponentKey } from "./SymComponent.js";
2
- export declare class SymPlaneDivider extends SymComponent {
3
- id: SymComponentKey;
4
- }
1
+ import { SymComponent, SymComponentKey } from "./SymComponent.js";
2
+ export declare class SymPlaneDivider extends SymComponent {
3
+ id: SymComponentKey;
4
+ }
5
5
  //# sourceMappingURL=SymPlaneDivider.d.ts.map
@@ -1,7 +1,7 @@
1
- import { SymComponent } from "./SymComponent.js";
2
- export class SymPlaneDivider extends SymComponent {
3
- constructor() {
4
- super(...arguments);
5
- this.id = "symPlaneDivider";
6
- }
7
- }
1
+ import { SymComponent } from "./SymComponent.js";
2
+ export class SymPlaneDivider extends SymComponent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.id = "symPlaneDivider";
6
+ }
7
+ }
@@ -1,4 +1,4 @@
1
- import { SymComponent } from "./SymComponent.js";
2
- export declare class SymPrimitive2D extends SymComponent {
3
- }
1
+ import { SymComponent } from "./SymComponent.js";
2
+ export declare class SymPrimitive2D extends SymComponent {
3
+ }
4
4
  //# sourceMappingURL=SymPrimitive2D.d.ts.map
@@ -1,3 +1,3 @@
1
- import { SymComponent } from "./SymComponent.js";
2
- export class SymPrimitive2D extends SymComponent {
3
- }
1
+ import { SymComponent } from "./SymComponent.js";
2
+ export class SymPrimitive2D extends SymComponent {
3
+ }