Releases: nicklockwood/ShapeScript
Releases · nicklockwood/ShapeScript
1.8.6
1.8.5
- The calculation of
exactBounds
is now cancellable - Fixed issue where
.bounds
member didn't work ontext
path output - Partial scene progress is now rendered after an error to facilitate debugging
- Scalar
SCNMaterial
properties likeroughness
are now imported correctly - Mouse or tap selection now works through invisible objects
- Optional function arguments can now be omitted
- Added fileURL property to Program
1.8.4
- Added
in
operator for testing if a value lies within a tuple or range - Negative subscript indices can now be used to access elements at the end of a list
- Improved error messages for member access and subscripting
- Fixed bug with subscripting parenthesized values
- Fixed a bug with casting single-element tuples
- Made SVGPath functions public
- Bumped Euclid to version 0.7.7
1.8.3
- Fixed file access bug for iCloud hosted files
- Fixed issue where initial seed for random sequence wasn't truncated to correct range
- Updated iOS TextView with some bug fixes
- Bumped Euclid to version 0.7.6
- Bumped LRUCache to version 1.0.7
1.8.2
- Fixed alpha blending bugs in rendered images
- Uniform vertex colors are now converted to a material
- Improved error messaging for file access errors
- Increased stack limit to prevent overflow for trivial recursion
- Fixed double application of local transform to imported shapes
- Fixed double application of local transform in functions
- Bumped Euclid to version 0.7.4
- Bumped LRUCache to version 1.0.5
1.8.1
- Improved color replacement for imported shapes
- STL import now supports facet colors
- Linux CLI now supports binary STL export
- Improved reporting of system errors
- Added
camera.antialiased
property - Bumped Euclid to version 0.7.3
- Bumped SVGPath to version 1.1.4
- Added visionOS support
1.8.0
- Added
switch/case
statements - Added subscripting support for objects and tuples
- Added
object
constructor command - Objects can now be cast to/from memberwise types
- Added
light.shadow
property - The
opacity
property can now be set to a texture - Textures now use nearest-neighbor filtering for upscaling instead of linear
- Added
normals
command for setting surface normals with a texture - Added
roughness
andmetallicity
properties for physically based rendering (PBR) - Added
material
command for setting all material properties at once - Combined
Material.color
andtexture
properties into single property internally - The
Material.isOpaque
property is now correctly computed when using a texture - Added
text.string
,font
,color
andlinespacing
members - You can now use
import
statements in expressions - Object values are now correctly unwrapped
- Removed some deprecated methods
1.7.1
- Fixed spotlight debug shape orientation
- Added
Geometry.withoutLights()
method - Added
Geometry.withoutGroupTransform()
method - Deprecated
Geometry.with(name:)
method - Added
point.isCurved
andpolygon.center
member properties - Added
object
type logging and made logging less error-prone - Added documentation for lights limit introduced in 1.7.0
1.7.0
- Fixed ambiguity when calling functions with parenthesized arguments
- Added error message when using more than 8 lights in a scene
- Bumped Euclid to version 0.7.1
1.6.14
- Bumped Euclid to version 0.6.18 (fixes crash when building with Xcode 15)