1.3.2
2023-04-24
• Bug fix — Fixed confusing function / operator precedence.
• Mesh precision — Reduced cracks in meshes when using CSG operations.
• Source editor — Improved scroll-to-cursor behavior in source editor.
• Feature — Added "What's New in ShapeScript" screen.
1.3.1
2023-04-18
• Bug fix — Fixed range precision issue for loops with fractional step value.
• Bug fix — Fixed type error when overriding shape transforms.
• Bug fix — Improved type inference for import statements.
• Bug fix — Fixed inverted Z-up export option.
1.3.0
2023-04-06
• Export — You can now export models and images in various formats (requires in-app purchase to unlock).
• Paths — Added arc command for easily creating partial circles or rounded corners in paths.
• Math functions — Added dot(), cross(), length() and normalize() functions for working with vectors.
• Math operators — You can now use arithmetic operators like *, /, + and - with vector operands.
• Bug fix — Setting unequal width/height for roundrect size no longer distorts corner curves.
• Bug fix — Fixed bug where modulo operator sometimes returned negative values.
1.2.3
2023-03-25
• Feature — The position, orientation and size of a defined shape can now be overridden as if it were a block.
• Debugging — Improved error messages and suggestions in some cases.
• Source editor — Multiple fixes and improvements to editing and syntax highlighting.
• Bug fix — Passing name option to a block that returns a path no longer makes the result unusable in a builder.
• Bug fix — Fixed some bugs in SVG path processing.
1.2.2
2023-03-02
• Bug fix — Fixed bug where app could freeze up when rendering very detailed scenes.
• Bug fix — Fixed line number alignment glitch in code editor.
1.2.1
2023-02-28
• Bug fix — Fixed holes sometimes created when tessellating non-monotone polygons.
• Bug fix — The bounds and polygons member properties now correctly take object transform into account.
• Bug fix — Fixed code editor unexpectedly closing while typing.
• Bug fix — Fixed stray line numbers left after deleting lines.
• Editor — You can now open multiple files at once on iPad using Split View.
• Editor — New lines are now indented at current level.
1.2.0
2023-02-08
• Editing — You can now edit .shape files directly in the app, without an external editor
• Bug fix — Fixed selected shape being cleared whenever scene is redrawn.
• Bug fix — Fixed some type inference bugs with imported JSON objects.
• Crash fix — Fixed occasional crash when using print/console.
1.1.2
2023-01-17
• Mesh polygons — Made polygon members available on all geometries, not just manually-created meshes.
• Structured data — Added automatic conversion of hex strings to colors (useful for imported JSON data).
• Bug fix — Fixed roundrect detail level (previously 4x higher than intended).
• Bug fix — Fixed incorrect output when intersecting groups of meshes.
• Bug fix — Empty scenes are no longer hidden if they contain debug shapes.
• Bug fix — Fixed misleading error message for excess color arguments.
• Bug fix — Fixed spurious forward declaration error for options that shadow a global define.
• Bug fix — Equality comparisons between meshes now work correctly.
• Bug fix — Using polygon command without any arguments now works again.
• Bug fix — Fixed multiple bugs with member lookup on various types.
• Bug fix — Fixed twisted extrusion offset.
1.1.1
2023-01-02
• Twisted extrusions — Added twist property to the extrude command for twisting along axis of extrusion.
1.1.0
2022-12-27
• Convex hulls — Added hull command for creating convex hulls from points, paths or meshes.
• Polygon modeling — Added ability to construct meshes from individual polygons.
• Extrude alignment — Added axisAligned property for controlling extrusion along a path.
• Data files — Added support for importing plain text files as a string and JSON files as a tuple.
• Modulo operator — Added % operator for calculating the remainder of division.
• Type system — Significantly overhauled type system, allowing errors to be caught earlier.
• Variadic functions — The min() and max() functions now accept more than two arguments.
• Type conversion — Added automatic conversion of strings to numbers or boolean values where applicable.
• String functions — Added split(), join() and trim() functions for working with strings.
• String members — Added string.lines, .words and .characters members.
• Tuple members — Added tuple.count, .last, .allButFirst and .allButLast members.
• Textures — The background and texture can now be cleared by setting them to an empty string.
• Logging — Logging meshes, bounds and point values to console now produces more useful output.
• Bug fix — Fixed bug where the color or texture of imported models could not be overridden.
• Examples — Added Spirals example demonstrating extrusion along a path.
1.0.7
2022-12-19
• Block comments — Added support for C-style block comments using /* ... */ syntax.
• Bug fix — Fixed spurious error when parsing .shape files containing "+100" or similar sequences.
• Bug fix — Fixed error messages suggesting symbol you already tried as an alternative.
1.0.6
2022-12-09
• Crash fix — Fixed crash when importing an external .shape file.
• Bug fix — Fixed occasional glitches with end caps of loft or extrusion shapes.
1.0.5
2022-11-22
• Crash fix — Fixed crash when rendering or extruding along a path with a single point.
• Bug fix — Fixed holes and inconsistent thickness when extruding shapes along non-planar paths.
• Bug fix — Fixed parsing ambiguity with identifiers followed by parens inside tuple expressions.
• Bug fix — Improved bounds accuracy for curved shapes when using low detail values.
1.0.4
2022-11-07
• iCloud — Importing iCloud-hosted files that have not yet been downloaded now works correctly.
• Imports — Changes to imported files, models, textures, etc. are now detected automatically
• Imported models — Original topology is now preserved for imported models (instead of being re-triangulated).
• Bug fix — Fixed blank source view (broken in previous release)
1.0.3
2022-10-31
• Bug fix — Fixed bug where bounds was incorrectly reported as empty for certain shapes, resulting in odd camera behavior.
• Bug fix — Fixed some inconsistencies with member lookup for nested tuple values.
• Bug fix — Fixed inconsistent behavior with functions that return tuples.
• Performance — CSG operations and text rendering are now faster on machines with multiple CPU cores.
• Documentation — Improved documentation for trigonometry and strings/text functions.
• Interface — Improved contrast on Grant Access button.
1.0.2
2022-10-03
• Performance — Significantly reduced loading and rendering time for scenes containing repeated shapes.
1.0.1
2022-09-28
• Bug fix — Fixed bug where a define statement inside a block couldn't refer to an earlier option value.
• Bug fix — Fixed an issue where negative scale factors could result in an incorrect bounding box.
• Camera — View no longer jumps unexpectedly to custom camera after a reload.