Release 1.0.0b24
Pre-release
Pre-release
User visible changes in this release:
- A new mechanism for creating 3D models programmatically using
!model vertices=... faces=...
!sdf
node now accepts the samesmooth=
,fillet=
andchamfer=
attributes as!union
(since it is an implicit union operator)- A fix to
nearest=true
shader input sampling, which was accidentally disabling the border settings - New grammar for sub-vector searching:
x in y
(note that this has subtly changed the rules around using "reserved" names) - New grammar for binding a sequence expression to a name:
let x = expr1 expr2 ...
- The precedence rules have changed for anonymous functions so that they now bind a bit less tightly and thus can contain inline for loops, where clauses and other anonymous functions without parentheses
- New
product()
function - New optional second parameter for
colortemp()
function that specifies whether to normalise the luminance of the returned colour or not - New
uv_remap=:plane
UV remapping scheme for topographical mapping
Less visible changes:
- The 3D model caching framework has been changed to cache based on a (probably-)unique 64-bit identifier instead of the user-readable name; this increases the speed of model collection and will be particularly noticeable if rendering thousands of identical structured models
- A more robust mechanism for figuring out which outer-scope names a function is capturing
- The simplifier will now attempt to inline calls to recursive functions if any of the arguments are literal; it will abandon the attempt if the expression tree becomes too deep
- The simplifier is now able to throw away unused
let
bindings - The simplifier has gained rules for collapsing mathematical expressions involving a
null
on one side - Grammar rules around comparison operations have changed in a way that shouldn't matter unless you were doing weird/bad things with them before
- A bunch more tests
- A bunch of documentation improvements and fixes
Full Changelog: v1.0.0b23...v1.0.0b24