sunrize 1.8.28 → 1.9.0

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/bin/sunrize.js CHANGED
@@ -4,13 +4,15 @@
4
4
  const os = require ("os");
5
5
  const path = require ("path");
6
6
  const { spawn } = require ("child_process");
7
+ const win = os .platform () === "win32";
7
8
  const cwd = process .cwd ();
8
- const cmd = os .platform () === "win32" ? "npm.cmd" : "npm";
9
- const args = [... process .argv .slice (2), cwd];
9
+ const args = process .argv .slice (2);
10
10
 
11
11
  process .chdir (path .resolve (__dirname, ".."));
12
12
 
13
- const p = spawn (cmd, ["start", "--silent", "--", btoa (JSON .stringify (args))], { shell: true });
13
+ const p = win
14
+ ? spawn ("cmd.exe", ["/c", "npm.cmd", "start", "--silent", "--", ... args], { cwd })
15
+ : spawn ("npm", ["start", "--silent", "--", ... args], { cwd });
14
16
 
15
17
  p .stdout .pipe (process .stdout);
16
18
  p .stderr .pipe (process .stderr);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sunrize",
3
3
  "productName": "Sunrize X3D Editor",
4
- "version": "1.8.28",
4
+ "version": "1.9.0",
5
5
  "description": "A Multi-Platform X3D Editor",
6
6
  "main": "src/main.js",
7
7
  "bin": {
@@ -18,10 +18,10 @@
18
18
  "X3DUOM": "sh build/X3DUOM.sh",
19
19
  "download": "node build/download.js",
20
20
  "premake": "npm i -D electron",
21
- "make": "env PATH=\"$(pwd)/build/wine-proxy:$PATH\" electron-forge make",
21
+ "make": "electron-forge make",
22
22
  "postmake": "npm i -P electron",
23
23
  "pregithub": "npm i -D electron",
24
- "github": "env PATH=\"$(pwd)/build/wine-proxy:$PATH\" electron-forge publish",
24
+ "github": "electron-forge publish",
25
25
  "postgithub": "npm i -P electron",
26
26
  "predocs": "rm -f -r docs/_site/",
27
27
  "docs": "cd docs && bundle exec jekyll serve --ssl-key ssl/server.key --ssl-cert ssl/server.crt --incremental --host=`ipconfig getifaddr en0`",
@@ -91,7 +91,7 @@
91
91
  "dependencies": {
92
92
  "capitalize": "^2.0.4",
93
93
  "console": "^0.7.2",
94
- "electron": "^37.2.0",
94
+ "electron": "^38.0.0",
95
95
  "electron-prompt": "^1.7.0",
96
96
  "electron-squirrel-startup": "^1.0.1",
97
97
  "electron-tabs": "^1.0.4",
@@ -100,7 +100,7 @@
100
100
  "jquery-ui-dist": "^1.13.3",
101
101
  "jstree": "^3.3.17",
102
102
  "material-icons": "^1.13.14",
103
- "material-symbols": "^0.34.0",
103
+ "material-symbols": "^0.35.0",
104
104
  "md5": "^2.3.0",
105
105
  "mime-types": "^3.0.1",
106
106
  "monaco-editor": "^0.50.0",
@@ -110,7 +110,7 @@
110
110
  "string-similarity": "^4.0.4",
111
111
  "tweakpane": "^3.1.10",
112
112
  "update-electron-app": "^3.1.1",
113
- "x_ite": "^12.0.5",
113
+ "x_ite": "^12.0.7",
114
114
  "x3d-traverse": "^1.0.13"
115
115
  }
116
116
  }
@@ -16,11 +16,7 @@ const localStorage = new LocalStorage (path .join (electron .app .getPath ("user
16
16
 
17
17
  module .exports = class Application
18
18
  {
19
- config = new DataStorage (localStorage, "Sunrize.Application.");
20
- receivedFiles = [ ];
21
- mainMenu = [ ];
22
- openLocationValue = "";
23
- exportPath = new Map ();
19
+ static app;
24
20
 
25
21
  static run ()
26
22
  {
@@ -41,9 +37,15 @@ module .exports = class Application
41
37
 
42
38
  electron .app .commandLine .appendSwitch ("--enable-features", "OverlayScrollbar,ConversionMeasurement,AttributionReportingCrossAppWeb");
43
39
 
44
- return new Application ();
40
+ return this .app = new Application ();
45
41
  }
46
42
 
43
+ config = new DataStorage (localStorage, "Sunrize.Application.");
44
+ receivedFiles = [ ];
45
+ mainMenu = [ ];
46
+ openLocationValue = "";
47
+ exportPath = new Map ();
48
+
47
49
  constructor ()
48
50
  {
49
51
  if (process .env .SUNRISE_ENVIRONMENT === "DEVELOPMENT")
@@ -114,11 +116,6 @@ module .exports = class Application
114
116
  });
115
117
  }
116
118
 
117
- get applicationShouldQuitAfterLastWindowClosed ()
118
- {
119
- return true || process .platform !== "darwin" || process .env .SUNRISE_ENVIRONMENT === "DEVELOPMENT";
120
- }
121
-
122
119
  get title ()
123
120
  {
124
121
  return this .mainWindow .title;
@@ -288,7 +285,7 @@ module .exports = class Application
288
285
  },
289
286
  { type: "separator" },
290
287
  {
291
- label: _("Enable Browser Update on Load"),
288
+ label: _("Make Browser Live (Play) on Load"),
292
289
  type: "checkbox",
293
290
  checked: this .config .browserUpdate,
294
291
  click: () =>
@@ -1169,9 +1166,6 @@ module .exports = class Application
1169
1166
 
1170
1167
  quit ()
1171
1168
  {
1172
- if (!this .applicationShouldQuitAfterLastWindowClosed)
1173
- return;
1174
-
1175
1169
  Template .removeAll ();
1176
1170
  electron .app .quit ();
1177
1171
  }
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
 
3
- const X3DNodeTool = require ("./X3DNodeTool");
3
+ const
4
+ X3DNodeTool = require ("./X3DNodeTool"),
5
+ X3D = require ("../../X3D");
4
6
 
5
7
  class X3DChildNodeTool extends X3DNodeTool
6
8
  {
@@ -13,6 +15,33 @@ class X3DChildNodeTool extends X3DNodeTool
13
15
  {
14
16
  return true;
15
17
  }
18
+
19
+ isNodeTraversable (type)
20
+ {
21
+ if (!this .node .isVisible ())
22
+ return false;
23
+
24
+ switch (type)
25
+ {
26
+ case X3D .TraverseType .POINTER:
27
+ return this .node .isPointingObject ();
28
+
29
+ case X3D .TraverseType .CAMERA:
30
+ return this .node .isCameraObject ();
31
+
32
+ case X3D .TraverseType .PICKING:
33
+ return this .node .isPickableObject ();
34
+
35
+ case X3D .TraverseType .COLLISION:
36
+ return this .node .isCollisionObject ();
37
+
38
+ case X3D .TraverseType .SHADOW:
39
+ return this .node .isShadowObject ();
40
+
41
+ case X3D .TraverseType .DISPLAY:
42
+ return this .node .isVisibleObject ();
43
+ }
44
+ }
16
45
  }
17
46
 
18
47
  module .exports = X3DChildNodeTool;
@@ -469,9 +469,15 @@ class X3DNodeTool extends X3DBaseTool
469
469
 
470
470
  toolPointingEnabled = true;
471
471
 
472
+ isNodeTraversable (type)
473
+ {
474
+ return true;
475
+ }
476
+
472
477
  traverse (type, renderObject = this .node)
473
478
  {
474
- this .node .traverse (type, renderObject);
479
+ if (this .isNodeTraversable (type))
480
+ this .node .traverse (type, renderObject);
475
481
 
476
482
  switch (type)
477
483
  {
@@ -2,23 +2,13 @@
2
2
  <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
3
  <plist version="1.0">
4
4
  <dict>
5
- <key>com.apple.security.cs.allow-jit</key>
6
- <true/>
7
5
  <key>com.apple.security.device.audio-input</key>
8
6
  <true/>
9
- <key>com.apple.security.device.bluetooth</key>
10
- <true/>
11
7
  <key>com.apple.security.device.camera</key>
12
8
  <true/>
13
9
  <key>com.apple.security.device.print</key>
14
10
  <true/>
15
11
  <key>com.apple.security.device.usb</key>
16
12
  <true/>
17
- <key>com.apple.security.personal-information.location</key>
18
- <true/>
19
- <key>com.apple.security.personal-information.addressbook</key>
20
- <true/>
21
- <key>com.apple.security.personal-information.calendars</key>
22
- <true/>
23
13
  </dict>
24
14
  </plist>
@@ -15,11 +15,11 @@
15
15
  <div id="browser-frame">
16
16
  <x3d-canvas
17
17
  id="browser"
18
- debug="true"
19
18
  cache="false"
19
+ contextMenu="false"
20
+ debug="true"
20
21
  preserveDrawingBuffer="true"
21
22
  splashScreen="false"
22
- contextMenu="false"
23
23
  xrSessionMode="NONE"></x3d-canvas>
24
24
  </div>
25
25
  <div id="secondary-toolbar" class="toolbar vertical-toolbar large-toolbar secondary-toolbar"></div>
@@ -15,11 +15,11 @@
15
15
  <div id="browser-frame">
16
16
  <x3d-canvas
17
17
  id="browser"
18
- debug="true"
19
18
  cache="false"
19
+ contextMenu="false"
20
+ debug="true"
20
21
  preserveDrawingBuffer="true"
21
22
  splashScreen="false"
22
- contextMenu="false"
23
23
  xrSessionMode="NONE"></x3d-canvas>
24
24
  </div>
25
25
  <div id="secondary-toolbar" class="toolbar vertical-toolbar large-toolbar secondary-toolbar"></div>
@@ -1,8 +1,7 @@
1
1
  @charset "utf-8";
2
+ @import url(https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,400;0,700;1,400;1,700&family=Roboto:ital,wght@0,100;0,400;0,700;1,100;1,400;1,700&display=swap);
2
3
  @import url(../../node_modules/material-icons/iconfont/material-icons.css);
3
4
  @import url(../../node_modules/material-symbols/index.css);
4
- @import url(https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,400;0,700;1,400;1,700&family=Roboto:ital,wght@0,100;0,400;0,700;1,100;1,400;1,700&display=swap);
5
-
6
5
  @import url(../../node_modules/spectrum-colorpicker2/dist/spectrum.css);
7
6
  @import url(system-colors.css);
8
7
 
@@ -1,8 +1,7 @@
1
1
  @charset "utf-8";
2
+ @import url(https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,400;0,700;1,400;1,700&family=Roboto:ital,wght@0,100;0,400;0,700;1,100;1,400;1,700&display=swap);
2
3
  @import url(file:///Users/holger/Desktop/X_ITE/sunrize/node_modules/material-icons/iconfont/material-icons.css);
3
4
  @import url(file:///Users/holger/Desktop/X_ITE/sunrize/node_modules/material-symbols/index.css);
4
- @import url(https://fonts.googleapis.com/css2?family=Roboto+Mono:ital,wght@0,400;0,700;1,400;1,700&family=Roboto:ital,wght@0,100;0,400;0,700;1,100;1,400;1,700&display=swap);
5
-
6
5
  @import url(file:///Users/holger/Desktop/X_ITE/sunrize/node_modules/spectrum-colorpicker2/dist/spectrum.css);
7
6
  @import url(file:///Users/holger/Desktop/X_ITE/sunrize/src/assets/themes/system-colors.css);
8
7
 
package/src/main.js CHANGED
@@ -1,9 +1,3 @@
1
1
  "use strict";
2
2
 
3
- if (process .argv .length > 2)
4
- {
5
- process .argv = process .argv .concat (JSON .parse (atob (process .argv .pop ())));
6
- process .chdir (process .argv .pop ());
7
- }
8
-
9
- const app = require ("./Application/Application") .run ();
3
+ require ("./Application/Application") .run ();