sunrize 2.0.12 → 2.0.14

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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sunrize",
3
3
  "productName": "Sunrize X3D Editor",
4
- "version": "2.0.12",
4
+ "version": "2.0.14",
5
5
  "description": "Sunrize — A Multi-Platform X3D Editor",
6
6
  "main": "src/main.js",
7
7
  "bin": {
@@ -93,7 +93,7 @@
93
93
  "@vscode/codicons": "^0.0.45",
94
94
  "capitalize": "^2.0.4",
95
95
  "console": "^0.7.2",
96
- "electron": "^41.1.1",
96
+ "electron": "^41.2.1",
97
97
  "electron-prompt": "^1.7.0",
98
98
  "electron-squirrel-startup": "^1.0.1",
99
99
  "electron-tabs": "^1.0.4",
@@ -102,7 +102,7 @@
102
102
  "jquery-ui-dist": "^1.13.3",
103
103
  "jstree": "^3.3.17",
104
104
  "material-icons": "^1.13.14",
105
- "material-symbols": "^0.44.0",
105
+ "material-symbols": "^0.44.2",
106
106
  "md5": "^2.3.0",
107
107
  "mime-types": "^3.0.2",
108
108
  "monaco-editor": "^0.55.1",
@@ -112,7 +112,7 @@
112
112
  "string-similarity": "^4.0.4",
113
113
  "tweakpane": "^4.0.5",
114
114
  "update-electron-app": "^3.1.2",
115
- "x_ite": "^14.1.3",
115
+ "x_ite": "^14.1.5",
116
116
  "x3d-traverse": "^1.0.22"
117
117
  }
118
118
  }
@@ -376,7 +376,7 @@ module .exports = new class Panel extends Interface
376
376
  {
377
377
  this .refreshGeometry ();
378
378
 
379
- switch (node .getGeometryType ())
379
+ switch (($.try (() => node .getInnerNode ()) ?? node) .getGeometryType ())
380
380
  {
381
381
  case 0:
382
382
  this .numPrimitives .monitor = folder .addBinding (this .numPrimitives, "numberOfPoints", { readonly: true });
@@ -939,9 +939,11 @@ module .exports = new class Panel extends Interface
939
939
 
940
940
  refreshGeometry ()
941
941
  {
942
- const numVertices = this .node .getVertices () .length / 4;
942
+ const
943
+ node = $.try (() => this .node .getInnerNode ()) ?? this .node,
944
+ numVertices = node .getVertices () .length / 4;
943
945
 
944
- switch (this .node .getGeometryType ())
946
+ switch (node .getGeometryType ())
945
947
  {
946
948
  case 0:
947
949
  this .numPrimitives .numberOfPoints = (numVertices) .toLocaleString (_.locale);
@@ -4,24 +4,37 @@ const X3DNodeTool = require ("./X3DNodeTool");
4
4
 
5
5
  class X3DPrototypeInstanceTool extends X3DNodeTool
6
6
  {
7
+ #tool;
8
+
7
9
  constructor (node)
8
10
  {
9
11
  super (node)
10
12
 
13
+ node .getBody () .rootNodes .addInterest ("set_toolRootNodes", this);
14
+
15
+ this .set_toolRootNodes ();
16
+ }
17
+
18
+ set_toolRootNodes ()
19
+ {
11
20
  try
12
21
  {
13
- const tool = this .node .getInnerNode () .addTool ();
22
+ this .#tool = this .node .getInnerNode () .addTool ();
14
23
 
15
- tool .toolPointingEnabled = false;
24
+ this .#tool .toolPointingEnabled = false;
16
25
  }
17
26
  catch
18
- { }
27
+ {
28
+ this .#tool = null;
29
+ }
19
30
  }
20
31
 
21
32
  disposeTool ()
22
33
  {
23
34
  try
24
35
  {
36
+ this .node .getBody () .rootNodes .removeInterest ("set_toolRootNodes", this);
37
+
25
38
  this .node .getInnerNode () .removeTool ();
26
39
  }
27
40
  catch
@@ -32,7 +45,7 @@ class X3DPrototypeInstanceTool extends X3DNodeTool
32
45
 
33
46
  getInnerNode ()
34
47
  {
35
- return this .node .getInnerNode ();
48
+ return this .#tool;
36
49
  }
37
50
  }
38
51
 
@@ -2,6 +2,51 @@
2
2
 
3
3
  const X3DGeometryNodeTool = require ("../Rendering/X3DGeometryNodeTool");
4
4
 
5
- class InlineGeometryTool extends X3DGeometryNodeTool { }
5
+ class InlineGeometryTool extends X3DGeometryNodeTool
6
+ {
7
+ #tool;
8
+
9
+ constructor (node)
10
+ {
11
+ super (node)
12
+
13
+ node ._loadState .addInterest ("set_toolLoadState", this);
14
+
15
+ this .set_toolLoadState ();
16
+ }
17
+
18
+ set_toolLoadState ()
19
+ {
20
+ try
21
+ {
22
+ this .#tool = this .node .getInnerNode () .addTool ();
23
+
24
+ this .#tool .toolPointingEnabled = false;
25
+ }
26
+ catch
27
+ {
28
+ this .#tool = null;
29
+ }
30
+ }
31
+
32
+ disposeTool ()
33
+ {
34
+ try
35
+ {
36
+ this .node ._loadState .removeInterest ("set_toolLoadState", this);
37
+
38
+ this .node .getInnerNode () .removeTool ();
39
+ }
40
+ catch
41
+ { }
42
+
43
+ super .disposeTool ();
44
+ }
45
+
46
+ getInnerNode ()
47
+ {
48
+ return this .#tool;
49
+ }
50
+ }
6
51
 
7
52
  module .exports = InlineGeometryTool;