@configura/web-core 2.0.0-alpha.0 → 2.0.0-alpha.11

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 (172) 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 -96
  14. package/dist/cm/core3D/ATriMeshF.js +197 -197
  15. package/dist/cm/core3D/GMaterial3D.d.ts +62 -62
  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 -73
  20. package/dist/cm/core3D/GMaterialPBR.js +314 -314
  21. package/dist/cm/core3D/MultiGMaterial3D.d.ts +8 -8
  22. package/dist/cm/core3D/MultiGMaterial3D.js +17 -17
  23. package/dist/cm/core3D/uvmapper/UVMapEnv.d.ts +19 -19
  24. package/dist/cm/core3D/uvmapper/UVMapEnv.js +47 -47
  25. package/dist/cm/core3D/uvmapper/UVMapper.d.ts +41 -41
  26. package/dist/cm/core3D/uvmapper/UVMapper.js +94 -94
  27. package/dist/cm/core3D/uvmapper/UVMapperBox.d.ts +4 -4
  28. package/dist/cm/core3D/uvmapper/UVMapperBox.js +181 -181
  29. package/dist/cm/core3D/uvmapper/UVMapperCylinder.d.ts +9 -9
  30. package/dist/cm/core3D/uvmapper/UVMapperCylinder.js +96 -96
  31. package/dist/cm/core3D/uvmapper/UVMapperPlane.d.ts +3 -3
  32. package/dist/cm/core3D/uvmapper/UVMapperPlane.js +84 -84
  33. package/dist/cm/core3D/uvmapper/UVTransformer.d.ts +5 -5
  34. package/dist/cm/core3D/uvmapper/UVTransformer.js +5 -5
  35. package/dist/cm/core3D/uvmapper/instantiateUVMapper.d.ts +3 -3
  36. package/dist/cm/core3D/uvmapper/instantiateUVMapper.js +4 -4
  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 -93
  44. package/dist/cm/format/cmsym/SymNode.js +652 -652
  45. package/dist/cm/format/cmsym/components/SymBox.d.ts +15 -15
  46. package/dist/cm/format/cmsym/components/SymBox.js +39 -39
  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 -17
  58. package/dist/cm/format/cmsym/components/SymGMaterialSelector.js +22 -22
  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 -33
  68. package/dist/cm/format/cmsym/components/SymMeasure.js +149 -149
  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 -48
  75. package/dist/cm/format/cmsym/components/SymParams.d.ts +16 -16
  76. package/dist/cm/format/cmsym/components/SymParams.js +58 -58
  77. package/dist/cm/format/cmsym/components/SymPlane.d.ts +14 -14
  78. package/dist/cm/format/cmsym/components/SymPlane.js +30 -30
  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 -32
  84. package/dist/cm/format/cmsym/components/SymProgs.js +120 -120
  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 -17
  93. package/dist/cm/format/cmsym/components/SymSphere.d.ts +18 -18
  94. package/dist/cm/format/cmsym/components/SymSphere.js +33 -33
  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 -5
  100. package/dist/cm/format/cmsym/components/SymText2D.js +8 -8
  101. package/dist/cm/format/cmsym/components/SymText3D.d.ts +5 -5
  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 -90
  128. package/dist/cm/format/dex/DexReader.js +532 -532
  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 -37
  148. package/dist/cm/geometry/DetailMask.js +114 -114
  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 -7
  152. package/dist/cm/geometry/Matrix22.js +9 -9
  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 -21
  160. package/dist/cm/geometry/Point.js +65 -65
  161. package/dist/cm/geometry/Point2D.d.ts +9 -9
  162. package/dist/cm/geometry/Point2D.js +23 -23
  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 -18
  170. package/dist/cm/io/Semver.js +61 -61
  171. package/dist/index.js +1 -1
  172. package/package.json +4 -4
@@ -1,18 +1,18 @@
1
- import { Logger } from "@configura/web-utilities";
2
- import { GMaterial3D } from "../../../core3D/GMaterial3D.js";
3
- import { DexObj } from "../../dex/DexObj.js";
4
- import { SymImportEnv } from "../SymImportEnv.js";
5
- import { SymComponent, SymComponentKey } from "./SymComponent.js";
6
- import { SymGMaterial } from "./SymGMaterial.js";
7
- /**
8
- * The specification says that the last option is the default / fallback if there isn't any match
9
- * among the layers, so we only load and use that one.
10
- * @see http://web.git.configura.com/webteam/docs/cmsym/#SymGMaterialSelector
11
- */
12
- export declare class SymGMaterialSelector extends SymComponent {
13
- id: SymComponentKey;
14
- gm?: GMaterial3D;
15
- symGMaterial?: SymGMaterial;
16
- load(logger: Logger, obj: DexObj, _env: SymImportEnv): void;
17
- }
1
+ import { Logger } from "@configura/web-utilities";
2
+ import { GMaterial3D } from "../../../core3D/GMaterial3D.js";
3
+ import { DexObj } from "../../dex/DexObj.js";
4
+ import { SymImportEnv } from "../SymImportEnv.js";
5
+ import { SymComponent, SymComponentKey } from "./SymComponent.js";
6
+ import { SymGMaterial } from "./SymGMaterial.js";
7
+ /**
8
+ * The specification says that the last option is the default / fallback if there isn't any match
9
+ * among the layers, so we only load and use that one.
10
+ * @see http://web.git.configura.com/webteam/docs/cmsym/#SymGMaterialSelector
11
+ */
12
+ export declare class SymGMaterialSelector extends SymComponent {
13
+ id: SymComponentKey;
14
+ gm?: GMaterial3D;
15
+ symGMaterial?: SymGMaterial;
16
+ load(logger: Logger, obj: DexObj, _env: SymImportEnv): void;
17
+ }
18
18
  //# sourceMappingURL=SymGMaterialSelector.d.ts.map
@@ -1,22 +1,22 @@
1
- import { SymComponent } from "./SymComponent.js";
2
- import { SymGMaterial } from "./SymGMaterial.js";
3
- /**
4
- * The specification says that the last option is the default / fallback if there isn't any match
5
- * among the layers, so we only load and use that one.
6
- * @see http://web.git.configura.com/webteam/docs/cmsym/#SymGMaterialSelector
7
- */
8
- export class SymGMaterialSelector extends SymComponent {
9
- constructor() {
10
- super(...arguments);
11
- this.id = "symGMaterialSelector";
12
- }
13
- load(logger, obj, _env) {
14
- const options = obj.get("options");
15
- if (Array.isArray(options) && options.length > 0) {
16
- const last = new SymGMaterial();
17
- last.load(logger, options[options.length - 1], _env);
18
- this.gm = last.gm;
19
- this.symGMaterial = last;
20
- }
21
- }
22
- }
1
+ import { SymComponent } from "./SymComponent.js";
2
+ import { SymGMaterial } from "./SymGMaterial.js";
3
+ /**
4
+ * The specification says that the last option is the default / fallback if there isn't any match
5
+ * among the layers, so we only load and use that one.
6
+ * @see http://web.git.configura.com/webteam/docs/cmsym/#SymGMaterialSelector
7
+ */
8
+ export class SymGMaterialSelector extends SymComponent {
9
+ constructor() {
10
+ super(...arguments);
11
+ this.id = "symGMaterialSelector";
12
+ }
13
+ load(logger, obj, _env) {
14
+ const options = obj.get("options");
15
+ if (Array.isArray(options) && options.length > 0) {
16
+ const last = new SymGMaterial();
17
+ last.load(logger, options[options.length - 1], _env);
18
+ this.gm = last.gm;
19
+ this.symGMaterial = last;
20
+ }
21
+ }
22
+ }
@@ -1,10 +1,10 @@
1
- import { SymRep } from "./SymRep.js";
2
- export declare class SymGetMeshEnv {
3
- rep?: SymRep | undefined;
4
- load: boolean;
5
- doubleSided: boolean;
6
- requiresUVs: boolean;
7
- insideOut: boolean;
8
- constructor(rep?: SymRep | undefined, load?: boolean, doubleSided?: boolean, requiresUVs?: boolean, insideOut?: boolean);
9
- }
1
+ import { SymRep } from "./SymRep.js";
2
+ export declare class SymGetMeshEnv {
3
+ rep?: SymRep | undefined;
4
+ load: boolean;
5
+ doubleSided: boolean;
6
+ requiresUVs: boolean;
7
+ insideOut: boolean;
8
+ constructor(rep?: SymRep | undefined, load?: boolean, doubleSided?: boolean, requiresUVs?: boolean, insideOut?: boolean);
9
+ }
10
10
  //# sourceMappingURL=SymGetMeshEnv.d.ts.map
@@ -1,9 +1,9 @@
1
- export class SymGetMeshEnv {
2
- constructor(rep, load = true, doubleSided = false, requiresUVs = false, insideOut = false) {
3
- this.rep = rep;
4
- this.load = load;
5
- this.doubleSided = doubleSided;
6
- this.requiresUVs = requiresUVs;
7
- this.insideOut = insideOut;
8
- }
9
- }
1
+ export class SymGetMeshEnv {
2
+ constructor(rep, load = true, doubleSided = false, requiresUVs = false, insideOut = false) {
3
+ this.rep = rep;
4
+ this.load = load;
5
+ this.doubleSided = doubleSided;
6
+ this.requiresUVs = requiresUVs;
7
+ this.insideOut = insideOut;
8
+ }
9
+ }
@@ -1,10 +1,10 @@
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 SymLODGroup extends SymComponent {
6
- id: SymComponentKey;
7
- load(logger: Logger, obj: DexObj, env: SymImportEnv, force?: boolean): void;
8
- level(): number;
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 SymLODGroup extends SymComponent {
6
+ id: SymComponentKey;
7
+ load(logger: Logger, obj: DexObj, env: SymImportEnv, force?: boolean): void;
8
+ level(): number;
9
+ }
10
10
  //# sourceMappingURL=SymLODGroup.d.ts.map
@@ -1,11 +1,11 @@
1
- import { SymComponent } from "./SymComponent.js";
2
- export class SymLODGroup extends SymComponent {
3
- constructor() {
4
- super(...arguments);
5
- this.id = "symLODGroup";
6
- }
7
- load(logger, obj, env, force = false) { }
8
- level() {
9
- return 1;
10
- }
11
- }
1
+ import { SymComponent } from "./SymComponent.js";
2
+ export class SymLODGroup extends SymComponent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.id = "symLODGroup";
6
+ }
7
+ load(logger, obj, env, force = false) { }
8
+ level() {
9
+ return 1;
10
+ }
11
+ }
@@ -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 SymLight 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 SymLight extends SymComponent {
6
+ id: SymComponentKey;
7
+ load(logger: Logger, _obj: DexObj, _env: SymImportEnv, _force?: boolean): void;
8
+ }
9
9
  //# sourceMappingURL=SymLight.d.ts.map
@@ -1,10 +1,10 @@
1
- import { SymComponent } from "./SymComponent.js";
2
- export class SymLight extends SymComponent {
3
- constructor() {
4
- super(...arguments);
5
- this.id = "symLight";
6
- }
7
- load(logger, _obj, _env, _force = false) {
8
- logger.warn("Mesh light source not supported.", "SymLight is not yet implemented and will be ignored.");
9
- }
10
- }
1
+ import { SymComponent } from "./SymComponent.js";
2
+ export class SymLight extends SymComponent {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.id = "symLight";
6
+ }
7
+ load(logger, _obj, _env, _force = false) {
8
+ logger.warn("Mesh light source not supported.", "SymLight is not yet implemented and will be ignored.");
9
+ }
10
+ }
@@ -1,6 +1,6 @@
1
- import { SymComponentKey } from "./SymComponent.js";
2
- import { SymPrimitive2D } from "./SymPrimitive2D.js";
3
- export declare class SymLines2D extends SymPrimitive2D {
4
- id: SymComponentKey;
5
- }
1
+ import { SymComponentKey } from "./SymComponent.js";
2
+ import { SymPrimitive2D } from "./SymPrimitive2D.js";
3
+ export declare class SymLines2D extends SymPrimitive2D {
4
+ id: SymComponentKey;
5
+ }
6
6
  //# sourceMappingURL=SymLines2D.d.ts.map
@@ -1,7 +1,7 @@
1
- import { SymPrimitive2D } from "./SymPrimitive2D.js";
2
- export class SymLines2D extends SymPrimitive2D {
3
- constructor() {
4
- super(...arguments);
5
- this.id = "symLines2D";
6
- }
7
- }
1
+ import { SymPrimitive2D } from "./SymPrimitive2D.js";
2
+ export class SymLines2D extends SymPrimitive2D {
3
+ constructor() {
4
+ super(...arguments);
5
+ this.id = "symLines2D";
6
+ }
7
+ }
@@ -1,34 +1,34 @@
1
- import { Logger } from "@configura/web-utilities";
2
- import { DexObj } from "../../dex/DexObj.js";
3
- import { SymImportEnv } from "../SymImportEnv.js";
4
- import { SymComponent, SymComponentKey, SymGfxMode } from "./SymComponent.js";
5
- import { SymMultiSelector } from "./SymMultiSelector.js";
6
- export declare class SymMeasure extends SymComponent {
7
- id: SymComponentKey;
8
- private _sections;
9
- private _dividerSubpaths;
10
- private _originalLength;
11
- private _measureParam;
12
- private _spOffsetParam;
13
- private _stretchingEPParam;
14
- load(logger: Logger, obj: DexObj, _env: SymImportEnv, force?: boolean): void;
15
- get measureParam(): string | undefined;
16
- get originalLength(): number | undefined;
17
- get spOffsetParam(): string | undefined;
18
- get stretchingEPParam(): string | undefined;
19
- get sections(): SymMeasureSection[];
20
- get dividerSubpaths(): SymMeasureDivider[];
21
- }
22
- export declare class SymMeasureDivider {
23
- readonly repToPath: Map<string, string>;
24
- readonly currentStretch: number;
25
- constructor(obj: DexObj, logger: Logger);
26
- }
27
- export declare class SymMeasureSection {
28
- readonly sizeChange: number;
29
- readonly move: boolean;
30
- readonly currentStretch: number;
31
- readonly gfxModeToDetailLevelToMultiSelector: Map<SymGfxMode, Map<number, SymMultiSelector>>;
32
- constructor(obj: DexObj, logger: Logger);
33
- }
1
+ import { Logger } from "@configura/web-utilities";
2
+ import { DexObj } from "../../dex/DexObj.js";
3
+ import { SymImportEnv } from "../SymImportEnv.js";
4
+ import { SymComponent, SymComponentKey, SymGfxMode } from "./SymComponent.js";
5
+ import { SymMultiSelector } from "./SymMultiSelector.js";
6
+ export declare class SymMeasure extends SymComponent {
7
+ id: SymComponentKey;
8
+ private _sections;
9
+ private _dividerSubpaths;
10
+ private _originalLength;
11
+ private _measureParam;
12
+ private _spOffsetParam;
13
+ private _stretchingEPParam;
14
+ load(logger: Logger, obj: DexObj, _env: SymImportEnv, force?: boolean): void;
15
+ get measureParam(): string | undefined;
16
+ get originalLength(): number | undefined;
17
+ get spOffsetParam(): string | undefined;
18
+ get stretchingEPParam(): string | undefined;
19
+ get sections(): SymMeasureSection[];
20
+ get dividerSubpaths(): SymMeasureDivider[];
21
+ }
22
+ export declare class SymMeasureDivider {
23
+ readonly repToPath: Map<string, string>;
24
+ readonly currentStretch: number;
25
+ constructor(obj: DexObj, logger: Logger);
26
+ }
27
+ export declare class SymMeasureSection {
28
+ readonly sizeChange: number;
29
+ readonly move: boolean;
30
+ readonly currentStretch: number;
31
+ readonly gfxModeToDetailLevelToMultiSelector: Map<SymGfxMode, Map<number, SymMultiSelector>>;
32
+ constructor(obj: DexObj, logger: Logger);
33
+ }
34
34
  //# sourceMappingURL=SymMeasure.d.ts.map
@@ -1,149 +1,149 @@
1
- import { DexObj } from "../../dex/DexObj.js";
2
- import { VERBOSE_SYM_LOGGING } from "../SymNode.js";
3
- import { SymComponent } from "./SymComponent.js";
4
- import { SymMultiSelector } from "./SymMultiSelector.js";
5
- import { SymRep } from "./SymRep.js";
6
- export class SymMeasure extends SymComponent {
7
- constructor() {
8
- super(...arguments);
9
- this.id = "symMeasure";
10
- this._sections = [];
11
- this._dividerSubpaths = [];
12
- }
13
- load(logger, obj, _env, force = false) {
14
- const sections = obj.get("sections");
15
- const dividers = obj.get("dividers");
16
- const measureParam = obj.get("measureParam");
17
- const originalLength = obj.get("originalLength");
18
- const spOffsetParam = obj.get("spOffsetParam");
19
- const stretchingEPParam = obj.get("stretchingEPParam");
20
- if (!(sections instanceof Array &&
21
- dividers instanceof Array &&
22
- typeof measureParam === "string" &&
23
- typeof originalLength === "number" &&
24
- (typeof spOffsetParam === "string" || typeof stretchingEPParam === "string"))) {
25
- logger.warn("SymMeasure loading error", "data not structured as expected");
26
- return;
27
- }
28
- this._measureParam = measureParam;
29
- this._originalLength = originalLength;
30
- this._spOffsetParam = typeof spOffsetParam === "string" ? spOffsetParam : undefined;
31
- this._stretchingEPParam =
32
- typeof stretchingEPParam === "string" ? stretchingEPParam : undefined;
33
- for (const divide of dividers) {
34
- if (!(divide instanceof DexObj)) {
35
- logger.warn("SymMeasure loading error", "divider has wrong type");
36
- continue;
37
- }
38
- this._dividerSubpaths.push(new SymMeasureDivider(divide, logger));
39
- }
40
- for (const section of sections) {
41
- if (!(section instanceof DexObj)) {
42
- logger.warn("SymMeasure loading error", "section has wrong type");
43
- continue;
44
- }
45
- this._sections.push(new SymMeasureSection(section, logger));
46
- }
47
- if (VERBOSE_SYM_LOGGING) {
48
- logger.info(`SymMeasure`, `originalLength ${this.originalLength}`, `measureParam ${this.measureParam}`, `spOffsetParam ${this.spOffsetParam}`, `stretchingEPParam ${this._stretchingEPParam}`, "sections:", this.sections, "dividerSubpaths", this.dividerSubpaths);
49
- }
50
- }
51
- get measureParam() {
52
- return this._measureParam;
53
- }
54
- get originalLength() {
55
- return this._originalLength;
56
- }
57
- get spOffsetParam() {
58
- return this._spOffsetParam;
59
- }
60
- get stretchingEPParam() {
61
- return this._stretchingEPParam;
62
- }
63
- get sections() {
64
- return this._sections;
65
- }
66
- get dividerSubpaths() {
67
- return this._dividerSubpaths;
68
- }
69
- }
70
- export class SymMeasureDivider {
71
- constructor(obj, logger) {
72
- this.repToPath = new Map();
73
- const currentStretch = obj.get("currentStretch");
74
- this.currentStretch = typeof currentStretch === "number" ? currentStretch : 0;
75
- for (const key of obj.props.keys()) {
76
- // skipping static keys
77
- if (key === "currentStretch") {
78
- continue;
79
- }
80
- const subPath = obj.get(key);
81
- if (!(subPath instanceof DexObj)) {
82
- logger.warn("SymMeasureDivider loading error", "unexpected type in top object");
83
- continue;
84
- }
85
- const rep = subPath.get("rep");
86
- const path = subPath.get("path");
87
- if (!(rep instanceof DexObj)) {
88
- logger.warn("SymMeasureDivider loading error", "rep is not DexObj");
89
- continue;
90
- }
91
- const symRep = SymRep.load(rep);
92
- if (!(symRep instanceof SymRep && typeof path === "string")) {
93
- logger.warn("SymMeasureDivider loading error", "SymRep or path not correct type");
94
- continue;
95
- }
96
- this.repToPath.set(JSON.stringify(symRep), path);
97
- }
98
- if (VERBOSE_SYM_LOGGING) {
99
- logger.info(`SymMeasureDivider`, `currentStretch ${this.currentStretch}`, "repToPath:", this.repToPath);
100
- }
101
- }
102
- }
103
- export class SymMeasureSection {
104
- constructor(obj, logger) {
105
- this.gfxModeToDetailLevelToMultiSelector = new Map();
106
- const sizeChange = obj.get("sizeChange");
107
- const move = obj.get("move");
108
- const currentStretch = obj.get("currentStretch");
109
- if (typeof sizeChange !== "number" || typeof move !== "boolean") {
110
- logger.warn("SymMeasureSection loading error", "required fields missing or incorrect");
111
- }
112
- this.sizeChange = typeof sizeChange === "number" ? sizeChange : 0;
113
- this.move = typeof move === "boolean" ? move : false;
114
- this.currentStretch = typeof currentStretch === "number" ? currentStretch : 0;
115
- for (const key of obj.props.keys()) {
116
- // skipping static keys
117
- if (key === "sizeChange" || key === "move" || key === "currentStretch") {
118
- continue;
119
- }
120
- const repToSelector = obj.get(key);
121
- if (!(repToSelector instanceof DexObj)) {
122
- logger.warn("SymMeasureSection loading error", "repToSelector not of type DexObj");
123
- continue;
124
- }
125
- const rep = repToSelector.get("rep");
126
- const selector = repToSelector.get("selector");
127
- if (!(selector instanceof DexObj && rep instanceof DexObj)) {
128
- logger.warn("SymMeasureSection loading error", "rep or selector not of type DexObj");
129
- continue;
130
- }
131
- const symRep = SymRep.load(rep);
132
- if (!(symRep instanceof SymRep)) {
133
- logger.warn("SymMeasureSection loading error", "SymRep failed to load");
134
- continue;
135
- }
136
- const { mode, detail } = symRep;
137
- let detailLevelToMultiSelector = this.gfxModeToDetailLevelToMultiSelector.get(mode);
138
- if (detailLevelToMultiSelector === undefined) {
139
- detailLevelToMultiSelector = new Map();
140
- this.gfxModeToDetailLevelToMultiSelector.set(mode, detailLevelToMultiSelector);
141
- }
142
- const symMultiSelector = new SymMultiSelector(selector, logger);
143
- detailLevelToMultiSelector.set(detail, symMultiSelector);
144
- }
145
- if (VERBOSE_SYM_LOGGING) {
146
- logger.info(`SymMeasureSection`, `sizeChange ${this.sizeChange}`, `move ${this.move}`, `currentStretch ${this.currentStretch}`, "repToSelector:", this.gfxModeToDetailLevelToMultiSelector);
147
- }
148
- }
149
- }
1
+ import { DexObj } from "../../dex/DexObj.js";
2
+ import { VERBOSE_SYM_LOGGING } from "../SymNode.js";
3
+ import { SymComponent } from "./SymComponent.js";
4
+ import { SymMultiSelector } from "./SymMultiSelector.js";
5
+ import { SymRep } from "./SymRep.js";
6
+ export class SymMeasure extends SymComponent {
7
+ constructor() {
8
+ super(...arguments);
9
+ this.id = "symMeasure";
10
+ this._sections = [];
11
+ this._dividerSubpaths = [];
12
+ }
13
+ load(logger, obj, _env, force = false) {
14
+ const sections = obj.get("sections");
15
+ const dividers = obj.get("dividers");
16
+ const measureParam = obj.get("measureParam");
17
+ const originalLength = obj.get("originalLength");
18
+ const spOffsetParam = obj.get("spOffsetParam");
19
+ const stretchingEPParam = obj.get("stretchingEPParam");
20
+ if (!(sections instanceof Array &&
21
+ dividers instanceof Array &&
22
+ typeof measureParam === "string" &&
23
+ typeof originalLength === "number" &&
24
+ (typeof spOffsetParam === "string" || typeof stretchingEPParam === "string"))) {
25
+ logger.warn("SymMeasure loading error", "data not structured as expected");
26
+ return;
27
+ }
28
+ this._measureParam = measureParam;
29
+ this._originalLength = originalLength;
30
+ this._spOffsetParam = typeof spOffsetParam === "string" ? spOffsetParam : undefined;
31
+ this._stretchingEPParam =
32
+ typeof stretchingEPParam === "string" ? stretchingEPParam : undefined;
33
+ for (const divide of dividers) {
34
+ if (!(divide instanceof DexObj)) {
35
+ logger.warn("SymMeasure loading error", "divider has wrong type");
36
+ continue;
37
+ }
38
+ this._dividerSubpaths.push(new SymMeasureDivider(divide, logger));
39
+ }
40
+ for (const section of sections) {
41
+ if (!(section instanceof DexObj)) {
42
+ logger.warn("SymMeasure loading error", "section has wrong type");
43
+ continue;
44
+ }
45
+ this._sections.push(new SymMeasureSection(section, logger));
46
+ }
47
+ if (VERBOSE_SYM_LOGGING) {
48
+ logger.info(`SymMeasure`, `originalLength ${this.originalLength}`, `measureParam ${this.measureParam}`, `spOffsetParam ${this.spOffsetParam}`, `stretchingEPParam ${this._stretchingEPParam}`, "sections:", this.sections, "dividerSubpaths", this.dividerSubpaths);
49
+ }
50
+ }
51
+ get measureParam() {
52
+ return this._measureParam;
53
+ }
54
+ get originalLength() {
55
+ return this._originalLength;
56
+ }
57
+ get spOffsetParam() {
58
+ return this._spOffsetParam;
59
+ }
60
+ get stretchingEPParam() {
61
+ return this._stretchingEPParam;
62
+ }
63
+ get sections() {
64
+ return this._sections;
65
+ }
66
+ get dividerSubpaths() {
67
+ return this._dividerSubpaths;
68
+ }
69
+ }
70
+ export class SymMeasureDivider {
71
+ constructor(obj, logger) {
72
+ this.repToPath = new Map();
73
+ const currentStretch = obj.get("currentStretch");
74
+ this.currentStretch = typeof currentStretch === "number" ? currentStretch : 0;
75
+ for (const key of obj.props.keys()) {
76
+ // skipping static keys
77
+ if (key === "currentStretch") {
78
+ continue;
79
+ }
80
+ const subPath = obj.get(key);
81
+ if (!(subPath instanceof DexObj)) {
82
+ logger.warn("SymMeasureDivider loading error", "unexpected type in top object");
83
+ continue;
84
+ }
85
+ const rep = subPath.get("rep");
86
+ const path = subPath.get("path");
87
+ if (!(rep instanceof DexObj)) {
88
+ logger.warn("SymMeasureDivider loading error", "rep is not DexObj");
89
+ continue;
90
+ }
91
+ const symRep = SymRep.load(rep);
92
+ if (!(symRep instanceof SymRep && typeof path === "string")) {
93
+ logger.warn("SymMeasureDivider loading error", "SymRep or path not correct type");
94
+ continue;
95
+ }
96
+ this.repToPath.set(JSON.stringify(symRep), path);
97
+ }
98
+ if (VERBOSE_SYM_LOGGING) {
99
+ logger.info(`SymMeasureDivider`, `currentStretch ${this.currentStretch}`, "repToPath:", this.repToPath);
100
+ }
101
+ }
102
+ }
103
+ export class SymMeasureSection {
104
+ constructor(obj, logger) {
105
+ this.gfxModeToDetailLevelToMultiSelector = new Map();
106
+ const sizeChange = obj.get("sizeChange");
107
+ const move = obj.get("move");
108
+ const currentStretch = obj.get("currentStretch");
109
+ if (typeof sizeChange !== "number" || typeof move !== "boolean") {
110
+ logger.warn("SymMeasureSection loading error", "required fields missing or incorrect");
111
+ }
112
+ this.sizeChange = typeof sizeChange === "number" ? sizeChange : 0;
113
+ this.move = typeof move === "boolean" ? move : false;
114
+ this.currentStretch = typeof currentStretch === "number" ? currentStretch : 0;
115
+ for (const key of obj.props.keys()) {
116
+ // skipping static keys
117
+ if (key === "sizeChange" || key === "move" || key === "currentStretch") {
118
+ continue;
119
+ }
120
+ const repToSelector = obj.get(key);
121
+ if (!(repToSelector instanceof DexObj)) {
122
+ logger.warn("SymMeasureSection loading error", "repToSelector not of type DexObj");
123
+ continue;
124
+ }
125
+ const rep = repToSelector.get("rep");
126
+ const selector = repToSelector.get("selector");
127
+ if (!(selector instanceof DexObj && rep instanceof DexObj)) {
128
+ logger.warn("SymMeasureSection loading error", "rep or selector not of type DexObj");
129
+ continue;
130
+ }
131
+ const symRep = SymRep.load(rep);
132
+ if (!(symRep instanceof SymRep)) {
133
+ logger.warn("SymMeasureSection loading error", "SymRep failed to load");
134
+ continue;
135
+ }
136
+ const { mode, detail } = symRep;
137
+ let detailLevelToMultiSelector = this.gfxModeToDetailLevelToMultiSelector.get(mode);
138
+ if (detailLevelToMultiSelector === undefined) {
139
+ detailLevelToMultiSelector = new Map();
140
+ this.gfxModeToDetailLevelToMultiSelector.set(mode, detailLevelToMultiSelector);
141
+ }
142
+ const symMultiSelector = new SymMultiSelector(selector, logger);
143
+ detailLevelToMultiSelector.set(detail, symMultiSelector);
144
+ }
145
+ if (VERBOSE_SYM_LOGGING) {
146
+ logger.info(`SymMeasureSection`, `sizeChange ${this.sizeChange}`, `move ${this.move}`, `currentStretch ${this.currentStretch}`, "repToSelector:", this.gfxModeToDetailLevelToMultiSelector);
147
+ }
148
+ }
149
+ }