# Version History ## 2.x ### 2.2 January 4th 2021 ### Fix - Fix for crash that would occur when points were aligned *just* right - See issue 66 + https://github.com/SirRamEsq/SmartShape2D/issues/66 ### Features - Each Edge Material can now have a Material (Shader) - Each Edge Material Meta can have a z-index and z-as-relative set - See issue 64 + https://github.com/SirRamEsq/SmartShape2D/issues/64 ### 2.1 December 14th 2020 #### Significant Changes from 2.0 - Improved Width handling - Improved Welding - Rendering is now achieved by having multiple child-nodes each render a piece of the shape + Previously, all the rendering was done by the shape node + Improves performance + Fixes lighting bugs - Point Creation mode reimplemented + Mode active by default + Can be exited by pressing ESC - Several usability additions + Hotkey for grabbing closest point + Hotkey for creating new shape at point + Width Grabber for closest point + Preview for adding points - Several Bug fixes and issues closed #### New Features - Meta Shapes Introduced - "Fit mode" added to edge material + Can either squash and stretch the texture or crop it #### Minor Changes - Changes to GUI Theme + More in line with standard Godot - Add windows scripts for running unit tests - Changed default snap settings to 8x8 pixels ### 2.0 September 7th 2020 #### Significant Changes from 1.0 - Edge Textures are no longer determined by a cardinal direction (UP, DOWN, LEFT, RIGHT) - Instead, a starting and ending normal angle is specified for each edge - Textures are now defined per-edge instead of per-shape #### New Features - Taper textures - Instead of simply ending, the user can have an edge "taper-off" - Editing by Edges - Material Overrides #### Internal Changes - Completely overhauled everything - A rudimentary constraint system is in place - Closed shapes will add a point when closing, then constrain the added point's position to the first point - Points are no longer refered to by index, they are refered to by keys - This enables points to have relationships that aren't affected when: - Adding/Removing a point - Changing orientation of the poly - Many Unit and Integration tests - Refactored original working code to better support testing - Kept original scripts and classes from version 1.0 to ease importing ## 1.x ### Changes in 1.3 This update primarily fixes bugs and improves existing features to be more usable. #### Changes - Merged top/left/right/bottom offset into one variable. render offset #### Fixes - Input bugs - Edge Flipping - Polygon orientation bugs - Quad Welding - Corer quad generation and welding - Collision variables in the RMSmartShapeMaterial working as intended ### Changes in 1.2 #### Tweaks - Refactoring - Toolbar takes less space - Minor bug fixes #### New Features - Bezier Curves! - Hold shift on a control point to create a curve - Corner Quads! - Both inner and outer corner quads are now generated - Textures can be speciied for each direction of both inner and outer quads - Edge Moving! - Can move an edge (two points) by pressing SHIFT in move mode and dragging the edge ### Changes in 1.1 - Refactoring - Fixed Errors Occuring when Texture Arrays are size '0' but not null - Fixed sync between texture, flip, and width indicies - Would sometimes share a single array between the 3 vars - Are all unique now - Snapping - More informative toolbar ### Changes in 1.0 - Fixed many debug errors reported related to indexing beyond array sizes - Fixed control point wrapping of RMSmartShapeAnchor2D nodes anchored to RMSmartShape2D nodes. - Tested on newly released 3.2 Godot. ### Changes in 0.91 - Edges are calculated in relationship to object space instead of screen space - Added option to allow user to let the object recalculate edges based on screen space. - Fixed uv calculations for flipped textures. - Fixed uv bug for edge sections less than half the size of texture width - Added option to allow for a RMSmartShapeAnchor to mimic scale of monitored node - Removed sections of code related to clockwise versus clockwise checks, very specifically regarding the direction of texture edges. - Corrected normal texture bug for fill and edge rendering