sunrize 1.1.9 → 1.2.1

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.
Files changed (74) hide show
  1. package/package.json +9 -9
  2. package/src/Application/ActionKeys.js +49 -28
  3. package/src/Application/Dashboard.js +3 -0
  4. package/src/Application/Document.js +124 -124
  5. package/src/Application/Interface.js +16 -0
  6. package/src/Application/Selection.js +13 -5
  7. package/src/Controls/EditUserDefinedFieldPopover.js +60 -60
  8. package/src/Editors/Library.js +201 -80
  9. package/src/Editors/NodeList.js +44 -41
  10. package/src/Editors/OutlineEditor.js +531 -336
  11. package/src/Editors/OutlineView.js +235 -213
  12. package/src/Editors/Primitives.js +10 -16
  13. package/src/Editors/ScriptEditor.js +152 -152
  14. package/src/Fields.js +2 -2
  15. package/src/Tools/Core/ToolColors.js +27 -27
  16. package/src/Tools/Core/X3DChildNodeTool.js +130 -10
  17. package/src/Tools/Core/X3DNodeTool.js +96 -86
  18. package/src/Tools/Core/X3DPrototypeInstanceTool.js +18 -8
  19. package/src/Tools/EnvironmentalSensor/ProximitySensorTool.js +4 -4
  20. package/src/Tools/EnvironmentalSensor/TransformSensorTool.js +4 -4
  21. package/src/Tools/EnvironmentalSensor/VisibilitySensorTool.js +4 -4
  22. package/src/Tools/EnvironmentalSensor/X3DEnvironmentalSensorNodeTool.js +33 -11
  23. package/src/Tools/EnvironmentalSensor/X3DEnvironmentalSensorNodeTool.x3d +33 -7
  24. package/src/Tools/Geospatial/GeoLODTool.js +15 -12
  25. package/src/Tools/Geospatial/GeoLocationTool.js +4 -4
  26. package/src/Tools/Geospatial/GeoTransformTool.js +4 -4
  27. package/src/Tools/Geospatial/GeoViewpointTool.js +32 -8
  28. package/src/Tools/Grouping/BooleanSwitch.x3d +2 -2
  29. package/src/Tools/Grouping/Vector.x3d +10 -5
  30. package/src/Tools/Grouping/X3DBoundedObjectTool.js +20 -17
  31. package/src/Tools/Grouping/X3DBoundedObjectTool.x3d +114 -100
  32. package/src/Tools/Grouping/X3DTransformNodeTool.js +272 -10
  33. package/src/Tools/Grouping/X3DTransformNodeTool.x3d +1758 -0
  34. package/src/Tools/Layering/X3DLayerNodeTool.js +8 -8
  35. package/src/Tools/Layout/LayoutGroupTool.js +4 -4
  36. package/src/Tools/Layout/LayoutLayerTool.js +3 -3
  37. package/src/Tools/Layout/ScreenGroupTool.js +4 -4
  38. package/src/Tools/Lighting/DirectionalLightTool.js +7 -8
  39. package/src/Tools/Lighting/PointLightTool.js +7 -8
  40. package/src/Tools/Lighting/SpotLightTool.js +10 -14
  41. package/src/Tools/Lighting/X3DLightNodeTool.js +38 -12
  42. package/src/Tools/Lighting/X3DLightNodeTool.x3d +70 -23
  43. package/src/Tools/Navigation/BillboardTool.js +8 -16
  44. package/src/Tools/Navigation/CollisionTool.js +13 -13
  45. package/src/Tools/Navigation/LODTool.js +8 -16
  46. package/src/Tools/Navigation/OrthoViewpointTool.js +7 -9
  47. package/src/Tools/Navigation/ViewpointTool.js +6 -8
  48. package/src/Tools/Navigation/X3DViewpointNodeTool.js +43 -12
  49. package/src/Tools/Navigation/X3DViewpointNodeTool.x3d +23 -6
  50. package/src/Tools/ParticleSystems/ParticleSystemTool.js +4 -4
  51. package/src/Tools/Picking/PickableGroupTool.js +4 -4
  52. package/src/Tools/RigidBodyPhysics/CollidableOffsetTool.js +3 -3
  53. package/src/Tools/RigidBodyPhysics/CollidableShapeTool.js +3 -3
  54. package/src/Tools/RigidBodyPhysics/X3DNBodyCollidableNodeTool.js +13 -14
  55. package/src/Tools/Shaders/ToolShader.x3d +17 -17
  56. package/src/Tools/Shape/ShapeTool.js +4 -4
  57. package/src/Tools/Sound/SoundTool.js +36 -21
  58. package/src/Tools/Sound/SoundTool.x3d +109 -33
  59. package/src/Tools/TextureProjection/TextureProjectorParallelTool.js +18 -13
  60. package/src/Tools/TextureProjection/TextureProjectorTool.js +18 -13
  61. package/src/Tools/TextureProjection/X3DTextureProjectorNodeTool.js +40 -19
  62. package/src/Tools/TextureProjection/X3DTextureProjectorNodeTool.x3d +55 -17
  63. package/src/Tools/VolumeRendering/IsoSurfaceVolumeDataTool.js +3 -3
  64. package/src/Tools/VolumeRendering/SegmentedVolumeDataTool.js +3 -3
  65. package/src/Tools/VolumeRendering/VolumeDataTool.js +3 -3
  66. package/src/Tools/VolumeRendering/X3DVolumeDataNodeTool.js +4 -4
  67. package/src/Tools.js +7 -3
  68. package/src/Undo/Editor.js +307 -247
  69. package/src/Undo/UndoManager.js +65 -65
  70. package/src/X3D.js +3 -3
  71. package/src/assets/themes/default-template.css +1 -2
  72. package/src/assets/themes/default.css +1 -2
  73. package/src/main.js +4 -4
  74. package/src/Tools/Grouping/TransformTool.x3d +0 -38
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "sunrize",
3
3
  "productName": "Sunrize X3D Editor",
4
- "version": "1.1.9",
4
+ "version": "1.2.1",
5
5
  "description": "A Multi-Platform X3D Editor",
6
6
  "main": "src/main.js",
7
7
  "bin": {
@@ -56,16 +56,16 @@
56
56
  }
57
57
  ],
58
58
  "devDependencies": {
59
- "@electron-forge/cli": "^6.4.2",
60
- "@electron-forge/maker-deb": "^6.4.2",
61
- "@electron-forge/maker-rpm": "^6.4.2",
62
- "@electron-forge/maker-squirrel": "^6.4.2",
63
- "@electron-forge/maker-zip": "^6.4.2",
64
- "electron": "^27.0.4"
59
+ "@electron-forge/cli": "^7.1.0",
60
+ "@electron-forge/maker-deb": "^7.1.0",
61
+ "@electron-forge/maker-rpm": "^7.1.0",
62
+ "@electron-forge/maker-squirrel": "^7.1.0",
63
+ "@electron-forge/maker-zip": "^7.1.0"
65
64
  },
66
65
  "dependencies": {
67
66
  "capitalize": "^2.0.4",
68
67
  "console": "^0.7.2",
68
+ "electron": "^27.1.2",
69
69
  "electron-prompt": "^1.7.0",
70
70
  "electron-squirrel-startup": "^1.0.0",
71
71
  "electron-tabs": "^1.0.2",
@@ -74,7 +74,7 @@
74
74
  "jquery-ui-dist": "^1.13.2",
75
75
  "jstree": "^3.3.16",
76
76
  "material-icons": "^1.13.12",
77
- "material-symbols": "^0.14.0",
77
+ "material-symbols": "^0.14.1",
78
78
  "md5": "^2.3.0",
79
79
  "monaco-editor": "^0.44.0",
80
80
  "node-clipboardy": "^1.0.3",
@@ -82,7 +82,7 @@
82
82
  "qtip2": "^3.0.3",
83
83
  "spectrum-colorpicker2": "^2.0.10",
84
84
  "string-similarity": "^4.0.4",
85
- "x_ite": "^9.0.3"
85
+ "x_ite": "^9.1.0"
86
86
  },
87
87
  "config": {
88
88
  "forge": {
@@ -1,80 +1,101 @@
1
- "use strict"
1
+ "use strict";
2
2
 
3
- const $ = require ("jquery")
3
+ const $ = require ("jquery");
4
4
 
5
5
  module .exports = class ActionKeys
6
6
  {
7
- static Shift = 0b0001
8
- static Control = 0b0010
9
- static Alt = 0b0100
10
- static Option = 0b0100
11
- static AltGraph = 0b1000
12
- static Command = 0b1000
7
+ static Shift = 0b0001;
8
+ static Control = 0b0010;
9
+ static Alt = 0b0100;
10
+ static Option = 0b0100;
11
+ static AltGraph = 0b1000;
12
+ static Command = 0b1000;
13
13
 
14
- constructor ()
14
+ constructor (id, callback)
15
15
  {
16
- this .value = 0
16
+ this .id = id;
17
+ this .callback = callback;
18
+ this .value = 0;
17
19
 
18
20
  $(window)
19
- .on ("keydown", this .onkeydown .bind (this))
20
- .on ("keyup", this .onkeyup .bind (this))
21
+ .on (`keydown.${id}`, this .onkeydown .bind (this))
22
+ .on (`keyup.${id}`, this .onkeyup .bind (this));
23
+ }
24
+
25
+ dispose ()
26
+ {
27
+ $(window) .off (`.${this .id}`);
21
28
  }
22
29
 
23
30
  onkeydown (event)
24
31
  {
25
32
  //console .log (event .key)
26
33
 
34
+ const value = this .value;
35
+
27
36
  switch (event .key)
28
37
  {
29
38
  case "Shift":
30
39
  {
31
- this .value |= ActionKeys .Shift
32
- break
40
+ this .value |= ActionKeys .Shift;
41
+ break;
33
42
  }
34
43
  case "Control":
35
44
  {
36
- this .value |= ActionKeys .Control
37
- break
45
+ this .value |= ActionKeys .Control;
46
+ break;
38
47
  }
39
48
  case "Alt": // Alt/Option
40
49
  {
41
- this .value |= ActionKeys .Alt
42
- break
50
+ this .value |= ActionKeys .Alt;
51
+ break;
43
52
  }
44
53
  case "Meta": // AltGr/Command
45
54
  {
46
- this .value |= ActionKeys .AltGraph
47
- break
55
+ this .value |= ActionKeys .AltGraph;
56
+ break;
48
57
  }
49
58
  }
59
+
60
+ if (this .value === value)
61
+ return;
62
+
63
+ this .callback ?.(this .value);
50
64
  }
51
65
 
52
66
  onkeyup (event)
53
67
  {
54
68
  //console .log (event .key)
55
69
 
70
+ const value = this .value;
71
+
56
72
  switch (event .key)
57
73
  {
58
74
  case "Shift":
59
75
  {
60
- this .value &= ~ActionKeys .Shift
61
- break
76
+ this .value &= ~ActionKeys .Shift;
77
+ break;
62
78
  }
63
79
  case "Control":
64
80
  {
65
- this .value &= ~ActionKeys .Control
66
- break
81
+ this .value &= ~ActionKeys .Control;
82
+ break;
67
83
  }
68
84
  case "Alt": // Alt/Option
69
85
  {
70
- this .value &= ~ActionKeys .Alt
71
- break
86
+ this .value &= ~ActionKeys .Alt;
87
+ break;
72
88
  }
73
89
  case "Meta": // AltGr/Command
74
90
  {
75
- this .value &= ~ActionKeys .AltGraph
76
- break
91
+ this .value &= ~ActionKeys .AltGraph;
92
+ break;
77
93
  }
78
94
  }
95
+
96
+ if (this .value === value)
97
+ return;
98
+
99
+ this .callback ?.(this .value);
79
100
  }
80
101
  }
@@ -139,6 +139,9 @@ module .exports = class Dashboard extends Interface
139
139
  { }
140
140
  }
141
141
 
142
+ if (!bbox .size .magnitude ())
143
+ return;
144
+
142
145
  viewpointNode .lookAtBBox (layerNode, bbox, 1, straighten)
143
146
  }
144
147
  else