@rasamjs/core 0.2.0 → 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 (162) hide show
  1. package/API.md +14 -4
  2. package/CHANGELOG.md +59 -0
  3. package/COMPONENTS.md +229 -0
  4. package/README.md +39 -6
  5. package/RELEASING.md +4 -2
  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 +5 -0
  19. package/dist/changes/service.d.ts.map +1 -1
  20. package/dist/changes/service.js +16 -2
  21. package/dist/changes/service.js.map +1 -1
  22. package/dist/components/changes.d.ts +34 -0
  23. package/dist/components/changes.d.ts.map +1 -0
  24. package/dist/components/changes.js +119 -0
  25. package/dist/components/changes.js.map +1 -0
  26. package/dist/components/component.d.ts +62 -0
  27. package/dist/components/component.d.ts.map +1 -0
  28. package/dist/components/component.js +355 -0
  29. package/dist/components/component.js.map +1 -0
  30. package/dist/components/decorators.d.ts +7 -0
  31. package/dist/components/decorators.d.ts.map +1 -0
  32. package/dist/components/decorators.js +81 -0
  33. package/dist/components/decorators.js.map +1 -0
  34. package/dist/components/metadata.d.ts +10 -0
  35. package/dist/components/metadata.d.ts.map +1 -0
  36. package/dist/components/metadata.js +85 -0
  37. package/dist/components/metadata.js.map +1 -0
  38. package/dist/components/registry.d.ts +24 -0
  39. package/dist/components/registry.d.ts.map +1 -0
  40. package/dist/components/registry.js +78 -0
  41. package/dist/components/registry.js.map +1 -0
  42. package/dist/components/types.d.ts +54 -0
  43. package/dist/components/types.d.ts.map +1 -0
  44. package/dist/components/types.js +2 -0
  45. package/dist/components/types.js.map +1 -0
  46. package/dist/components/view.d.ts +9 -0
  47. package/dist/components/view.d.ts.map +1 -0
  48. package/dist/components/view.js +104 -0
  49. package/dist/components/view.js.map +1 -0
  50. package/dist/components.d.ts +6 -0
  51. package/dist/components.d.ts.map +1 -0
  52. package/dist/components.js +5 -0
  53. package/dist/components.js.map +1 -0
  54. package/dist/core/node.d.ts +7 -0
  55. package/dist/core/node.d.ts.map +1 -1
  56. package/dist/core/node.js +30 -0
  57. package/dist/core/node.js.map +1 -1
  58. package/dist/interchange/clone.d.ts.map +1 -1
  59. package/dist/interchange/clone.js +3 -2
  60. package/dist/interchange/clone.js.map +1 -1
  61. package/dist/interchange/reconstruct.d.ts.map +1 -1
  62. package/dist/interchange/reconstruct.js +16 -12
  63. package/dist/interchange/reconstruct.js.map +1 -1
  64. package/dist/interchange/references.d.ts.map +1 -1
  65. package/dist/interchange/references.js +10 -4
  66. package/dist/interchange/references.js.map +1 -1
  67. package/dist/mixins/parent-internals.d.ts +6 -0
  68. package/dist/mixins/parent-internals.d.ts.map +1 -1
  69. package/dist/mixins/parent-internals.js +34 -0
  70. package/dist/mixins/parent-internals.js.map +1 -1
  71. package/dist/mixins/parent.d.ts.map +1 -1
  72. package/dist/mixins/parent.js +6 -1
  73. package/dist/mixins/parent.js.map +1 -1
  74. package/dist/mixins/types.d.ts +2 -2
  75. package/dist/mixins/types.d.ts.map +1 -1
  76. package/dist/resources/references.d.ts +2 -0
  77. package/dist/resources/references.d.ts.map +1 -1
  78. package/dist/resources/references.js +3 -3
  79. package/dist/resources/references.js.map +1 -1
  80. package/dist/services/catalog.d.ts.map +1 -1
  81. package/dist/services/catalog.js +5 -3
  82. package/dist/services/catalog.js.map +1 -1
  83. package/dist/services/defs-manager.d.ts +2 -0
  84. package/dist/services/defs-manager.d.ts.map +1 -1
  85. package/dist/services/defs-manager.js +4 -0
  86. package/dist/services/defs-manager.js.map +1 -1
  87. package/dist/services/element-key.d.ts +4 -0
  88. package/dist/services/element-key.d.ts.map +1 -0
  89. package/dist/services/element-key.js +12 -0
  90. package/dist/services/element-key.js.map +1 -0
  91. package/dist/services/initialization.d.ts +7 -0
  92. package/dist/services/initialization.d.ts.map +1 -0
  93. package/dist/services/initialization.js +27 -0
  94. package/dist/services/initialization.js.map +1 -0
  95. package/dist/services/registry.d.ts +8 -0
  96. package/dist/services/registry.d.ts.map +1 -1
  97. package/dist/services/registry.js +45 -10
  98. package/dist/services/registry.js.map +1 -1
  99. package/dist/services/types.d.ts +17 -0
  100. package/dist/services/types.d.ts.map +1 -1
  101. package/dist/template/parts.d.ts +12 -6
  102. package/dist/template/parts.d.ts.map +1 -1
  103. package/dist/template/parts.js +36 -29
  104. package/dist/template/parts.js.map +1 -1
  105. package/dist/template/render.d.ts +6 -7
  106. package/dist/template/render.d.ts.map +1 -1
  107. package/dist/template/render.js +188 -44
  108. package/dist/template/render.js.map +1 -1
  109. package/dist/template/svg-tag.d.ts +5 -1
  110. package/dist/template/svg-tag.d.ts.map +1 -1
  111. package/dist/template/svg-tag.js.map +1 -1
  112. package/dist/text/internals.d.ts +1 -0
  113. package/dist/text/internals.d.ts.map +1 -1
  114. package/dist/types/common.d.ts +27 -0
  115. package/dist/types/common.d.ts.map +1 -1
  116. package/package.json +156 -148
  117. package/reports/adoption.json +20 -20
  118. package/reports/animation-benchmark.json +612 -612
  119. package/reports/benchmark.json +40 -40
  120. package/reports/components-benchmark-before.json +10 -0
  121. package/reports/components-benchmark.json +10 -0
  122. package/reports/creation.json +26 -26
  123. package/reports/interchange-benchmark.json +85 -85
  124. package/reports/public-api-contract.json +334 -17
  125. package/reports/size-components.json +102 -0
  126. package/reports/size-parity.json +47 -34
  127. package/reports/size.json +6 -4
  128. package/reports/svgjs-comparison.json +3100 -3100
  129. package/reports/svgjs-comparison.md +16 -16
  130. package/reports/svgjs-parity-current.json +135 -42
  131. package/src/advanced.ts +1 -1
  132. package/src/catalog/fragment.ts +2 -2
  133. package/src/changes/derived.ts +19 -0
  134. package/src/changes/restore.ts +27 -4
  135. package/src/changes/service.ts +21 -6
  136. package/src/components/changes.ts +131 -0
  137. package/src/components/component.ts +401 -0
  138. package/src/components/decorators.ts +104 -0
  139. package/src/components/metadata.ts +111 -0
  140. package/src/components/registry.ts +79 -0
  141. package/src/components/types.ts +66 -0
  142. package/src/components/view.ts +123 -0
  143. package/src/components.ts +15 -0
  144. package/src/core/node.ts +32 -1
  145. package/src/interchange/clone.ts +3 -2
  146. package/src/interchange/reconstruct.ts +16 -12
  147. package/src/interchange/references.ts +12 -4
  148. package/src/mixins/parent-internals.ts +37 -0
  149. package/src/mixins/parent.ts +13 -4
  150. package/src/mixins/types.ts +2 -2
  151. package/src/resources/references.ts +5 -5
  152. package/src/services/catalog.ts +5 -3
  153. package/src/services/defs-manager.ts +5 -0
  154. package/src/services/element-key.ts +14 -0
  155. package/src/services/initialization.ts +25 -0
  156. package/src/services/registry.ts +47 -10
  157. package/src/services/types.ts +21 -0
  158. package/src/template/parts.ts +54 -39
  159. package/src/template/render.ts +211 -54
  160. package/src/template/svg-tag.ts +6 -1
  161. package/src/text/internals.ts +1 -0
  162. package/src/types/common.ts +29 -0
@@ -1 +1 @@
1
- {"version":3,"file":"restore.js","sourceRoot":"","sources":["../../src/changes/restore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"restore.js","sourceRoot":"","sources":["../../src/changes/restore.ts"],"names":[],"mappings":"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"}
@@ -28,12 +28,17 @@ export declare class ChangeService {
28
28
  private adapter?;
29
29
  private validationCounts?;
30
30
  private childOrders;
31
+ private liveOrders;
31
32
  constructor(context: DrawingContext);
32
33
  get observed(): boolean;
33
34
  get replaying(): boolean;
35
+ /** The surrounding synchronous edit, if one is already grouping model writes. */
36
+ get currentGroup(): number | undefined;
34
37
  children(node: AnyNode): readonly AnyNode[] | undefined;
35
38
  index(node: AnyNode): number;
36
39
  resetOrders(): void;
40
+ /** Keep the operation's original order, but invalidate the live order after a tree edit. */
41
+ invalidateOrder(node: AnyNode): void;
37
42
  reading<Result>(callback: () => Result): Result;
38
43
  referenceCount(node: AnyNode, liveCount: number): number;
39
44
  validating<Result>(counts: ReadonlyMap<AnyNode, number>, callback: () => Result): Result;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/changes/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/changes/service.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,7 @@ export class ChangeService {
21
21
  adapter;
22
22
  validationCounts;
23
23
  childOrders = new Map();
24
+ liveOrders = new WeakMap();
24
25
  constructor(context) {
25
26
  this.context = context;
26
27
  }
@@ -30,13 +31,21 @@ export class ChangeService {
30
31
  get replaying() {
31
32
  return this.replayDepth > 0;
32
33
  }
34
+ /** The surrounding synchronous edit, if one is already grouping model writes. */
35
+ get currentGroup() {
36
+ return this.metadata.group;
37
+ }
33
38
  children(node) {
34
39
  if (!('children' in node))
35
40
  return undefined;
36
41
  let order = this.childOrders.get(node);
37
42
  if (!order) {
38
- const nodes = [...node.children];
39
- order = { nodes, indices: new Map(nodes.map((child, index) => [child, index])) };
43
+ order = this.liveOrders.get(node);
44
+ if (!order) {
45
+ const nodes = [...node.children];
46
+ order = { nodes, indices: new Map(nodes.map((child, index) => [child, index])) };
47
+ this.liveOrders.set(node, order);
48
+ }
40
49
  this.childOrders.set(node, order);
41
50
  }
42
51
  return order.nodes;
@@ -50,6 +59,10 @@ export class ChangeService {
50
59
  resetOrders() {
51
60
  this.childOrders = new Map();
52
61
  }
62
+ /** Keep the operation's original order, but invalidate the live order after a tree edit. */
63
+ invalidateOrder(node) {
64
+ this.liveOrders.delete(node);
65
+ }
53
66
  reading(callback) {
54
67
  const previous = this.capturing;
55
68
  this.capturing = true;
@@ -385,6 +398,7 @@ export class ChangeService {
385
398
  this.groups.clear();
386
399
  this.owner = null;
387
400
  this.childOrders.clear();
401
+ this.liveOrders = new WeakMap();
388
402
  }
389
403
  }
390
404
  //# sourceMappingURL=service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/changes/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/changes/service.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAYtE,MAAM,OAAO,aAAa;IA2BK,OAAO;IA1BnB,SAAS,GAAG,IAAI,GAAG,EAAgC,CAAC;IAC5D,WAAW,GAAG,IAAI,GAAG,EAAqC,CAAC;IACnD,UAAU,GAAG,IAAI,OAAO,EAAuB,CAAC;IAChD,QAAQ,GAAG,IAAI,OAAO,EAAW,CAAC;IAClC,KAAK,GAAkB,EAAE,CAAC;IACnC,MAAM,GAA0C,IAAI,CAAC;IACrD,QAAQ,GAAmB,EAAE,CAAC;IAC9B,UAAU,GAAG,KAAK,CAAC;IACnB,SAAS,GAAG,KAAK,CAAC;IAClB,YAAY,GAAG,CAAC,CAAC;IACjB,aAAa,GAAG,CAAC,CAAC;IAClB,SAAS,GAAG,CAAC,CAAC;IACd,WAAW,GAAG,CAAC,CAAC;IAChB,KAAK,GAAkB,IAAI,CAAC;IACnB,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3B,aAAa,GAAmB,EAAE,CAAC;IACnC,YAAY,GAIvB,EAAE,CAAC;IACD,OAAO,CAAiB;IACxB,gBAAgB,CAAgC;IAChD,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC7C,UAAU,GAAG,IAAI,OAAO,EAAuB,CAAC;IAExD,YAA6B,OAAuB;uBAAvB,OAAO;IAAmB,CAAC;IAExD,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IAC9B,CAAC;IACD,iFAAiF;IACjF,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC7B,CAAC;IAED,QAAQ,CAAC,IAAa;QACpB,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5C,IAAI,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,MAAM,KAAK,GAAG,CAAC,GAAI,IAAmD,CAAC,QAAQ,CAAC,CAAC;gBACjF,KAAK,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,IAAa;QACjB,IAAI,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,CAAC,CAAC,CAAC;QAC5B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,WAAW;QACT,IAAI,CAAC,WAAW,GAAG,IAAI,GAAG,EAAE,CAAC;IAC/B,CAAC;IACD,4FAA4F;IAC5F,eAAe,CAAC,IAAa;QAC3B,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,CAAS,QAAsB;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC;YACH,OAAO,QAAQ,EAAE,CAAC;QACpB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,cAAc,CAAC,IAAa,EAAE,SAAiB;QAC7C,OAAO,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC;IACvD,CAAC;IAED,UAAU,CAAS,MAAoC,EAAE,QAAsB;QAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACvC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;QAC/B,IAAI,CAAC;YACH,OAAO,QAAQ,EAAE,CAAC;QACpB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;QACnC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAa;QACjB,IAAI,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;QAC1F,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;QAC9F,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,OAAO,GAAG,EAAE;YACV,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK;gBAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAC9C,CAAC,CAAC;IACJ,CAAC;IAED,SAAS,CAAC,OAAsB;QAC9B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED,OAAO,CAAC,QAAsC,EAAE,OAAsB;QACpE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAa;QAClB,IAAI,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBACrB,EAAE,EAAE,EAAE,IAAI,CAAC,YAAY;gBACvB,IAAI,IAAI;oBACN,OAAO,OAAO,CAAC;gBACjB,CAAC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,EAAE;gBACzC,OAAO,GAAG,WAAW,CAAC;YACxB,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IACgB,SAAS,GAAG,IAAI,OAAO,EAAuC,CAAC;IAEhF,KAAK,CAAC,MAAkB,EAAE,IAAa;QACrC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACvF,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEO,QAAQ,CAAC,IAAa;QAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC;QACzC,KAAK,IAAI,QAAQ,GAAmB,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAAC,MAAM;YAC5E,IAAI,QAAQ,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI;gBAAE,OAAO,IAAI,CAAC;QAClD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,IAAa,EAAE,eAAe,GAAG,KAAK;QAC1C,IACE,IAAI,CAAC,SAAS;YACd,CAAC,IAAI,CAAC,MAAM;YACZ,IAAI,CAAC,WAAW;YAChB,CAAC,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAE1C,OAAO;QACT,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,OAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;QACvD,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,SAAS,CAAC,IAAa,EAAE,eAAe,GAAG,KAAK;QAC9C,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAAE,OAAO;QACzE,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE;YAAE,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED,UAAU,CAAC,MAAe,EAAE,KAAc;QACxC,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,GAAG,CAAS,IAAoB,EAAE,QAAsB;QACtD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,QAAQ,EAAE,CAAC;QAC1E,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,IAAI;gBAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,QAAQ,EAAE,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,MAAc,CAAC;QACnB,IAAI,OAAuC,CAAC;QAC5C,IAAI,CAAC;YACH,IAAI,IAAI;gBAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,GAAG,QAAQ,EAAE,CAAC;YACpB,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;gBAC9C,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;qBAC3B,MAAM,CACL,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,CACrB,MAAM,CAAC,IAAI,CAAC,WAAW;oBACvB,IAAI,CAAC,OAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAClF;qBACA,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAClC,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACjB,MAAM,KAAK,GAAG,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,CAAC;oBAC1C,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;wBACxC,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC;4BAAE,MAAM,CAAC,KAAK,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,GAAG,EAAE,KAAK,EAAE,CAAC;QACtB,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,IAAI,OAAO;YAAE,MAAM,OAAO,CAAC,KAAK,CAAC;QACjC,OAAO,MAAO,CAAC;IACjB,CAAC;IAEO,MAAM,CACZ,MAAsC,EACtC,QAAwB,EACxB,OAA4B;QAE5B,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,MAAM,OAAO,GAAkB,EAAE,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI,CAAC;YACH,KAAK,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,MAAM,EAAE,CAAC;gBACxC,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW;oBACzB,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;;oBAE7E,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACvB,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,IAAI,CAAC;gBACH,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,OAAQ,CAAC,SAAS,CAAC;oBACtB,IAAI,EAAE,QAAQ;oBACd,EAAE,EAAE,EAAE,IAAI,CAAC,aAAa;oBACxB,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,aAAa;oBACxC,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,KAAK;oBACtC,KAAK,EAAE,QAAQ,CAAC,KAAK;oBACrB,OAAO;iBACR,CAAC,CACH,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,OAAO;oBACT,MAAM,IAAI,cAAc,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,sCAAsC,CAAC,CAAC;gBAC3F,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CACH,QAAwB,EACxB,QAAsB,EACtB,IAAI,GAAmB,IAAI,CAAC,OAAO,CAAC,IAAK;QAEzC,IAAI,QAAQ,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;YAClE,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,6EAA6E;QAC7E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC;YACH,IAAI,MAAM;gBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC1C,IAAI,CAAC,QAAQ,GAAG,EAAE,GAAG,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;YACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACxC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,MAAM;gBAAE,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE;oBAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,GAAmB,EAAE;QAGjC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,EACzB,MAAM,GAAG,QAAQ,CAAC,MAAM,IAAI,aAAa,CAAC;QAC5C,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpB,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CACV,MAAM,CAAC,MAAM,CAAC;gBACZ,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,EAAE;gBACT,MAAM;gBACN,GAAG,CAAC,QAAQ,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC;aACnE,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACvB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YACtF,MAAM,KAAK,CAAC;QACd,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,EAAE;YACF,GAAG,EAAE,CAAS,QAAsB,EAAU,EAAE;gBAC9C,IAAI,CAAC,MAAM;oBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBACvD,OAAO,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAChE,CAAC;YACD,GAAG,EAAE,CAAC,SAAS,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,EAAE;gBAC3C,IAAI,CAAC,MAAM;oBAAE,OAAO;gBACpB,MAAM,GAAG,KAAK,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACvB,IAAI,CAAC,OAAO,CACV,MAAM,CAAC,MAAM,CAAC;oBACZ,IAAI,EAAE,UAAU;oBAChB,KAAK,EAAE,EAAE;oBACT,MAAM;oBACN,SAAS;oBACT,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACxC,CAAC,CACH,CAAC;YACJ,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,KAAyB;QACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC7C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7F,IAAI,OAAO,CAAC,MAAM;YAChB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,cAAc,CAAC,KAAyB;QACtC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAChE,CAAC;IAED,SAAS,CAAS,QAAsB;QACtC,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC;YACH,OAAO,QAAQ,EAAE,CAAC;QACpB,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;IAED,YAAY,CAAC,OAA+B;QAC1C,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CACV,IAAI,CAAC,OAAQ,CAAC,SAAS,CAAC;gBACtB,IAAI,EAAE,QAAQ;gBACd,EAAE,EAAE,EAAE,IAAI,CAAC,aAAa;gBACxB,MAAM,EAAE,QAAQ;gBAChB,SAAS,EAAE,KAAK;gBAChB,OAAO;gBACP,YAAY;aACb,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;YACpD,IAAI,CAAC;gBACH,QAAQ,EAAE,CAAC;YACb,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM;YAAE,MAAM,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,QAAoB;QACxB,IAAI,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;;YACjD,QAAQ,EAAE,CAAC;IAClB,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/B,CAAC;IAEO,OAAO,CAAC,KAAkB;QAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,MAAM,QAAQ,GAAc,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;gBACzB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAG,CAAC;gBACjC,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;oBAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC;wBAAE,SAAS;oBAC5C,IAAI,CAAC;wBACH,QAAQ,CAAC,IAAI,CAAC,CAAC;oBACjB,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACvB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC;QACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,YAAY,mBAAmB;YAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3F,IAAI,QAAQ,CAAC,MAAM;YAAE,MAAM,IAAI,mBAAmB,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO;QACL,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,IAAI,OAAO,EAAE,CAAC;IAClC,CAAC;CACF"}
@@ -0,0 +1,34 @@
1
+ import type { AnyNode } from '../core/types.js';
2
+ export interface Binding {
3
+ readonly node: AnyNode;
4
+ derive(): void;
5
+ replay(): void;
6
+ paint(): void;
7
+ }
8
+ interface Discovery {
9
+ added(node: AnyNode): void;
10
+ identityChanged(node: AnyNode): void;
11
+ }
12
+ /** Routes work by changed node, independent of the number of components in a drawing. */
13
+ export declare class ComponentChanges {
14
+ private readonly bindings;
15
+ private readonly discovery;
16
+ private bindingCount;
17
+ private readonly dirty;
18
+ private cancelFrame?;
19
+ private readonly stopDerive;
20
+ private readonly stopObserve;
21
+ private readonly context;
22
+ static for(node: AnyNode): ComponentChanges;
23
+ private constructor();
24
+ bind(binding: Binding): () => void;
25
+ discover(discovery: Discovery): () => void;
26
+ private release;
27
+ /** Live state from every instance renders in one shared frame, as one temporary change. */
28
+ schedule(binding: Binding): void;
29
+ /** Renders without an undo step; failures surface after every other instance rendered. */
30
+ paint(bindings: Iterable<Binding>): void;
31
+ private dispatch;
32
+ }
33
+ export {};
34
+ //# sourceMappingURL=changes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changes.d.ts","sourceRoot":"","sources":["../../src/components/changes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAIhD,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,MAAM,IAAI,IAAI,CAAC;IACf,MAAM,IAAI,IAAI,CAAC;IACf,KAAK,IAAI,IAAI,CAAC;CACf;AACD,UAAU,SAAS;IACjB,KAAK,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAC3B,eAAe,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CACtC;AAGD,yFAAyF;AACzF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmC;IAC5D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAwB;IAClD,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAa;IACzC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IAEzC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAO1C;IAED,OAAO,eAQN;IAED,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,IAAI,CASjC;IAED,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,IAAI,CAGzC;IAED,OAAO,CAAC,OAAO;IAef,2FAA2F;IAC3F,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAM/B;IAED,0FAA0F;IAC1F,KAAK,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAevC;IAED,OAAO,CAAC,QAAQ;CA0BjB"}
@@ -0,0 +1,119 @@
1
+ import { deriveChanges, observeChanges, withChanges } from '../changes.js';
2
+ const drawings = new WeakMap();
3
+ /** Routes work by changed node, independent of the number of components in a drawing. */
4
+ export class ComponentChanges {
5
+ bindings = new WeakMap();
6
+ discovery = new Set();
7
+ bindingCount = 0;
8
+ dirty = new Set();
9
+ cancelFrame;
10
+ stopDerive;
11
+ stopObserve;
12
+ context;
13
+ static for(node) {
14
+ let changes = drawings.get(node.context);
15
+ if (!changes) {
16
+ changes = new ComponentChanges(node);
17
+ drawings.set(node.context, changes);
18
+ }
19
+ return changes;
20
+ }
21
+ constructor(drawing) {
22
+ this.context = drawing.context;
23
+ this.stopDerive = deriveChanges(drawing, ({ nodes }) => {
24
+ for (const node of nodes)
25
+ this.bindings.get(node)?.derive();
26
+ });
27
+ this.stopObserve = observeChanges(drawing, (event) => {
28
+ if (event.type === 'change')
29
+ this.dispatch(event);
30
+ });
31
+ }
32
+ bind(binding) {
33
+ if (this.bindings.has(binding.node))
34
+ throw new Error('Component is already observing changes');
35
+ this.bindings.set(binding.node, binding);
36
+ this.bindingCount++;
37
+ return this.release(() => {
38
+ this.bindings.delete(binding.node);
39
+ this.dirty.delete(binding);
40
+ this.bindingCount--;
41
+ });
42
+ }
43
+ discover(discovery) {
44
+ this.discovery.add(discovery);
45
+ return this.release(() => this.discovery.delete(discovery));
46
+ }
47
+ release(cleanup) {
48
+ let active = true;
49
+ return () => {
50
+ if (!active)
51
+ return;
52
+ active = false;
53
+ cleanup();
54
+ if (!this.bindingCount && !this.discovery.size) {
55
+ this.cancelFrame?.();
56
+ this.stopDerive();
57
+ this.stopObserve();
58
+ drawings.delete(this.context);
59
+ }
60
+ };
61
+ }
62
+ /** Live state from every instance renders in one shared frame, as one temporary change. */
63
+ schedule(binding) {
64
+ this.dirty.add(binding);
65
+ this.cancelFrame ??= this.context.dom.requestFrame(() => {
66
+ this.cancelFrame = undefined;
67
+ this.paint(this.dirty);
68
+ });
69
+ }
70
+ /** Renders without an undo step; failures surface after every other instance rendered. */
71
+ paint(bindings) {
72
+ const list = [...bindings].filter((binding) => !binding.node.isDestroyed);
73
+ for (const binding of list)
74
+ this.dirty.delete(binding);
75
+ if (!list.length)
76
+ return;
77
+ const failures = [];
78
+ withChanges(list[0].node, { source: 'components', temporary: true }, () => {
79
+ for (const binding of list)
80
+ try {
81
+ binding.paint();
82
+ }
83
+ catch (error) {
84
+ failures.push(error);
85
+ }
86
+ });
87
+ if (failures.length > 1)
88
+ throw new AggregateError(failures, 'Component renders failed');
89
+ if (failures.length)
90
+ throw failures[0];
91
+ }
92
+ dispatch(event) {
93
+ // Replay skips rendered children, so restored and recreated instances redraw together.
94
+ const replayed = new Set();
95
+ for (const change of event.changes) {
96
+ const node = change.target.node, binding = this.bindings.get(node);
97
+ if (binding &&
98
+ event.source === 'replay' &&
99
+ ((change.domain === 'property' && change.attribute === 'data-rasam-props') ||
100
+ (change.domain === 'existence' && change.after)))
101
+ replayed.add(binding);
102
+ if (!this.discovery.size)
103
+ continue;
104
+ if ((change.domain === 'placement' && change.after.parent && !change.before.parent) ||
105
+ (change.domain === 'existence' && change.after))
106
+ for (const subscriber of this.discovery)
107
+ subscriber.added(node);
108
+ else if (change.domain === 'property' && change.attribute === 'data-rasam-component')
109
+ for (const subscriber of this.discovery)
110
+ subscriber.identityChanged(node);
111
+ }
112
+ if (!replayed.size)
113
+ return;
114
+ for (const binding of replayed)
115
+ binding.replay();
116
+ this.paint(replayed);
117
+ }
118
+ }
119
+ //# sourceMappingURL=changes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"changes.js","sourceRoot":"","sources":["../../src/components/changes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import { Group } from '../elements/group.js';
2
+ import type { DrawingContext } from '../services/context.js';
3
+ import type { SvgTemplate } from '../template/svg-tag.js';
4
+ import { derivesChildren } from '../changes/derived.js';
5
+ import { initializeElement } from '../services/initialization.js';
6
+ import type { AttributeValue, Length, PortDefinition } from '../types/common.js';
7
+ import type { creationOptions } from '../services/types.js';
8
+ import type { ActionDefinition, ComponentDefinition, ComponentProps, PropDefinition, PropOptions, ComponentFields } from './types.js';
9
+ export declare const installField: unique symbol;
10
+ export declare const assertField: unique symbol;
11
+ export declare const editComponent: unique symbol;
12
+ export declare const registerAction: unique symbol;
13
+ /** A closed rasam group whose children are rendered from decorated props and live state. */
14
+ export declare abstract class Component extends Group {
15
+ #private;
16
+ readonly [creationOptions]: ComponentFields<this>;
17
+ static readonly ownsChildren = true;
18
+ /** @internal History restores props; the component redraws its children after replay. */
19
+ static readonly [derivesChildren] = true;
20
+ constructor(context: DrawingContext, input?: ComponentProps, existing?: SVGGElement);
21
+ get componentDefinition(): ComponentDefinition;
22
+ get editRules(): Readonly<{
23
+ rotate: NonNullable<number | "free" | false>;
24
+ flip: boolean;
25
+ resize: NonNullable<"props" | "scale" | false>;
26
+ }>;
27
+ get propDefinitions(): readonly PropDefinition[];
28
+ /** `@action` methods with their undo labels, in declaration order; overrides relabel. */
29
+ get actionDefinitions(): readonly ActionDefinition[];
30
+ /** @internal The `@action` decorator records each method once per instance. */
31
+ [registerAction](name: string, label: string): void;
32
+ render(): SvgTemplate;
33
+ /**
34
+ * Override to declare connection points, in local coordinates at 0°, from props and
35
+ * the saved size. Live state never moves a port. Defaults to none.
36
+ */
37
+ ports(): readonly PortDefinition[];
38
+ /** Validated, frozen `ports()`, computed again only when the saved props change. */
39
+ get portDefinitions(): readonly PortDefinition[];
40
+ created(): void;
41
+ destroyed(): void;
42
+ changed(_name: string): void;
43
+ validateAttribute(name: string, value: AttributeValue): void;
44
+ setAttributeValue(name: string, value: AttributeValue): this;
45
+ attrs(values: Parameters<Group['attrs']>[0]): this;
46
+ width(): Length | null;
47
+ width(value: Length): this;
48
+ height(): Length | null;
49
+ height(value: Length): this;
50
+ /** For `resize: 'props'`, one undo step that redraws at once, so callers read new bounds. */
51
+ size(width: Length, height?: Length): this;
52
+ resetState(): void;
53
+ /** @internal Called after decorated fields and reconstructed children are available. */
54
+ [initializeElement](): void;
55
+ /** @internal Field decorators install accessors after their initializers execute. */
56
+ [assertField](name: string): void;
57
+ /** @internal Field decorators install accessors after their initializers execute. */
58
+ [installField](name: string, kind: 'prop' | 'state', options: PropOptions, initial: unknown): void;
59
+ /** @internal Actions share one change group across nested calls and instances. */
60
+ [editComponent]<Result>(label: string, callback: () => Result): Result;
61
+ }
62
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/components/component.ts"],"names":[],"mappings":"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"}