Skip to content

Releases: nicklockwood/ShapeScript

1.5.8

03 Oct 22:02
Compare
Choose a tag to compare
  • 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

26 Sep 23:01
Compare
Choose a tag to compare
  • Fixed bug where a define inside a block couldn't refer to option 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

10 Sep 21:51
Compare
Choose a tag to compare
  • 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

12 Aug 18:42
Compare
Choose a tag to compare
  • 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

26 Jul 00:27
Compare
Choose a tag to compare
  • 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 missing M command after Z
  • Fixed camera clipping issue when resizing objects
  • Bumped Euclid to version 0.5.26

1.5.3

04 Jul 00:01
Compare
Choose a tag to compare
  • The loft command now supports joining shapes with unequal numbers of sides or points
  • The fill, lathe and extrude 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

28 May 14:45
Compare
Choose a tag to compare
  • 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

09 May 20:49
Compare
Choose a tag to compare
  • Add implicit detail/smoothing, color/texture, position/orientation/size and font options to custom blocks
  • Logical and/or expressions now short circuit (don't evaluate their second parameter unless needed)
  • Added support for creating MaterialProperty from SCNMaterials using NS/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

28 Apr 23:16
Compare
Choose a tag to compare
  • 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 and size inside a path 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 or linespacing text commands inside an svgpath 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

14 Apr 23:01
Compare
Choose a tag to compare
  • 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 and font commands in scopes where they have no effect
  • The svgpath command now works on Linux
  • Bumped Euclid to version 0.5.20