@rasamjs/core 0.1.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/API.md +29 -9
  2. package/CHANGELOG.md +98 -1
  3. package/COMPONENTS.md +229 -0
  4. package/README.md +178 -25
  5. package/RELEASING.md +31 -21
  6. package/dist/advanced.d.ts +1 -1
  7. package/dist/advanced.d.ts.map +1 -1
  8. package/dist/catalog/fragment.d.ts +2 -2
  9. package/dist/catalog/fragment.d.ts.map +1 -1
  10. package/dist/catalog/fragment.js.map +1 -1
  11. package/dist/changes/derived.d.ts +10 -0
  12. package/dist/changes/derived.d.ts.map +1 -0
  13. package/dist/changes/derived.js +14 -0
  14. package/dist/changes/derived.js.map +1 -0
  15. package/dist/changes/restore.d.ts.map +1 -1
  16. package/dist/changes/restore.js +22 -4
  17. package/dist/changes/restore.js.map +1 -1
  18. package/dist/changes/service.d.ts +10 -2
  19. package/dist/changes/service.d.ts.map +1 -1
  20. package/dist/changes/service.js +45 -6
  21. package/dist/changes/service.js.map +1 -1
  22. package/dist/changes/types.d.ts +9 -0
  23. package/dist/changes/types.d.ts.map +1 -1
  24. package/dist/changes/types.js.map +1 -1
  25. package/dist/changes.d.ts +5 -3
  26. package/dist/changes.d.ts.map +1 -1
  27. package/dist/changes.js +103 -2
  28. package/dist/changes.js.map +1 -1
  29. package/dist/components/changes.d.ts +34 -0
  30. package/dist/components/changes.d.ts.map +1 -0
  31. package/dist/components/changes.js +119 -0
  32. package/dist/components/changes.js.map +1 -0
  33. package/dist/components/component.d.ts +62 -0
  34. package/dist/components/component.d.ts.map +1 -0
  35. package/dist/components/component.js +355 -0
  36. package/dist/components/component.js.map +1 -0
  37. package/dist/components/decorators.d.ts +7 -0
  38. package/dist/components/decorators.d.ts.map +1 -0
  39. package/dist/components/decorators.js +81 -0
  40. package/dist/components/decorators.js.map +1 -0
  41. package/dist/components/metadata.d.ts +10 -0
  42. package/dist/components/metadata.d.ts.map +1 -0
  43. package/dist/components/metadata.js +85 -0
  44. package/dist/components/metadata.js.map +1 -0
  45. package/dist/components/registry.d.ts +24 -0
  46. package/dist/components/registry.d.ts.map +1 -0
  47. package/dist/components/registry.js +78 -0
  48. package/dist/components/registry.js.map +1 -0
  49. package/dist/components/types.d.ts +54 -0
  50. package/dist/components/types.d.ts.map +1 -0
  51. package/dist/components/types.js +2 -0
  52. package/dist/components/types.js.map +1 -0
  53. package/dist/components/view.d.ts +9 -0
  54. package/dist/components/view.d.ts.map +1 -0
  55. package/dist/components/view.js +104 -0
  56. package/dist/components/view.js.map +1 -0
  57. package/dist/components.d.ts +6 -0
  58. package/dist/components.d.ts.map +1 -0
  59. package/dist/components.js +5 -0
  60. package/dist/components.js.map +1 -0
  61. package/dist/core/node.d.ts +7 -0
  62. package/dist/core/node.d.ts.map +1 -1
  63. package/dist/core/node.js +30 -0
  64. package/dist/core/node.js.map +1 -1
  65. package/dist/dom/images.d.ts.map +1 -1
  66. package/dist/dom/images.js +3 -1
  67. package/dist/dom/images.js.map +1 -1
  68. package/dist/elements/image.d.ts.map +1 -1
  69. package/dist/elements/image.js +4 -1
  70. package/dist/elements/image.js.map +1 -1
  71. package/dist/interchange/clone.d.ts.map +1 -1
  72. package/dist/interchange/clone.js +4 -3
  73. package/dist/interchange/clone.js.map +1 -1
  74. package/dist/interchange/dom.d.ts +3 -1
  75. package/dist/interchange/dom.d.ts.map +1 -1
  76. package/dist/interchange/dom.js +29 -5
  77. package/dist/interchange/dom.js.map +1 -1
  78. package/dist/interchange/markup.d.ts.map +1 -1
  79. package/dist/interchange/markup.js +71 -3
  80. package/dist/interchange/markup.js.map +1 -1
  81. package/dist/interchange/policy.d.ts.map +1 -1
  82. package/dist/interchange/policy.js +4 -0
  83. package/dist/interchange/policy.js.map +1 -1
  84. package/dist/interchange/reconstruct.d.ts.map +1 -1
  85. package/dist/interchange/reconstruct.js +16 -12
  86. package/dist/interchange/reconstruct.js.map +1 -1
  87. package/dist/interchange/references.d.ts.map +1 -1
  88. package/dist/interchange/references.js +10 -4
  89. package/dist/interchange/references.js.map +1 -1
  90. package/dist/interchange/types.d.ts +10 -1
  91. package/dist/interchange/types.d.ts.map +1 -1
  92. package/dist/mixins/parent-internals.d.ts +6 -0
  93. package/dist/mixins/parent-internals.d.ts.map +1 -1
  94. package/dist/mixins/parent-internals.js +34 -0
  95. package/dist/mixins/parent-internals.js.map +1 -1
  96. package/dist/mixins/parent.d.ts.map +1 -1
  97. package/dist/mixins/parent.js +6 -1
  98. package/dist/mixins/parent.js.map +1 -1
  99. package/dist/mixins/transformable.d.ts.map +1 -1
  100. package/dist/mixins/transformable.js +25 -27
  101. package/dist/mixins/transformable.js.map +1 -1
  102. package/dist/mixins/types.d.ts +2 -2
  103. package/dist/mixins/types.d.ts.map +1 -1
  104. package/dist/raster/frame.d.ts +12 -0
  105. package/dist/raster/frame.d.ts.map +1 -0
  106. package/dist/raster/frame.js +43 -0
  107. package/dist/raster/frame.js.map +1 -0
  108. package/dist/raster/images.d.ts +2 -0
  109. package/dist/raster/images.d.ts.map +1 -0
  110. package/dist/raster/images.js +60 -0
  111. package/dist/raster/images.js.map +1 -0
  112. package/dist/raster/render.d.ts +3 -0
  113. package/dist/raster/render.d.ts.map +1 -0
  114. package/dist/raster/render.js +40 -0
  115. package/dist/raster/render.js.map +1 -0
  116. package/dist/raster/types.d.ts +10 -0
  117. package/dist/raster/types.d.ts.map +1 -0
  118. package/dist/raster/types.js +2 -0
  119. package/dist/raster/types.js.map +1 -0
  120. package/dist/raster.d.ts +6 -0
  121. package/dist/raster.d.ts.map +1 -0
  122. package/dist/raster.js +10 -0
  123. package/dist/raster.js.map +1 -0
  124. package/dist/resources/references.d.ts +2 -0
  125. package/dist/resources/references.d.ts.map +1 -1
  126. package/dist/resources/references.js +3 -1
  127. package/dist/resources/references.js.map +1 -1
  128. package/dist/services/catalog.d.ts.map +1 -1
  129. package/dist/services/catalog.js +5 -3
  130. package/dist/services/catalog.js.map +1 -1
  131. package/dist/services/defs-manager.d.ts +2 -0
  132. package/dist/services/defs-manager.d.ts.map +1 -1
  133. package/dist/services/defs-manager.js +4 -0
  134. package/dist/services/defs-manager.js.map +1 -1
  135. package/dist/services/element-key.d.ts +4 -0
  136. package/dist/services/element-key.d.ts.map +1 -0
  137. package/dist/services/element-key.js +12 -0
  138. package/dist/services/element-key.js.map +1 -0
  139. package/dist/services/initialization.d.ts +7 -0
  140. package/dist/services/initialization.d.ts.map +1 -0
  141. package/dist/services/initialization.js +27 -0
  142. package/dist/services/initialization.js.map +1 -0
  143. package/dist/services/registry.d.ts +8 -0
  144. package/dist/services/registry.d.ts.map +1 -1
  145. package/dist/services/registry.js +45 -10
  146. package/dist/services/registry.js.map +1 -1
  147. package/dist/services/types.d.ts +17 -0
  148. package/dist/services/types.d.ts.map +1 -1
  149. package/dist/services/viewport.d.ts +2 -0
  150. package/dist/services/viewport.d.ts.map +1 -1
  151. package/dist/services/viewport.js +4 -3
  152. package/dist/services/viewport.js.map +1 -1
  153. package/dist/template/parts.d.ts +12 -6
  154. package/dist/template/parts.d.ts.map +1 -1
  155. package/dist/template/parts.js +36 -29
  156. package/dist/template/parts.js.map +1 -1
  157. package/dist/template/render.d.ts +6 -7
  158. package/dist/template/render.d.ts.map +1 -1
  159. package/dist/template/render.js +188 -44
  160. package/dist/template/render.js.map +1 -1
  161. package/dist/template/svg-tag.d.ts +5 -1
  162. package/dist/template/svg-tag.d.ts.map +1 -1
  163. package/dist/template/svg-tag.js.map +1 -1
  164. package/dist/text/content.d.ts +0 -2
  165. package/dist/text/content.d.ts.map +1 -1
  166. package/dist/text/content.js +4 -10
  167. package/dist/text/content.js.map +1 -1
  168. package/dist/text/internals.d.ts +1 -0
  169. package/dist/text/internals.d.ts.map +1 -1
  170. package/dist/text/policies.d.ts +7 -0
  171. package/dist/text/policies.d.ts.map +1 -0
  172. package/dist/text/policies.js +13 -0
  173. package/dist/text/policies.js.map +1 -0
  174. package/dist/types/common.d.ts +27 -0
  175. package/dist/types/common.d.ts.map +1 -1
  176. package/package.json +156 -143
  177. package/reports/adoption.json +20 -20
  178. package/reports/animation-benchmark.json +616 -616
  179. package/reports/benchmark.json +65 -65
  180. package/reports/components-benchmark-before.json +10 -0
  181. package/reports/components-benchmark.json +10 -0
  182. package/reports/creation.json +26 -26
  183. package/reports/interchange-benchmark.json +85 -85
  184. package/reports/public-api-contract.json +353 -23
  185. package/reports/public-api-review.md +23 -0
  186. package/reports/size-components.json +102 -0
  187. package/reports/size-parity.json +82 -34
  188. package/reports/size.json +6 -4
  189. package/reports/svgjs-comparison.json +3466 -3466
  190. package/reports/svgjs-comparison.md +19 -19
  191. package/reports/svgjs-parity-current.json +177 -60
  192. package/src/advanced.ts +1 -1
  193. package/src/catalog/fragment.ts +2 -2
  194. package/src/changes/derived.ts +19 -0
  195. package/src/changes/restore.ts +27 -4
  196. package/src/changes/service.ts +60 -11
  197. package/src/changes/types.ts +9 -0
  198. package/src/changes.ts +93 -4
  199. package/src/components/changes.ts +131 -0
  200. package/src/components/component.ts +401 -0
  201. package/src/components/decorators.ts +104 -0
  202. package/src/components/metadata.ts +111 -0
  203. package/src/components/registry.ts +79 -0
  204. package/src/components/types.ts +66 -0
  205. package/src/components/view.ts +123 -0
  206. package/src/components.ts +15 -0
  207. package/src/core/node.ts +32 -1
  208. package/src/dom/images.ts +2 -1
  209. package/src/elements/image.ts +4 -1
  210. package/src/interchange/clone.ts +4 -3
  211. package/src/interchange/dom.ts +34 -5
  212. package/src/interchange/markup.ts +77 -3
  213. package/src/interchange/policy.ts +6 -0
  214. package/src/interchange/reconstruct.ts +16 -12
  215. package/src/interchange/references.ts +12 -4
  216. package/src/interchange/types.ts +10 -1
  217. package/src/mixins/parent-internals.ts +37 -0
  218. package/src/mixins/parent.ts +13 -4
  219. package/src/mixins/transformable.ts +23 -25
  220. package/src/mixins/types.ts +2 -2
  221. package/src/raster/frame.ts +53 -0
  222. package/src/raster/images.ts +73 -0
  223. package/src/raster/render.ts +45 -0
  224. package/src/raster/types.ts +9 -0
  225. package/src/raster.ts +13 -0
  226. package/src/resources/references.ts +5 -1
  227. package/src/services/catalog.ts +5 -3
  228. package/src/services/defs-manager.ts +5 -0
  229. package/src/services/element-key.ts +14 -0
  230. package/src/services/initialization.ts +25 -0
  231. package/src/services/registry.ts +47 -10
  232. package/src/services/types.ts +21 -0
  233. package/src/services/viewport.ts +5 -4
  234. package/src/template/parts.ts +54 -39
  235. package/src/template/render.ts +211 -54
  236. package/src/template/svg-tag.ts +6 -1
  237. package/src/text/content.ts +4 -14
  238. package/src/text/internals.ts +1 -0
  239. package/src/text/policies.ts +18 -0
  240. package/src/types/common.ts +29 -0
@@ -1,5 +1,28 @@
1
1
  # Public API review
2
2
 
3
+ Phase 8 (2026-11-03) adds only the optional `./raster` public module:
4
+ `exportImage` and type `RasterOptions`, with five new declaration files. Existing
5
+ entry exports, prototypes and declaration hashes remain unchanged. The raster
6
+ fixture measures 9,688/12,288 B gzip and is excluded from existing entry bundles.
7
+ The packed consumer verifies typed usage and document-free imports. Raster pixels,
8
+ resource failures, format negotiation and source preservation have native browser
9
+ coverage; web-font/style embedding is explicitly outside this first version.
10
+
11
+ ## Editor foundations (2026-11-03)
12
+
13
+ Phase 1 adds `ChangeMetadata.label`, its optional `groupstart` event field,
14
+ `ChangeGroup.cancel()` and the optional restored-cancellation event flag. History remains
15
+ an independent consumer. Cancellation recording and restoration stay in the opt-in changes
16
+ entry; the root only transports metadata and the completion flag. Conflicts leave an active
17
+ group available for retry, and permanent disposal invalidates cancellation. Observer failures
18
+ after restoration are reported after ending the group.
19
+
20
+ `ExportOptions.frame: 'content'` and `padding` frame geometric root-space content on the
21
+ detached export. `ImportOptions.document` unwraps one outer SVG document and accepts its
22
+ XML declaration; fragment mode and passive import validation remain available. Parse errors
23
+ now use `SyntaxError` with the first parser error line. No new runtime exports or peers are
24
+ introduced. The existing `BBox.union()` covers the bounds-union requirement.
25
+
3
26
  P11 adds only opt-in `@rasamjs/core/query` (`query`, `queryFirst`, `matches`, `queryNative`,
4
27
  type `NodePredicate`) and `@rasamjs/core/interchange` (`cloneNode`, `exportSvg`, `importSvg`
5
28
  and their option types). Constructors remain drawing-registered; queries do not
@@ -0,0 +1,102 @@
1
+ {
2
+ "fixture": "fixtures/size-components.ts",
3
+ "rawBytes": 142569,
4
+ "gzipBytes": 42890,
5
+ "budgetBytes": 43008,
6
+ "included": [
7
+ "src/changes/mutation.ts",
8
+ "src/dom/attributes.ts",
9
+ "src/decorators/attrs.ts",
10
+ "src/events/emitter.ts",
11
+ "src/math/vec2.ts",
12
+ "src/math/matrix.ts",
13
+ "src/core/destruction.ts",
14
+ "src/mixins/parent-internals.ts",
15
+ "src/core/attribute-validation.ts",
16
+ "src/changes/types.ts",
17
+ "src/core/node.ts",
18
+ "src/dom/namespace.ts",
19
+ "src/dom/create.ts",
20
+ "src/core/mix.ts",
21
+ "src/mixins/styleable.ts",
22
+ "src/math/bbox.ts",
23
+ "src/math/viewport.ts",
24
+ "src/services/viewport.ts",
25
+ "src/mixins/placement.ts",
26
+ "src/mixins/transform-state.ts",
27
+ "src/mixins/transformable.ts",
28
+ "src/math/length.ts",
29
+ "src/mixins/sizing-internals.ts",
30
+ "src/mixins/sizable.ts",
31
+ "src/core/shape.ts",
32
+ "src/geometry/bake-ellipse.ts",
33
+ "src/elements/circle.ts",
34
+ "src/mixins/parent.ts",
35
+ "src/mixins/creatable.ts",
36
+ "src/elements/group.ts",
37
+ "src/elements/defs.ts",
38
+ "src/mixins/guards.ts",
39
+ "src/services/reference-value.ts",
40
+ "src/mixins/resourceful.ts",
41
+ "src/resources/content.ts",
42
+ "src/elements/clip-path.ts",
43
+ "src/elements/ellipse.ts",
44
+ "src/elements/stop.ts",
45
+ "src/elements/gradient.ts",
46
+ "src/geometry/point-list.ts",
47
+ "src/geometry/point-array.ts",
48
+ "src/elements/line.ts",
49
+ "src/math/viewbox.ts",
50
+ "src/elements/marker.ts",
51
+ "src/path/path-builder.ts",
52
+ "src/path/transform-arc.ts",
53
+ "src/path/path-array.ts",
54
+ "src/elements/path.ts",
55
+ "src/elements/point-shape.ts",
56
+ "src/elements/polygon.ts",
57
+ "src/elements/polyline.ts",
58
+ "src/elements/rect.ts",
59
+ "src/dom/text.ts",
60
+ "src/text/policies.ts",
61
+ "src/text/content.ts",
62
+ "src/text/internals.ts",
63
+ "src/text/measure.ts",
64
+ "src/text/rich-textual.ts",
65
+ "src/text/validation.ts",
66
+ "src/elements/text.ts",
67
+ "src/media/length.ts",
68
+ "src/elements/use-geometry.ts",
69
+ "src/elements/instance-hit.ts",
70
+ "src/elements/use.ts",
71
+ "src/elements/index.ts",
72
+ "src/services/bounds.ts",
73
+ "src/services/defs-manager.ts",
74
+ "src/core/native-validation.ts",
75
+ "src/services/element-key.ts",
76
+ "src/services/initialization.ts",
77
+ "src/services/registry.ts",
78
+ "src/services/scheduler.ts",
79
+ "src/changes/service.ts",
80
+ "src/services/context.ts",
81
+ "src/events/pointer.ts",
82
+ "src/services/mount.ts",
83
+ "src/elements/svg.ts",
84
+ "src/services/catalog.ts",
85
+ "src/svg.ts",
86
+ "src/template/svg-tag.ts",
87
+ "src/resources/references.ts",
88
+ "src/template/parts.ts",
89
+ "src/template/render.ts",
90
+ "src/changes/state.ts",
91
+ "src/changes/derived.ts",
92
+ "src/changes/restore.ts",
93
+ "src/changes.ts",
94
+ "src/components/metadata.ts",
95
+ "src/components/view.ts",
96
+ "src/components/changes.ts",
97
+ "src/components/component.ts",
98
+ "src/components/decorators.ts",
99
+ "src/components/registry.ts",
100
+ "fixtures/size-components.ts"
101
+ ]
102
+ }
@@ -1,9 +1,9 @@
1
1
  [
2
2
  {
3
3
  "fixture": "fixtures/size-catalog.ts",
4
- "rawBytes": 109089,
5
- "gzipBytes": 32518,
6
- "budgetBytes": 32768,
4
+ "rawBytes": 114375,
5
+ "gzipBytes": 34248,
6
+ "budgetBytes": 34816,
7
7
  "included": [
8
8
  "src/changes/mutation.ts",
9
9
  "src/dom/attributes.ts",
@@ -12,6 +12,7 @@
12
12
  "src/math/vec2.ts",
13
13
  "src/math/matrix.ts",
14
14
  "src/core/destruction.ts",
15
+ "src/mixins/parent-internals.ts",
15
16
  "src/core/attribute-validation.ts",
16
17
  "src/changes/types.ts",
17
18
  "src/core/node.ts",
@@ -31,7 +32,6 @@
31
32
  "src/core/shape.ts",
32
33
  "src/geometry/bake-ellipse.ts",
33
34
  "src/elements/circle.ts",
34
- "src/mixins/parent-internals.ts",
35
35
  "src/mixins/parent.ts",
36
36
  "src/mixins/creatable.ts",
37
37
  "src/elements/group.ts",
@@ -58,6 +58,7 @@
58
58
  "src/elements/polyline.ts",
59
59
  "src/elements/rect.ts",
60
60
  "src/dom/text.ts",
61
+ "src/text/policies.ts",
61
62
  "src/text/content.ts",
62
63
  "src/text/internals.ts",
63
64
  "src/text/measure.ts",
@@ -72,6 +73,8 @@
72
73
  "src/services/bounds.ts",
73
74
  "src/services/defs-manager.ts",
74
75
  "src/core/native-validation.ts",
76
+ "src/services/element-key.ts",
77
+ "src/services/initialization.ts",
75
78
  "src/services/registry.ts",
76
79
  "src/services/scheduler.ts",
77
80
  "src/changes/service.ts",
@@ -108,8 +111,8 @@
108
111
  },
109
112
  {
110
113
  "fixture": "fixtures/size-tree.ts",
111
- "rawBytes": 21933,
112
- "gzipBytes": 7082,
114
+ "rawBytes": 22620,
115
+ "gzipBytes": 7315,
113
116
  "budgetBytes": 8192,
114
117
  "included": [
115
118
  "src/tree/traversal.ts",
@@ -122,11 +125,11 @@
122
125
  "src/events/emitter.ts",
123
126
  "src/math/vec2.ts",
124
127
  "src/math/matrix.ts",
128
+ "src/mixins/parent-internals.ts",
125
129
  "src/core/attribute-validation.ts",
126
130
  "src/changes/types.ts",
127
131
  "src/core/node.ts",
128
132
  "src/mixins/guards.ts",
129
- "src/mixins/parent-internals.ts",
130
133
  "src/mixins/placement.ts",
131
134
  "src/tree/reparent.ts",
132
135
  "src/tree/structure.ts"
@@ -149,16 +152,16 @@
149
152
  },
150
153
  {
151
154
  "fixture": "fixtures/size-resources.ts",
152
- "rawBytes": 5662,
153
- "gzipBytes": 2178,
155
+ "rawBytes": 5742,
156
+ "gzipBytes": 2211,
154
157
  "budgetBytes": 4096,
155
158
  "included": ["src/dom/attributes.ts", "src/core/destruction.ts", "src/resources/references.ts"],
156
159
  "unrelated": []
157
160
  },
158
161
  {
159
162
  "fixture": "fixtures/size-text.ts",
160
- "rawBytes": 36832,
161
- "gzipBytes": 11727,
163
+ "rawBytes": 37898,
164
+ "gzipBytes": 12107,
162
165
  "budgetBytes": 12288,
163
166
  "included": [
164
167
  "src/changes/mutation.ts",
@@ -168,15 +171,16 @@
168
171
  "src/math/vec2.ts",
169
172
  "src/math/matrix.ts",
170
173
  "src/core/destruction.ts",
174
+ "src/mixins/parent-internals.ts",
171
175
  "src/core/attribute-validation.ts",
172
176
  "src/changes/types.ts",
173
177
  "src/core/node.ts",
174
178
  "src/core/mix.ts",
175
179
  "src/math/bbox.ts",
176
- "src/mixins/parent-internals.ts",
177
180
  "src/mixins/parent.ts",
178
181
  "src/mixins/styleable.ts",
179
182
  "src/dom/text.ts",
183
+ "src/text/policies.ts",
180
184
  "src/text/content.ts",
181
185
  "src/text/internals.ts",
182
186
  "src/text/measure.ts",
@@ -185,6 +189,7 @@
185
189
  "src/text/validation.ts",
186
190
  "src/elements/tspan.ts",
187
191
  "src/elements/text-path.ts",
192
+ "src/services/element-key.ts",
188
193
  "src/services/catalog.ts",
189
194
  "src/mixins/guards.ts",
190
195
  "src/text.ts"
@@ -209,9 +214,9 @@
209
214
  },
210
215
  {
211
216
  "fixture": "fixtures/size-media.ts",
212
- "rawBytes": 53363,
213
- "gzipBytes": 16087,
214
- "budgetBytes": 16384,
217
+ "rawBytes": 54452,
218
+ "gzipBytes": 16484,
219
+ "budgetBytes": 16896,
215
220
  "included": [
216
221
  "src/core/destruction.ts",
217
222
  "src/changes/mutation.ts",
@@ -220,6 +225,7 @@
220
225
  "src/events/emitter.ts",
221
226
  "src/math/vec2.ts",
222
227
  "src/math/matrix.ts",
228
+ "src/mixins/parent-internals.ts",
223
229
  "src/core/attribute-validation.ts",
224
230
  "src/changes/types.ts",
225
231
  "src/core/node.ts",
@@ -239,7 +245,6 @@
239
245
  "src/media/length.ts",
240
246
  "src/media/validation.ts",
241
247
  "src/elements/image.ts",
242
- "src/mixins/parent-internals.ts",
243
248
  "src/mixins/parent.ts",
244
249
  "src/mixins/creatable.ts",
245
250
  "src/elements/group.ts",
@@ -253,6 +258,7 @@
253
258
  "src/math/viewbox.ts",
254
259
  "src/elements/symbol.ts",
255
260
  "src/elements/link.ts",
261
+ "src/services/element-key.ts",
256
262
  "src/services/catalog.ts",
257
263
  "src/tree/traversal.ts",
258
264
  "src/tree/reparent.ts",
@@ -263,9 +269,9 @@
263
269
  },
264
270
  {
265
271
  "fixture": "fixtures/size-content.ts",
266
- "rawBytes": 56649,
267
- "gzipBytes": 17018,
268
- "budgetBytes": 17408,
272
+ "rawBytes": 58413,
273
+ "gzipBytes": 17605,
274
+ "budgetBytes": 17920,
269
275
  "included": [
270
276
  "src/changes/mutation.ts",
271
277
  "src/dom/attributes.ts",
@@ -274,6 +280,7 @@
274
280
  "src/math/vec2.ts",
275
281
  "src/math/matrix.ts",
276
282
  "src/core/destruction.ts",
283
+ "src/mixins/parent-internals.ts",
277
284
  "src/core/attribute-validation.ts",
278
285
  "src/changes/types.ts",
279
286
  "src/core/node.ts",
@@ -281,6 +288,8 @@
281
288
  "src/mixins/textual.ts",
282
289
  "src/core/native-validation.ts",
283
290
  "src/dom/namespaced-attributes.ts",
291
+ "src/services/element-key.ts",
292
+ "src/services/initialization.ts",
284
293
  "src/services/registry.ts",
285
294
  "src/catalog/namespaces.ts",
286
295
  "src/dom/content.ts",
@@ -303,7 +312,6 @@
303
312
  "src/media/length.ts",
304
313
  "src/elements/foreign-object.ts",
305
314
  "src/services/catalog.ts",
306
- "src/mixins/parent-internals.ts",
307
315
  "src/mixins/parent.ts",
308
316
  "src/mixins/creatable.ts",
309
317
  "src/elements/generic.ts",
@@ -316,8 +324,8 @@
316
324
  },
317
325
  {
318
326
  "fixture": "fixtures/size-query.ts",
319
- "rawBytes": 11266,
320
- "gzipBytes": 4069,
327
+ "rawBytes": 12229,
328
+ "gzipBytes": 4418,
321
329
  "budgetBytes": 5120,
322
330
  "included": [
323
331
  "src/dom/attributes.ts",
@@ -325,6 +333,9 @@
325
333
  "src/math/matrix.ts",
326
334
  "src/core/attribute-validation.ts",
327
335
  "src/core/native-validation.ts",
336
+ "src/mixins/parent-internals.ts",
337
+ "src/services/element-key.ts",
338
+ "src/services/initialization.ts",
328
339
  "src/services/registry.ts",
329
340
  "src/query.ts"
330
341
  ],
@@ -332,8 +343,8 @@
332
343
  },
333
344
  {
334
345
  "fixture": "fixtures/size-interchange.ts",
335
- "rawBytes": 58750,
336
- "gzipBytes": 17853,
346
+ "rawBytes": 57154,
347
+ "gzipBytes": 17519,
337
348
  "budgetBytes": 18432,
338
349
  "included": [
339
350
  "src/changes/mutation.ts",
@@ -343,12 +354,12 @@
343
354
  "src/math/vec2.ts",
344
355
  "src/math/matrix.ts",
345
356
  "src/core/destruction.ts",
357
+ "src/mixins/parent-internals.ts",
346
358
  "src/core/attribute-validation.ts",
347
359
  "src/changes/types.ts",
348
360
  "src/core/node.ts",
349
361
  "src/core/mix.ts",
350
362
  "src/math/bbox.ts",
351
- "src/mixins/parent-internals.ts",
352
363
  "src/mixins/parent.ts",
353
364
  "src/mixins/creatable.ts",
354
365
  "src/mixins/styleable.ts",
@@ -371,20 +382,55 @@
371
382
  "src/interchange/dom.ts",
372
383
  "src/interchange/references.ts",
373
384
  "src/core/native-validation.ts",
385
+ "src/services/initialization.ts",
374
386
  "src/interchange/reconstruct.ts",
375
- "src/dom/text.ts",
376
- "src/text/content.ts",
387
+ "src/text/policies.ts",
377
388
  "src/interchange/clone.ts",
378
389
  "src/interchange/policy.ts",
379
390
  "src/interchange/markup.ts"
380
391
  ],
381
392
  "unrelated": []
382
393
  },
394
+ {
395
+ "fixture": "fixtures/size-raster.ts",
396
+ "rawBytes": 31457,
397
+ "gzipBytes": 10524,
398
+ "budgetBytes": 12288,
399
+ "included": [
400
+ "src/catalog/namespaces.ts",
401
+ "src/core/destruction.ts",
402
+ "src/mixins/parent-internals.ts",
403
+ "src/dom/namespaced-attributes.ts",
404
+ "src/changes/mutation.ts",
405
+ "src/dom/attributes.ts",
406
+ "src/decorators/attrs.ts",
407
+ "src/events/emitter.ts",
408
+ "src/math/vec2.ts",
409
+ "src/math/matrix.ts",
410
+ "src/core/attribute-validation.ts",
411
+ "src/changes/types.ts",
412
+ "src/core/node.ts",
413
+ "src/mixins/guards.ts",
414
+ "src/interchange/snapshot.ts",
415
+ "src/resources/references.ts",
416
+ "src/interchange/dom.ts",
417
+ "src/interchange/references.ts",
418
+ "src/math/bbox.ts",
419
+ "src/math/viewport.ts",
420
+ "src/services/viewport.ts",
421
+ "src/interchange/markup.ts",
422
+ "src/raster/frame.ts",
423
+ "src/raster/images.ts",
424
+ "src/raster/render.ts",
425
+ "src/raster.ts"
426
+ ],
427
+ "unrelated": []
428
+ },
383
429
  {
384
430
  "fixture": "fixtures/size-masks.ts",
385
- "rawBytes": 43460,
386
- "gzipBytes": 13066,
387
- "budgetBytes": 13312,
431
+ "rawBytes": 44581,
432
+ "gzipBytes": 13478,
433
+ "budgetBytes": 13824,
388
434
  "included": [
389
435
  "src/changes/mutation.ts",
390
436
  "src/dom/attributes.ts",
@@ -393,12 +439,12 @@
393
439
  "src/math/vec2.ts",
394
440
  "src/math/matrix.ts",
395
441
  "src/core/destruction.ts",
442
+ "src/mixins/parent-internals.ts",
396
443
  "src/core/attribute-validation.ts",
397
444
  "src/changes/types.ts",
398
445
  "src/core/node.ts",
399
446
  "src/core/mix.ts",
400
447
  "src/math/bbox.ts",
401
- "src/mixins/parent-internals.ts",
402
448
  "src/mixins/parent.ts",
403
449
  "src/mixins/creatable.ts",
404
450
  "src/mixins/styleable.ts",
@@ -419,6 +465,7 @@
419
465
  "src/math/viewbox.ts",
420
466
  "src/resources/validation.ts",
421
467
  "src/elements/mask.ts",
468
+ "src/services/element-key.ts",
422
469
  "src/services/catalog.ts",
423
470
  "src/resources/references.ts",
424
471
  "src/masks.ts"
@@ -427,8 +474,8 @@
427
474
  },
428
475
  {
429
476
  "fixture": "fixtures/size-patterns.ts",
430
- "rawBytes": 42320,
431
- "gzipBytes": 12606,
477
+ "rawBytes": 43359,
478
+ "gzipBytes": 12991,
432
479
  "budgetBytes": 13312,
433
480
  "included": [
434
481
  "src/changes/mutation.ts",
@@ -438,12 +485,12 @@
438
485
  "src/math/vec2.ts",
439
486
  "src/math/matrix.ts",
440
487
  "src/core/destruction.ts",
488
+ "src/mixins/parent-internals.ts",
441
489
  "src/core/attribute-validation.ts",
442
490
  "src/changes/types.ts",
443
491
  "src/core/node.ts",
444
492
  "src/core/mix.ts",
445
493
  "src/math/bbox.ts",
446
- "src/mixins/parent-internals.ts",
447
494
  "src/mixins/parent.ts",
448
495
  "src/mixins/creatable.ts",
449
496
  "src/mixins/styleable.ts",
@@ -464,6 +511,7 @@
464
511
  "src/resources/content.ts",
465
512
  "src/resources/validation.ts",
466
513
  "src/elements/pattern.ts",
514
+ "src/services/element-key.ts",
467
515
  "src/services/catalog.ts",
468
516
  "src/patterns.ts"
469
517
  ],
package/reports/size.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "fixture": "fixtures/size.ts",
3
- "rawBytes": 65967,
4
- "gzipBytes": 19758,
5
- "budgetBytes": 20480,
3
+ "rawBytes": 68399,
4
+ "gzipBytes": 20540,
5
+ "budgetBytes": 20992,
6
6
  "included": [
7
7
  "src/changes/mutation.ts",
8
8
  "src/dom/attributes.ts",
@@ -11,6 +11,7 @@
11
11
  "src/math/vec2.ts",
12
12
  "src/math/matrix.ts",
13
13
  "src/core/destruction.ts",
14
+ "src/mixins/parent-internals.ts",
14
15
  "src/core/attribute-validation.ts",
15
16
  "src/changes/types.ts",
16
17
  "src/core/node.ts",
@@ -28,7 +29,6 @@
28
29
  "src/mixins/sizing-internals.ts",
29
30
  "src/mixins/sizable.ts",
30
31
  "src/core/shape.ts",
31
- "src/mixins/parent-internals.ts",
32
32
  "src/mixins/parent.ts",
33
33
  "src/mixins/creatable.ts",
34
34
  "src/elements/group.ts",
@@ -38,6 +38,8 @@
38
38
  "src/services/bounds.ts",
39
39
  "src/services/defs-manager.ts",
40
40
  "src/core/native-validation.ts",
41
+ "src/services/element-key.ts",
42
+ "src/services/initialization.ts",
41
43
  "src/services/registry.ts",
42
44
  "src/services/scheduler.ts",
43
45
  "src/changes/service.ts",