aboutsummaryrefslogtreecommitdiff
path: root/src/addons/rmsmartshape/documentation/VersionHistory.md
blob: a217beeea67da34bb661af5f239b7b912b55d61e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
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