v0.6.0 Release
+ Added worker thread - all heavy calculations are offloaded from the render thread to avoid lockups.
+ Added transparency support - can now import transparent materials and use transparent blocks.
+ Added 'colour accuracy' option to 'Assign' action - smaller values result in faster block assigning at the cost of accuracy.
+ Added `config.json` in `/res/` to control various settings.
+ Added option for controlling how influential the alpha value of a colour is in determining closest-colour.
+ Added end-to-end testing.
+ Added voxel overlap settings - control behaviour when multiple voxels are placed in the same location.
+ Added '.schem' exporter.
+ Added new dithering option: 'random' (strongly recommend using this over 'ordered' for a more natural look).
+ Added log files for client, worker, and headless runtimes (stored in /logs/).
+ Added nbt exporter for Minecraft structure blocks.
+ Added orthographic camera.
+ Added camera view snapping when using orthographic camera and aligned with one of the world axes.
+ Added axis grids when angle snapped.
+ Added progress bars and loading animations.
+ Added `RENDER_TRIANGLE_THRESHOLD` config option - if a mesh's triangle count exceeds this value the mesh is not rendered.
+ Added `MAXIMUM_IMAGE_MEM_ALLOC` config option.
+ Added chunk-based rendering for voxel meshes and block meshes.
* Increased maximum desired height from 320 to 380.
* Updated vanilla atlas and palette for Minecraft 1.19.
* Optimised exporters by switching to write streams.
* Optimised mesh/voxel mesh/block mesh render buffer generation.
* Optimised voxelising time, roughly 1.8x faster.
* Optimised voxelisers memory usage by removing mesh copies.
* Optimised .litematic exporter, roughly 15x faster.
* Overhauled headless script.
* Overhauled action output styling.
* Refactored atlas and palette handling.
* Refactored resource path handling.
* Fixed index component buffers allocating more memory than necessary.
* Refactored all internal block names to be namespaced.
* Fixed clay block id being incorrect in `blocks.json` (Thanks to LeGrandGeek).
* Added sorting to module imports.
* Fixed several cyclical dependencies.
* Updated some npm packages.
- Removed debug view options.
- Removed colour-space options.
- Removed unnecessary 'calculateNeighbours' option.
- Removed custom HashSet and HashMap implementations.
What's Changed
- Update palette.blockMeshParams.blockPalette value by @Enchoseon in #53
- Bump jpeg-js from 0.4.3 to 0.4.4 by @dependabot in #59
- Added .schem exporter, closes #60 by @LucasDower in #61
- Added random dithering, updated headless types by @LucasDower in #62
- Added nbt exporter for structure blocks by @LucasDower in #63
- Alpha support by @LucasDower in #64
- Added orthographic camera by @LucasDower in #67
- Refactor of atlas and palette loading and handling by @LucasDower in #68
- 0.6 worker thread by @LucasDower in #69
- Run full tests in
npm run test
, removenpm run test-full
by @LucasDower in #71 - 0.6 progress bar by @LucasDower in #73
- 0.6 Chunk-based rendering by @LucasDower in #74
- 0.6 colour accuracy by @LucasDower in #76
- 0.6 litematic overhaul by @LucasDower in #77
- v0.6 Worker Threads by @LucasDower in #70
New Contributors
- @Enchoseon made their first contribution in #53
Full Changelog: v0.5.1...v0.6.0