← Changelog

Polygonjs 2.0.60

Control panels, reference links, transform nodes

·built with Jai 0.2.029

  • Breaking geo/TransformOrigin and geo/TransformFit are removed, to be replaced by 3 new nodes. geo/TransformPivot to move a pivot. geo/TransformAlign to translate/rotate/scale relative to dimensions of another object. geo/BoundsCheck to ensure an object fits given bounds.
  • Breaking The direction is removed from 2D primitive nodes: geo/Circle, geo/M2DCircle and geo/M2DPlane. center and twist are now baked into the points and the object matrix stays identity. This ensures geo/Mirror or geo/Clip reads the geometry where it is. To aim the plane somewhere other than XY, put a geo/Transform in OBJECT mode after the primitive. geo/Line with no input went the same way: its origin and direction are two numbers each now, and the straight line it draws lives in XY.
  • New geo/ControlPanel draws a panel of controls over the viewer, in the editor and in a runtime build, with no UI code. See example control-panel.
  • New The network panel draws reference links: a faded arrow between two nodes when a parameter on one refers to the other.
  • New geo/TransformAlign translates/rotates/scales input objects relative to given dimensions of another object.
  • New geo/TransformLayout arranges the input’s objects side by side.
  • New geo/TransformPivot moves an object’s pivot without moving the object.
  • New geo/BoundsCheck measures the input against a target box.
  • New mat/MeshSDF allows fine-tuning how SDF objects are rendered.
  • Improved geo/Mirror reflects an SDF field, across the same plane. geo/SDFMirror is still the other operation on a field: it folds the field across the origin planes and costs no duplicated subtree.
  • Improved geo/SDFTriangulate runs in the browser on the GPU, and samples the field in slices so a large grid does not have to fit in one dispatch.
  • Improved A web build carries less code: a scene with no light drops the lighting models, a scene whose lights cast no shadow drops the shadow functions, and the area light tables load only when an area light is registered.
  • Improved Ctrl+Enter submits a multi-line text field, so an expression typed over several lines is applied without reaching for the mouse.
  • Improved A spare parameter can be renamed, and the expressions that read it are rewritten to the new name instead of breaking.
  • Improved geo/Delete, geo/Clean and geo/Clip gained keepUnreferencedPoints, which keeps the points the surviving primitives no longer use instead of dropping them with the primitives that owned them. geo/Clip also cuts 2D geometry now.
  • Improved geo/Connectivity splits segments, triangles, quads, hexagons and tetrahedra, refuses a point cloud instead of answering with one object per point, and says what to convert first when it is handed a NURBS or a CAD shape. geo/ManifoldDisplay reports the same facts from the other side.
  • Improved The geometry spreadsheet shows each object’s translate, rotate and scale.
  • Improved geo/DimensionDisplay scales its ticks with its text, so a dimension stays readable at any size.
  • Improved geo/DXFExporter defaults to the XY plane, which is the plane a DXF is read in.
  • Improved The quad nodes preserve primitive attributes through geo/QuadSubdivide and geo/Quadrangulate.
  • Fixed Scene time ran slow in a browser, at 96% of wall time at 60 Hz and 86% at 144 Hz, because every frame’s delta was floored to a whole millisecond. The clock now carries the remainder and an animation runs at 100% of wall time. The time that expressions and shaders read now wraps every 2048 seconds, so it keeps its precision however long a session runs.
  • Fixed A bypassed geo/Output no longer commits its inputs to the scene graph, so bypassing it really does hide what it was showing.
  • Fixed A geo/Subnet whose output node is added after the subnet was created now cooks.
  • Fixed The network panel’s “Display Help” toggle was not saved with the scene.