@sepveneto/dao 0.1.7 → 0.1.9

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.
@@ -12,6 +12,7 @@ export declare class Bounds {
12
12
  clone(): Bounds;
13
13
  isEmpty(): boolean;
14
14
  clear(): void;
15
+ pad(paddingX: number, paddingY?: number): this;
15
16
  get width(): number;
16
17
  set width(value: number);
17
18
  get height(): number;
@@ -1,4 +1,4 @@
1
- import { Vector2 } from '.';
1
+ import { Vector2, Vector2Data } from '.';
2
2
  /**
3
3
  * Two Pi.
4
4
  * @type {number}
@@ -41,10 +41,13 @@ export declare class Matrix {
41
41
  * A * B
42
42
  */
43
43
  static append(A: Matrix, B: Matrix): Matrix;
44
- apply(pos: Vector2): Vector2;
44
+ apply(pos: Vector2Data): Vector2;
45
+ translate(x: number, y: number): this;
46
+ rotate(angle: number): this;
47
+ scale(x: number, y: number): this;
45
48
  appendFrom(a: Matrix, b: Matrix): void;
46
49
  set(a: number, b: number, c: number, d: number, tx: number, ty: number): void;
47
- applyInverse(pos: Vector2, newPos?: Vector2): Vector2;
50
+ applyInverse(pos: Vector2Data, newPos?: Vector2): Vector2;
48
51
  copyFrom(matrix: Matrix): this;
49
52
  /**
50
53
  * Decomposes the matrix into its individual transform components.
@@ -1,4 +1,4 @@
1
- import { Vector2 } from '.';
1
+ import { Vector2, Vector2Data } from '.';
2
2
  export interface Observer<T> {
3
3
  _onUpdate: (point?: T) => void;
4
4
  }
@@ -12,6 +12,6 @@ export declare class ObservablePoint {
12
12
  set x(value: number);
13
13
  get y(): number;
14
14
  set y(value: number);
15
- copyFrom(value: Vector2): this;
15
+ copyFrom(value: Vector2Data): this;
16
16
  toVector2(): Vector2;
17
17
  }
@@ -1,3 +1,7 @@
1
+ export type Vector2Data = {
2
+ x: number;
3
+ y: number;
4
+ };
1
5
  export declare class Vector2 {
2
6
  x: number;
3
7
  y: number;
@@ -0,0 +1,6 @@
1
+ import { Renderable } from '../scene';
2
+ import { InstructionSet } from './InstructionSet';
3
+ export interface RenderPipe<RENDERABLE = Renderable> {
4
+ validateRenderable: (renderable: RENDERABLE) => boolean;
5
+ addRenderable: (renderable: RENDERABLE, instructionSet: InstructionSet) => void;
6
+ }
@@ -10,6 +10,7 @@ export declare class TextureSource<T extends Record<string, any> = any> extends
10
10
  static defaultOptions: {
11
11
  resolution: number;
12
12
  };
13
+ readonly uid: number;
13
14
  label: string;
14
15
  /**
15
16
  * @internal
@@ -15,6 +15,7 @@ export declare abstract class ViewContainer<RUNTIME_DATA extends RuntimeData = a
15
15
  _resolution: number;
16
16
  _roundPixels: 0 | 1;
17
17
  protected _bounds: Bounds;
18
+ protected _boundsDirty: boolean;
18
19
  get bounds(): Bounds;
19
20
  protected abstract updateBounds(): void;
20
21
  protected onViewUpdate(): void;
@@ -1,4 +1,4 @@
1
- import { Matrix, Rectangle, Vector2 } from '../../maths';
1
+ import { Matrix, Rectangle, Vector2, Vector2Data } from '../../maths';
2
2
  import { EventMode } from '../../system';
3
3
  import { RenderGroup } from './RenderGroup';
4
4
  import { ObservablePoint } from '../../maths/Point';
@@ -10,6 +10,7 @@ import { SortMixin, SortMixinConstructor } from './mixins/sortMixin';
10
10
  import { MeasureMixin, MeasureMixinConstructor } from './mixins/measureMixin';
11
11
  import { DestroyOptions } from './destroyTypes';
12
12
  import { ChildrenHelperMixin } from './mixins/childrenHelperMixin';
13
+ import { OnRenderMixin, OnRenderMixinConstructor } from './mixins/onRenderMixin';
13
14
  /** @internal */
14
15
  export declare const UPDATE_COLOR = 1;
15
16
  /** @internal */
@@ -24,11 +25,12 @@ export type IHitArea = {
24
25
  };
25
26
  export interface ContainerEvents extends FederatedEventEmitterTypes {
26
27
  destroyed: [container: Container];
28
+ visibleChanged: [visible: boolean];
27
29
  }
28
30
  type AnyEvent = {
29
31
  [K: ({} & string) | ({} & symbol)]: any;
30
32
  };
31
- export interface ContainerOptions<C extends ContainerChild = ContainerChild> extends EffectMixinConstructor, SortMixinConstructor, MeasureMixinConstructor {
33
+ export interface ContainerOptions<C extends ContainerChild = ContainerChild> extends EffectMixinConstructor, SortMixinConstructor, MeasureMixinConstructor, OnRenderMixinConstructor {
32
34
  label?: string;
33
35
  isRenderGroup?: boolean;
34
36
  alpha?: number;
@@ -38,7 +40,7 @@ export interface ContainerOptions<C extends ContainerChild = ContainerChild> ext
38
40
  rotation?: number;
39
41
  scale?: Vector2 | number;
40
42
  pivot?: Vector2 | number;
41
- origin?: Vector2 | number;
43
+ origin?: Vector2Data | number;
42
44
  position?: Vector2;
43
45
  skew?: Vector2;
44
46
  visible?: boolean;
@@ -47,9 +49,10 @@ export interface ContainerOptions<C extends ContainerChild = ContainerChild> ext
47
49
  boundsArea?: Rectangle;
48
50
  eventMode?: EventMode;
49
51
  }
50
- export interface Container extends EffectMixin, SortMixin, MeasureMixin, ChildrenHelperMixin, EventEmitter<ContainerEvents & AnyEvent> {
52
+ export interface Container extends EffectMixin, SortMixin, MeasureMixin, ChildrenHelperMixin, EventEmitter<ContainerEvents & AnyEvent>, OnRenderMixin {
51
53
  }
52
54
  export declare class Container<C extends ContainerChild = ContainerChild> extends EventEmitter<ContainerEvents & AnyEvent> {
55
+ readonly uid: number;
53
56
  label: string;
54
57
  destroyed: boolean;
55
58
  renderGroup: RenderGroup;
@@ -73,7 +76,8 @@ export declare class Container<C extends ContainerChild = ContainerChild> extend
73
76
  measurable: boolean;
74
77
  /** @private */
75
78
  relativeRenderGroupDepth: number;
76
- _attrUpdateTick: number;
79
+ _didViewChangeTick: number;
80
+ _didContainerChangeTick: number;
77
81
  _localTransformUpdateTick: number;
78
82
  /**
79
83
  * @private
@@ -190,8 +194,8 @@ export declare class Container<C extends ContainerChild = ContainerChild> extend
190
194
  set scale(value: Vector2);
191
195
  get pivot(): Vector2;
192
196
  set pivot(value: Vector2);
193
- get origin(): Vector2;
194
- set origin(value: Vector2);
197
+ get origin(): ObservablePoint;
198
+ set origin(value: Vector2Data | number);
195
199
  get width(): number;
196
200
  set width(_value: number);
197
201
  get height(): number;
@@ -199,8 +203,8 @@ export declare class Container<C extends ContainerChild = ContainerChild> extend
199
203
  addChild<U extends C[]>(...children: U): U[0];
200
204
  removeChild<U extends C[]>(...children: U): U[0] | undefined;
201
205
  _onUpdate(point?: Vector2): void;
202
- toGlobal(position: Vector2, skipUpdate?: boolean): Vector2;
203
- toLocal(position: Vector2, from?: Container, skipUpdate?: boolean): Vector2;
206
+ toGlobal(position: Vector2Data, skipUpdate?: boolean): Vector2;
207
+ toLocal(position: Vector2Data, from?: Container, skipUpdate?: boolean): Vector2;
204
208
  getGlobalTransform(skipUpdate?: boolean): Matrix;
205
209
  getGlobalPosition(skipUpdate?: boolean): Vector2;
206
210
  destroy(options?: DestroyOptions): void;
@@ -2,6 +2,7 @@ import { Matrix } from '../../maths';
2
2
  import { Container } from './Container';
3
3
  import { InstructionSet } from '../../renderer/InstructionSet';
4
4
  import { ViewContainer } from '../ViewContainer';
5
+ import { CanvasRenderer } from '../../renderer';
5
6
  export declare class RenderGroup {
6
7
  worldTransform: Matrix;
7
8
  localTransform: Matrix;
@@ -18,12 +19,17 @@ export declare class RenderGroup {
18
19
  list: Container[];
19
20
  index: number;
20
21
  };
22
+ private readonly _onRenderContainers;
21
23
  constructor(root: Container);
22
24
  init(root: Container): void;
23
25
  addChild(child: Container): void;
24
26
  removeChild(child: Container): void;
25
27
  removeChildren(children: Container[]): void;
28
+ addRenderGroupChild(renderGroupChild: RenderGroup): void;
26
29
  private _removeRenderGroupChild;
30
+ addOnRender(container: Container): void;
31
+ removeOnRender(container: Container): void;
32
+ runOnRender(renderer: CanvasRenderer): void;
27
33
  onChildViewUpdate(child: Container): void;
28
34
  onChildUpdate(child: Container): void;
29
35
  updateRenderable(renderable: ViewContainer): void;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,12 @@
1
+ import { Vector2Data } from '../../../maths';
2
+ import { Bounds } from '../../../maths/Bounds';
3
+ import { MaskEffect } from '../mixins/effectMixin';
4
+ /** @internal */
5
+ export declare class DummyEffect implements MaskEffect {
6
+ pipe: string;
7
+ priority: number;
8
+ addBounds(bounds: Bounds): void;
9
+ addLocalBounds(bounds: Bounds): void;
10
+ containsPoint?(_point: Vector2Data): boolean;
11
+ destroy(): void;
12
+ }
@@ -0,0 +1,26 @@
1
+ import { Vector2 } from '../../../maths';
2
+ import { Container, ContainerOptions } from '../Container';
3
+ import { Bounds } from '../../../maths/Bounds';
4
+ interface DummyViewOptions extends ContainerOptions {
5
+ x?: number;
6
+ y?: number;
7
+ width?: number;
8
+ height?: number;
9
+ }
10
+ /** @internal */
11
+ export declare class DummyView extends Container {
12
+ batched: boolean;
13
+ renderPipeId: string;
14
+ renderableUpdateRequested: boolean;
15
+ _roundPixels: 1 | 0;
16
+ _lastUsed: number;
17
+ updateBounds: () => void;
18
+ containsPoint: (point: Vector2) => boolean;
19
+ destroy: () => void;
20
+ bounds: Bounds;
21
+ constructor(options?: DummyViewOptions);
22
+ onViewUpdate(): void;
23
+ get roundPixels(): boolean;
24
+ set roundPixels(_value: boolean);
25
+ }
26
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -6,9 +6,13 @@ export interface MeasureMixinConstructor {
6
6
  }
7
7
  export interface MeasureMixin extends Required<MeasureMixinConstructor> {
8
8
  _localBoundsCacheData: any;
9
- _localBounds: Bounds;
10
9
  getLocalBounds: () => Bounds;
11
10
  _setWidth: (value: number, localWidth: number) => void;
12
11
  _setHeight: (value: number, localHeight: number) => void;
13
12
  }
14
13
  export declare const measureMixin: Partial<Container>;
14
+ export declare function checkChildrenDidChange(container: Container, previousData: {
15
+ data: number[];
16
+ index: number;
17
+ didChange: boolean;
18
+ }): boolean;
@@ -0,0 +1,9 @@
1
+ import { CanvasRenderer } from '../../../renderer';
2
+ import { Container } from '../..';
3
+ export interface OnRenderMixinConstructor {
4
+ onRender?: ((renderer: CanvasRenderer) => void) | null;
5
+ }
6
+ export interface OnRenderMixin extends Required<OnRenderMixinConstructor> {
7
+ _onRender: ((renderer: CanvasRenderer) => void) | null;
8
+ }
9
+ export declare const onRenderMixin: Partial<Container>;
@@ -5,8 +5,10 @@ export interface GraphicsOptions extends ViewContainerOptions {
5
5
  }
6
6
  export declare class Graphics extends ViewContainer {
7
7
  renderPipeId: string;
8
- context: GraphicsContext;
8
+ _context: GraphicsContext;
9
9
  constructor(options?: GraphicsOptions | GraphicsContext);
10
+ get context(): GraphicsContext;
11
+ set context(value: GraphicsContext);
10
12
  setStrokeStyle(...args: Parameters<GraphicsContext['setStrokeStyle']>): this;
11
13
  rect(x: number, y: number, w: number, h: number): this;
12
14
  bezierCurveTo(cp1x: number, cp1y: number, cp2x: number, cpy2y: number, x: number, y: number): this;
@@ -44,6 +44,7 @@ export declare class GraphicsContext {
44
44
  static defaultStrokeStyle: ConvertedStrokeStyle;
45
45
  private _activePath;
46
46
  private _bounds;
47
+ private _boundsDirty;
47
48
  instructions: GraphicsInstruction[];
48
49
  setStrokeStyle(style: StrokeAttributes & FillStyle): void;
49
50
  clear(): this;
@@ -2,13 +2,15 @@ import { CanvasRenderer } from '../../renderer';
2
2
  import { Graphics } from './Graphics';
3
3
  import { InstructionSet } from '../../renderer/InstructionSet';
4
4
  import { ShapePrimitive } from './path/ShapePath';
5
- export declare class GraphicsPipe {
5
+ import { RenderPipe } from '../../renderer/RenderPipe';
6
+ export declare class GraphicsPipe implements RenderPipe<Graphics> {
6
7
  private _renderer;
7
8
  static desc: {
8
9
  readonly name: "graphics";
9
10
  };
10
11
  constructor(renderer: CanvasRenderer);
11
12
  addRenderable(graphics: Graphics, instructionSet: InstructionSet): void;
13
+ validateRenderable(_renderable: Graphics): boolean;
12
14
  execute(instruction: Graphics): void;
13
15
  destroy(): void;
14
16
  }
@@ -1,12 +1,17 @@
1
1
  import { CanvasRenderer } from '../../renderer';
2
2
  import { Sprite } from './Sprite';
3
3
  import { InstructionSet } from '../../renderer/InstructionSet';
4
- export declare class SpritePipe {
4
+ import { RenderPipe } from '../../renderer/RenderPipe';
5
+ export declare class SpritePipe implements RenderPipe<Sprite> {
5
6
  private _renderer;
6
7
  static desc: {
7
8
  readonly name: "sprite";
8
9
  };
9
10
  constructor(renderer: CanvasRenderer);
10
11
  addRenderable(sprite: Sprite, instructionSet: InstructionSet): void;
12
+ private _updateBatchableSprite;
13
+ validateRenderable(sprite: Sprite): boolean;
14
+ private _getRuntimeSprite;
15
+ private _initCacheSprite;
11
16
  destroy(): void;
12
17
  }
@@ -2,7 +2,8 @@ import { CanvasRenderer } from '../../renderer';
2
2
  import { Text } from './Text';
3
3
  import { InstructionSet } from '../../renderer/InstructionSet';
4
4
  import { Texture } from '../../main';
5
- export declare class TextPipe {
5
+ import { RenderPipe } from '../../renderer/RenderPipe';
6
+ export declare class TextPipe implements RenderPipe<Text> {
6
7
  static desc: {
7
8
  readonly name: "text";
8
9
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sepveneto/dao",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "type": "module",
5
5
  "scripts": {
6
6
  "docs:dev": "vitepress dev docs",