Skip to content

Releases: nicklockwood/ShapeScript

1.6.7

04 Apr 22:21
Compare
Choose a tag to compare
  • Added arc command
  • Added vector algebra operators
  • Setting unequal width/height no longer distorts corner radius for roundrect command
  • Added sign, dot, cross, length and normalize functions
  • Added implicit casting between vector and size values
  • Select Shape menu is now disabled when empty
  • Improved argument error messages
  • Fixed bug where modulo operator sometimes returned negative values
  • Fixed bug when mixing points and subpaths in a path command
  • Fixed retain cycle in iOS file dialog
  • Fixed potential crash in selectCamera() function
  • Increased code sharing between Mac and iOS Viewer implementations
  • Bumped Euclid to version 0.6.12

1.6.6

25 Mar 20:46
Compare
Choose a tag to compare
  • The position and transform of mesh and path values can now be set as if they were a block
  • Setting name on a block that returns a path no longer makes the result unusable in a builder
  • Constants and property symbols are no longer called "function" in error messages
  • Removed unhelpful "did you mean" suggestions when a valid symbol is used in wrong context
  • Improved error description for numeric list type
  • Fixed various bugs in the iOS source editor
  • Bumped SVGPath to version 1.1.3

1.6.5

02 Mar 20:02
Compare
Choose a tag to compare
  • Fixed performance regression in GeometryType.bounds when using lathe shapes
  • Fixed line number display in iOS source editor
  • Bumped Euclid to version 0.6.11

1.6.4

02 Mar 19:39
Compare
Choose a tag to compare
  • The bounds and polygons members now correctly take object transform into account
  • ShapeScript Viewer for iPad now supports multiple viewer/editor windows
  • Fixed some bugs and improved editing experience for source editor on iOS
  • Fixed bug where iOS editor would sometimes close spontaneously while editing
  • Added shapescript: URL scheme and improved URL handling
  • Bumped Euclid to version 0.6.10

1.6.3

07 Feb 18:45
Compare
Choose a tag to compare
  • iOS Viewer now supports editing .shape files directly inside the app
  • Added Edit > Select Shape and Clear Selection menus in macOS viewer
  • Added selection hotkeys and VoiceOver support for macOS viewer
  • Fixed selection being cleared whenever geometry is refreshed
  • Fixed dynamic dark mode updates on iOS viewer
  • Fixed iOS split view bounds crash
  • Fixed bug where camera hotkeys failed after reload
  • Fixed error overlay translucency
  • Fixed various member type bugs

1.6.2

17 Jan 07:41
Compare
Choose a tag to compare
  • Improved info panel display
  • Fixed twisted extrusion offset
  • Fixed roundrect detail level (previously 4x higher than intended)
  • Fixed incorrect output when intersecting groups of meshes
  • Empty scenes are no longer hidden if they contain debug geometry
  • Scene now conforms to Equatable protocol
  • Fixed misleading error message for excess color arguments
  • Fixed spurious forward declaration error for options that shadow global define
  • Added automatic casting of hex strings to colors (useful for JSON data)
  • Made polygon members available on all geometries, not just manually-created meshes
  • Excluded source location from Geometry equality comparisons
  • Fixed vector member access on tuples containing string elements
  • Fixed vector member access on nested numeric tuples
  • Fixed color member access on tuples and strings
  • Fixed polygon member lookup on meshes
  • Fixed handling of blocks with optional children (e.g. polygon)
  • Improved symbol lookup performance
  • Bumped Euclid to version 0.6.8

1.6.1

02 Jan 16:09
Compare
Choose a tag to compare
  • Added twist option to extrude command
  • Fixed inconsistent view menu options when switching between open documents
  • Bumped Euclid to version 0.6.7

1.6.0

27 Dec 13:41
Compare
Choose a tag to compare
  • Added hull command for creating convex hulls from points, paths or other meshes
  • Added mesh command for manually creating meshes from individual polygons
  • Added axisAligned property for controlling extrusion along paths
  • Added support for importing plain text files as a string and JSON files as a tuple
  • Added modulo operator for calculating remainder of division
  • Significantly overhauled type system to support lists, unions and objects
  • Improved static analysis, allowing type errors to be caught earlier
  • Improved handling of background property scope
  • The min and max functions are now variadic (accept any number of arguments)
  • Added split(), join() and trim() functions for working with strings
  • Added automatic conversion of strings to numbers or boolean values where applicable
  • Added string.lines, .words and .characters members
  • Added tuple.count, .last, .allButFirst and .allButLast members
  • Fixed member lookup on numeric literals
  • Fixed bug where material of imported shapes could not be overridden
  • Background and texture can now be cleared by setting them to an empty string
  • Logging geometry values to console now produces more useful output
  • Added proper logging for bounds and point values
  • Added fileTimedOut and circularImport errors
  • Refactored and improved error handling
  • Renamed ImportError to ProgramError
  • Raised minimum Euclid version to 0.6.6
  • Added Spirals example

1.5.14

18 Dec 12:44
Compare
Choose a tag to compare
  • Added support for C-style block comments using /* ... */ syntax
  • Fixed bug where source file could incorrectly be inferred as UTF-7, causing parsing errors
  • Fixed issue where error messages would sometimes suggest the same identifier you already used
  • Improved script execution performance by making source location lookup lazy
  • Bumped Euclid to version 0.6.6

1.5.13

08 Dec 23:34
Compare
Choose a tag to compare
  • Fixed crash when importing external .shape files
  • When error occurs in imported file, Cmd-E now opens that file instead of the main file
  • Bumped Euclid to version 0.6.5