canvasengine 2.0.0-rc.1 → 2.0.0-rc.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/components/Container.d.ts +25 -0
  2. package/dist/components/Container.d.ts.map +1 -0
  3. package/dist/components/DOMContainer.d.ts +28 -0
  4. package/dist/components/DOMContainer.d.ts.map +1 -0
  5. package/dist/components/DOMSprite.d.ts.map +1 -1
  6. package/dist/components/DisplayObject.d.ts +18 -0
  7. package/dist/components/DisplayObject.d.ts.map +1 -0
  8. package/dist/components/Graphic.d.ts.map +1 -1
  9. package/dist/components/Mesh.d.ts +138 -0
  10. package/dist/components/Mesh.d.ts.map +1 -0
  11. package/dist/components/Sprite.d.ts +182 -0
  12. package/dist/components/Sprite.d.ts.map +1 -0
  13. package/dist/components/Viewport.d.ts +52 -0
  14. package/dist/components/Viewport.d.ts.map +1 -0
  15. package/dist/components/index.d.ts +1 -1
  16. package/dist/components/index.d.ts.map +1 -1
  17. package/dist/directives/Controls.d.ts +1 -1
  18. package/dist/engine/reactive.d.ts +5 -1
  19. package/dist/engine/reactive.d.ts.map +1 -1
  20. package/dist/engine/signal.d.ts +1 -0
  21. package/dist/engine/signal.d.ts.map +1 -1
  22. package/dist/hooks/useProps.d.ts.map +1 -1
  23. package/dist/index.global.js +10 -10
  24. package/dist/index.global.js.map +1 -1
  25. package/dist/index.js +6843 -6720
  26. package/dist/index.js.map +1 -1
  27. package/dist/utils/RadialGradient.d.ts +1 -1
  28. package/package.json +1 -1
  29. package/src/components/Container.ts +10 -2
  30. package/src/components/DOMContainer.ts +8 -0
  31. package/src/components/DOMSprite.ts +11 -7
  32. package/src/components/DisplayObject.ts +1 -1
  33. package/src/components/Graphic.ts +6 -0
  34. package/src/components/Mesh.ts +38 -21
  35. package/src/components/Viewport.ts +4 -4
  36. package/src/components/index.ts +1 -1
  37. package/src/engine/reactive.ts +273 -53
  38. package/src/engine/signal.ts +74 -4
  39. package/src/hooks/useProps.ts +18 -6
  40. package/tsconfig.json +5 -1
@@ -0,0 +1,25 @@
1
+ import { ContainerChild } from 'pixi.js';
2
+ import { ComponentFunction } from '../engine/signal';
3
+ import { DisplayObjectProps } from './types/DisplayObject';
4
+ export interface ContainerProps extends DisplayObjectProps {
5
+ sortableChildren?: boolean;
6
+ /**
7
+ * Native PixiJS display objects to add to this container when it mounts.
8
+ *
9
+ * This is an escape hatch for rendering PixiJS objects directly inside the
10
+ * CanvasEngine scene graph. CanvasEngine does not manage these children's
11
+ * props or lifecycle; destroy or update them manually when needed.
12
+ */
13
+ pixiChildren?: ContainerChild[];
14
+ }
15
+ declare const CanvasContainer_base: any;
16
+ export declare class CanvasContainer extends CanvasContainer_base {
17
+ isCustomAnchor: boolean;
18
+ onUpdate(props: any): void;
19
+ onMount(args: any): Promise<void>;
20
+ }
21
+ export interface CanvasContainer extends DisplayObjectProps {
22
+ }
23
+ export declare const Container: ComponentFunction<ContainerProps>;
24
+ export {};
25
+ //# sourceMappingURL=Container.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Container.d.ts","sourceRoot":"","sources":["../../src/components/Container.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,cAAc,EAAE,MAAM,SAAS,CAAC;AAG1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAI3D,MAAM,WAAW,cAAe,SAAQ,kBAAkB;IACxD,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;CACjC;;AAED,qBAAa,eAAgB,SAAQ,oBAA4B;IAC/D,cAAc,UAAQ;IAEtB,QAAQ,CAAC,KAAK,KAAA;IAaR,OAAO,CAAC,IAAI,KAAA;CA0BnB;AAED,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;CAAG;AAI9D,eAAO,MAAM,SAAS,EAAE,iBAAiB,CAAC,cAAc,CAIvD,CAAC"}
@@ -0,0 +1,28 @@
1
+ import { Element } from '../engine/reactive';
2
+ import { ComponentFunction } from '../engine/signal';
3
+ import { DisplayObjectProps } from './types/DisplayObject';
4
+ declare const CanvasDOMContainer_base: any;
5
+ export declare class CanvasDOMContainer extends CanvasDOMContainer_base {
6
+ disableLayout: boolean;
7
+ private canvasSizeEffect;
8
+ private static readonly DOM_ROUTING_MAP;
9
+ private static readonly DOM_ALLOWED_TAGS;
10
+ private static readonly DOM_UNSUPPORTED_TAGS;
11
+ private hasDomContainerAncestor;
12
+ private getPercentRatio;
13
+ private getCanvasSize;
14
+ private shouldUseCanvasPercent;
15
+ private syncCanvasSizeEffect;
16
+ private applyElementSize;
17
+ private routeDomChildren;
18
+ onInit(props: any): void;
19
+ onMount(element: Element<any>, index?: number): Promise<void>;
20
+ onUpdate(props: any): void;
21
+ onLayoutComputed(): void;
22
+ onDestroy(parent: Element<any>, afterDestroy?: () => void): Promise<void>;
23
+ }
24
+ export interface CanvasDOMContainer extends DisplayObjectProps {
25
+ }
26
+ export declare const DOMContainer: ComponentFunction<any>;
27
+ export {};
28
+ //# sourceMappingURL=DOMContainer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DOMContainer.d.ts","sourceRoot":"","sources":["../../src/components/DOMContainer.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,OAAO,EAGR,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,iBAAiB,EAAK,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;;AAoG3D,qBAAa,kBAAmB,SAAQ,uBAA+B;IACrE,aAAa,UAAQ;IACrB,OAAO,CAAC,gBAAgB,CAAa;IACrC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAErC;IACF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAIrC;IACH,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAqBzC;IAEH,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,sBAAsB;IAO9B,OAAO,CAAC,oBAAoB;IAgB5B,OAAO,CAAC,gBAAgB;IAgDxB,OAAO,CAAC,gBAAgB;IA8BxB,MAAM,CAAC,KAAK,EAAE,GAAG;IA8EX,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM;IAcnD,QAAQ,CAAC,KAAK,EAAE,GAAG;IAMnB,gBAAgB;IAIV,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,IAAI;CAUhE;AAED,MAAM,WAAW,kBAAmB,SAAQ,kBAAkB;CAAI;AAIlE,eAAO,MAAM,YAAY,EAAE,iBAAiB,CAAC,GAAG,CAE/C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DOMSprite.d.ts","sourceRoot":"","sources":["../../src/components/DOMSprite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DOMSprite.d.ts","sourceRoot":"","sources":["../../src/components/DOMSprite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import { Element, Props } from '../engine/reactive';
2
+ import { Point, Rectangle } from 'pixi.js';
3
+ export interface ComponentInstance extends PixiMixins.ContainerOptions {
4
+ id?: string;
5
+ children?: ComponentInstance[];
6
+ onInit?(props: Props): void;
7
+ onUpdate?(props: Props): void;
8
+ onDestroy?(parent: Element, afterDestroy: () => void): void;
9
+ onMount?(context: Element<any>, index?: number): void;
10
+ setWidth(width: number): void;
11
+ setHeight(height: number): void;
12
+ getLocalBounds?(): Rectangle;
13
+ getGlobalPosition?(): Point;
14
+ }
15
+ export declare const EVENTS: string[];
16
+ export type OnHook = (() => void) | (() => Promise<void> | void);
17
+ export declare function DisplayObject(extendClass: any): any;
18
+ //# sourceMappingURL=DisplayObject.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisplayObject.d.ts","sourceRoot":"","sources":["../../src/components/DisplayObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAa,KAAK,EAAmB,MAAM,oBAAoB,CAAC;AAWhF,OAAO,EAA+B,KAAK,KAAK,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAC;AAKlF,MAAM,WAAW,iBAAkB,SAAQ,UAAU,CAAC,gBAAgB;IACpE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC5B,QAAQ,CAAC,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,GAAG,IAAI,CAAC;IAC5D,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,cAAc,CAAC,IAAI,SAAS,CAAC;IAC7B,iBAAiB,CAAC,IAAI,KAAK,CAAC;CAC7B;AAED,eAAO,MAAM,MAAM,UAqElB,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;AAEjE,wBAAgB,aAAa,CAAC,WAAW,KAAA,GAAG,GAAG,CAgkB9C"}
@@ -1 +1 @@
1
- {"version":3,"file":"Graphic.d.ts","sourceRoot":"","sources":["../../src/components/Graphic.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,QAAQ,IAAI,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAmB,OAAO,EAAqB,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAI5C,UAAU,aAAc,SAAQ,kBAAkB;IAChD,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;CACnG;AAED,UAAU,SAAU,SAAQ,kBAAkB;IAC5C,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,UAAU,WAAY,SAAQ,kBAAkB;IAC9C,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAClC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,UAAU,YAAa,SAAQ,kBAAkB;IAC/C,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,UAAU,aAAc,SAAQ,kBAAkB;IAChD,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,UAAU,QAAS,SAAQ,kBAAkB;IAC3C,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAsID,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,8BAE5C;AAaD,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,8BAsBpC;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,8BAqBxC;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,8BAE1C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,8BAoB5C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,8BAyBlC"}
1
+ {"version":3,"file":"Graphic.d.ts","sourceRoot":"","sources":["../../src/components/Graphic.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,QAAQ,IAAI,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5E,OAAO,EAAmB,OAAO,EAAqB,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAI5C,UAAU,aAAc,SAAQ,kBAAkB;IAChD,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC;CACnG;AAED,UAAU,SAAU,SAAQ,kBAAkB;IAC5C,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,UAAU,WAAY,SAAQ,kBAAkB;IAC9C,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAClC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,UAAU,YAAa,SAAQ,kBAAkB;IAC/C,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,UAAU,aAAc,SAAQ,kBAAkB;IAChD,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAChC,KAAK,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,UAAU,QAAS,SAAQ,kBAAkB;IAC3C,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yCAAyC;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AA4ID,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,8BAE5C;AAaD,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,8BAsBpC;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,8BAqBxC;AAED,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,8BAE1C;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,8BAoB5C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,GAAG,CAAC,KAAK,EAAE,QAAQ,8BAyBlC"}
@@ -0,0 +1,138 @@
1
+ import { Geometry, Shader, Texture } from 'pixi.js';
2
+ import { Element } from '../engine/reactive';
3
+ import { ComponentInstance } from './DisplayObject';
4
+ import { DisplayObjectProps } from './types/DisplayObject';
5
+ import { SignalOrPrimitive } from './types';
6
+ import { ComponentFunction } from '../engine/signal';
7
+ /**
8
+ * Interface defining the properties for a Mesh component.
9
+ * Extends DisplayObjectProps to inherit common display object properties.
10
+ */
11
+ interface MeshProps extends DisplayObjectProps {
12
+ /** The geometry defining the mesh structure (vertices, indices, UVs, etc.) */
13
+ geometry?: SignalOrPrimitive<Geometry>;
14
+ /** The shader to render the mesh with */
15
+ shader?: SignalOrPrimitive<Shader>;
16
+ /** The texture to apply to the mesh */
17
+ texture?: SignalOrPrimitive<Texture | string>;
18
+ /** The image URL to load as texture */
19
+ image?: SignalOrPrimitive<string>;
20
+ /** The tint color to apply to the mesh */
21
+ tint?: SignalOrPrimitive<number>;
22
+ /** Whether to round pixels for sharper rendering */
23
+ roundPixels?: SignalOrPrimitive<boolean>;
24
+ }
25
+ declare const CanvasMesh_base: any;
26
+ /**
27
+ * Canvas Mesh component class that extends DisplayObject with PixiMesh functionality.
28
+ * This component allows rendering of custom 3D meshes with shaders and textures.
29
+ *
30
+ * @example
31
+ * ```typescript
32
+ * // Basic mesh with geometry and texture
33
+ * const mesh = Mesh({
34
+ * geometry: myGeometry,
35
+ * texture: "path/to/texture.png",
36
+ * tint: 0xff0000
37
+ * });
38
+ *
39
+ * // Mesh with custom shader
40
+ * const customMesh = Mesh({
41
+ * geometry: myGeometry,
42
+ * shader: myCustomShader,
43
+ * draw: (mesh) => {
44
+ * // Custom mesh manipulation
45
+ * mesh.rotation += 0.01;
46
+ * }
47
+ * });
48
+ * ```
49
+ */
50
+ declare class CanvasMesh extends CanvasMesh_base {
51
+ /**
52
+ * Constructor for the CanvasMesh component.
53
+ * Initializes the PixiMesh with default geometry and shader to prevent errors.
54
+ *
55
+ * @example
56
+ * ```typescript
57
+ * // This constructor is called internally by the engine
58
+ * const mesh = new CanvasMesh();
59
+ * ```
60
+ */
61
+ constructor();
62
+ /**
63
+ * Initializes the mesh component with the provided properties.
64
+ * This method is called before onUpdate to set up initial state.
65
+ *
66
+ * @param props - The initial properties
67
+ * @example
68
+ * ```typescript
69
+ * // This method is called internally when the component is created
70
+ * mesh.onInit({
71
+ * geometry: myGeometry,
72
+ * texture: "texture.png"
73
+ * });
74
+ * ```
75
+ */
76
+ onInit(props: MeshProps): void;
77
+ /**
78
+ * Updates the mesh component when properties change.
79
+ * Handles texture loading, shader updates, and other property changes.
80
+ *
81
+ * @param props - The updated properties
82
+ * @example
83
+ * ```typescript
84
+ * // This method is called internally when props change
85
+ * mesh.onUpdate({
86
+ * tint: 0x00ff00,
87
+ * texture: "new-texture.png"
88
+ * });
89
+ * ```
90
+ */
91
+ onUpdate(props: MeshProps): Promise<void>;
92
+ /**
93
+ * Called when the component is about to be destroyed.
94
+ * Cleans up the draw effect subscription and calls the parent destroy method.
95
+ *
96
+ * @param parent - The parent element
97
+ * @param afterDestroy - Callback function to execute after destruction
98
+ * @example
99
+ * ```typescript
100
+ * // This method is typically called by the engine internally
101
+ * await mesh.onDestroy(parentElement, () => console.log('Mesh destroyed'));
102
+ * ```
103
+ */
104
+ onDestroy(parent: Element<ComponentInstance>, afterDestroy: () => void): Promise<void>;
105
+ }
106
+ /**
107
+ * Creates a Mesh component with the specified properties.
108
+ * This is the main function used to create mesh instances in your application.
109
+ *
110
+ * @param props - The properties for the mesh component
111
+ * @returns A mesh component element
112
+ * @example
113
+ * ```typescript
114
+ * import { Mesh } from 'canvasengine';
115
+ *
116
+ * // Create a basic textured mesh
117
+ * const myMesh = Mesh({
118
+ * geometry: triangleGeometry,
119
+ * texture: "assets/texture.png",
120
+ * x: 100,
121
+ * y: 100,
122
+ * tint: 0xff0000
123
+ * });
124
+ *
125
+ * // Create a mesh with custom shader
126
+ * const shaderMesh = Mesh({
127
+ * geometry: planeGeometry,
128
+ * shader: customShader,
129
+ * draw: (mesh) => {
130
+ * mesh.rotation += 0.01;
131
+ * }
132
+ * });
133
+ * ```
134
+ */
135
+ export declare const Mesh: ComponentFunction<MeshProps>;
136
+ export { CanvasMesh };
137
+ export type { MeshProps };
138
+ //# sourceMappingURL=Mesh.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Mesh.d.ts","sourceRoot":"","sources":["../../src/components/Mesh.ts"],"names":[],"mappings":"AACA,OAAO,EAAoB,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAuB,MAAM,SAAS,CAAC;AAC3F,OAAO,EAAmB,OAAO,EAAqB,MAAM,oBAAoB,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAiB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD;;;GAGG;AACH,UAAU,SAAU,SAAQ,kBAAkB;IAC5C,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACvC,yCAAyC;IACzC,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACnC,uCAAuC;IACvC,OAAO,CAAC,EAAE,iBAAiB,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC;IAC9C,uCAAuC;IACvC,KAAK,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAClC,0CAA0C;IAC1C,IAAI,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACjC,oDAAoD;IACpD,WAAW,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;CAC1C;;AAcD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,cAAM,UAAW,SAAQ,eAAuB;IAC9C;;;;;;;;;OASG;;IASH;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,KAAK,EAAE,SAAS;IAoBvB;;;;;;;;;;;;;OAaG;IACG,QAAQ,CAAC,KAAK,EAAE,SAAS;IAgD/B;;;;;;;;;;;OAWG;IACG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAAE,YAAY,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;CAM7F;AAKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,IAAI,EAAE,iBAAiB,CAAC,SAAS,CAE7C,CAAC;AAGF,OAAO,EAAE,UAAU,EAAE,CAAC;AAGtB,YAAY,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,182 @@
1
+ import { Signal } from '@signe/reactive';
2
+ import { Sprite as PixiSprite, Texture } from 'pixi.js';
3
+ import { Element } from '../engine/reactive';
4
+ import { AnimationFrames, FrameOptions, SpritesheetOptions, TextureOptions, TransformOptions } from './types/Spritesheet';
5
+ import { ComponentFunction } from '../engine/signal';
6
+ import { DisplayObjectProps } from './types/DisplayObject';
7
+ import { Layout } from '@pixi/layout';
8
+ type Image = {
9
+ image: string;
10
+ };
11
+ type TextureOptionsMerging = TextureOptions & {
12
+ spriteWidth: number;
13
+ spriteHeight: number;
14
+ sound?: string;
15
+ } & Image & TransformOptions;
16
+ type FrameOptionsMerging = TextureOptionsMerging & FrameOptions;
17
+ type SpritesheetOptionsMerging = TextureOptionsMerging & SpritesheetOptions;
18
+ type AnimationDataFrames = {
19
+ sprites: FrameOptionsMerging[];
20
+ frames: Texture[][];
21
+ name: string;
22
+ animations: AnimationFrames;
23
+ params: any[];
24
+ data: TextureOptionsMerging;
25
+ };
26
+ export type HitboxAnchorMode = "top-left" | "center" | "foot";
27
+ export type Hitbox = {
28
+ w: number;
29
+ h: number;
30
+ anchorMode?: HitboxAnchorMode;
31
+ };
32
+ export declare enum StandardAnimation {
33
+ Stand = "stand",
34
+ Walk = "walk"
35
+ }
36
+ declare const CanvasSprite_base: any;
37
+ export declare class CanvasSprite extends CanvasSprite_base {
38
+ hitbox: Hitbox | null;
39
+ applyTransform: (frame: FrameOptionsMerging, data: TextureOptionsMerging, spritesheet: SpritesheetOptionsMerging) => Partial<FrameOptionsMerging>;
40
+ private spritesheet;
41
+ private currentAnimation;
42
+ private time;
43
+ private frameIndex;
44
+ private animations;
45
+ private subscriptionTick;
46
+ private subscriptionSheet;
47
+ private sheetParams;
48
+ private sheetCurrentAnimation;
49
+ private app;
50
+ onFinish: () => void;
51
+ private globalLoader;
52
+ private trackedAssetIds;
53
+ get renderer(): import('pixi.js').Renderer;
54
+ private currentAnimationContainer;
55
+ /**
56
+ * Auto-detects image dimensions by loading the image and reading its natural size
57
+ * This is used when width/height are not explicitly provided in the spritesheet definition
58
+ *
59
+ * @param imagePath - Path to the image file
60
+ * @returns Object containing the detected width and height of the image
61
+ *
62
+ * @example
63
+ * ```typescript
64
+ * const { width, height } = await sprite.detectImageDimensions('path/to/image.png');
65
+ * // width: 256, height: 128
66
+ * ```
67
+ */
68
+ private detectImageDimensions;
69
+ /**
70
+ * Creates textures from a spritesheet image by cutting it into frames
71
+ * Automatically detects image dimensions if width/height are not provided
72
+ *
73
+ * @param options - Texture options containing image path, dimensions, and frame configuration
74
+ * @returns A 2D array of textures organized by rows and columns
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * // With explicit dimensions
79
+ * const textures = await sprite.createTextures({
80
+ * image: 'path/to/image.png',
81
+ * width: 256,
82
+ * height: 128,
83
+ * framesWidth: 4,
84
+ * framesHeight: 2,
85
+ * spriteWidth: 64,
86
+ * spriteHeight: 64
87
+ * });
88
+ *
89
+ * // Without dimensions (automatically detected)
90
+ * const textures = await sprite.createTextures({
91
+ * image: 'path/to/image.png',
92
+ * framesWidth: 4,
93
+ * framesHeight: 2,
94
+ * spriteWidth: 64,
95
+ * spriteHeight: 64
96
+ * });
97
+ * ```
98
+ */
99
+ private createTextures;
100
+ private createAnimations;
101
+ onMount(params: Element<any>): Promise<void>;
102
+ onUpdate(props: any): Promise<void>;
103
+ onDestroy(parent: Element, afterDestroy: () => void): Promise<void>;
104
+ has(name: string): boolean;
105
+ get(name: string): AnimationDataFrames;
106
+ isPlaying(name?: string): boolean;
107
+ private getFirstAnimationName;
108
+ private getPlayableAnimationName;
109
+ private getMovementAnimationName;
110
+ stop(): void;
111
+ play(name: string, params?: any[]): void;
112
+ /**
113
+ * Resets the sprite by destroying and recreating all animations
114
+ * This method clears the current animation state, destroys existing textures,
115
+ * and recreates all animations from the spritesheet
116
+ *
117
+ * @example
118
+ * ```typescript
119
+ * // Reset all animations to their initial state
120
+ * sprite.resetAnimations();
121
+ *
122
+ * // Reset and then play a specific animation
123
+ * await sprite.resetAnimations();
124
+ * sprite.play('walk');
125
+ * ```
126
+ */
127
+ resetAnimations(): Promise<void>;
128
+ update({ deltaRatio }: {
129
+ deltaRatio: any;
130
+ }): void;
131
+ private applyHitboxAnchor;
132
+ private normalizeHitbox;
133
+ private clamp;
134
+ }
135
+ export interface CanvasSprite extends PixiSprite {
136
+ layout: Layout | null;
137
+ }
138
+ export interface SpriteProps extends DisplayObjectProps {
139
+ sheet?: {
140
+ definition?: SpritesheetOptionsMerging;
141
+ playing?: string;
142
+ params?: any;
143
+ onFinish?: () => void;
144
+ };
145
+ hitbox?: Hitbox;
146
+ scaleMode?: number;
147
+ image?: string;
148
+ rectangle?: {
149
+ x: number;
150
+ y: number;
151
+ width: number;
152
+ height: number;
153
+ };
154
+ context?: {
155
+ tick: Signal;
156
+ };
157
+ }
158
+ export interface SpritePropsWithImage extends Omit<SpriteProps, "sheet"> {
159
+ image: string;
160
+ rectangle?: {
161
+ x: number;
162
+ y: number;
163
+ width: number;
164
+ height: number;
165
+ };
166
+ }
167
+ export interface SpritePropsWithSheet extends Omit<SpriteProps, "image" | "rectangle"> {
168
+ sheet: {
169
+ definition: SpritesheetOptionsMerging;
170
+ playing?: string;
171
+ params?: any;
172
+ onFinish?: () => void;
173
+ };
174
+ loader?: {
175
+ onProgress?: (progress: number) => void;
176
+ onComplete?: (texture: Texture) => void;
177
+ };
178
+ }
179
+ export type SpritePropTypes = SpritePropsWithImage | SpritePropsWithSheet;
180
+ export declare const Sprite: ComponentFunction<SpritePropTypes>;
181
+ export {};
182
+ //# sourceMappingURL=Sprite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sprite.d.ts","sourceRoot":"","sources":["../../src/components/Sprite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ import { Viewport as PixiViewport } from 'pixi-viewport';
2
+ import { Element, Props } from '../engine/reactive';
3
+ import { ComponentInstance } from './DisplayObject';
4
+ import { ContainerChild, IRenderLayer } from 'pixi.js';
5
+ export interface ViewportProps extends Props {
6
+ screenWidth?: number;
7
+ screenHeight?: number;
8
+ worldWidth?: number;
9
+ worldHeight?: number;
10
+ sortableChildren?: boolean;
11
+ clamp?: boolean | {
12
+ left?: number;
13
+ right?: number;
14
+ top?: number;
15
+ bottom?: number;
16
+ };
17
+ context?: any;
18
+ [key: string]: any;
19
+ }
20
+ declare const CanvasViewport_base: any;
21
+ export declare class CanvasViewport extends CanvasViewport_base {
22
+ #private;
23
+ private tickSubscription;
24
+ overrideProps: string[];
25
+ viewport: PixiViewport;
26
+ constructor();
27
+ addChild<U extends any[]>(...children: U): U[0];
28
+ addChildAt<T extends ContainerChild | IRenderLayer>(child: T, index: number): T;
29
+ onInit(props: any): void;
30
+ /**
31
+ * Called when the component is mounted to the scene graph.
32
+ * Initializes viewport settings and subscriptions.
33
+ * @param {Element<CanvasViewport>} element - The element being mounted. Its `props` property (of type ViewportProps) contains component properties and context.
34
+ * @param {number} [index] - The index of the component among its siblings.
35
+ */
36
+ onMount(element: Element<any>, index?: number): Promise<void>;
37
+ onUpdate(props: any): void;
38
+ private updateViewportSettings;
39
+ private updateMask;
40
+ /**
41
+ * Called when the component is about to be destroyed.
42
+ * Unsubscribes from the tick observable.
43
+ * @param {Element<any>} parent - The parent element.
44
+ * @param {() => void} [afterDestroy] - An optional callback function to be executed after the component's own destruction logic.
45
+ */
46
+ onDestroy(parent: Element<any>, afterDestroy?: () => void): Promise<void>;
47
+ follow(...args: any[]): any;
48
+ get plugins(): import('pixi-viewport').PluginManager;
49
+ }
50
+ export declare function Viewport(props: ViewportProps): Element<ComponentInstance>;
51
+ export {};
52
+ //# sourceMappingURL=Viewport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Viewport.d.ts","sourceRoot":"","sources":["../../src/components/Viewport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AAEzD,OAAO,EAAsC,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EAAiB,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEnE,OAAO,EAAuB,cAAc,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AA0B5E,MAAM,WAAW,aAAc,SAAQ,KAAK;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,OAAO,GAAG;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;;AAED,qBAAa,cAAe,SAAQ,mBAAwB;;IACxD,OAAO,CAAC,gBAAgB,CAAc;IACtC,aAAa,WAAY;IAElB,QAAQ,EAAE,YAAY,CAAA;;IAqB7B,QAAQ,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IAI/C,UAAU,CAAC,CAAC,SAAS,cAAc,GAAG,YAAY,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,CAAC;IAI/E,MAAM,CAAC,KAAK,KAAA;IAOZ;;;;;OAKG;IACG,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCnE,QAAQ,CAAC,KAAK,KAAA;IAKd,OAAO,CAAC,sBAAsB;IA8C9B,OAAO,CAAC,UAAU;IAQlB;;;;;OAKG;IACG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/E,MAAM,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE;IAIrB,IAAI,OAAO,0CAEV;CACJ;AAID,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,8BAE5C"}
@@ -1,5 +1,5 @@
1
1
  export { Canvas } from './Canvas';
2
- export { Container } from './Container';
2
+ export { Container, type ContainerProps } from './Container';
3
3
  export { Graphics, Rect, Circle, Ellipse, Triangle, Svg } from './Graphic';
4
4
  export { Mesh } from './Mesh';
5
5
  export { Scene } from './Scene';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAClF,OAAO,EAAE,QAAQ,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AAClF,OAAO,EAAE,QAAQ,EAAE,KAAK,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAA"}
@@ -53,7 +53,7 @@ export declare class ControlsDirective extends Directive {
53
53
  * @param inputName - Name of the input/key
54
54
  * @returns BoundKey if found, undefined otherwise
55
55
  */
56
- getControl(inputName: string): import('./ControlsBase').BoundKey | undefined;
56
+ getControl(inputName: string): import('./ControlsBase').BoundKey;
57
57
  /**
58
58
  * Get all bound controls
59
59
  * Delegates to keyboard controls (primary system)
@@ -32,8 +32,12 @@ type FlowResult = {
32
32
  elements: Element[];
33
33
  prev?: Element;
34
34
  fullElements?: Element[];
35
+ reorder?: boolean;
35
36
  };
36
37
  type FlowObservable = Observable<FlowResult>;
38
+ export interface LoopOptions<T> {
39
+ track?: (item: T, index: number | string) => string | number;
40
+ }
37
41
  export declare const isElement: (value: any) => value is Element;
38
42
  export declare const isPrimitive: (value: any) => boolean;
39
43
  export declare function registerComponent(name: any, component: any): void;
@@ -95,7 +99,7 @@ export declare function createComponent(tag: string, props?: Props): Element;
95
99
  * @param {Function} createElementFn - A function that takes an item and returns an element representation.
96
100
  * @returns {Observable} An observable that emits the list of created child elements.
97
101
  */
98
- export declare function loop<T>(itemsSubject: any, createElementFn: (item: T, index: number | string) => Element | null): FlowObservable;
102
+ export declare function loop<T>(itemsSubject: any, createElementFn: (item: T, index: number | string) => Element | null, options?: LoopOptions<T>): FlowObservable;
99
103
  /**
100
104
  * Conditionally creates and destroys elements based on condition signals with support for else if and else.
101
105
  *
@@ -1 +1 @@
1
- {"version":3,"file":"reactive.d.ts","sourceRoot":"","sources":["../../src/engine/reactive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reactive.d.ts","sourceRoot":"","sources":["../../src/engine/reactive.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ type MountCallback = (element: Element) => any;
5
5
  type MountFunction = (fn: MountCallback) => void;
6
6
  export type ComponentFunction<P = {}> = (props: P) => Element | Promise<Element>;
7
7
  export declare let currentSubscriptionsTracker: ((subscription: Subscription) => void) | null;
8
+ export declare let currentDefinePropsTracker: ((signals: Record<string, any>) => void) | null;
8
9
  export declare let mountTracker: MountFunction | null;
9
10
  /**
10
11
  * Registers a mount function to be called when the component is mounted.
@@ -1 +1 @@
1
- {"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["../../src/engine/signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACb,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAG/C,KAAK,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,GAAG,CAAC;AAC/C,KAAK,aAAa,GAAG,CAAC,EAAE,EAAE,aAAa,KAAK,IAAI,CAAC;AAGjD,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAQjF,eAAO,IAAI,2BAA2B,EAAE,CAAC,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC,GAAG,IAAW,CAAC;AAC7F,eAAO,IAAI,YAAY,EAAE,aAAa,GAAG,IAAW,CAAC;AAUrD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,QAEnD;AAED;;;;;;;;;GASG;AACH,wBAAgB,IAAI,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,QAiBnE;AAkID,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC9B,iBAAiB,CAAC,CAAC,CAAC,CAwDtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,CAAC,CAAC,CAAC,SAAS,iBAAiB,CAAC,GAAG,CAAC,EAChD,iBAAiB,EAAE,CAAC,GAAG,OAAO,EAC9B,KAAK,GAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAA0B,EAChD,GAAG,QAAQ,EAAE,GAAG,EAAE,GACjB,UAAU,CAAC,CAAC,CAAC,CAqBf"}
1
+ {"version":3,"file":"signal.d.ts","sourceRoot":"","sources":["../../src/engine/signal.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,YAAY,EACb,MAAM,MAAM,CAAC;AAEd,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAG/C,KAAK,aAAa,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,GAAG,CAAC;AAC/C,KAAK,aAAa,GAAG,CAAC,EAAE,EAAE,aAAa,KAAK,IAAI,CAAC;AAGjD,MAAM,MAAM,iBAAiB,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AAYjF,eAAO,IAAI,2BAA2B,EAAE,CAAC,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAC,GAAG,IAAW,CAAC;AAC7F,eAAO,IAAI,yBAAyB,EAAE,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,IAAW,CAAC;AAC7F,eAAO,IAAI,YAAY,EAAE,aAAa,GAAG,IAAW,CAAC;AAUrD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,QAEnD;AAED;;;;;;;;;GASG;AACH,wBAAgB,IAAI,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,QAiBnE;AAiJD,wBAAgB,kBAAkB,CAAC,CAAC,EAClC,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAC9B,iBAAiB,CAAC,CAAC,CAAC,CA0GtB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,CAAC,CAAC,CAAC,SAAS,iBAAiB,CAAC,GAAG,CAAC,EAChD,iBAAiB,EAAE,CAAC,GAAG,OAAO,EAC9B,KAAK,GAAE,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAA0B,EAChD,GAAG,QAAQ,EAAE,GAAG,EAAE,GACjB,UAAU,CAAC,CAAC,CAAC,CAqBf"}
@@ -1 +1 @@
1
- {"version":3,"file":"useProps.d.ts","sourceRoot":"","sources":["../../src/hooks/useProps.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,GAAI,UAAK,EAAE,aAAa,KAAG,GAe/C,CAAA;AAED,KAAK,QAAQ,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,kBAAkB,GAC1D,mBAAmB,GAAG,iBAAiB,GAAG,gBAAgB,GAC1D,IAAI,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC;AAErD,UAAU,UAAU;IAChB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC;CACnD;AAED,KAAK,UAAU,GAAG;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,EAAE,GAAG,UAAU,CAAC;CACrD,CAAA;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,GAAG,MAC7B,SAAS,UAAU,QAyD9B,CAAA"}
1
+ {"version":3,"file":"useProps.d.ts","sourceRoot":"","sources":["../../src/hooks/useProps.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,QAAQ,GAAI,UAAK,EAAE,aAAa,KAAG,GAe/C,CAAA;AAED,KAAK,QAAQ,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,kBAAkB,GAC1D,mBAAmB,GAAG,iBAAiB,GAAG,gBAAgB,GAC1D,IAAI,GAAG,CAAC,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,CAAC;AAErD,UAAU,UAAU;IAChB,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,GAAG,KAAK,GAAG,CAAC,CAAC;IACtC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC;CACnD;AAED,KAAK,UAAU,GAAG;IACd,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,EAAE,GAAG,UAAU,CAAC;CACrD,CAAA;AAYD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,GAAG,MAC7B,SAAS,UAAU,QA0D9B,CAAA"}