@configura/web-core 2.1.0-alpha.2 → 2.1.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 (173) hide show
  1. package/.eslintrc.json +5 -5
  2. package/LICENSE +201 -201
  3. package/README.md +1 -1
  4. package/dist/cm/basic/Color.d.ts +16 -16
  5. package/dist/cm/basic/Color.js +18 -18
  6. package/dist/cm/basic/ColorF.d.ts +9 -9
  7. package/dist/cm/basic/ColorF.js +10 -10
  8. package/dist/cm/basic/boolean.d.ts +2 -2
  9. package/dist/cm/basic/boolean.js +11 -11
  10. package/dist/cm/basic/number.d.ts +3 -3
  11. package/dist/cm/basic/number.js +18 -18
  12. package/dist/cm/basic/string.d.ts +2 -2
  13. package/dist/cm/basic/string.js +11 -11
  14. package/dist/cm/core3D/ATriMeshF.d.ts +96 -96
  15. package/dist/cm/core3D/ATriMeshF.js +197 -197
  16. package/dist/cm/core3D/GMaterial3D.d.ts +62 -62
  17. package/dist/cm/core3D/GMaterial3D.js +112 -112
  18. package/dist/cm/core3D/GMaterialClassic.d.ts +55 -55
  19. package/dist/cm/core3D/GMaterialClassic.js +171 -171
  20. package/dist/cm/core3D/GMaterialPBR.d.ts +73 -73
  21. package/dist/cm/core3D/GMaterialPBR.js +314 -314
  22. package/dist/cm/core3D/MultiGMaterial3D.d.ts +8 -8
  23. package/dist/cm/core3D/MultiGMaterial3D.js +17 -17
  24. package/dist/cm/core3D/uvmapper/UVMapEnv.d.ts +19 -19
  25. package/dist/cm/core3D/uvmapper/UVMapEnv.js +47 -47
  26. package/dist/cm/core3D/uvmapper/UVMapper.d.ts +41 -41
  27. package/dist/cm/core3D/uvmapper/UVMapper.js +94 -94
  28. package/dist/cm/core3D/uvmapper/UVMapperBox.d.ts +4 -4
  29. package/dist/cm/core3D/uvmapper/UVMapperBox.js +181 -181
  30. package/dist/cm/core3D/uvmapper/UVMapperCylinder.d.ts +9 -9
  31. package/dist/cm/core3D/uvmapper/UVMapperCylinder.js +96 -96
  32. package/dist/cm/core3D/uvmapper/UVMapperPlane.d.ts +3 -3
  33. package/dist/cm/core3D/uvmapper/UVMapperPlane.js +84 -84
  34. package/dist/cm/core3D/uvmapper/UVTransformer.d.ts +5 -5
  35. package/dist/cm/core3D/uvmapper/UVTransformer.js +5 -5
  36. package/dist/cm/core3D/uvmapper/instantiateUVMapper.d.ts +3 -3
  37. package/dist/cm/core3D/uvmapper/instantiateUVMapper.js +4 -4
  38. package/dist/cm/format/cmsym/InvalidationEnv.d.ts +9 -9
  39. package/dist/cm/format/cmsym/InvalidationEnv.js +13 -13
  40. package/dist/cm/format/cmsym/SymImportEnv.d.ts +9 -9
  41. package/dist/cm/format/cmsym/SymImportEnv.js +9 -9
  42. package/dist/cm/format/cmsym/SymInv.d.ts +8 -8
  43. package/dist/cm/format/cmsym/SymInv.js +17 -17
  44. package/dist/cm/format/cmsym/SymNode.d.ts +94 -94
  45. package/dist/cm/format/cmsym/SymNode.js +652 -652
  46. package/dist/cm/format/cmsym/components/SymBox.d.ts +15 -15
  47. package/dist/cm/format/cmsym/components/SymBox.js +39 -39
  48. package/dist/cm/format/cmsym/components/SymComponent.d.ts +29 -29
  49. package/dist/cm/format/cmsym/components/SymComponent.js +56 -56
  50. package/dist/cm/format/cmsym/components/SymConnector.d.ts +5 -5
  51. package/dist/cm/format/cmsym/components/SymConnector.js +10 -10
  52. package/dist/cm/format/cmsym/components/SymDexObj.d.ts +11 -11
  53. package/dist/cm/format/cmsym/components/SymDexObj.js +10 -10
  54. package/dist/cm/format/cmsym/components/SymGFX.d.ts +11 -11
  55. package/dist/cm/format/cmsym/components/SymGFX.js +20 -20
  56. package/dist/cm/format/cmsym/components/SymGMaterial.d.ts +19 -19
  57. package/dist/cm/format/cmsym/components/SymGMaterial.js +88 -88
  58. package/dist/cm/format/cmsym/components/SymGMaterialSelector.d.ts +17 -17
  59. package/dist/cm/format/cmsym/components/SymGMaterialSelector.js +22 -22
  60. package/dist/cm/format/cmsym/components/SymGetMeshEnv.d.ts +9 -9
  61. package/dist/cm/format/cmsym/components/SymGetMeshEnv.js +9 -9
  62. package/dist/cm/format/cmsym/components/SymLODGroup.d.ts +9 -9
  63. package/dist/cm/format/cmsym/components/SymLODGroup.js +13 -13
  64. package/dist/cm/format/cmsym/components/SymLight.d.ts +8 -8
  65. package/dist/cm/format/cmsym/components/SymLight.js +10 -10
  66. package/dist/cm/format/cmsym/components/SymLines2D.d.ts +5 -5
  67. package/dist/cm/format/cmsym/components/SymLines2D.js +7 -7
  68. package/dist/cm/format/cmsym/components/SymMeasure.d.ts +33 -33
  69. package/dist/cm/format/cmsym/components/SymMeasure.js +149 -149
  70. package/dist/cm/format/cmsym/components/SymMesh.d.ts +29 -29
  71. package/dist/cm/format/cmsym/components/SymMesh.js +130 -130
  72. package/dist/cm/format/cmsym/components/SymMeshLight.d.ts +8 -8
  73. package/dist/cm/format/cmsym/components/SymMeshLight.js +10 -10
  74. package/dist/cm/format/cmsym/components/SymMultiSelector.d.ts +13 -13
  75. package/dist/cm/format/cmsym/components/SymMultiSelector.js +48 -48
  76. package/dist/cm/format/cmsym/components/SymParams.d.ts +16 -16
  77. package/dist/cm/format/cmsym/components/SymParams.js +58 -58
  78. package/dist/cm/format/cmsym/components/SymPlane.d.ts +15 -15
  79. package/dist/cm/format/cmsym/components/SymPlane.js +30 -30
  80. package/dist/cm/format/cmsym/components/SymPlaneDivider.d.ts +4 -4
  81. package/dist/cm/format/cmsym/components/SymPlaneDivider.js +7 -7
  82. package/dist/cm/format/cmsym/components/SymPrimitive2D.d.ts +3 -3
  83. package/dist/cm/format/cmsym/components/SymPrimitive2D.js +3 -3
  84. package/dist/cm/format/cmsym/components/SymProgs.d.ts +32 -32
  85. package/dist/cm/format/cmsym/components/SymProgs.js +120 -120
  86. package/dist/cm/format/cmsym/components/SymProps.d.ts +54 -54
  87. package/dist/cm/format/cmsym/components/SymProps.js +171 -171
  88. package/dist/cm/format/cmsym/components/SymRep.d.ts +13 -13
  89. package/dist/cm/format/cmsym/components/SymRep.js +28 -28
  90. package/dist/cm/format/cmsym/components/SymReps.d.ts +36 -36
  91. package/dist/cm/format/cmsym/components/SymReps.js +230 -230
  92. package/dist/cm/format/cmsym/components/SymShape.d.ts +10 -10
  93. package/dist/cm/format/cmsym/components/SymShape.js +17 -17
  94. package/dist/cm/format/cmsym/components/SymSphere.d.ts +18 -18
  95. package/dist/cm/format/cmsym/components/SymSphere.js +33 -33
  96. package/dist/cm/format/cmsym/components/SymSpotlight.d.ts +8 -8
  97. package/dist/cm/format/cmsym/components/SymSpotlight.js +10 -10
  98. package/dist/cm/format/cmsym/components/SymTags.d.ts +11 -11
  99. package/dist/cm/format/cmsym/components/SymTags.js +20 -20
  100. package/dist/cm/format/cmsym/components/SymText2D.d.ts +5 -5
  101. package/dist/cm/format/cmsym/components/SymText2D.js +8 -8
  102. package/dist/cm/format/cmsym/components/SymText3D.d.ts +5 -5
  103. package/dist/cm/format/cmsym/components/SymText3D.js +8 -8
  104. package/dist/cm/format/cmsym/components/SymTransform.d.ts +23 -23
  105. package/dist/cm/format/cmsym/components/SymTransform.js +101 -101
  106. package/dist/cm/format/cmsym/components/SymUVMapper.d.ts +13 -13
  107. package/dist/cm/format/cmsym/components/SymUVMapper.js +50 -50
  108. package/dist/cm/format/cmsym/components/instantiate.d.ts +2 -2
  109. package/dist/cm/format/cmsym/components/instantiate.js +121 -121
  110. package/dist/cm/format/cmsym/components/legacy.d.ts +7 -7
  111. package/dist/cm/format/cmsym/components/legacy.js +27 -27
  112. package/dist/cm/format/cmsym/components/mesh.d.ts +8 -8
  113. package/dist/cm/format/cmsym/components/mesh.js +28 -28
  114. package/dist/cm/format/cmsym/invalidation.d.ts +4 -4
  115. package/dist/cm/format/cmsym/invalidation.js +72 -72
  116. package/dist/cm/format/dex/DexIRef.d.ts +9 -9
  117. package/dist/cm/format/dex/DexIRef.js +18 -18
  118. package/dist/cm/format/dex/DexInt.d.ts +11 -11
  119. package/dist/cm/format/dex/DexInt.js +18 -18
  120. package/dist/cm/format/dex/DexInternalizedXRef.d.ts +19 -19
  121. package/dist/cm/format/dex/DexInternalizedXRef.js +65 -65
  122. package/dist/cm/format/dex/DexLoader.d.ts +8 -8
  123. package/dist/cm/format/dex/DexLoader.js +12 -12
  124. package/dist/cm/format/dex/DexManager.d.ts +20 -20
  125. package/dist/cm/format/dex/DexManager.js +78 -78
  126. package/dist/cm/format/dex/DexObj.d.ts +15 -15
  127. package/dist/cm/format/dex/DexObj.js +86 -86
  128. package/dist/cm/format/dex/DexReader.d.ts +90 -90
  129. package/dist/cm/format/dex/DexReader.js +532 -532
  130. package/dist/cm/format/dex/DexRef.d.ts +6 -6
  131. package/dist/cm/format/dex/DexRef.js +8 -8
  132. package/dist/cm/format/dex/DexReplacedXRefs.d.ts +9 -9
  133. package/dist/cm/format/dex/DexReplacedXRefs.js +22 -22
  134. package/dist/cm/format/dex/DexURL.d.ts +4 -4
  135. package/dist/cm/format/dex/DexURL.js +5 -5
  136. package/dist/cm/format/dex/DexVersion.d.ts +15 -15
  137. package/dist/cm/format/dex/DexVersion.js +53 -53
  138. package/dist/cm/format/dex/DexXRef.d.ts +18 -18
  139. package/dist/cm/format/dex/DexXRef.js +51 -51
  140. package/dist/cm/format/dex/DexXRefTargetFilter.d.ts +4 -4
  141. package/dist/cm/format/dex/DexXRefTargetFilter.js +5 -5
  142. package/dist/cm/geometry/Angle.d.ts +9 -9
  143. package/dist/cm/geometry/Angle.js +18 -18
  144. package/dist/cm/geometry/AngleF.d.ts +5 -5
  145. package/dist/cm/geometry/AngleF.js +8 -8
  146. package/dist/cm/geometry/Box.d.ts +7 -7
  147. package/dist/cm/geometry/Box.js +9 -9
  148. package/dist/cm/geometry/DetailMask.d.ts +37 -37
  149. package/dist/cm/geometry/DetailMask.js +114 -114
  150. package/dist/cm/geometry/LayerExpr.d.ts +2 -2
  151. package/dist/cm/geometry/LayerExpr.js +2 -2
  152. package/dist/cm/geometry/Matrix22.d.ts +7 -7
  153. package/dist/cm/geometry/Matrix22.js +9 -9
  154. package/dist/cm/geometry/Matrix33.d.ts +42 -42
  155. package/dist/cm/geometry/Matrix33.js +124 -124
  156. package/dist/cm/geometry/Orientation.d.ts +7 -7
  157. package/dist/cm/geometry/Orientation.js +7 -7
  158. package/dist/cm/geometry/Plane.d.ts +8 -8
  159. package/dist/cm/geometry/Plane.js +14 -14
  160. package/dist/cm/geometry/Point.d.ts +21 -21
  161. package/dist/cm/geometry/Point.js +65 -65
  162. package/dist/cm/geometry/Point2D.d.ts +9 -9
  163. package/dist/cm/geometry/Point2D.js +23 -23
  164. package/dist/cm/geometry/PointF.d.ts +11 -11
  165. package/dist/cm/geometry/PointF.js +27 -27
  166. package/dist/cm/geometry/Transform.d.ts +11 -11
  167. package/dist/cm/geometry/Transform.js +61 -61
  168. package/dist/cm/geometry/Transform2D.d.ts +7 -7
  169. package/dist/cm/geometry/Transform2D.js +6 -6
  170. package/dist/cm/io/Semver.d.ts +18 -18
  171. package/dist/cm/io/Semver.js +61 -61
  172. package/dist/index.js +1 -1
  173. package/package.json +4 -4
@@ -1,171 +1,171 @@
1
- import { DexObj } from "../../dex/DexObj.js";
2
- import { SymInv } from "../SymInv.js";
3
- import { SymComponent } from "./SymComponent.js";
4
- /**
5
- * Cache keys.
6
- */
7
- export const SYM_GEOMETRY_KEY = "hasGeometry"; // Probably deprecated in CmSym 4.0.0
8
- export const SYM_STRUCTURAL_KEY = "structuralKey";
9
- export const SYM_NODE_KEY = "nodeKey";
10
- export const SYM_LOCAL_BOUND_KEY = "localBound";
11
- export const SYM_USER_BOUND_KEY = "userBound";
12
- export const SYM_USER_LOCAL_BOUND_KEY = "userLocalBound";
13
- export const SYM_CACHED_MESHES_KEY = "meshes";
14
- /**
15
- * Tmp keys.
16
- */
17
- export const SYM_REDUCTION_SOURCE_KEY = "_reductionSource";
18
- export const SYM_REDUCER_KEY = "_reducer";
19
- export const SYM_FEATURES_KEY = "_features";
20
- export const SYM_GRAPH_EDIT_STATE_KEY = "_editState";
21
- export const SYM_ALWAYS_EDIT_KEY = "_alwaysEdit";
22
- export const SYM_DISABLED_STRUCTURAL_KEY = "_disabledStructuralKey";
23
- const propagatedKeys = [SYM_LOCAL_BOUND_KEY, SYM_GEOMETRY_KEY];
24
- export class SymProps extends SymComponent {
25
- constructor(props, src) {
26
- super(src);
27
- this.props = props;
28
- this.id = "symProps";
29
- }
30
- load(logger, obj, env, force = false) {
31
- obj.loadAll();
32
- for (const [key, value] of obj.props) {
33
- const loaded = this.loadValue(logger, key, value, env);
34
- this.set(key, loaded);
35
- }
36
- }
37
- loadValue(logger, key, obj, env) {
38
- if (obj instanceof DexObj) {
39
- this.loadDexObj(logger, key, obj, env);
40
- return;
41
- }
42
- return obj;
43
- }
44
- loadDexObj(logger, key, obj, env) {
45
- if (obj.type === "SymProp") {
46
- return this.loadSymProp(logger, key, obj, env);
47
- }
48
- throw logger.errorAsObject("not yet implemented!");
49
- }
50
- loadSymProp(logger, key, obj, env) {
51
- const v = obj.get("v");
52
- this.loadValue(logger, key, v, env);
53
- throw logger.errorAsObject("not yet implemented!");
54
- }
55
- // copy(target?: SymProps) {
56
- // if (target === undefined) {
57
- // target = new SymProps(undefined, this.src);
58
- // }
59
- // if (this.props !== undefined) {
60
- // const copyResult = deepCopyMap(this.props);
61
- // if ((copyResult instanceof Error)) {
62
- // return copyResult;
63
- // }
64
- // target.props = copyResult;
65
- // }
66
- // return target;
67
- // }
68
- set(key, value) {
69
- // if (this.redirectToFilteredNode(key)) {
70
- // let filtered = this.filteredNodeProps();
71
- // if (filtered === undefined) {
72
- // filtered = (this.node as SymFilterNode).node.getComponent(
73
- // this.id,
74
- // true
75
- // ) as SymProps;
76
- // }
77
- // filtered.put(key, value);
78
- // return;
79
- // }
80
- if (this.props === undefined) {
81
- this.props = new Map();
82
- }
83
- this.props.set(key, value);
84
- }
85
- get(key) {
86
- // if (this.redirectToFilteredNode(key)) {
87
- // const props = this.filteredNodeProps();
88
- // if (props !== undefined) {
89
- // return props.get(key);
90
- // }
91
- // return;
92
- // }
93
- if (this.props !== undefined) {
94
- return this.props.get(key);
95
- }
96
- }
97
- has(key) {
98
- if (this.props === undefined) {
99
- return false;
100
- }
101
- return this.props.has(key);
102
- }
103
- delete(key) {
104
- if (this.props === undefined) {
105
- return false;
106
- }
107
- return this.props.delete(key);
108
- }
109
- empty() {
110
- if (this.props === undefined) {
111
- return true;
112
- }
113
- return this.props.size === 0;
114
- }
115
- hasAttribute(key, attribute) {
116
- console.warn(`[SymProps.hasAttribute] ${key} ${String(attribute)}`);
117
- return false;
118
- }
119
- invalidation() {
120
- const res = [];
121
- for (const key of propagatedKeys) {
122
- const toSkip = this.node !== undefined ? [this.node] : undefined;
123
- res.push(new SymPropsInv(key, toSkip));
124
- }
125
- return res;
126
- }
127
- toString() {
128
- let str = this.id;
129
- if (this.props === undefined) {
130
- return str;
131
- }
132
- for (const key of this.props.keys()) {
133
- str += " " + key;
134
- }
135
- return str;
136
- }
137
- }
138
- // tslint:disable-next-line:max-classes-per-file
139
- export class SymPropsInv extends SymInv {
140
- constructor(key, toSkip, _propagate = true) {
141
- super();
142
- this.key = key;
143
- this.toSkip = toSkip;
144
- this._propagate = _propagate;
145
- }
146
- needToInvalidate(node) {
147
- const props = node.symProps();
148
- if (props === undefined || !props.has(this.key)) {
149
- return false;
150
- }
151
- return props.hasAttribute(this.key, Symbol("ignore_invalidate"));
152
- }
153
- skip(node) {
154
- return this.toSkip !== undefined && this.toSkip.indexOf(node) > -1;
155
- }
156
- invalidate(node) {
157
- const props = node.symProps();
158
- if (props !== undefined) {
159
- props.delete(this.key);
160
- if (props.empty()) {
161
- node.removeComponent(props.id);
162
- }
163
- }
164
- }
165
- propagate() {
166
- return this._propagate;
167
- }
168
- toString() {
169
- return `SymPropsInv(${this.key})`;
170
- }
171
- }
1
+ import { DexObj } from "../../dex/DexObj.js";
2
+ import { SymInv } from "../SymInv.js";
3
+ import { SymComponent } from "./SymComponent.js";
4
+ /**
5
+ * Cache keys.
6
+ */
7
+ export const SYM_GEOMETRY_KEY = "hasGeometry"; // Probably deprecated in CmSym 4.0.0
8
+ export const SYM_STRUCTURAL_KEY = "structuralKey";
9
+ export const SYM_NODE_KEY = "nodeKey";
10
+ export const SYM_LOCAL_BOUND_KEY = "localBound";
11
+ export const SYM_USER_BOUND_KEY = "userBound";
12
+ export const SYM_USER_LOCAL_BOUND_KEY = "userLocalBound";
13
+ export const SYM_CACHED_MESHES_KEY = "meshes";
14
+ /**
15
+ * Tmp keys.
16
+ */
17
+ export const SYM_REDUCTION_SOURCE_KEY = "_reductionSource";
18
+ export const SYM_REDUCER_KEY = "_reducer";
19
+ export const SYM_FEATURES_KEY = "_features";
20
+ export const SYM_GRAPH_EDIT_STATE_KEY = "_editState";
21
+ export const SYM_ALWAYS_EDIT_KEY = "_alwaysEdit";
22
+ export const SYM_DISABLED_STRUCTURAL_KEY = "_disabledStructuralKey";
23
+ const propagatedKeys = [SYM_LOCAL_BOUND_KEY, SYM_GEOMETRY_KEY];
24
+ export class SymProps extends SymComponent {
25
+ constructor(props, src) {
26
+ super(src);
27
+ this.props = props;
28
+ this.id = "symProps";
29
+ }
30
+ load(logger, obj, env, force = false) {
31
+ obj.loadAll();
32
+ for (const [key, value] of obj.props) {
33
+ const loaded = this.loadValue(logger, key, value, env);
34
+ this.set(key, loaded);
35
+ }
36
+ }
37
+ loadValue(logger, key, obj, env) {
38
+ if (obj instanceof DexObj) {
39
+ this.loadDexObj(logger, key, obj, env);
40
+ return;
41
+ }
42
+ return obj;
43
+ }
44
+ loadDexObj(logger, key, obj, env) {
45
+ if (obj.type === "SymProp") {
46
+ return this.loadSymProp(logger, key, obj, env);
47
+ }
48
+ throw logger.errorAsObject("not yet implemented!");
49
+ }
50
+ loadSymProp(logger, key, obj, env) {
51
+ const v = obj.get("v");
52
+ this.loadValue(logger, key, v, env);
53
+ throw logger.errorAsObject("not yet implemented!");
54
+ }
55
+ // copy(target?: SymProps) {
56
+ // if (target === undefined) {
57
+ // target = new SymProps(undefined, this.src);
58
+ // }
59
+ // if (this.props !== undefined) {
60
+ // const copyResult = deepCopyMap(this.props);
61
+ // if ((copyResult instanceof Error)) {
62
+ // return copyResult;
63
+ // }
64
+ // target.props = copyResult;
65
+ // }
66
+ // return target;
67
+ // }
68
+ set(key, value) {
69
+ // if (this.redirectToFilteredNode(key)) {
70
+ // let filtered = this.filteredNodeProps();
71
+ // if (filtered === undefined) {
72
+ // filtered = (this.node as SymFilterNode).node.getComponent(
73
+ // this.id,
74
+ // true
75
+ // ) as SymProps;
76
+ // }
77
+ // filtered.put(key, value);
78
+ // return;
79
+ // }
80
+ if (this.props === undefined) {
81
+ this.props = new Map();
82
+ }
83
+ this.props.set(key, value);
84
+ }
85
+ get(key) {
86
+ // if (this.redirectToFilteredNode(key)) {
87
+ // const props = this.filteredNodeProps();
88
+ // if (props !== undefined) {
89
+ // return props.get(key);
90
+ // }
91
+ // return;
92
+ // }
93
+ if (this.props !== undefined) {
94
+ return this.props.get(key);
95
+ }
96
+ }
97
+ has(key) {
98
+ if (this.props === undefined) {
99
+ return false;
100
+ }
101
+ return this.props.has(key);
102
+ }
103
+ delete(key) {
104
+ if (this.props === undefined) {
105
+ return false;
106
+ }
107
+ return this.props.delete(key);
108
+ }
109
+ empty() {
110
+ if (this.props === undefined) {
111
+ return true;
112
+ }
113
+ return this.props.size === 0;
114
+ }
115
+ hasAttribute(key, attribute) {
116
+ console.warn(`[SymProps.hasAttribute] ${key} ${String(attribute)}`);
117
+ return false;
118
+ }
119
+ invalidation() {
120
+ const res = [];
121
+ for (const key of propagatedKeys) {
122
+ const toSkip = this.node !== undefined ? [this.node] : undefined;
123
+ res.push(new SymPropsInv(key, toSkip));
124
+ }
125
+ return res;
126
+ }
127
+ toString() {
128
+ let str = this.id;
129
+ if (this.props === undefined) {
130
+ return str;
131
+ }
132
+ for (const key of this.props.keys()) {
133
+ str += " " + key;
134
+ }
135
+ return str;
136
+ }
137
+ }
138
+ // tslint:disable-next-line:max-classes-per-file
139
+ export class SymPropsInv extends SymInv {
140
+ constructor(key, toSkip, _propagate = true) {
141
+ super();
142
+ this.key = key;
143
+ this.toSkip = toSkip;
144
+ this._propagate = _propagate;
145
+ }
146
+ needToInvalidate(node) {
147
+ const props = node.symProps();
148
+ if (props === undefined || !props.has(this.key)) {
149
+ return false;
150
+ }
151
+ return props.hasAttribute(this.key, Symbol("ignore_invalidate"));
152
+ }
153
+ skip(node) {
154
+ return this.toSkip !== undefined && this.toSkip.indexOf(node) > -1;
155
+ }
156
+ invalidate(node) {
157
+ const props = node.symProps();
158
+ if (props !== undefined) {
159
+ props.delete(this.key);
160
+ if (props.empty()) {
161
+ node.removeComponent(props.id);
162
+ }
163
+ }
164
+ }
165
+ propagate() {
166
+ return this._propagate;
167
+ }
168
+ toString() {
169
+ return `SymPropsInv(${this.key})`;
170
+ }
171
+ }
@@ -1,14 +1,14 @@
1
- import { DetailLevel } from "../../../geometry/DetailMask.js";
2
- import { DexObj } from "../../dex/DexObj.js";
3
- import { SymGfxMode } from "./SymComponent.js";
4
- export declare class SymRep {
5
- private _mode;
6
- private _detail;
7
- static load(obj: DexObj): SymRep | undefined;
8
- constructor(_mode: SymGfxMode, _detail: DetailLevel);
9
- get mode(): SymGfxMode;
10
- get detail(): DetailLevel;
11
- get is3D(): boolean;
12
- get is2D(): boolean;
13
- }
1
+ import { DetailLevel } from "../../../geometry/DetailMask.js";
2
+ import { DexObj } from "../../dex/DexObj.js";
3
+ import { SymGfxMode } from "./SymComponent.js";
4
+ export declare class SymRep {
5
+ private _mode;
6
+ private _detail;
7
+ static load(obj: DexObj): SymRep | undefined;
8
+ constructor(_mode: SymGfxMode, _detail: DetailLevel);
9
+ get mode(): SymGfxMode;
10
+ get detail(): DetailLevel;
11
+ get is3D(): boolean;
12
+ get is2D(): boolean;
13
+ }
14
14
  //# sourceMappingURL=SymRep.d.ts.map
@@ -1,28 +1,28 @@
1
- import { detailLevelFromString } from "../../../geometry/DetailMask.js";
2
- import { SymGfxMode, symGfxModeFromString } from "./SymComponent.js";
3
- export class SymRep {
4
- constructor(_mode, _detail) {
5
- this._mode = _mode;
6
- this._detail = _detail;
7
- }
8
- static load(obj) {
9
- const detail = obj.get("detail");
10
- const mode = obj.get("mode");
11
- if (typeof detail === "string" && typeof mode === "string") {
12
- return new this(symGfxModeFromString(mode), detailLevelFromString(detail));
13
- }
14
- return undefined;
15
- }
16
- get mode() {
17
- return this._mode;
18
- }
19
- get detail() {
20
- return this._detail;
21
- }
22
- get is3D() {
23
- return this._mode === SymGfxMode.x3D;
24
- }
25
- get is2D() {
26
- return this._mode === SymGfxMode.x2D;
27
- }
28
- }
1
+ import { detailLevelFromString } from "../../../geometry/DetailMask.js";
2
+ import { SymGfxMode, symGfxModeFromString } from "./SymComponent.js";
3
+ export class SymRep {
4
+ constructor(_mode, _detail) {
5
+ this._mode = _mode;
6
+ this._detail = _detail;
7
+ }
8
+ static load(obj) {
9
+ const detail = obj.get("detail");
10
+ const mode = obj.get("mode");
11
+ if (typeof detail === "string" && typeof mode === "string") {
12
+ return new this(symGfxModeFromString(mode), detailLevelFromString(detail));
13
+ }
14
+ return undefined;
15
+ }
16
+ get mode() {
17
+ return this._mode;
18
+ }
19
+ get detail() {
20
+ return this._detail;
21
+ }
22
+ get is3D() {
23
+ return this._mode === SymGfxMode.x3D;
24
+ }
25
+ get is2D() {
26
+ return this._mode === SymGfxMode.x2D;
27
+ }
28
+ }
@@ -1,37 +1,37 @@
1
- import { Logger } from "@configura/web-utilities";
2
- import { DetailLevel, DetailMask } from "../../../geometry/DetailMask.js";
3
- import { DexObj } from "../../dex/DexObj.js";
4
- import { SymImportEnv } from "../SymImportEnv.js";
5
- import { SymInv } from "../SymInv.js";
6
- import { SymNode } from "../SymNode.js";
7
- import { SymComponent, SymComponentKey, SymGfxMode } from "./SymComponent.js";
8
- export declare class SymReps extends SymComponent {
9
- _details?: Map<SymGfxMode, DetailMask> | undefined;
10
- static reps3D(detail?: DetailLevel, src?: string): SymReps;
11
- static withDetailMask(mode: SymGfxMode, mask: DetailMask, src?: string): SymReps;
12
- id: SymComponentKey;
13
- _propagatedDetails?: Map<SymGfxMode, DetailMask>;
14
- invalid: boolean;
15
- constructor(_details?: Map<SymGfxMode, DetailMask> | undefined, src?: string);
16
- load(logger: Logger, dexObj: DexObj, _env: SymImportEnv, _force?: boolean): void;
17
- include(mode: SymGfxMode, mask: DetailMask, invalidate?: boolean): void;
18
- includePropagated(mode: SymGfxMode, mask: DetailMask): void;
19
- detailLevels(mode: SymGfxMode): Set<DetailLevel>;
20
- detailMask(mode: SymGfxMode): DetailMask;
21
- detailsMap(): Map<SymGfxMode, DetailMask>;
22
- intersects(other: SymReps): boolean;
23
- empty(): boolean;
24
- removeAllExcept(other: SymReps): void;
25
- invalidation(removed: boolean): SymRepsInv[];
26
- invalidate(): void;
27
- toString(): string;
28
- }
29
- export declare class SymRepsInv extends SymInv {
30
- reps: SymReps;
31
- constructor(reps: SymReps);
32
- needToInvalidate(node: SymNode): boolean;
33
- skip(node: SymNode): boolean;
34
- invalidate(node: SymNode): void;
35
- }
36
- export declare function invalidSymReps(): SymReps;
1
+ import { Logger } from "@configura/web-utilities";
2
+ import { DetailLevel, DetailMask } from "../../../geometry/DetailMask.js";
3
+ import { DexObj } from "../../dex/DexObj.js";
4
+ import { SymImportEnv } from "../SymImportEnv.js";
5
+ import { SymInv } from "../SymInv.js";
6
+ import { SymNode } from "../SymNode.js";
7
+ import { SymComponent, SymComponentKey, SymGfxMode } from "./SymComponent.js";
8
+ export declare class SymReps extends SymComponent {
9
+ _details?: Map<SymGfxMode, DetailMask> | undefined;
10
+ static reps3D(detail?: DetailLevel, src?: string): SymReps;
11
+ static withDetailMask(mode: SymGfxMode, mask: DetailMask, src?: string): SymReps;
12
+ id: SymComponentKey;
13
+ _propagatedDetails?: Map<SymGfxMode, DetailMask>;
14
+ invalid: boolean;
15
+ constructor(_details?: Map<SymGfxMode, DetailMask> | undefined, src?: string);
16
+ load(logger: Logger, dexObj: DexObj, _env: SymImportEnv, _force?: boolean): void;
17
+ include(mode: SymGfxMode, mask: DetailMask, invalidate?: boolean): void;
18
+ includePropagated(mode: SymGfxMode, mask: DetailMask): void;
19
+ detailLevels(mode: SymGfxMode): Set<DetailLevel>;
20
+ detailMask(mode: SymGfxMode): DetailMask;
21
+ detailsMap(): Map<SymGfxMode, DetailMask>;
22
+ intersects(other: SymReps): boolean;
23
+ empty(): boolean;
24
+ removeAllExcept(other: SymReps): void;
25
+ invalidation(removed: boolean): SymRepsInv[];
26
+ invalidate(): void;
27
+ toString(): string;
28
+ }
29
+ export declare class SymRepsInv extends SymInv {
30
+ reps: SymReps;
31
+ constructor(reps: SymReps);
32
+ needToInvalidate(node: SymNode): boolean;
33
+ skip(node: SymNode): boolean;
34
+ invalidate(node: SymNode): void;
35
+ }
36
+ export declare function invalidSymReps(): SymReps;
37
37
  //# sourceMappingURL=SymReps.d.ts.map