@woosh/meep-engine 2.119.97 → 2.119.100

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/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "description": "Fully featured ECS game engine written in JavaScript",
6
6
  "type": "module",
7
7
  "author": "Alexander Goldring",
8
- "version": "2.119.97",
8
+ "version": "2.119.100",
9
9
  "main": "build/meep.module.js",
10
10
  "module": "build/meep.module.js",
11
11
  "exports": {
@@ -1 +1 @@
1
- {"version":3,"file":"NodeInstance.d.ts","sourceRoot":"","sources":["../../../../../../src/core/model/node-graph/node/NodeInstance.js"],"names":[],"mappings":"AAcA;;;;GAIG;AACH;IAEI;;;;OAIG;IACH,aAFU,MAAM,CAEE;IAElB;;;OAGG;IACH,aAFU,eAAe,CAEN;IAEnB;;;OAGG;IACH,WAFU,yBAAyB,EAAE,CAEtB;IAEf;;;OAGG;IACH,gBAAgB;IAEhB;;;OAGG;IACH,qBAAmB;IAEnB;;;OAGG;IACH,sBAFU,IAAI,CAAC,UAAU,CAAC,CAED;IAEzB;;;;;;OAMG;IACH,wBAFU,IAAI,EAAE,CAEE;IAElB;;OAEG;IACH;QACI;;;WAGG;mCADO,MAAM,CAAC,MAAM,EAAE,GAAC,EAAE,GAAC,CAAC;QAG9B;;;WAGG;iCADO,MAAM,CAAC,MAAM,EAAE,GAAC,CAAC;QAG3B;;;WAGG;mCADO,MAAM,CAAC,MAAM,EAAE,GAAC,CAAC;QAI3B;;;;WAIG;qCADO,MAAM,CAAC,eAAe,EAAE,eAAe,EAAE,YAAY,CAAC;MAGlE;IAEF;;;;;;OAMG;IACH,8BALW,MAAM,aACN,aAAa,UACb,UAAU,EAAE,GACV,MAAM,CAsBlB;IAED;;;OAGG;IACH,oBAFa,yBAAyB,EAAE,CAIvC;IAED;;;OAGG;IACH,mBAFa,yBAAyB,EAAE,CAIvC;IAGD;;;OAGG;IACH,sBAFY,UAAU,EAAE,CAIvB;IAED;;;;OAIG;IACH,qBAFY,UAAU,EAAE,CAIvB;IAED;;;;OAIG;IACH,mBAHW,MAAM,SACN,GAAC,QAIX;IAED;;;;OAIG;IACH,mBAHW,MAAM,GACJ,GAAC,CAIb;IAED;;;;OAIG;IACH,kBAJa,CAAC,MACH,MAAM,GACJ,CAAC,GAAC,SAAS,CAMvB;IAED;;;;OAIG;IACH,kBAJa,CAAC,MACH,MAAM,SACN,CAAC,QAkCX;IAED;;;;OAIG;IACH,iBAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;;OAIG;IACH,oBAHW,MAAM,GACJ,OAAO,CAkBnB;IAED;;;OAGG;IACH,uCAQC;IAED,wBAIC;IAED;;;OAGG;IACH,4BAFW,eAAe,QAsCzB;IAED;;;;OAIG;IACH,qBAHW,MAAM,GACJ,yBAAyB,GAAC,SAAS,CAoB/C;IAED;;;;OAIG;IACH,6BAHW,MAAM,GACJ,SAAS,GAAC,yBAAyB,CAa/C;IAED;;;OAGG;IACH,QAFY,MAAM,CAIjB;IAED;;;;OAIG;IACH,cAHW,YAAY,GACV,OAAO,CAQnB;IAED,mBAEC;IAIL;;;OAGG;IACH,yBAFU,OAAO,CAEoB;CAPpC;0CA9XyC,gCAAgC;iBAHzD,kCAAkC;mBAChC,kCAAkC;8BAGvB,oBAAoB"}
1
+ {"version":3,"file":"NodeInstance.d.ts","sourceRoot":"","sources":["../../../../../../src/core/model/node-graph/node/NodeInstance.js"],"names":[],"mappings":"AAcA;;;;GAIG;AACH;IAEI;;;;OAIG;IACH,aAFU,MAAM,CAEE;IAElB;;;OAGG;IACH,aAFU,eAAe,CAEN;IAEnB;;;OAGG;IACH,WAFU,yBAAyB,EAAE,CAEtB;IAEf;;;OAGG;IACH,gBAAgB;IAEhB;;;OAGG;IACH,qBAAmB;IAEnB;;;OAGG;IACH,sBAFU,IAAI,CAAC,UAAU,CAAC,CAED;IAEzB;;;;;;OAMG;IACH,wBAFU,IAAI,EAAE,CAEE;IAElB;;OAEG;IACH;QACI;;;WAGG;mCADO,MAAM,CAAC,MAAM,EAAE,GAAC,EAAE,GAAC,CAAC;QAG9B;;;WAGG;iCADO,MAAM,CAAC,MAAM,EAAE,GAAC,CAAC;QAG3B;;;WAGG;mCADO,MAAM,CAAC,MAAM,EAAE,GAAC,CAAC;QAI3B;;;;WAIG;qCADO,MAAM,CAAC,eAAe,EAAE,eAAe,EAAE,YAAY,CAAC;MAGlE;IAEF;;;;;;OAMG;IACH,8BALW,MAAM,aACN,aAAa,UACb,UAAU,EAAE,GACV,MAAM,CAsBlB;IAED;;;OAGG;IACH,oBAFa,yBAAyB,EAAE,CAIvC;IAED;;;OAGG;IACH,mBAFa,yBAAyB,EAAE,CAIvC;IAGD;;;OAGG;IACH,sBAFY,UAAU,EAAE,CAIvB;IAED;;;;OAIG;IACH,qBAFY,UAAU,EAAE,CAIvB;IAED;;;;OAIG;IACH,mBAHW,MAAM,SACN,GAAC,QAIX;IAED;;;;OAIG;IACH,mBAHW,MAAM,GACJ,GAAC,CAIb;IAED;;;;OAIG;IACH,kBAJa,CAAC,MACH,MAAM,GACJ,CAAC,GAAC,SAAS,CAMvB;IAED;;;;OAIG;IACH,kBAJa,CAAC,MACH,MAAM,SACN,CAAC,QAkCX;IAED;;;;OAIG;IACH,iBAHW,MAAM,GACJ,OAAO,CAInB;IAED;;;;OAIG;IACH,oBAHW,MAAM,GACJ,OAAO,CAkBnB;IAED;;;OAGG;IACH,uCAQC;IAED,wBAIC;IAED;;;OAGG;IACH,4BAFW,eAAe,QAsCzB;IAED;;;;OAIG;IACH,qBAHW,MAAM,GACJ,yBAAyB,GAAC,SAAS,CAoB/C;IAED;;;;OAIG;IACH,6BAHW,MAAM,GACJ,SAAS,GAAC,yBAAyB,CAa/C;IAED;;;OAGG;IACH,QAFY,MAAM,CAIjB;IAED;;;;OAIG;IACH,cAHW,YAAY,GACV,OAAO,CAQnB;IAED,mBAYC;IAIL;;;OAGG;IACH,yBAFU,OAAO,CAEoB;CAPpC;0CAxYyC,gCAAgC;iBAHzD,kCAAkC;mBAChC,kCAAkC;8BAGvB,oBAAoB"}
@@ -383,7 +383,17 @@ export class NodeInstance {
383
383
  }
384
384
 
385
385
  toString() {
386
- return `NodeInstance{ id = ${this.id}, description = ${this.description?.id} }`
386
+ let result = `NodeInstance{ id = ${this.id}`;
387
+
388
+ // add description
389
+ const d = this.description;
390
+ if(d !== undefined && d !== null){
391
+ result += `, description = ${d.id}(${d.name})`
392
+ }
393
+
394
+ result += ' }';
395
+
396
+ return result;
387
397
  }
388
398
  }
389
399
 
@@ -1,5 +1,8 @@
1
1
  /**
2
2
  * Creates a Graphviz diagram from a node graph
3
+ * @see https://en.wikipedia.org/wiki/Graphviz
4
+ * @see https://graphviz.org/
5
+ * @see https://dreampuf.github.io/GraphvizOnline
3
6
  * @param {NodeGraph} graph
4
7
  * @returns {string}
5
8
  */
@@ -1 +1 @@
1
- {"version":3,"file":"convert_node_graph_to_dot_string.d.ts","sourceRoot":"","sources":["../../../../../../src/core/model/node-graph/util/convert_node_graph_to_dot_string.js"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,4DAHW,SAAS,GACP,MAAM,CA6DlB"}
1
+ {"version":3,"file":"convert_node_graph_to_dot_string.d.ts","sourceRoot":"","sources":["../../../../../../src/core/model/node-graph/util/convert_node_graph_to_dot_string.js"],"names":[],"mappings":"AA6BA;;;;;;;GAOG;AACH,4DAHW,SAAS,GACP,MAAM,CAiDlB"}
@@ -1,11 +1,41 @@
1
1
  import LineBuilder from "../../../codegen/LineBuilder.js";
2
2
 
3
+ /**
4
+ *
5
+ * @param {number} id
6
+ * @returns {string}
7
+ */
8
+ function encode_node(id) {
9
+ return `n${id}`;
10
+ }
11
+
12
+ /**
13
+ *
14
+ * @param {number} id
15
+ * @returns {string}
16
+ */
17
+ function encode_port(id) {
18
+ return `p${id}`;
19
+ }
20
+
21
+ /**
22
+ *
23
+ * @param {NodeInstancePortReference} source
24
+ * @returns {string}
25
+ */
26
+ function encode_endpoint(source) {
27
+ return `${encode_node(source.instance.id)}:${encode_port(source.port.id)}`;
28
+ }
29
+
3
30
  /**
4
31
  * Creates a Graphviz diagram from a node graph
32
+ * @see https://en.wikipedia.org/wiki/Graphviz
33
+ * @see https://graphviz.org/
34
+ * @see https://dreampuf.github.io/GraphvizOnline
5
35
  * @param {NodeGraph} graph
6
36
  * @returns {string}
7
37
  */
8
- export function convert_node_graph_to_dot_string({graph}){
38
+ export function convert_node_graph_to_dot_string({ graph }) {
9
39
  // see https://stackoverflow.com/questions/7922960/block-diagram-layout-with-dot-graphviz
10
40
 
11
41
  const lb = new LineBuilder();
@@ -16,26 +46,13 @@ export function convert_node_graph_to_dot_string({graph}){
16
46
  lb.add('graph [rankdir = LR];')
17
47
  lb.add('node[shape=record];')
18
48
 
19
- function nodeId(index) {
20
- return `n${index}`;
21
- }
22
-
23
- /**
24
- *
25
- * @param index
26
- * @returns {string}
27
- */
28
- function portId(index){
29
- return `p${index}`;
30
- }
31
-
32
49
  /**
33
50
  *
34
51
  * @param {NodeInstancePortReference[]} endpoints
35
52
  * @returns {string}
36
53
  */
37
- function portBlock(endpoints){
38
- return `{${endpoints.map(e => `<${portId(e.port.id)}>${e.port.name}`).join("|")}}`;
54
+ function portBlock(endpoints) {
55
+ return `{${endpoints.map(e => `<${encode_port(e.port.id)}>${e.port.name}`).join("|")}}`;
39
56
  }
40
57
 
41
58
  // populate nodes
@@ -46,7 +63,7 @@ export function convert_node_graph_to_dot_string({graph}){
46
63
  const inputs = portBlock(node.inEndpoints);
47
64
  const outputs = portBlock(node.outEndpoints);
48
65
 
49
- lb.add(`${nodeId(node.id)}[label="${inputs}|${node.description.name}/${node.id}|${outputs}"];`)
66
+ lb.add(`${encode_node(node.id)}[label="{ ${inputs}|${node.description.name}/${node.id}|${outputs} }"];`)
50
67
  }
51
68
 
52
69
  // populate connections
@@ -56,7 +73,8 @@ export function convert_node_graph_to_dot_string({graph}){
56
73
 
57
74
  const source = connection.source;
58
75
  const target = connection.target;
59
- lb.add(`${nodeId(source.instance.id)}:${portId(source.port.id)} -> ${nodeId(source.instance.id)}:${portId(source.port.id)};`);
76
+
77
+ lb.add(`${encode_endpoint(source)} -> ${encode_endpoint(target)};`);
60
78
  }
61
79
 
62
80
  lb.dedent();
@@ -81,8 +81,8 @@ export class BehaviorComponent {
81
81
  }
82
82
 
83
83
  /**
84
- *
85
- * @param {function(timeDelta:number)} f
84
+ * Executes input function every update cycle
85
+ * @param {function(time_delta_seconds:number)} f
86
86
  * @param {*} [thisArg]
87
87
  * @returns {BehaviorComponent}
88
88
  */