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