Skip to content

Releases: Mathics3/mathics-threejs-backend

1.0 reaches main

30 Jan 22:44
Compare
Choose a tag to compare

Improvements:

  • Allow setting maxSize and innerWidthMultiplier from the translation layer. This was only possible to use with the "ES6 module" version of the library
  • Allow setting a custom extent (#52)
  • Add default viewpoint (#61)
  • Improve performance of uniformPolyhedrons' edges (#62)
  • Improve performance of coplanar polygons (#63)
  • Improve performance of cones by ~6x (#64)
  • Improve performance of arrows (#66)
  • Improve performance of cylinders (#67)
  • Add default colors to primitives and lights (#75)
  • Improve performance of shaders by inlining some uniforms (#79)
  • Update three.js to r137 (#80)

Internals:

  • Convert all materials to ShaderMaterial/RawShaderMaterial (#53)
  • Move some shaders to shader.js (#54)
  • Replace BoxGeometry with lower-level BufferGeometry (#56)
  • Update minify to version 8
  • Simplify lighting structs in shaders (#76)

Documentation:

  • Move the documentation to this repository and make it more interactive
  • Add more examples (#59)

Bug fixes:

  • Correctly calculate the bounding box for primitives with scaled coordinates and radius bigger than the bounding box (#60)
  • Fix cones lighting (#65)
  • Scale axes ticks position (#74)

Happy 2022!

31 Dec 13:00
Compare
Choose a tag to compare

Improvements:

  • Change the API revision to 1.2
  • Allow setting maxSize and innerWidthMultiplier from the translation layer. This was only possible to use with the "ES6 module" version of the library
  • Allow setting a custom extent (#52)
  • Update three.js to r136

New features:

  • Add edgeForm to polygons (#50)
  • Add vertexNormals to polygons (#51)
  • Add dashed and gapSize to lines (#55)

Internals:

  • Convert all materials to ShaderMaterial/RawShaderMaterial (#53)
  • Move some shaders to shader.js (#54)
  • Replace BoxGeometry with the lower-level BufferGeometry (#56)

Documentation:

  • Move the documentation to this repository and make it more interactive

Improve polygons rendering

17 Dec 21:22
Compare
Choose a tag to compare

Improvements:

  • Allow non-axis-parallel coplanar polygons. Before mathics-threejs-backend could only handle coplanar polygons with all x, y, or z coordinates the same. Now it can handle all coplanar polygons without holes

Internals:

  • Replace MeshStandardMaterial by a custom ShaderMaterial in polygons
  • Allow setting the port for the server (npm start-server [port])

Bug fixes:

  • Stop hiding polygons behind other polygons

Update three.js to r135

14 Dec 21:44
Compare
Choose a tag to compare

Improvements:

  • Update three.js to r135

Internals:

  • Update BackstopJS to 6.x
  • Remove duplicated error when npm test fails (#46)
  • Add build-fast script for debugging purposes, this doesn't mangle the function and variable names
  • Move some functions to lights.js for better organization
  • Move some functions to the new axes.js file for better organization

Fix bug in revision version checking

12 Sep 15:32
Compare
Choose a tag to compare

Fix bug in revision checking and improve warning message when revision is wrong.

First LTS version

11 Sep 21:08
Compare
Choose a tag to compare

We are happy in announce 1.0.0!

New features:

  • Add edgeForm to cylinders (#32)
  • Add cones (#38)
  • Add tubes (#40)

Improvements:

  • Update three.js to r132 (#32)
  • Improve package.json (#26, #33)
  • Improve the documentation and add live examples without downloading (#37)
  • Improve protocol version checking (#41)
  • Decrease spheres RAM usage
  • Set spheres default radius to 1

Bug fixes:

  • Fix bug in camera rotation (introduced in 0.5.2)
  • Fix bug in axes
  • Fix bug in arrow color
  • Fix bug in the spotlight position when moving the camera around
  • Remove point light's visible sphere (#24). As @axkr mentioned in #16, it isn't expected

Internals:

  • More intensive use of custom shader. Custom shaders are faster and more flexible
  • Split primitives.js into multiple files (#28). Thanks to @rocky for the idea
  • Replace InstancedMesh by the lower-level InstancedBufferGeometry