Skip to content

Releases: nicklockwood/ShapeScript

1.4.0

04 Nov 18:50
Compare
Choose a tag to compare
  • Added user-defined cameras
  • Added boolean constants and operators
  • Added comparison operators (greater than, equals, etc)
  • Added if/else statements
  • Added assert command
  • Improved suggestions for mistyped operators
  • Replaced range expression with separate to and step operators
  • Failure to load an external model now displays an error instead of failing silently
  • Added distinct error type for invalid text escape sequences
  • Simplified identifier expression representation
  • Converted option keyword to contextual keyword
  • Added Geometry.worldTransform property

1.3.10

01 Nov 23:40
Compare
Choose a tag to compare
  • DAE files containing triangle strips or non-triangular polygons are now loaded correctly
  • Fixed empty Geometry names not being set to nil
  • Fixed broken footer links in help pages
  • Bumped Euclid to version 0.5.14

1.3.9

22 Oct 15:30
Compare
Choose a tag to compare
  • Added multiple camera options
  • Added orthographic view option
  • Reorganized camera menu and keyboard shortcuts
  • View settings are now saved per-document instead of globally
  • Fixed bug where camera would reset when toggling wireframe mode
  • Documents now open in tabs automatically when tab bar is shown

1.3.8

10 Oct 23:35
Compare
Choose a tag to compare
  • Added svgpath command for creating paths using SVG-compatible syntax
  • Added bounds member property for calculating dimensions of complex shapes
  • Added wrapwidth and linespacing options for text
  • Improved debug command behavior for children of CSG containers
  • Fixed bug when setting background color with a single number (e.g. 0 for black)
  • Fixed bug where only first expression argument was highlighted in a type-mismatch error

1.3.7

26 Sep 22:27
Compare
Choose a tag to compare
  • Added debug command for highlighting invisible geometry
  • Custom blocks can now return any value type, not just meshes or paths
  • Infix expressions are now handled correctly when used in a statement position
  • Improved type mismatch error messages for block parameters
  • String values are no longer nullable and empty strings are handled more correctly
  • Nested command calls without parentheses are now handled correctly
  • Improved type reporting for single-value tuples in error messages
  • Updated print behavior to better match text interpolation

1.3.6

21 Sep 20:32
Compare
Choose a tag to compare
  • Added text interpolation, allowing text strings to be constructed dynamically
  • Import and textures file paths can now be constructed dynamically
  • Alpha component of colors can now be overridden with a convenient syntax
  • Removed confusing references to "string" and "identifier" from error messages
  • Added ability to load text fonts from a file name or path
  • Fixed bug where font getter returned texture instead
  • Improved help documentation

1.3.5

19 Sep 20:54
Compare
Choose a tag to compare
  • Numbers can now be used in text blocks
  • Fixed bug with times/divide operator associativity
  • Fixed default zoom level in viewer when axes are shown
  • Fixed bug in scene bounds calculation when children have a transform applied
  • Improved error message for missing files specified by full path
  • Limited maximum lineWidth when rendering paths

1.3.4

17 Sep 22:36
Compare
Choose a tag to compare
  • The position/size/orientation options can now be used inside text blocks
  • Fixed parsing error when using inline expressions in loop range
  • Unsupported string escape sequences are now treated as an error
  • Command parameters are now included in assertion failure error highlighting
  • Fixed bug with sequential escape sequences in text

1.3.3

14 Sep 18:04
Compare
Choose a tag to compare
  • Fixed crash when font is set to an empty string
  • Fixed incorrect suggestion of option for typos in contexts where it isn't available
  • Print logging in a long/infinite loop no longer freezes UI
  • Help index is now generated automatically
  • Improved help for colors and text

1.3.2

13 Sep 22:04
Compare
Choose a tag to compare
  • Added stack overflow detection, preventing crashes due to infinite recursion
  • Added support for underscores in identifiers
  • Empty and single-element tuples are now permitted (useful in loops and data structures)
  • Looping over vector, size and color values is no longer permitted (only tuples and ranges)
  • Geometry Hashable implementation is now based on value rather than reference
  • Bumped Euclid to 0.5.12, which fixes the getters for Rotation.pitch/yaw/roll
  • Shape position/orientation/size are now read/write properties instead of setters
  • Wireframes are now rendered with polygons instead of lines on x86, for better quality
  • Added open/create document prompt when opening app
  • Improved Welcome view