@adam26davidson/char-matrix-react 0.0.1

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 (105) hide show
  1. package/dist/char-matrix/src/Element/ContainerElement.d.ts +28 -0
  2. package/dist/char-matrix/src/Element/ContainerElement.d.ts.map +1 -0
  3. package/dist/char-matrix/src/Element/ContainerElement.js +128 -0
  4. package/dist/char-matrix/src/Element/ContainerElement.js.map +1 -0
  5. package/dist/char-matrix/src/Element/Element.d.ts +31 -0
  6. package/dist/char-matrix/src/Element/Element.d.ts.map +1 -0
  7. package/dist/char-matrix/src/Element/Element.js +190 -0
  8. package/dist/char-matrix/src/Element/Element.js.map +1 -0
  9. package/dist/char-matrix/src/Element/ElementBase.d.ts +66 -0
  10. package/dist/char-matrix/src/Element/ElementBase.d.ts.map +1 -0
  11. package/dist/char-matrix/src/Element/ElementBase.js +167 -0
  12. package/dist/char-matrix/src/Element/ElementBase.js.map +1 -0
  13. package/dist/char-matrix/src/Element/ElementDrawing.d.ts +41 -0
  14. package/dist/char-matrix/src/Element/ElementDrawing.d.ts.map +1 -0
  15. package/dist/char-matrix/src/Element/ElementDrawing.js +232 -0
  16. package/dist/char-matrix/src/Element/ElementDrawing.js.map +1 -0
  17. package/dist/char-matrix/src/Element/ElementInteraction.d.ts +21 -0
  18. package/dist/char-matrix/src/Element/ElementInteraction.d.ts.map +1 -0
  19. package/dist/char-matrix/src/Element/ElementInteraction.js +110 -0
  20. package/dist/char-matrix/src/Element/ElementInteraction.js.map +1 -0
  21. package/dist/char-matrix/src/Element/ElementLayout.d.ts +25 -0
  22. package/dist/char-matrix/src/Element/ElementLayout.d.ts.map +1 -0
  23. package/dist/char-matrix/src/Element/ElementLayout.js +152 -0
  24. package/dist/char-matrix/src/Element/ElementLayout.js.map +1 -0
  25. package/dist/char-matrix/src/Element/ParentElement.d.ts +24 -0
  26. package/dist/char-matrix/src/Element/ParentElement.d.ts.map +1 -0
  27. package/dist/char-matrix/src/Element/ParentElement.js +58 -0
  28. package/dist/char-matrix/src/Element/ParentElement.js.map +1 -0
  29. package/dist/char-matrix/src/Element/TextElement.d.ts +28 -0
  30. package/dist/char-matrix/src/Element/TextElement.d.ts.map +1 -0
  31. package/dist/char-matrix/src/Element/TextElement.js +214 -0
  32. package/dist/char-matrix/src/Element/TextElement.js.map +1 -0
  33. package/dist/char-matrix/src/Element/TransitionSequence.d.ts +15 -0
  34. package/dist/char-matrix/src/Element/TransitionSequence.d.ts.map +1 -0
  35. package/dist/char-matrix/src/Element/TransitionSequence.js +113 -0
  36. package/dist/char-matrix/src/Element/TransitionSequence.js.map +1 -0
  37. package/dist/char-matrix/src/constants.d.ts +8 -0
  38. package/dist/char-matrix/src/constants.d.ts.map +1 -0
  39. package/dist/char-matrix/src/constants.js +8 -0
  40. package/dist/char-matrix/src/constants.js.map +1 -0
  41. package/dist/char-matrix/src/index.d.ts +22 -0
  42. package/dist/char-matrix/src/index.d.ts.map +1 -0
  43. package/dist/char-matrix/src/index.js +20 -0
  44. package/dist/char-matrix/src/index.js.map +1 -0
  45. package/dist/char-matrix/src/interfaces/ElementAnimationHandler.d.ts +29 -0
  46. package/dist/char-matrix/src/interfaces/ElementAnimationHandler.d.ts.map +1 -0
  47. package/dist/char-matrix/src/interfaces/ElementAnimationHandler.js +2 -0
  48. package/dist/char-matrix/src/interfaces/ElementAnimationHandler.js.map +1 -0
  49. package/dist/char-matrix/src/interfaces/RenderTarget.d.ts +17 -0
  50. package/dist/char-matrix/src/interfaces/RenderTarget.d.ts.map +1 -0
  51. package/dist/char-matrix/src/interfaces/RenderTarget.js +2 -0
  52. package/dist/char-matrix/src/interfaces/RenderTarget.js.map +1 -0
  53. package/dist/char-matrix/src/interfaces/SurfaceTransform.d.ts +16 -0
  54. package/dist/char-matrix/src/interfaces/SurfaceTransform.d.ts.map +1 -0
  55. package/dist/char-matrix/src/interfaces/SurfaceTransform.js +2 -0
  56. package/dist/char-matrix/src/interfaces/SurfaceTransform.js.map +1 -0
  57. package/dist/char-matrix/src/types/Axes.d.ts +5 -0
  58. package/dist/char-matrix/src/types/Axes.d.ts.map +1 -0
  59. package/dist/char-matrix/src/types/Axes.js +4 -0
  60. package/dist/char-matrix/src/types/Axes.js.map +1 -0
  61. package/dist/char-matrix/src/types/CharMatrix.d.ts +21 -0
  62. package/dist/char-matrix/src/types/CharMatrix.d.ts.map +1 -0
  63. package/dist/char-matrix/src/types/CharMatrix.js +89 -0
  64. package/dist/char-matrix/src/types/CharMatrix.js.map +1 -0
  65. package/dist/char-matrix/src/types/IntPoint.d.ts +21 -0
  66. package/dist/char-matrix/src/types/IntPoint.d.ts.map +1 -0
  67. package/dist/char-matrix/src/types/IntPoint.js +59 -0
  68. package/dist/char-matrix/src/types/IntPoint.js.map +1 -0
  69. package/dist/char-matrix/src/types/NormPoint.d.ts +10 -0
  70. package/dist/char-matrix/src/types/NormPoint.d.ts.map +1 -0
  71. package/dist/char-matrix/src/types/NormPoint.js +28 -0
  72. package/dist/char-matrix/src/types/NormPoint.js.map +1 -0
  73. package/dist/char-matrix/src/types/RealPoint.d.ts +21 -0
  74. package/dist/char-matrix/src/types/RealPoint.d.ts.map +1 -0
  75. package/dist/char-matrix/src/types/RealPoint.js +58 -0
  76. package/dist/char-matrix/src/types/RealPoint.js.map +1 -0
  77. package/dist/char-matrix/src/utils/Logging.d.ts +4 -0
  78. package/dist/char-matrix/src/utils/Logging.d.ts.map +1 -0
  79. package/dist/char-matrix/src/utils/Logging.js +8 -0
  80. package/dist/char-matrix/src/utils/Logging.js.map +1 -0
  81. package/dist/char-matrix/src/utils/MiscUtils.d.ts +7 -0
  82. package/dist/char-matrix/src/utils/MiscUtils.d.ts.map +1 -0
  83. package/dist/char-matrix/src/utils/MiscUtils.js +37 -0
  84. package/dist/char-matrix/src/utils/MiscUtils.js.map +1 -0
  85. package/dist/char-matrix/src/utils/Octant.d.ts +42 -0
  86. package/dist/char-matrix/src/utils/Octant.d.ts.map +1 -0
  87. package/dist/char-matrix/src/utils/Octant.js +98 -0
  88. package/dist/char-matrix/src/utils/Octant.js.map +1 -0
  89. package/dist/char-matrix-react/src/ReactComponentElement.d.ts +25 -0
  90. package/dist/char-matrix-react/src/ReactComponentElement.d.ts.map +1 -0
  91. package/dist/char-matrix-react/src/ReactComponentElement.js +66 -0
  92. package/dist/char-matrix-react/src/ReactComponentElement.js.map +1 -0
  93. package/dist/char-matrix-react/src/ReactNodeConfig.d.ts +12 -0
  94. package/dist/char-matrix-react/src/ReactNodeConfig.d.ts.map +1 -0
  95. package/dist/char-matrix-react/src/ReactNodeConfig.js +2 -0
  96. package/dist/char-matrix-react/src/ReactNodeConfig.js.map +1 -0
  97. package/dist/char-matrix-react/src/ReactRenderTarget.d.ts +10 -0
  98. package/dist/char-matrix-react/src/ReactRenderTarget.d.ts.map +1 -0
  99. package/dist/char-matrix-react/src/ReactRenderTarget.js +2 -0
  100. package/dist/char-matrix-react/src/ReactRenderTarget.js.map +1 -0
  101. package/dist/char-matrix-react/src/index.d.ts +5 -0
  102. package/dist/char-matrix-react/src/index.d.ts.map +1 -0
  103. package/dist/char-matrix-react/src/index.js +2 -0
  104. package/dist/char-matrix-react/src/index.js.map +1 -0
  105. package/package.json +35 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParentElement.d.ts","sourceRoot":"","sources":["../../../../../char-matrix/src/Element/ParentElement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAQ,IAAI,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,8BAAsB,aAAa;IACjC,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAM;IACnC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAK;IAE9B,QAAQ,CAAC,OAAO,IAAI,QAAQ;IAC5B,QAAQ,CAAC,SAAS,IAAI,aAAa,GAAG,IAAI;IAC1C,QAAQ,CAAC,eAAe,IAAI,QAAQ;IACpC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI;IACnD,QAAQ,CAAC,eAAe,IAAI;QAAE,CAAC,EAAE,YAAY,CAAC;QAAC,CAAC,EAAE,YAAY,CAAA;KAAE;IAChE,QAAQ,CAAC,WAAW,IAAI,OAAO;IAC/B,QAAQ,CAAC,iBAAiB,IAAI,MAAM;IACpC,QAAQ,CAAC,oBAAoB,IAAI,QAAQ;IACzC,QAAQ,CAAC,gBAAgB,IAAI,QAAQ;IACrC,QAAQ,CAAC,mBAAmB,IAAI,QAAQ;IACxC,QAAQ,CAAC,kBAAkB,IAAI,QAAQ;IACvC,QAAQ,CAAC,QAAQ,IAAI,MAAM;IAE3B,SAAS,CAAC,cAAc;CA2CzB"}
@@ -0,0 +1,58 @@
1
+ import { AXES } from "../types/Axes";
2
+ export class ParentElement {
3
+ constructor() {
4
+ Object.defineProperty(this, "children", {
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true,
8
+ value: []
9
+ });
10
+ Object.defineProperty(this, "spacing", {
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true,
14
+ value: 0
15
+ });
16
+ }
17
+ resizeChildren() {
18
+ console.log("resizing children");
19
+ const childSizes = this.children.map((c) => c.getSize().copy());
20
+ const totalBoundarySize = this.getTotalBoundarySize();
21
+ for (let i = 0; i < this.children.length; i++) {
22
+ const child = this.children[i];
23
+ const newSize = child.getSize().copy();
24
+ for (const a of AXES) {
25
+ if (child.getSizingMethod()[a] === "relative") {
26
+ console.log("resizing relative child", child.getKey());
27
+ const contentSize = this.getSize().get(a) - totalBoundarySize.get(a);
28
+ newSize.set(a, contentSize * child.getRelativeSize().get(a));
29
+ }
30
+ }
31
+ childSizes[i] = newSize;
32
+ }
33
+ for (const a of AXES) {
34
+ const numExpandingChildren = this.children.filter((c) => c.getSizingMethod()[a] === "expand").length;
35
+ const totalNonExpandingChildrenSize = this.children
36
+ .filter((c) => c.getSizingMethod()[a] !== "expand")
37
+ .reduce((acc, c) => acc + c.getSize().get(a), 0);
38
+ const contentSize = this.getSize().get(a) - totalBoundarySize.get(a);
39
+ const remainingSize = contentSize -
40
+ (totalNonExpandingChildrenSize +
41
+ this.spacing * (this.children.length - 1));
42
+ const sizePerChild = Math.max(remainingSize / numExpandingChildren, 0);
43
+ for (let i = 0; i < this.children.length; i++) {
44
+ const c = this.children[i];
45
+ if (c.getSizingMethod()[a] === "expand") {
46
+ console.log("resizing expanding child", c.getKey());
47
+ const newSize = c.getSize().copy();
48
+ newSize.set(a, sizePerChild);
49
+ childSizes[i].set(a, sizePerChild);
50
+ }
51
+ }
52
+ this.children.forEach((c, i) => {
53
+ c.setSize(childSizes[i]);
54
+ });
55
+ }
56
+ }
57
+ }
58
+ //# sourceMappingURL=ParentElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParentElement.js","sourceRoot":"","sources":["../../../../../char-matrix/src/Element/ParentElement.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAQ,MAAM,eAAe,CAAC;AAG3C,MAAM,OAAgB,aAAa;IAAnC;QACY;;;;mBAAsB,EAAE;WAAC;QACzB;;;;mBAAkB,CAAC;WAAC;IA0DhC,CAAC;IA3CW,cAAc;QACtB,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAChE,MAAM,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;YACvC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC;oBAC9C,OAAO,CAAC,GAAG,CAAC,yBAAyB,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;oBACvD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;oBACrE,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/D,CAAC;YACH,CAAC;YACD,UAAU,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;QAC1B,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,oBAAoB,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAC3C,CAAC,MAAM,CAAC;YACT,MAAM,6BAA6B,GAAG,IAAI,CAAC,QAAQ;iBAChD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;iBAClD,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACnD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACrE,MAAM,aAAa,GACjB,WAAW;gBACX,CAAC,6BAA6B;oBAC5B,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,oBAAoB,EAAE,CAAC,CAAC,CAAC;YACvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC3B,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACxC,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;oBACpD,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;oBACnC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;oBAC7B,UAAU,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;gBACrC,CAAC;YACH,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC7B,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,28 @@
1
+ import { IntPoint } from "../types/IntPoint";
2
+ import { Element, ElementConfig } from "./Element";
3
+ export type HoverTextTransform = "none" | "uppercase" | "bold";
4
+ export interface TextElementConfig extends ElementConfig {
5
+ text: string;
6
+ hoverTransform?: HoverTextTransform;
7
+ }
8
+ export default class TextElement extends Element {
9
+ protected untransformedTemplateText: string;
10
+ protected templateText: string;
11
+ protected processedText: string;
12
+ protected hoverTextTransform: HoverTextTransform;
13
+ protected contentSize: IntPoint;
14
+ constructor(config: TextElementConfig);
15
+ protected setBaseText(text: string): void;
16
+ protected setCurrentText(text: string): void;
17
+ protected handleMouseEnter(): void;
18
+ protected handleMouseLeave(): void;
19
+ protected handleClick(): void;
20
+ protected handleUnregisterWithView(): void;
21
+ protected handleTransitionStart(): void;
22
+ protected drawOwnContent(offset: IntPoint): void;
23
+ protected reprocessContent(): void;
24
+ private addSpacesAndNewLinesForChildren;
25
+ private addNewLinesToTemplateText;
26
+ private replaceSpaceWithBreakingSpace;
27
+ }
28
+ //# sourceMappingURL=TextElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextElement.d.ts","sourceRoot":"","sources":["../../../../../char-matrix/src/Element/TextElement.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAInD,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;AAC/D,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACrC;AAED,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,OAAO;IAC9C,SAAS,CAAC,yBAAyB,EAAE,MAAM,CAAM;IACjD,SAAS,CAAC,YAAY,EAAE,MAAM,CAAM;IACpC,SAAS,CAAC,aAAa,EAAE,MAAM,CAAM;IACrC,SAAS,CAAC,kBAAkB,EAAE,kBAAkB,CAAC;IACjD,SAAS,CAAC,WAAW,WAAsB;gBAE/B,MAAM,EAAE,iBAAiB;IAQrC,SAAS,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM;IAMlC,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,MAAM;IAQrC,SAAS,CAAC,gBAAgB;IAQ1B,SAAS,CAAC,gBAAgB;IAM1B,SAAS,CAAC,WAAW;IACrB,SAAS,CAAC,wBAAwB;IAClC,SAAS,CAAC,qBAAqB,IAAI,IAAI;IAEvC,SAAS,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ;IAkBzC,SAAS,CAAC,gBAAgB;IAyB1B,OAAO,CAAC,+BAA+B;IA+CvC,OAAO,CAAC,yBAAyB;IA4DjC,OAAO,CAAC,6BAA6B;CAGtC"}
@@ -0,0 +1,214 @@
1
+ import { SPACE_CHAR } from "../constants";
2
+ import { toBold } from "../utils/MiscUtils";
3
+ import { AXES } from "../types/Axes";
4
+ import { IntPoint } from "../types/IntPoint";
5
+ import { Element } from "./Element";
6
+ const CHILD_PLACEHOLDER = "XxcPzi6xKg";
7
+ export default class TextElement extends Element {
8
+ constructor(config) {
9
+ super(config);
10
+ Object.defineProperty(this, "untransformedTemplateText", {
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true,
14
+ value: ""
15
+ });
16
+ Object.defineProperty(this, "templateText", {
17
+ enumerable: true,
18
+ configurable: true,
19
+ writable: true,
20
+ value: ""
21
+ });
22
+ Object.defineProperty(this, "processedText", {
23
+ enumerable: true,
24
+ configurable: true,
25
+ writable: true,
26
+ value: ""
27
+ });
28
+ Object.defineProperty(this, "hoverTextTransform", {
29
+ enumerable: true,
30
+ configurable: true,
31
+ writable: true,
32
+ value: void 0
33
+ });
34
+ Object.defineProperty(this, "contentSize", {
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true,
38
+ value: new IntPoint(0, 0)
39
+ });
40
+ console.log("configuring text element", config);
41
+ this.setBaseText(config.text);
42
+ this.hoverTextTransform = config.hoverTransform || "none";
43
+ }
44
+ setBaseText(text) {
45
+ this.templateText = this.replaceSpaceWithBreakingSpace(text);
46
+ this.untransformedTemplateText = this.templateText;
47
+ this.reprocessContent();
48
+ }
49
+ setCurrentText(text) {
50
+ if (this.templateText === text) {
51
+ return;
52
+ }
53
+ this.templateText = this.replaceSpaceWithBreakingSpace(text);
54
+ this.reprocessContent();
55
+ }
56
+ handleMouseEnter() {
57
+ if (this.hoverTextTransform === "uppercase") {
58
+ this.setCurrentText(this.templateText.toUpperCase());
59
+ }
60
+ else if (this.hoverTextTransform === "bold") {
61
+ this.setCurrentText(toBold(this.templateText));
62
+ }
63
+ }
64
+ handleMouseLeave() {
65
+ if (this.hoverTextTransform !== "none") {
66
+ this.setCurrentText(this.untransformedTemplateText);
67
+ }
68
+ }
69
+ handleClick() { }
70
+ handleUnregisterWithView() { }
71
+ handleTransitionStart() { }
72
+ drawOwnContent(offset) {
73
+ console.log("drawing text element content for", this.key);
74
+ const text = this.processedText;
75
+ const lines = text.split("\n");
76
+ const totalOffset = this.getContentOffset().add(offset);
77
+ this.forEachVisiblePointInContentArea((p) => {
78
+ const line = lines[p.getY()];
79
+ if (!line)
80
+ return;
81
+ const char = [...line][p.getX()];
82
+ if (!char)
83
+ return;
84
+ this.drawChar(char, p, totalOffset);
85
+ });
86
+ }
87
+ // text will be formatted like this:
88
+ // "first line \nline with <child placeholder> children \nline with <child placeholder> children"
89
+ // children will be inserted in place of the <child placeholder> placeholders
90
+ // add blocking spaces for the children's width, and new lines for the children's height
91
+ reprocessContent() {
92
+ console.log("reprocessing text element content for", this.key);
93
+ const text = this.addNewLinesToTemplateText();
94
+ console.log("text", text);
95
+ const lines = this.addSpacesAndNewLinesForChildren(text);
96
+ this.processedText = lines.join("\n");
97
+ this.contentSize = new IntPoint(Math.max(...lines.map((line) => [...line].length)), lines.length);
98
+ const newSize = this.size.copy();
99
+ const boundarySize = this.getTotalBoundarySize();
100
+ AXES.forEach((a) => {
101
+ if (this.sizingMethod[a] === "content") {
102
+ newSize.set(a, this.contentSize.get(a) + boundarySize.get(a));
103
+ }
104
+ });
105
+ this.flagForRedraw();
106
+ this.setSize(newSize);
107
+ this.updateScrollShowing();
108
+ }
109
+ addSpacesAndNewLinesForChildren(text) {
110
+ const textLines = text.split("\n");
111
+ const newLines = [];
112
+ const children = this.children;
113
+ const contentOffset = this.getContentOffset();
114
+ let childIndex = 0;
115
+ let yOffset = contentOffset.getY();
116
+ for (const line of textLines) {
117
+ let maxChildHeight = 1;
118
+ let xOffset = contentOffset.getX();
119
+ const lineParts = line.split(CHILD_PLACEHOLDER);
120
+ const newLineParts = [];
121
+ for (let i = 0; i < lineParts.length - 1; i++) {
122
+ const linePart = lineParts[i];
123
+ xOffset += [...linePart].length;
124
+ newLineParts.push(linePart);
125
+ const child = children[childIndex];
126
+ child.setPosition(new IntPoint(xOffset, yOffset));
127
+ const childHeight = child.getSize().getY();
128
+ if (childHeight > maxChildHeight) {
129
+ maxChildHeight = childHeight;
130
+ }
131
+ const childWidth = child.getSize().getX();
132
+ const spaces = this.backgroundChar.repeat(childWidth);
133
+ newLineParts.push(spaces);
134
+ childIndex++;
135
+ xOffset += childWidth;
136
+ }
137
+ newLineParts.push(lineParts[lineParts.length - 1]);
138
+ newLines.push(newLineParts.join(""));
139
+ for (let i = 1; i < maxChildHeight; i++) {
140
+ newLines.push("");
141
+ }
142
+ yOffset += maxChildHeight;
143
+ }
144
+ // trim breaking space from the end of each line
145
+ for (let i = 0; i < newLines.length; i++) {
146
+ const line = newLines[i];
147
+ if (line.endsWith(SPACE_CHAR)) {
148
+ newLines[i] = line.slice(0, -1);
149
+ }
150
+ }
151
+ return newLines;
152
+ }
153
+ addNewLinesToTemplateText() {
154
+ if (this.sizingMethod.x === "content") {
155
+ return this.templateText;
156
+ }
157
+ const maxWidth = this.size.getX();
158
+ const textLines = this.templateText.split("\n");
159
+ const newLines = [];
160
+ const children = this.children;
161
+ let childIndex = 0;
162
+ for (const line of textLines) {
163
+ const initialLineWidth = this.padding.start.getX() +
164
+ this.padding.end.getX() +
165
+ (this.bordered ? 2 : 0);
166
+ let currentWidth = initialLineWidth;
167
+ const lineParts = line.split(CHILD_PLACEHOLDER);
168
+ const newLineParts = [];
169
+ for (let i = 0; i < lineParts.length; i++) {
170
+ const words = lineParts[i].split(SPACE_CHAR);
171
+ const newWords = [];
172
+ for (const word of words) {
173
+ const wordLength = [...word].length;
174
+ if (currentWidth + wordLength > maxWidth) {
175
+ newWords.push(`\n${word}`);
176
+ currentWidth = initialLineWidth + wordLength + 1;
177
+ }
178
+ else {
179
+ newWords.push(word);
180
+ currentWidth += wordLength + 1;
181
+ }
182
+ }
183
+ currentWidth -= 1; // last word doesn't have a space after it
184
+ if (i < lineParts.length - 1) {
185
+ const childWidth = children[childIndex].getSize().getX();
186
+ if (currentWidth + childWidth > maxWidth &&
187
+ currentWidth !== initialLineWidth) {
188
+ newWords[newWords.length - 1] += "\n";
189
+ currentWidth = initialLineWidth + childWidth;
190
+ }
191
+ else {
192
+ currentWidth += childWidth;
193
+ }
194
+ childIndex++;
195
+ }
196
+ newLineParts.push(newWords.join(SPACE_CHAR));
197
+ }
198
+ const newLine = newLineParts.join("");
199
+ newLines.push(newLine);
200
+ }
201
+ // trim breaking space from the end of each line
202
+ for (let i = 0; i < newLines.length; i++) {
203
+ const line = newLines[i];
204
+ if (line.endsWith(SPACE_CHAR)) {
205
+ newLines[i] = line.slice(0, -1);
206
+ }
207
+ }
208
+ return newLines.join("\n");
209
+ }
210
+ replaceSpaceWithBreakingSpace(text) {
211
+ return text.replace(/ /g, SPACE_CHAR);
212
+ }
213
+ }
214
+ //# sourceMappingURL=TextElement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextElement.js","sourceRoot":"","sources":["../../../../../char-matrix/src/Element/TextElement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { Element } from "./Element";
2
+ export declare class TransitionSequence {
3
+ private elements;
4
+ private type;
5
+ private stage;
6
+ private onComplete;
7
+ constructor(elements: (Element | TransitionSequence)[], type: "parallel" | "series", stage: "enter" | "exit");
8
+ setonComplete(onComplete: () => void): void;
9
+ startSequence(): void;
10
+ chainElements(): void;
11
+ extractAll(): Element[];
12
+ private startElementSequence;
13
+ private setElementOnComplete;
14
+ }
15
+ //# sourceMappingURL=TransitionSequence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransitionSequence.d.ts","sourceRoot":"","sources":["../../../../../char-matrix/src/Element/TransitionSequence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAwC;IACxD,OAAO,CAAC,IAAI,CAAqC;IACjD,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,UAAU,CAAwB;gBAGxC,QAAQ,EAAE,CAAC,OAAO,GAAG,kBAAkB,CAAC,EAAE,EAC1C,IAAI,EAAE,UAAU,GAAG,QAAQ,EAC3B,KAAK,EAAE,OAAO,GAAG,MAAM;IAQlB,aAAa,CAAC,UAAU,EAAE,MAAM,IAAI;IAIpC,aAAa;IAcb,aAAa;IAkCb,UAAU,IAAI,OAAO,EAAE;IAY9B,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,oBAAoB;CAU7B"}
@@ -0,0 +1,113 @@
1
+ export class TransitionSequence {
2
+ constructor(elements, type, stage) {
3
+ Object.defineProperty(this, "elements", {
4
+ enumerable: true,
5
+ configurable: true,
6
+ writable: true,
7
+ value: []
8
+ });
9
+ Object.defineProperty(this, "type", {
10
+ enumerable: true,
11
+ configurable: true,
12
+ writable: true,
13
+ value: "parallel"
14
+ });
15
+ Object.defineProperty(this, "stage", {
16
+ enumerable: true,
17
+ configurable: true,
18
+ writable: true,
19
+ value: "enter"
20
+ });
21
+ Object.defineProperty(this, "onComplete", {
22
+ enumerable: true,
23
+ configurable: true,
24
+ writable: true,
25
+ value: () => { }
26
+ });
27
+ this.elements = elements;
28
+ this.type = type;
29
+ this.stage = stage;
30
+ this.chainElements();
31
+ }
32
+ setonComplete(onComplete) {
33
+ this.onComplete = onComplete;
34
+ }
35
+ startSequence() {
36
+ if (this.elements.length > 0) {
37
+ if (this.type === "parallel") {
38
+ this.elements.forEach((e) => {
39
+ this.startElementSequence(e);
40
+ });
41
+ }
42
+ else {
43
+ this.startElementSequence(this.elements[0]);
44
+ }
45
+ }
46
+ else {
47
+ this.onComplete();
48
+ }
49
+ }
50
+ chainElements() {
51
+ let numNotEntered = this.elements.length;
52
+ if (this.type === "series") {
53
+ const onComplete = (i) => () => {
54
+ numNotEntered--;
55
+ if (i < this.elements.length - 1) {
56
+ this.startElementSequence(this.elements[i + 1]);
57
+ }
58
+ if (numNotEntered === 0) {
59
+ this.onComplete();
60
+ }
61
+ };
62
+ for (let i = 0; i < this.elements.length; i++) {
63
+ const element = this.elements[i];
64
+ this.setElementOnComplete(element, onComplete(i));
65
+ }
66
+ }
67
+ else {
68
+ const onComplete = () => {
69
+ numNotEntered--;
70
+ if (numNotEntered === 0) {
71
+ this.onComplete();
72
+ }
73
+ };
74
+ this.elements.forEach((e) => {
75
+ this.setElementOnComplete(e, onComplete);
76
+ });
77
+ }
78
+ this.elements.forEach((e) => {
79
+ if (e instanceof TransitionSequence) {
80
+ e.chainElements();
81
+ }
82
+ });
83
+ }
84
+ extractAll() {
85
+ const elements = [];
86
+ this.elements.forEach((e) => {
87
+ if (e instanceof TransitionSequence) {
88
+ elements.push(...e.extractAll());
89
+ }
90
+ else {
91
+ elements.push(e);
92
+ }
93
+ });
94
+ return elements;
95
+ }
96
+ startElementSequence(element) {
97
+ if (element instanceof TransitionSequence) {
98
+ element.startSequence();
99
+ }
100
+ else {
101
+ element.startTransition(this.stage, () => { });
102
+ }
103
+ }
104
+ setElementOnComplete(element, onComplete) {
105
+ if (element instanceof TransitionSequence) {
106
+ element.setonComplete(onComplete);
107
+ }
108
+ else {
109
+ element.addOnTransition(this.stage, onComplete);
110
+ }
111
+ }
112
+ }
113
+ //# sourceMappingURL=TransitionSequence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TransitionSequence.js","sourceRoot":"","sources":["../../../../../char-matrix/src/Element/TransitionSequence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export declare const DOT_CHAR = "\u00B7";
2
+ export declare const SPACE_CHAR = "\u00A0";
3
+ export declare const DEFAULT_BACKGROUND_CHAR = "\u00B7";
4
+ export declare const FONT_SIZE = 16;
5
+ export declare const MOBILE_WIDTH = 80;
6
+ export declare const NUM_PARTICLES_MOBILE = 1500;
7
+ export declare const NUM_PARTICLES = 4000;
8
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../char-matrix/src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,WAAW,CAAC;AACjC,eAAO,MAAM,UAAU,WAAW,CAAC;AACnC,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAChD,eAAO,MAAM,SAAS,KAAK,CAAC;AAC5B,eAAO,MAAM,YAAY,KAAK,CAAC;AAC/B,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,eAAO,MAAM,aAAa,OAAO,CAAC"}
@@ -0,0 +1,8 @@
1
+ export const DOT_CHAR = "\u00b7";
2
+ export const SPACE_CHAR = "\u00a0";
3
+ export const DEFAULT_BACKGROUND_CHAR = DOT_CHAR;
4
+ export const FONT_SIZE = 16;
5
+ export const MOBILE_WIDTH = 80;
6
+ export const NUM_PARTICLES_MOBILE = 1500;
7
+ export const NUM_PARTICLES = 4000;
8
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../char-matrix/src/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG,QAAQ,CAAC;AACjC,MAAM,CAAC,MAAM,UAAU,GAAG,QAAQ,CAAC;AACnC,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC;AAChD,MAAM,CAAC,MAAM,SAAS,GAAG,EAAE,CAAC;AAC5B,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAC/B,MAAM,CAAC,MAAM,oBAAoB,GAAG,IAAI,CAAC;AACzC,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,CAAC"}
@@ -0,0 +1,22 @@
1
+ export { Element } from "./Element/Element";
2
+ export type { ElementConfig, SizingMethod, CursorType, ElementStage } from "./Element/ElementBase";
3
+ export { ParentElement } from "./Element/ParentElement";
4
+ export { ContainerElement } from "./Element/ContainerElement";
5
+ export type { ContainerElementConfig, Alignment } from "./Element/ContainerElement";
6
+ export { default as TextElement } from "./Element/TextElement";
7
+ export type { TextElementConfig, HoverTextTransform } from "./Element/TextElement";
8
+ export { TransitionSequence } from "./Element/TransitionSequence";
9
+ export type { RenderTarget } from "./interfaces/RenderTarget";
10
+ export type { ElementAnimationHandler } from "./interfaces/ElementAnimationHandler";
11
+ export type { SurfaceTransform } from "./interfaces/SurfaceTransform";
12
+ export { CharMatrix } from "./types/CharMatrix";
13
+ export { IntPoint, ZERO_POINT } from "./types/IntPoint";
14
+ export { NormPoint } from "./types/NormPoint";
15
+ export { RealPoint } from "./types/RealPoint";
16
+ export { X, Y, AXES } from "./types/Axes";
17
+ export type { Axis } from "./types/Axes";
18
+ export { DOT_CHAR, SPACE_CHAR, DEFAULT_BACKGROUND_CHAR, FONT_SIZE, MOBILE_WIDTH, NUM_PARTICLES, NUM_PARTICLES_MOBILE, } from "./constants";
19
+ export { charsToPixelsX, charsToPixelsY, toBold, toBoldChar, toNotBoldChar, getPostIdFromTitle } from "./utils/MiscUtils";
20
+ export { throttledWarn } from "./utils/Logging";
21
+ export { octantChar, octantFromGrid, octantFromPixels, OCTANT_LEFT, OCTANT_RIGHT, OCTANT_ROW } from "./utils/Octant";
22
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../char-matrix/src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACnG,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC9D,YAAY,EAAE,sBAAsB,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC/D,YAAY,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAGlE,YAAY,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC9D,YAAY,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AACpF,YAAY,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAGzC,OAAO,EACL,QAAQ,EACR,UAAU,EACV,uBAAuB,EACvB,SAAS,EACT,YAAY,EACZ,aAAa,EACb,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC1H,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,20 @@
1
+ // Element system
2
+ export { Element } from "./Element/Element";
3
+ export { ParentElement } from "./Element/ParentElement";
4
+ export { ContainerElement } from "./Element/ContainerElement";
5
+ export { default as TextElement } from "./Element/TextElement";
6
+ export { TransitionSequence } from "./Element/TransitionSequence";
7
+ // Types
8
+ export { CharMatrix } from "./types/CharMatrix";
9
+ export { IntPoint, ZERO_POINT } from "./types/IntPoint";
10
+ export { NormPoint } from "./types/NormPoint";
11
+ export { RealPoint } from "./types/RealPoint";
12
+ export { X, Y, AXES } from "./types/Axes";
13
+ // Constants
14
+ export { DOT_CHAR, SPACE_CHAR, DEFAULT_BACKGROUND_CHAR, FONT_SIZE, MOBILE_WIDTH, NUM_PARTICLES, NUM_PARTICLES_MOBILE, } from "./constants";
15
+ // Utilities
16
+ export { charsToPixelsX, charsToPixelsY, toBold, toBoldChar, toNotBoldChar, getPostIdFromTitle } from "./utils/MiscUtils";
17
+ export { throttledWarn } from "./utils/Logging";
18
+ // Octant
19
+ export { octantChar, octantFromGrid, octantFromPixels, OCTANT_LEFT, OCTANT_RIGHT, OCTANT_ROW } from "./utils/Octant";
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../char-matrix/src/index.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAOlE,QAAQ;AACR,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAG1C,YAAY;AACZ,OAAO,EACL,QAAQ,EACR,UAAU,EACV,uBAAuB,EACvB,SAAS,EACT,YAAY,EACZ,aAAa,EACb,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAErB,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC1H,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,SAAS;AACT,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,29 @@
1
+ import { IntPoint } from "../types/IntPoint";
2
+ /**
3
+ * Interface for handling element animations.
4
+ * Without a handler, element transitions are instant.
5
+ * The fx package provides an implementation that uses character-morphing animations.
6
+ */
7
+ export interface ElementAnimationHandler {
8
+ /**
9
+ * Called when an element starts a transition (enter/exit) or mouse event animation.
10
+ * The handler should create and manage the animation, calling onComplete when done.
11
+ * Returns true if an animation was started, false if the event was ignored.
12
+ */
13
+ startAnimation(type: "enter" | "exit" | "mouseEnter" | "mouseExit" | "click", onComplete: () => void): boolean;
14
+ /**
15
+ * Called each frame. The handler should run one animation step.
16
+ * @param offset the absolute offset of the element
17
+ */
18
+ runAnimationStep(offset: IntPoint): void;
19
+ /**
20
+ * Whether this handler currently has an active animation running.
21
+ */
22
+ hasActiveAnimation(): boolean;
23
+ /**
24
+ * Set the completion callback for the current animation.
25
+ * Used when additional onComplete handlers are added after animation starts.
26
+ */
27
+ setOnComplete(onComplete: () => void): void;
28
+ }
29
+ //# sourceMappingURL=ElementAnimationHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ElementAnimationHandler.d.ts","sourceRoot":"","sources":["../../../../../char-matrix/src/interfaces/ElementAnimationHandler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C;;;;GAIG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,cAAc,CACZ,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,EAC7D,UAAU,EAAE,MAAM,IAAI,GACrB,OAAO,CAAC;IAEX;;;OAGG;IACH,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAAC;IAEzC;;OAEG;IACH,kBAAkB,IAAI,OAAO,CAAC;IAE9B;;;OAGG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;CAC7C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ElementAnimationHandler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ElementAnimationHandler.js","sourceRoot":"","sources":["../../../../../char-matrix/src/interfaces/ElementAnimationHandler.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import { IntPoint } from "../types/IntPoint";
2
+ import type { Element } from "../Element/Element";
3
+ /**
4
+ * Interface that decouples elements from the concrete MatrixView.
5
+ * Elements interact with the rendering system only through this interface.
6
+ */
7
+ export interface RenderTarget {
8
+ setContentLayerChar(char: string, location: IntPoint, offset?: IntPoint): void;
9
+ getContentLayerChar(location: IntPoint, offset?: IntPoint): string;
10
+ setAnimationLayerChar(char: string, location: IntPoint, offset?: IntPoint): void;
11
+ getPixelOffset(): IntPoint;
12
+ getSize(): IntPoint;
13
+ getIsMobile(): boolean;
14
+ registerElement(element: Element): void;
15
+ unregisterElement(element: Element): void;
16
+ }
17
+ //# sourceMappingURL=RenderTarget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderTarget.d.ts","sourceRoot":"","sources":["../../../../../char-matrix/src/interfaces/RenderTarget.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAElD;;;GAGG;AACH,MAAM,WAAW,YAAY;IAE3B,mBAAmB,CACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,QAAQ,GAChB,IAAI,CAAC;IAER,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAEnE,qBAAqB,CACnB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,QAAQ,EAClB,MAAM,CAAC,EAAE,QAAQ,GAChB,IAAI,CAAC;IAGR,cAAc,IAAI,QAAQ,CAAC;IAC3B,OAAO,IAAI,QAAQ,CAAC;IACpB,WAAW,IAAI,OAAO,CAAC;IAGvB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CAC3C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=RenderTarget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderTarget.js","sourceRoot":"","sources":["../../../../../char-matrix/src/interfaces/RenderTarget.ts"],"names":[],"mappings":""}