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=... !sdfnode now accepts the samesmooth=,fillet=andchamfer=attributes as!union(since it is an implicit union operator)- A fix to
nearest=trueshader 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=:planeUV 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
letbindings - The simplifier has gained rules for collapsing mathematical expressions involving a
nullon 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