Releases: nicklockwood/ShapeScript
Releases · nicklockwood/ShapeScript
1.5.8
- Added shared
SCNGeometry
cache, significantly improving performance for scenes with repeated objects - Significantly reduced time to calculate mesh stats (as displayed in object info window)
- Optimized source line lookup that affected script execution performance
1.5.7
- Fixed bug where a
define
inside a block couldn't refer tooption
value - Fixed bug when parsing expressions ending in a
not
identifier - Fixed bug where view unexpectedly jumped to custom camera after reload
- Bumped Euclid to version 0.5.30
- Bumped LRUCache to version 1.0.3
- Bumped SVGPath to version 1.1.1
- Added iOS help pages
1.5.6
- Added ability to copy the current camera configuration for easy creation of custom cameras
- Improved logic for when camera position is reset after document update or window resize
- Fixed bug where custom cameras did not correctly inherit the document background
- Fixed bug where scale was doubled for custom orthographic cameras
- Fixed live updating of document background when switching between light and dark mode
- Fixed race condition in view rendering sometimes resulting in a blank scene
- Fixed member suggestions for empty tuple
- Renamed
Geometry(scnNode:)
initializer for consistency - Deprecated
Geometry.cameras
accessor - Bumped Euclid to version 0.5.29
1.5.5
- Significantly improved performance for bulk fill/extrude operations (e.g. text)
- Fixed camera position continuously being reset in ShapeScript Viewer while loading
- Added indicator to Camera menu when camera has been moved
- Bumped Euclid to version 0.5.28
1.5.4
- Fixed setting font inside a
text
command - Improved error messages for missing block arguments
- Multiple arguments passed to
text
command are now treated as single coalesced string - Extruding along a path now more reliably produces watertight output
- Fixed parsing of tuple statements starting with constant
- Fixed parsing of a prefix minus immediately followed by decimal point
- Increased detail multiplier for
svgpath
command to match path - Fixed
svgpath
crash when missingM
command afterZ
- Fixed camera clipping issue when resizing objects
- Bumped Euclid to version 0.5.26
1.5.3
- The
loft
command now supports joining shapes with unequal numbers of sides or points - The
fill
,lathe
andextrude
commands now more reliably produce watertight output - Fixed incorrect polygon/triangle counts in model info
- Fixed line numbers in selected object info
- Bumped Euclid to version 0.5.25
- Fixed some flaky tests
1.5.2
- Fixed bug where path lines were drawn too thin for large models
- Improved error messaging for invalid use of option
- Fixed suggestions for misspelled commands
- Bumped Euclid to version 0.5.21
1.5.1
- Add implicit
detail/smoothing
,color/texture
,position/orientation/size
andfont
options to custom blocks - Logical
and/or
expressions now short circuit (don't evaluate their second parameter unless needed) - Added support for creating
MaterialProperty
fromSCNMaterials
usingNS/UIImage
- Fixed setting camera position on locked documents (such as the Example projects)
- Added slightly stronger type safety when calling commands
- Fixed axes contrast when using per-camera backgrounds
- Fixed font inheritance for user-defined blocks
- Added custom fonts to model info display
- Added USDZ to list of supported export types
- Improved iOS compatibility
1.5.0
- Added support for custom light sources using the
light
command - Added user-defined functions/commands (previously only blocks could be defined)
- The width and/or height for exported images can now be set on a per-camera basis
- Added
polygon
command for more easily creating regular polygon paths - The scene background can now be set individually for each camera
- Using
position
,orientation
andsize
inside apath
now works again (broken since 1.4.4) - Using
rnd
command in option default expressions no longer has a knock-on effect on the sequence - Options can now reference local constants in their default values
- Material brightness logic used in Viewer app is now part of the ShapeScript core
- Using
wrapwidth
orlinespacing
text commands inside ansvgpath
block now raises an error - Fixed blank screen when scene contains empty
camera
node - Removed
StatementType.block
case in favor of expression form - Fixed some bugs in path generation relating to point colors
- The
OSColor
typealias is now private - Added SVGPath dependency
1.4.7
- Camera is no longer reset on every reload
- Fixed camera snapback if moved during initial model load
- Added
smoothing
command for controlling surface normal generation - Disallowed used of
detail
andfont
commands in scopes where they have no effect - The
svgpath
command now works on Linux - Bumped Euclid to version 0.5.20