Skip to content

Commit bcc43f5

Browse files
committed
Update 4.6.3
1 parent a446fd6 commit bcc43f5

File tree

21 files changed

+964
-700
lines changed

21 files changed

+964
-700
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,8 @@ python3 update.py
9292
- Electron *(recommended)*
9393
- Google Chrome
9494
- Mozilla Firefox
95+
96+
> - PWA A2HS-ready *(add to home screen)*
9597
> - For the best experience, a tablet with pen or Wacom is recommended
9698
9799
#### Enable Unsafe WebGPU

media/screenshot.png

10.1 KB
Loading

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "voxel-builder",
3-
"version": "4.6.2",
3+
"version": "4.6.3",
44
"description": "Voxel-based 3D modeling application",
55
"main": "electron.js",
66
"scripts": {
@@ -10,7 +10,7 @@
1010
"author": "@nimadez",
1111
"license": "MIT",
1212
"devDependencies": {
13-
"electron": "^36.0.0",
13+
"electron": "^37.0.0",
1414
"babylonjs": "8.16.0",
1515
"three": "0.178.0",
1616
"three-mesh-bvh": "0.9.1",

run-electron-webgpu.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/bash
22

3-
electron --gtk-version=3 --enable-features=Vulkan --enable-unsafe-webgpu .
3+
electron --enable-features=Vulkan --enable-unsafe-webgpu .

run-electron.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
#!/bin/bash
22

3-
electron --gtk-version=3 --enable-features=Vulkan .
3+
electron --enable-features=Vulkan .

src/index.html

Lines changed: 42 additions & 32 deletions
Large diffs are not rendered by default.

src/main.js

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
Main entry point
66
*/
77

8+
setAppId();
9+
810

911
import { engine } from './modules/babylon.js';
1012
import * as CORE from './modules/core.js';
@@ -57,3 +59,37 @@ engine.init(adapter && CORE.preferences.isWebGPU()).then(eng => {
5759

5860

5961
export let scene = undefined;
62+
63+
64+
function setAppId() {
65+
const THRESHOLD = 3.6e+6; // ms == 60 min
66+
67+
function getQueryParam(name) {
68+
const urlParams = new URLSearchParams(window.location.search);
69+
return urlParams.get(name);
70+
}
71+
72+
// update query param without reloading
73+
function updateQueryParam(name, value) {
74+
const url = new URL(window.location);
75+
url.searchParams.set(name, value);
76+
window.history.replaceState(null, '', url.toString());
77+
}
78+
79+
const appId = localStorage.getItem('appid');
80+
const now = Date.now();
81+
82+
if (getQueryParam('id')) {
83+
if (!appId || (now - parseInt(appId, 10) > THRESHOLD)) {
84+
// update url, no reload needed
85+
localStorage.setItem('appid', now.toString());
86+
updateQueryParam('id', now.toString());
87+
} else {
88+
// recent url, no action needed
89+
}
90+
} else {
91+
// fresh url, assign a new id
92+
localStorage.setItem('appid', now.toString());
93+
updateQueryParam('id', now.toString());
94+
}
95+
}

src/manifest.webmanifest

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"name": "Voxel Builder",
3+
"short_name": "Voxel Builder",
4+
"description": "Voxel-based 3D modeling application for desktop and mobile browsers",
5+
"start_url": "index.html",
6+
"display": "fullscreen",
7+
"scope": "/",
8+
"theme_color": "#1D2028",
9+
"background_color": "#1D2028",
10+
"icons": [
11+
{
12+
"src": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMAAAADACAYAAABS3GwHAAASQElEQVR4Xu1dCZAeRRntCSEcBkRQsbBALIKUm80mLDkgQAIEgXAUgnKEhCNYGAQMiuEQSginELmKS0KBQfYKEcFCEFQgXAoIiCD3keKqcN8ghiQ7vp6dxAD/7s4/Pe//p/9+XUX9q5nvTff7+vU9X0dGSQwEzEAUcNlVdDFgJABVgqAZkACCdr8KLwGoDgTNgAQQtPtVeAlAdSBoBiSAoN2vwksAqgNBMyABBO1+FV4CUB0ImgEJIGj3q/ASgOpA0AxIAEG7X4WXAFQHgmZAAgja/Sq8BKA6EDQDEkDQ7lfhJQDVgaAZkACCdr8KLwGoDgTNgAQQtPtVeAlAdSBoBiSAoN2vwksAqgNBMyABBO1+FV4CUB0ImgEJIGj3q/ASgOpA0AxIAEG7X4WXAFQHgmZAAgja/Sq8BKA6EDQDEkDQ7lfhJQDVgaAZkACCdr8KLwGoDgTNgAQQtPtVeAlAdSBoBiSAoN2vwksAqgNBMyABBO1+FV4CUB0ImgEJIGj3q/ASgOpA0AwUIoC4w+wLFruITD5iPjQjo2lmMfEdgi6IgbjNbGMGmNsAV0j9qpCth8x6ZnS0rVnimuXCMggRXIfMfNc1Q33YnxhNNqcS8QVdAAPxPLMamql/A2qjAuAqQdhGcDTqwr+KwC9OAPPM11Dwx5CptYvIWAWMT0xsNo2mmMdJ+IItgAE0hOcA5qgCoCpDxOYU1IGTisIvTAA2Qyj8/vi5qqjMVcC51zxjtoxmmm7iOwSdk4G4y4yBZ/4O8wE5Ifo2i8yjZqDZLNrbfFIUfqECSETQbm7AyG+XojJYAecodH/nEfEFnYMBDH0GYQTwT5gOzWGexWQpZLV5NMk8kOXhrM8UL4Dfmq9DpXYo9MWsmajyuf/g+WEQwYIq7fQ4kQH0/qcA/he0V8TmTAx9fl40fuECSHuBg9ELXFF0ZlfAuw0CmEDEF3QVDMSdpgXzM9syr1yFWTWPPmneMiOi6WZRNUZZnqUIIBFBh7kZPztmyUSuZyJzSLSfuTyXrYwKYwBDn5Uw9LkPgJsVBvppoG40plvB1/cw8HkC6DLrY0Jkh0JrMDIOzPcwJmzCmHAhCV+wGRhAQ3csHjszw6N5HzkXvf3P8hr3Z0cTQNILdJpp6Bov7S8Tuf89NtdjXLh7bnsZOjEQzzXfMkvNwwBZ1Qmod+NnMahqwarPxyR82k5dkt84Bn6nuQV/bscqAHAnoYWYS8QXdAUGUt/eiX/aikRQDNxt4Fv7Dlqi9gCJCK4y38Qo0e4MfoFUijcgsyaMEd8k4Qu2kgA6zBH4vy8kknMRKv+PifgJNF0AiQj4ZHWCrMlssoTfwwD8+Q38PIr/BpM4eR5Dq+boAPMRCX85bG0E0DMUuh1vHUcrUGx2w3zgBhq+gJczAAH8Gf9jBxolsdkevryVhr8CcE0EkLQabWYIVm0ewZ+rkQr2MibcQ0Hc+yR8wfa0/gfhZw6RjMvQm08j4n8KumYCSLvOn+L3XGLhakoesRylhMaavz3waA8jfomUwZfQiDXXshGrrQBmog/Y2NwN8rYgERhj72G7aP9kuKVUMANY1r4WFXSPgmH/DxebnVH5b6LhVwCuqQDSodAmkIE9y81aO34Oa8fDmGvHtXRQWd6Foc9eyMs8Yn6uxNBnKhG/InTNBZCIoN0cg2nxWbTCRuYcLIvOoOEHBoyhz9oY+jyBYn+VVPRXcMC5KZpq3iXh9wpbHwH0nB+x58ZHkwq8FLhj0aL8g4QfFCwarDY0WFNohe42u2PYej0Nvw/guggg6QU6cW48Ts6PD6IUnPDxBCWfJQfF0GdnZPFGYjbruodTNwGkIjgBIjiNSO7J6AVmEvEbGhot/5po+e2G1/qkgr6Oz9qbogNx2LlOqb4CmI9PZxYmR2lbSeVfjB3FVuwoWicqVckABHApBMBbk4/NXlj1uabKbBX6eF0FkPQCbWY4VoXux5+sjynuB/IWWBWy8wKljAzQQ5tE5hosVNiVpbqmugsgEUFHMkwp7Ev/zzEamxloaWy0AqUMDNQgtMlbaI6a0DO/niE71EfKIYDZaKMHJ5/UtZBK+zE2yFqw0vAsCb+hYGsQ2mQyGqTOMpBWCgGkQ6FWDIXsfGAghZgIu8OTsEscYdqt1CsDqPx2adouUa9EoalkHzGVRgDpUOh0/B5PId6CRuZQjDtn0/A9B65BaJN30RM3oSd+pSxUlUsAF5hVzDrJ3kATiaD30xOjL5PwvYbFqs/JaCROJBZiKpalryTiVw1dKgGkvQC7C74R489dq2aqwQ1Q+Yeh8j+IYnJW42JzM3ifWDYaSyeARATtZhaccTSRrCloiTqI+F5Bp6FN7kWmR5Iy/j7md82I4PESCT83bDkFMAcnRQclJ0Y3yV2yvg3fRDvXhL2BN0j4XsHSDycaMw0NzmVlJKWUAkh6gTYzFq3GXfiTE2jVmKvhFHuvQdAJqz4bgwD7pR7rePqt4Hn7spJcWgGk84Hz8Xskjbw6nkKklakK4CS0SZe5AwsDW1dhVs2jH6VDn+erMarls+UWwGyzOjbIbOvEumxhYToUeq+WpJflXRj6HA4JXETLT2yOwMT3Yhp+AcClFkDSC3Sa8Wih5uNPVl4vRxd9SAFcegWBeE0bYKvLhq5khTa50+yHwFYl33hkVapCKwNaqotR/Q8rFHRFsMhMwAaZvdMqmEQOXuzN0RM/BDAPrVTPvVMbkmroAlzCNwyX8Nm7Bxo+1SC0iTeXmHghgGQo1JGsJPyVVjsjcz56ARu2paFTDUKb3INrrLby5RorbwSQzgcuw3yANV7vBvaWmLTZDaGGTWhIfo/C7Ukq4CIMVUegIXmShF84rF8C4H+i9zhWhTYt8hK2wj3mAIi51PdRQX/nANGf6XFYUOBF++jv7Tn+3SsBpL3ATmipmcGTToMTeXdd5XBSESZpaBMb1W3dIvAqYDyAxmNz3768804A6XzAxqY8iOTIxWglR6Ibt/sPDZMw9LHX19prbBnpE3zhtZmP3177KYA5Zi2cFbJr2OsxvAnMB9GajfGtNeuNCwx9JkLUfyJxZWFPRK95KhGfBu2lANKh0G4YCvGCKcXmWEyIZ9GYrxFwfAXuaFs1aSw4oU0iXJH0gRmFJeTFNSpSoa/xVgDpUKgdv6yLMf4L7Ba0bM8UyniNwTD0+TVeeSjptUtw1mc0jjk/RMKnw/otgJ6YlcyJnRfb+b0OffjHSLxfMPBaAGkvYNe07do2J0XmcEyIL+GA81DT0CZ2Ij+E9JbHME9q9X3J2HsBJCJoN1djkrc3ydEfpPdVvUjCp8DiEOHZmCOx7tdtmODDjSGAeeYr6VDoy5TaZMxNmAvYILFeJHpok8jMQq9oL8j2PjWEANJeYB/0Asz7gg+ACNrK7vEktMkSLOPiqiFSXp9CLP8RiOVvFwm8Tw0jgEQE3Ct83k7vI36tzF4nhzbpRlyfrRHXxwbOaojUaAJYFy2fXRVam+KdkgR07a1s9NAmDXhitqEEkPYCUyAC3lAlNntig+w6isAcQNPQJvcAYpQDTF+mz+GbiZZG+2ai4QSQiKDD/BE/nOBXsXkVE+5v1+M+q75qJ4Z/R0P4rJ1r+/n8tpj43kESV91gG1MAXTgj1J1s/69FYnYOJsQHk7Crhk1DmzwMQ84l5LG5BL3e4VVnzAODhhRAOhSaihbxNzQfRGYHtIi8L9QyZjwJbdKZ3Is8LqNJtY+9gA2vZmx4fVitoQ/PN6wA0qHQzfjdkeSI59MNso9I+JlgMfQ5DEJnhh75Dnq7WzJlxsOHGlsAXTgB2Z3cD7YmxTexuRBDg+kU7AygaWgTW741Mjye55GGDxnT0AJIe4Ef4pd1J0Bd18Wx7HkTBkA75anZGWxeToc+DR00rOEFkIrAduETMjg9zyNP4pLPEdF0syiPcV4bVP4DUfmvzGufwW4XDH2YH9FkyAL/kTAE0IV4Qt1JXCFWFLQzUFlO4Lur5w0Y93M3/Iy5CuU5sFblqed7ghBAUmm4cTCX4BWjUGlsSHd6ooY2sfscEULHTzbv0AtSgheEI4Ce5UIbY3Q8ifeHsPswOtoWR9GIiR7aJDJ7YHn3D8QilAo6GAEkvcBcRJlemkR7WJ3ihdgcj1WhX1Kwbf75X8DNRcs/iZX/MuIGJYBEBB1J+MNzSc5YhLnGcJyWfIqBTw5t8kZ62vVNRt7LihmeAGbiM+4huHkmwg00nPQ3fEY/rujYmJj4sgOC7Y3Wnxk1jsO2I2pwAkh6gTbcPTYgmbByrgWKzXQMhS509M1y8zS0id3w2qAozM/gXIvK/z0SdqlhgxRAIoJ2cwx6AVYcS3tuphmV6oUivI+hj/0o/0dFYFXA8OJDH1LZabeusPJbGG56ft5+2WTvJWakv0AAzueQUPntIbfb8R+rsQr6ylgWqYwKVTgmxtVDcZDM3kw/qHDwHkCnm9HT0Cb2mLO9yZGRboBId2MA+4IZtACskyCCEyCC00gOeye9hO/VPPho/X8Fuxl5bDPYvIt50FBEdVuY4dmGfUQCmG8GogrcBw+3kryca4KJOcooDHrsJ44rUfIVmYOx4WWjbAedghdA2gu0oBd4AH+vTKkNsdkLq0LXZMWOZyMfgxHaxJhhWW2qfK6Q+UmV7yzl4xJA6hYMN2biz5NIXnotHQq9nQWfnBcvI91l4S3PMxLAMgH0tLq2F2jJQ2QGm0wnLPGRSzMGPXZizumNInMohj6s7yMy0FCuRySAFfyBDbJWTAztfGAgxU2RmYjKZz/TrJhqENpkPi6vnlD2y6sp3PcCKgF8hhgMP07H/3U8yQkvIqBgc/QDXClRIZFDm9hvl+19BwtIZfMSVgL4rAAuMKuYdZIhSBPFo72EGEHvMwS9jz2pygptUujxDAo3dQCVACq1xB3J7rDdJWYsQcY4MToeJ0bvWvbqNLQJ81uFuzH0Gaehz+edLQH0Nh5vR5S1CNHWOOlpRFgevizCMoZd9pwP6xKOj4E93Pernjhu4J0vYeW3ZrjxHJwUHZScGN2E9NKzUCmPi3tCt9godpzQJrGZgT2Ic0hl8B5WPUAfLsS4fCzG5XaoMoDgaXvLyhj8Z68XnUjAxzkPrGg9a8YW/W0CJa91ApUA+iEeKzPnoSL9hOSft4C7Dgl7EWYwm0b7midI+A0BKwH0J4DZ+H54cLI6s5FXHid/n+wVF31kVgLI4En0AuPRC9hVGl/4ehARKjZnR6jIQF3pH/HFoXUnEis1FyETPoQIXwyZjsSOs+21lPphQALIWEVwTGEwLsaw0eU2zGhSr8dmYnXp5Hq93Lf3SgBVeAxn9CegdS1zqPBHEMV/JK4xWlxFsYJ+VAKo0v0YCtmTlDbidNnSEuwnjMEOsz3GoZSRAQkgI1HLHkMvsCZ6ARuiZP0qTdmP1zRAL7swtcKXAHIwjV7ARnvo9VhzDkhXk8cRor211iHaXTNdBnsJIKcXIAJ7/9jUnOZFmnVjn3osPm633zEoVcmABFAlYcuHQnNwA+Wg5AzPejkhijI7G6s+rEN7ReWxtDgSgINrMB/YFfMBeydxvdLT+HByBG5wtCc+lXIwIAHkIG1FE4igDSKY4giTx9zeeDAOG1535zGWTQ8DEoBjTahBzP7ecngBhj5HOmY/eHMJoIAqgF5gDzQl1xYAlRViAS76aIkOMHW9ozhrZsv8nARQkHewKjQXUPsUBNcXTIx/nIDW3x7OU3JkQAJwJFDmfjMgAfjtP+XekQEJwJFAmfvNgATgt/+Ue0cGJABHAmXuNwMSgN/+U+4dGZAAHAmUud8MSAB++0+5d2RAAnAkUOZ+MyAB+O0/5d6RAQnAkUCZ+82ABOC3/5R7RwYkAEcCZe43AxKA3/5T7h0ZkAAcCZS53wxIAH77T7l3ZEACcCRQ5n4zIAH47T/l3pEBCcCRQJn7zYAE4Lf/lHtHBiQARwJl7jcDEoDf/lPuHRmQABwJlLnfDEgAfvtPuXdkQAJwJFDmfjMgAfjtP+XekQEJwJFAmfvNgATgt/+Ue0cGJABHAmXuNwMSgN/+U+4dGZAAHAmUud8MSAB++0+5d2RAAnAkUOZ+MyAB+O0/5d6RAQnAkUCZ+82ABOC3/5R7RwYkAEcCZe43AxKA3/5T7h0ZkAAcCZS53wxIAH77T7l3ZEACcCRQ5n4zIAH47T/l3pEBCcCRQJn7zYAE4Lf/lHtHBiQARwJl7jcDEoDf/lPuHRmQABwJlLnfDEgAfvtPuXdk4H9air7uKdaqXQAAAABJRU5ErkJggg==",
13+
"sizes": "192x192",
14+
"type": "image/png"
15+
}
16+
]
17+
}

src/modules/babylon.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -237,8 +237,8 @@ export function TransformNode(name) {
237237
return new BABYLON.TransformNode(name);
238238
}
239239

240-
export function PositionGizmo(utilLayer) {
241-
return new BABYLON.PositionGizmo(utilLayer);
240+
export function PositionGizmo(utilLayer, thickness) {
241+
return new BABYLON.PositionGizmo(utilLayer, thickness);
242242
}
243243

244244
export function AxisScaleGizmo(axis, color, utilLayer, scale) {

0 commit comments

Comments
 (0)