@opendaw/lib-box 0.0.35 → 0.0.37

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.
package/dist/editing.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import { BoxGraph } from "./graph";
2
- import { Maybe, Option, Provider } from "@opendaw/lib-std";
2
+ import { Editing, Maybe, Option, Provider } from "@opendaw/lib-std";
3
3
  export interface ModificationProcess {
4
4
  approve(): void;
5
5
  revert(): void;
6
6
  }
7
- export declare class Editing {
7
+ export declare class BoxEditing implements Editing {
8
8
  #private;
9
9
  constructor(graph: BoxGraph);
10
10
  get graph(): BoxGraph;
@@ -1 +1 @@
1
- {"version":3,"file":"editing.d.ts","sourceRoot":"","sources":["../src/editing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAA;AAChC,OAAO,EAAsB,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AAqB7E,MAAM,WAAW,mBAAmB;IAChC,OAAO,IAAI,IAAI,CAAA;IACf,MAAM,IAAI,IAAI,CAAA;CACjB;AAED,qBAAa,OAAO;;gBAUJ,KAAK,EAAE,QAAQ;IAI3B,IAAI,KAAK,IAAI,QAAQ,CAAqB;IAE1C,OAAO,IAAI,OAAO;IAElB,KAAK,IAAI,IAAI;IAOb,IAAI,IAAI,OAAO;IAUf,IAAI,IAAI,OAAO;IAcf,SAAS,IAAI,OAAO;IAEpB,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,GAAE,OAAc,GAAG,MAAM,CAAC,CAAC,CAAC;IAWxE,iBAAiB,IAAI,mBAAmB;IAkCxC,IAAI,IAAI,IAAI;IAOZ,YAAY,IAAI,IAAI;IAMpB,OAAO,IAAI,IAAI;CAGlB"}
1
+ {"version":3,"file":"editing.d.ts","sourceRoot":"","sources":["../src/editing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,SAAS,CAAA;AAChC,OAAO,EAAiB,OAAO,EAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAC,MAAM,kBAAkB,CAAA;AAqBtF,MAAM,WAAW,mBAAmB;IAChC,OAAO,IAAI,IAAI,CAAA;IACf,MAAM,IAAI,IAAI,CAAA;CACjB;AAED,qBAAa,UAAW,YAAW,OAAO;;gBAU1B,KAAK,EAAE,QAAQ;IAI3B,IAAI,KAAK,IAAI,QAAQ,CAAqB;IAE1C,OAAO,IAAI,OAAO;IAElB,KAAK,IAAI,IAAI;IAOb,IAAI,IAAI,OAAO;IAUf,IAAI,IAAI,OAAO;IAcf,SAAS,IAAI,OAAO;IAEpB,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,GAAE,OAAc,GAAG,MAAM,CAAC,CAAC,CAAC;IAWxE,iBAAiB,IAAI,mBAAmB;IAkCxC,IAAI,IAAI,IAAI;IAOZ,YAAY,IAAI,IAAI;IAMpB,OAAO,IAAI,IAAI;CAGlB"}
package/dist/editing.js CHANGED
@@ -13,7 +13,7 @@ class Modification {
13
13
  graph.endTransaction();
14
14
  }
15
15
  }
16
- export class Editing {
16
+ export class BoxEditing {
17
17
  #graph;
18
18
  #pending = [];
19
19
  #marked = [];
@@ -1 +1 @@
1
- {"version":3,"file":"graph-edges.d.ts","sourceRoot":"","sources":["../src/graph-edges.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,YAAY,EAAC,MAAM,WAAW,CAAA;AACtC,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAA;AAEzB,qBAAa,UAAU;;;IAanB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAchD,iBAAiB,CAAC,GAAG,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI;IAoBrD,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAQpD,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAOtC,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IAI3D,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAIjE,eAAe,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC;IASlE,oBAAoB,IAAI,IAAI;CAgC/B"}
1
+ {"version":3,"file":"graph-edges.d.ts","sourceRoot":"","sources":["../src/graph-edges.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,YAAY,EAAC,MAAM,WAAW,CAAA;AACtC,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAA;AAEzB,qBAAa,UAAU;;;IAanB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAchD,iBAAiB,CAAC,GAAG,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,GAAG,IAAI;IAoBrD,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAG,IAAI;IAQpD,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAOtC,WAAW,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO;IAI3D,eAAe,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAIjE,eAAe,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,GAAG,aAAa,CAAC,YAAY,CAAC;IASlE,oBAAoB,IAAI,IAAI;CAsC/B"}
@@ -1,4 +1,4 @@
1
- import { Arrays, assert, isDefined, isInstanceOf, panic } from "@opendaw/lib-std";
1
+ import { Arrays, isDefined, isInstanceOf, panic } from "@opendaw/lib-std";
2
2
  import { Address } from "./address";
3
3
  import { PointerField } from "./pointer";
4
4
  export class GraphEdges {
@@ -74,8 +74,13 @@ export class GraphEdges {
74
74
  }
75
75
  }
76
76
  validateRequirements() {
77
+ // TODO I removed the assertions because they were too slow in busy graphs.
78
+ // I tried to use a Set<Box> in BoxGraph, but that wasn't faster than the SortedSet.
79
+ // We could just use a boolean in Box, but it could be set from the outside world and break it.
80
+ // Claude suggest to use dirty sets, but I am too lazy to implement it right now.
81
+ // const now = performance.now()
77
82
  this.#requiresTarget.forEach(pointer => {
78
- assert(pointer.isAttached(), `Pointer ${pointer.address.toString()} is not attached`);
83
+ // assert(pointer.isAttached(), `Pointer ${pointer.address.toString()} is not attached`)
79
84
  if (pointer.isEmpty()) {
80
85
  if (pointer.mandatory) {
81
86
  return panic(`Pointer ${pointer.toString()} requires an edge.`);
@@ -86,7 +91,7 @@ export class GraphEdges {
86
91
  }
87
92
  });
88
93
  this.#requiresPointer.forEach(target => {
89
- assert(target.isAttached(), `Target ${target.address.toString()} is not attached`);
94
+ // assert(target.isAttached(), `Target ${target.address.toString()} is not attached`)
90
95
  if (target.pointerHub.isEmpty()) {
91
96
  if (target.pointerRules.mandatory) {
92
97
  return panic(`Target ${target.toString()} requires an edge.`);
@@ -96,6 +101,7 @@ export class GraphEdges {
96
101
  }
97
102
  }
98
103
  });
104
+ // console.debug(`GraphEdges validation took ${performance.now() - now} ms.`)
99
105
  }
100
106
  #collectSameBox(set, id, map) {
101
107
  const range = Address.boxRange(set, id, map);
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,IAAI,EACJ,GAAG,EAEH,SAAS,EAET,MAAM,EACN,QAAQ,EAER,SAAS,EAET,YAAY,EACZ,IAAI,EACP,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAA;AACjC,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAC,YAAY,EAAC,MAAM,WAAW,CAAA;AACtC,OAAO,EAAC,cAAc,EAAE,eAAe,EAAC,MAAM,aAAa,CAAA;AAE3D,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAA;AACzB,OAAO,EAAuE,MAAM,EAAC,MAAM,WAAW,CAAA;AACtG,OAAO,EAAc,WAAW,EAAC,MAAM,eAAe,CAAA;AACtD,OAAO,EAAC,UAAU,EAAC,MAAM,eAAe,CAAA;AAExC,MAAM,MAAM,UAAU,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,MAAM,MAAM,EAClB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,EACvB,IAAI,EAAE,IAAI,CAAC,KAAK,EAChB,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,KAAK,GAAG,CAAA;AAErE,MAAM,WAAW,mBAAmB;IAChC,kBAAkB,IAAI,IAAI,CAAA;IAC1B,gBAAgB,IAAI,IAAI,CAAA;CAC3B;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACjC;AAED,MAAM,MAAM,YAAY,GAAG;IAAE,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IAAC,QAAQ,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAA;CAAE,CAAA;AAErF,qBAAa,QAAQ,CAAC,MAAM,GAAG,GAAG;;gBAoBlB,UAAU,GAAE,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAe;IAahE,gBAAgB,IAAI,IAAI;IAMxB,cAAc,IAAI,IAAI;IA2BtB,aAAa,IAAI,OAAO;IACxB,eAAe,IAAI,OAAO;IAE1B,SAAS,CAAC,IAAI,EAAE,MAAM,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG;IAIjF,QAAQ,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC;IAgB9D,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,GAAG,YAAY;IAIjE,qBAAqB,CAAC,QAAQ,EAAE,cAAc,GAAG,YAAY;IAI7D,8BAA8B,CAAC,QAAQ,EAAE,cAAc,GAAG,YAAY;IAItE,sBAAsB,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,YAAY;IAI9G,uBAAuB,CAAC,QAAQ,EAAE,IAAI,GAAG,IAAI;IAE7C,UAAU,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI;IAU1B,OAAO,CAAC,CAAC,SAAS,GAAG,GAAG,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;IAIzD,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;IAI5C,KAAK,IAAI,aAAa,CAAC,GAAG,CAAC;IAE3B,KAAK,IAAI,UAAU;IAEnB,QAAQ,IAAI,SAAS;IAMrB,sBAAsB,CAAC,CAAC,SAAS,eAAe,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI;IAUhH,uBAAuB,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI;IA8B/G,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,YAAY;IA8BtC,cAAc,IAAI;QAAE,KAAK,EAAE,GAAG,CAAA;KAAE;IAwBhC,UAAU,IAAI,IAAI;IAYlB,iBAAiB,IAAI,IAAI;IAUzB,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IAS5D,aAAa,IAAI,eAAe;IAYhC,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IA2B/C,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC;CAWhC"}
package/dist/graph.js CHANGED
@@ -39,7 +39,9 @@ export class BoxGraph {
39
39
  this.#deferredPointerUpdates.forEach(({ pointerField, update }) => this.#processPointerVertexUpdate(pointerField, update));
40
40
  this.#deferredPointerUpdates.length = 0;
41
41
  }
42
- this.#pointerTransactionState.forEach(({ pointer, initial, final }) => {
42
+ this.#pointerTransactionState.values()
43
+ .toSorted((a, b) => a.index - b.index)
44
+ .forEach(({ pointer, initial, final }) => {
43
45
  if (!initial.equals(final)) {
44
46
  initial.ifSome(address => this.findVertex(address).unwrapOrUndefined()?.pointerHub.onRemoved(pointer));
45
47
  final.ifSome(address => this.findVertex(address).unwrapOrUndefined()?.pointerHub.onAdded(pointer));
@@ -145,7 +147,8 @@ export class BoxGraph {
145
147
  none: () => this.#pointerTransactionState.add({
146
148
  pointer: pointerField,
147
149
  initial: oldAddress,
148
- final: newAddress
150
+ final: newAddress,
151
+ index: this.#pointerTransactionState.size()
149
152
  }),
150
153
  some: state => state.final = newAddress
151
154
  });
@@ -2,8 +2,8 @@ import { PointerField, PointerTypes } from "./pointer";
2
2
  import { Vertex } from "./vertex";
3
3
  import { int, Option, Subscription } from "@opendaw/lib-std";
4
4
  export interface PointerListener {
5
- onAdd(pointer: PointerField): void;
6
- onRemove(pointer: PointerField): void;
5
+ onAdded(pointer: PointerField): void;
6
+ onRemoved(pointer: PointerField): void;
7
7
  }
8
8
  export declare class PointerHub {
9
9
  #private;
@@ -1 +1 @@
1
- {"version":3,"file":"pointer-hub.d.ts","sourceRoot":"","sources":["../src/pointer-hub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,WAAW,CAAA;AACpD,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAC,GAAG,EAAwB,MAAM,EAAoB,YAAY,EAAC,MAAM,kBAAkB,CAAA;AAGlG,MAAM,WAAW,eAAe;IAC5B,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAA;IAClC,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAA;CACxC;AAED,qBAAa,UAAU;;IACnB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBAe1D,MAAM,EAAE,MAAM;IAM1B,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,YAAY;IAI1F,mBAAmB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,YAAY;IAoBpG,MAAM,CAAC,CAAC,SAAS,YAAY,EAAE,GAAG,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAMlF,IAAI,IAAI,GAAG;IACX,OAAO,IAAI,OAAO;IAClB,QAAQ,IAAI,OAAO;IACnB,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IACxC,QAAQ,IAAI,aAAa,CAAC,YAAY,CAAC;IAEvC,OAAO,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAMzC,SAAS,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAI3C,QAAQ,IAAI,MAAM;CAqBrB"}
1
+ {"version":3,"file":"pointer-hub.d.ts","sourceRoot":"","sources":["../src/pointer-hub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAE,YAAY,EAAC,MAAM,WAAW,CAAA;AACpD,OAAO,EAAC,MAAM,EAAC,MAAM,UAAU,CAAA;AAC/B,OAAO,EAAC,GAAG,EAAwB,MAAM,EAAoB,YAAY,EAAC,MAAM,kBAAkB,CAAA;AAGlG,MAAM,WAAW,eAAe;IAC5B,OAAO,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAA;IACpC,SAAS,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAA;CACzC;AAED,qBAAa,UAAU;;IACnB,MAAM,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;gBAe1D,MAAM,EAAE,MAAM;IAM1B,SAAS,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,YAAY;IAI1F,mBAAmB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,YAAY;IAoBpG,MAAM,CAAC,CAAC,SAAS,YAAY,EAAE,GAAG,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAMlF,IAAI,IAAI,GAAG;IACX,OAAO,IAAI,OAAO;IAClB,QAAQ,IAAI,OAAO;IACnB,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IACxC,QAAQ,IAAI,aAAa,CAAC,YAAY,CAAC;IAEvC,OAAO,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAMzC,SAAS,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI;IAI3C,QAAQ,IAAI,MAAM;CAqBrB"}
@@ -23,19 +23,19 @@ export class PointerHub {
23
23
  catchupAndSubscribe(listener, ...filter) {
24
24
  const added = Address.newSet(pointer => pointer.address);
25
25
  added.addMany(this.filter(...filter));
26
- added.forEach(pointer => listener.onAdd(pointer));
26
+ added.forEach(pointer => listener.onAdded(pointer));
27
27
  // This takes track of the listener notification state.
28
28
  // It is possible that the pointer has been added, but it has not been notified yet.
29
29
  // That would cause the listener.onAdd method to be invoked twice.
30
30
  return this.subscribe({
31
- onAdd: (pointer) => {
31
+ onAdded: (pointer) => {
32
32
  if (added.add(pointer)) {
33
- listener.onAdd(pointer);
33
+ listener.onAdded(pointer);
34
34
  }
35
35
  },
36
- onRemove: (pointer) => {
36
+ onRemoved: (pointer) => {
37
37
  added.removeByKey(pointer.address);
38
- listener.onRemove(pointer);
38
+ listener.onRemoved(pointer);
39
39
  }
40
40
  }, ...filter);
41
41
  }
@@ -52,10 +52,10 @@ export class PointerHub {
52
52
  if (issue.nonEmpty()) {
53
53
  return panic(issue.unwrap());
54
54
  }
55
- this.#listeners.proxy.onAdd(pointerField);
55
+ this.#listeners.proxy.onAdded(pointerField);
56
56
  }
57
57
  onRemoved(pointerField) {
58
- this.#listeners.proxy.onRemove(pointerField);
58
+ this.#listeners.proxy.onRemoved(pointerField);
59
59
  }
60
60
  toString() {
61
61
  return `{Pointers ${this.#vertex.address}, pointers: ${this.incoming().values()
@@ -63,14 +63,14 @@ export class PointerHub {
63
63
  }
64
64
  #addFilteredListener(listeners, listener, filter) {
65
65
  return listeners.subscribe({
66
- onAdd: (pointer) => {
66
+ onAdded: (pointer) => {
67
67
  if (filter.length === 0 || filter.some((type) => type === pointer.pointerType)) {
68
- listener.onAdd(pointer);
68
+ listener.onAdded(pointer);
69
69
  }
70
70
  },
71
- onRemove: (pointer) => {
71
+ onRemoved: (pointer) => {
72
72
  if (filter.length === 0 || filter.some((type) => type === pointer.pointerType)) {
73
- listener.onRemove(pointer);
73
+ listener.onRemoved(pointer);
74
74
  }
75
75
  }
76
76
  });
package/package.json CHANGED
@@ -1,33 +1,33 @@
1
1
  {
2
- "name": "@opendaw/lib-box",
3
- "version": "0.0.35",
4
- "main": "./dist/index.js",
5
- "types": "./dist/index.d.ts",
6
- "license": "LGPL-3.0-or-later",
7
- "publishConfig": {
8
- "access": "public"
9
- },
10
- "exports": {
11
- ".": {
12
- "types": "./dist/index.d.ts",
13
- "default": "./dist/index.js"
14
- }
15
- },
16
- "files": [
17
- "dist/**/*"
18
- ],
19
- "scripts": {
20
- "build": "tsc",
21
- "lint": "eslint \"**/*.ts\"",
22
- "test": "vitest run"
23
- },
24
- "dependencies": {
25
- "@opendaw/lib-runtime": "^0.0.35",
26
- "@opendaw/lib-std": "^0.0.35"
27
- },
28
- "devDependencies": {
29
- "@opendaw/eslint-config": "^0.0.19",
30
- "@opendaw/typescript-config": "^0.0.20"
31
- },
32
- "gitHead": "7911c4037c03c3aa6d59cf6790dd86285d58dcf9"
2
+ "name": "@opendaw/lib-box",
3
+ "version": "0.0.37",
4
+ "main": "./dist/index.js",
5
+ "types": "./dist/index.d.ts",
6
+ "license": "LGPL-3.0-or-later",
7
+ "publishConfig": {
8
+ "access": "public"
9
+ },
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.ts",
13
+ "default": "./dist/index.js"
14
+ }
15
+ },
16
+ "files": [
17
+ "dist/**/*"
18
+ ],
19
+ "scripts": {
20
+ "build": "tsc",
21
+ "lint": "eslint \"**/*.ts\"",
22
+ "test": "vitest run"
23
+ },
24
+ "dependencies": {
25
+ "@opendaw/lib-runtime": "^0.0.37",
26
+ "@opendaw/lib-std": "^0.0.37"
27
+ },
28
+ "devDependencies": {
29
+ "@opendaw/eslint-config": "^0.0.20",
30
+ "@opendaw/typescript-config": "^0.0.20"
31
+ },
32
+ "gitHead": "cbe2d3409a066196db3434a48f61320f29c80d99"
33
33
  }