Skip to content

Commit

Permalink
Update 4.4.1
Browse files Browse the repository at this point in the history
  • Loading branch information
nimadez committed Sep 7, 2024
1 parent f5a3982 commit ba89f16
Show file tree
Hide file tree
Showing 27 changed files with 4,909 additions and 1,420 deletions.
37 changes: 35 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,39 @@
All notable changes to this project will be documented in this file.

## 4.4.1 unlocked
- Remove fullscreen engine-based loading screen
- It either finish or freeze, blocking the user is annoying and wastes resources
- If there is a progress you can check the progressbar at the bottom
- Remove unnecessary camera framing behavior
- New 'Async Bake' option (three.js worker)
- Try 'bake color groups' to see the effect
- Encapsulate BABYLON (90% finished)
- Viewaxis-box frame voxel selection on transforms
- Fix PT not taking screenshot
- Fix bakery not respect the first voxel at 0,0,0
- Minimize (almost fix) a few hundred milliseconds of startup lag
- BABYLON.HDRCubeTexture locks the main thread (see 4.3.4)
- To workaround it, we started with a smaller texture size
- Animate the sandbox camera framing behavior similar to babylon.js
- in progress...

> - BABYLON.Quaternion.RotationAxis bug (The update of the babylon.js has been stopped because this bug leads to many other bugs in the engine, the bug is mentioned in 4.3.5 (see setOverlayPlane()). This bug exists in 15 versions, considering the status of Windows, I read it as Microsoft trying to stop being a software company!)
## 4.4.0 sandbox
- Generator moved to modules
- Voxelizer moved to modules
- Improves workflow by removing annoying ui behaviors (post-ES6 feature)
- Less complex user-interface (no more hide-and-seek ui)
- Merge cameras for less confusion
- Faster and less error prone ui in general
- Officially multi-engine (three.js sandbox tab)
- Match the sandbox camera and materials to babylon's PBR shader
- Camera and HDRI is now equal in all 4 modes

> - x2 primary canvases and x2 engines, handing x2 babylon.js scenes and x2 three.js scenes!
> - Of course, only one of the two scenes in each mode is heavy, the startup time locked on avg. 0.4 second!
> - The new three.js tab doesn't replace the current functionality, it's a new world and I won't reveal what it's for!
## 4.3.9 ES6
- Load main.js as module
- Faster startup avg. 0.4s (it loads faster than most corporate websites!)
Expand All @@ -9,10 +43,9 @@ All notable changes to this project will be documented in this file.
- Functions to classes from bottom to top!
- Terrain generator uses height-gradient when 'New Scene' unchecked
- Window is no longer used to transfer modules
- Remove setMenuModes, not force closing menus in certain modes

> - I have generally used ES6 in the code, the only problem was loading main as a module, which was solved by transferring 200 events to the main.
> - Babylon will not be imported as a module, I will never use webpack, react, typescript etc. I don't have a corporation forcing me to use corporate crap.
> - Babylon will not be imported as a module, I will not use webpack, react, typescript and other corporate stuff.
## 4.3.8
- Add keyboard shortcuts map (see about menu)
Expand Down
18 changes: 12 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,14 @@

![screenshot](media/screenshot.png?raw=true "Screenshot")

Voxel-based 3D modeling application<br>
**Voxel-based 3D modeling application**<br>
The most featured and leading open source multi-engine voxel-based modeling software on the web, Written in pure JavaScript, Powered by Babylon.js and Three.js with three-mesh-bvh library.

*"They call it the Hall of Fame"* -dev

[https://nimadez.github.io/voxel-builder/](https://nimadez.github.io/voxel-builder/)

```Version 4.3.9 Beta```<br>
```Version 4.4.1 Beta```<br>
[Changelog](https://github.com/nimadez/voxel-builder/blob/main/CHANGELOG.md)

[Installation](https://github.com/nimadez/voxel-builder#installation)<br>
Expand Down Expand Up @@ -128,22 +132,24 @@ How to run Blender importer script?

## History
```
ES6 + x1.5 faster startup
↑ Linux and Firefox ready
Officially multi-engine (three.js is hardwired internally)
ES6 + x1.5 faster startup + Linux and Firefox ready
↑ Voxel engine updated to thin-instances (64k to 1M boost)
↑ Cut half precision (new scene)
↑ Real-time GPU path tracing
↑ Introducing ES modules
↑ Stable beta release
↑ Advancing to the next level (bakery)
↑ Major code rewrite (functions to classes)
↑ Features and uix overhaul
↑ New SPS particles to build the world
↑ I wrote a playground for learning Babylon.js
2019 - I wrote a playground for learning Babylon.js
"I don't mean to compete, GL is nostalgic for me."
```

Version 4.3.9 *(BJS 7 - Three r168)*<br>
<img src="media/devshot_43.jpg" width="581">

Version 3.0.0 *(BJS 4)* to 4.2.2 *(BJS 6)*<br>
![screenshot](media/devshots.jpg?raw=true "Screenshot")

Expand Down
5 changes: 2 additions & 3 deletions electron.js

Large diffs are not rendered by default.

Binary file removed media/appicon.png
Binary file not shown.
Binary file added media/devshot_43.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified media/screenshot.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "voxel-builder",
"version": "4.3.9",
"version": "4.4.1",
"description": "Voxel-based 3D modeling application",
"main": "electron.js",
"scripts": {
Expand All @@ -13,6 +13,7 @@
"electron": "^30.0.0",
"babylonjs": "^7.17.0",
"three": "^0.168.0",
"three-mesh-bvh": "^0.7.6"
"three-mesh-bvh": "^0.7.6",
"@tweenjs/tween.js": "^25.0.0"
}
}
2 changes: 1 addition & 1 deletion scripts/ws-connect.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
#
# Websockets Server
# This script can be used to connect with machine learning models
# This script can be used to connect with or train machine learning models
# $ python3 ws-connect.py


Expand Down
Binary file added src/assets/appicon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit ba89f16

Please sign in to comment.