Skip to content

Releases: nicklockwood/ShapeScript

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

1.5.12

22 Nov 18:31
Compare
Choose a tag to compare
  • Bumped Euclid to version 0.6.4 (includes fixes for single-point path crash and path extrusions)
  • Fixed parsing ambiguity in tuple expressions where identifier is followed by opening paren
  • Improved bounds accuracy for circle-based shapes

1.5.11

06 Nov 16:07
Compare
Choose a tag to compare
  • Fixed source code view on iOS
  • Fixed loading of external iCloud assets when file has not been downloaded
  • ShapeScript now monitors changes to external textures, fonts and imports on iOS
  • Original topology for imported models is now preserved, instead of being triangulated
  • Improved error messaging for file imports
  • Bumped Euclid to version 0.6.2

1.5.10

29 Oct 16:27
Compare
Choose a tag to compare
  • Improved documentation for strings and trigonometry functions
  • Fixed empty bounds returned for lathe, fill, extrude and loft shapes
  • Fixed runtime warning about postscript font names
  • Fixed range bug in error formatting logic
  • Fixed inconsistent handling of functions that return tuples
  • Fixed inconsistent member lookup handling
  • Bumped Euclid to version 0.6.0
  • Fixed Linux build warnings

1.5.9

06 Oct 18:58
Compare
Choose a tag to compare
  • Fixed getting started link in Welcome modal
  • Removed bad suggestions from editors list
  • Added iOS target for ShapeScript Viewer