|
| 1 | +## 1.1.6 |
| 2 | + |
| 3 | +* Adding `Rune.Node` to inject SVG nodes into the stage. Can be used if Rune.js does not support a specific tag. |
| 4 | + |
1 | 5 | ## 1.1.5
|
2 | 6 |
|
3 |
| -- `fill()` and `stroke()` now support `false` (which renders no attribute) and `'none'` (which renders fill="none"). |
4 |
| -- Smaller filesize by procedurally adding getters and setters. |
| 7 | +* `fill()` and `stroke()` now support `false` (which renders no attribute) and `'none'` (which renders fill="none"). |
| 8 | +* Smaller filesize by procedurally adding getters and setters. |
5 | 9 |
|
6 | 10 | ## 1.1.4
|
7 | 11 |
|
8 |
| -- `fill()` and `stroke()` will now disable fill if the string 'none' is passed to them. |
9 |
| -- `fill()` and `stroke()` will no longer insert `file="none"` if set to false. |
10 |
| -- Replaced `lodash.each` with for loops for speed and size improvements. |
11 |
| -- Replaced `lodash.map` with native `map()` for speed and size improvements. |
12 |
| -- Replaced `lodash.flatten` with custom `flatten()` for speed and size improvements. |
13 |
| -- Replaced `lodash.defaults` with `lodash.assign` for size improvements. |
14 |
| -- Replaced `lodash.assign` with `object-assign` for size improvements. |
15 |
| -- Replaced `lodash.without` with custom `without` for size improvements. |
16 |
| -- Unminified size went from 215kb to 160kb |
| 12 | +* `fill()` and `stroke()` will now disable fill if the string 'none' is passed to them. |
| 13 | +* `fill()` and `stroke()` will no longer insert `file="none"` if set to false. |
| 14 | +* Replaced `lodash.each` with for loops for speed and size improvements. |
| 15 | +* Replaced `lodash.map` with native `map()` for speed and size improvements. |
| 16 | +* Replaced `lodash.flatten` with custom `flatten()` for speed and size improvements. |
| 17 | +* Replaced `lodash.defaults` with `lodash.assign` for size improvements. |
| 18 | +* Replaced `lodash.assign` with `object-assign` for size improvements. |
| 19 | +* Replaced `lodash.without` with custom `without` for size improvements. |
| 20 | +* Unminified size went from 215kb to 160kb |
17 | 21 |
|
18 | 22 | ## 1.1.3
|
19 | 23 |
|
20 |
| -- `Rune.Group` can now accept `fill()`, `stroke()`, and all other styling functions. This makes it easy to have a default style for all shapes in a group. |
21 |
| -- Massive rewrite of tests that tried to be too smart. |
| 24 | +* `Rune.Group` can now accept `fill()`, `stroke()`, and all other styling functions. This makes it easy to have a default style for all shapes in a group. |
| 25 | +* Massive rewrite of tests that tried to be too smart. |
22 | 26 |
|
23 | 27 | ## 1.1.2
|
24 | 28 |
|
25 |
| -- `Rune.Color` objects now accepts `rgb()` and `rgba()` strings. |
| 29 | +* `Rune.Color` objects now accepts `rgb()` and `rgba()` strings. |
26 | 30 |
|
27 | 31 | ## 1.1.1
|
28 | 32 |
|
29 |
| -- Calling `remove` on a group with a shape that is not in the group will not remove another shape in the group. |
30 |
| -- Adding `viewBox` attribute on resulting SVG. |
| 33 | +* Calling `remove` on a group with a shape that is not in the group will not remove another shape in the group. |
| 34 | +* Adding `viewBox` attribute on resulting SVG. |
31 | 35 |
|
32 | 36 | ## 1.1.0
|
33 | 37 |
|
34 |
| -- Fixed a giant bug with re-rendering of children if they were removed/added to a group. |
| 38 | +* Fixed a giant bug with re-rendering of children if they were removed/added to a group. |
35 | 39 |
|
36 | 40 | ## 1.0.3
|
37 | 41 |
|
38 |
| -- The npm package now has a `/dist/rune.js` folder packaged for the browser. |
| 42 | +* The npm package now has a `/dist/rune.js` folder packaged for the browser. |
39 | 43 |
|
40 | 44 | ## 1.0.2
|
41 | 45 |
|
42 |
| -- Actually fixing problem with re-rendering after removing child from group |
| 46 | +* Actually fixing problem with re-rendering after removing child from group |
43 | 47 |
|
44 | 48 | ## 1.0.1
|
45 | 49 |
|
46 |
| -- Fixing problem with re-rendering after removing child from group |
| 50 | +* Fixing problem with re-rendering after removing child from group |
47 | 51 |
|
48 | 52 | ## 1.0.0
|
49 | 53 |
|
50 |
| -- Renamed `Grid.modules` to `Grid.children` and combined functionality with `Rune.Group` |
| 54 | +* Renamed `Grid.modules` to `Grid.children` and combined functionality with `Rune.Group` |
51 | 55 |
|
52 | 56 | ## 0.4.5
|
53 | 57 |
|
54 |
| -- Added `Rune.map()` function. Thanks to [Yining Shi](http://1023.io/)! |
| 58 | +* Added `Rune.map()` function. Thanks to [Yining Shi](http://1023.io/)! |
55 | 59 |
|
56 | 60 | ## 0.4.4
|
57 | 61 |
|
58 |
| -- Fixing rendering problem when using `shape.removeParent()` |
59 |
| -- Fixing toPolygon for ellipse and circle. Now not doubling in size because of radius/diameter shuffling |
| 62 | +* Fixing rendering problem when using `shape.removeParent()` |
| 63 | +* Fixing toPolygon for ellipse and circle. Now not doubling in size because of radius/diameter shuffling |
60 | 64 |
|
61 | 65 | ## 0.4.3
|
62 | 66 |
|
63 |
| -- Removing ability to use percentage string in constructor. Should be done in CSS. |
| 67 | +* Removing ability to use percentage string in constructor. Should be done in CSS. |
64 | 68 |
|
65 | 69 | ## 0.4.2
|
66 | 70 |
|
67 |
| -- Better handling for node and browser if instantiating an object with percentage strings or no values for width and height. |
| 71 | +* Better handling for node and browser if instantiating an object with percentage strings or no values for width and height. |
68 | 72 |
|
69 | 73 | ## 0.4.1
|
70 | 74 |
|
71 |
| -- Added `setStart(x, y)` and `setEnd(x, y)` to `Line`. |
72 |
| -- You can now use percentage strings when instantiating a Rune.js object in a browser. `r.width` and `r.height` will be dynamically set to dimensions of the SVG based on browser rendering. |
| 75 | +* Added `setStart(x, y)` and `setEnd(x, y)` to `Line`. |
| 76 | +* You can now use percentage strings when instantiating a Rune.js object in a browser. `r.width` and `r.height` will be dynamically set to dimensions of the SVG based on browser rendering. |
73 | 77 |
|
74 | 78 | ## 0.4.0
|
75 | 79 |
|
76 | 80 | This release **changes the existing API**. It fixes a number of problems discovered while using Rune.js. Most important, it implements a new React-inspired rendering mechanism that only re-renders changed objects. The library used to loop through every object to generate a virtual DOM patch. This would make the actual DOM change fast, but it still took up a lot of memory to iterate through every object. This new release changes the rendering so only shapes that changes are re-rendered in memory, making the library efficient both in the memory cycles and in the the DOM manipulation phase.
|
77 | 81 |
|
78 |
| -- `.vars` is now called `.state` |
79 |
| -- `draw` event is now called `update`. This should make it clearer to not to Processing-style overpainting. |
80 |
| -- Implemented a new rendering strategy. This makes it a no no to change`.state` directly without calling the `.changed()` method on a shape. `.changed()` is automatically called for all shape functions that change the shape. Render time for 10k shapes fell from 12 seconds to 400 milliseconds. |
81 |
| -- `Line` method `move()` now moves the entire line and not just the starting position. |
82 |
| -- Shape functions no longer accept vectors. Will re-implement soon. |
| 82 | +* `.vars` is now called `.state` |
| 83 | +* `draw` event is now called `update`. This should make it clearer to not to Processing-style overpainting. |
| 84 | +* Implemented a new rendering strategy. This makes it a no no to change`.state` directly without calling the `.changed()` method on a shape. `.changed()` is automatically called for all shape functions that change the shape. Render time for 10k shapes fell from 12 seconds to 400 milliseconds. |
| 85 | +* `Line` method `move()` now moves the entire line and not just the starting position. |
| 86 | +* Shape functions no longer accept vectors. Will re-implement soon. |
83 | 87 |
|
84 | 88 | ## 0.3.0
|
85 | 89 |
|
86 |
| -- All mouseevents were off when the window scrolled |
| 90 | +* All mouseevents were off when the window scrolled |
87 | 91 |
|
88 | 92 | ## 0.3.1
|
89 | 93 |
|
90 |
| -- Code is now node modules instead of ES6. This makes a lot of things easier. |
91 |
| -- Rendering is now a bit faster. |
| 94 | +* Code is now node modules instead of ES6. This makes a lot of things easier. |
| 95 | +* Rendering is now a bit faster. |
92 | 96 |
|
93 | 97 | ## 0.2.19
|
94 | 98 |
|
95 |
| -- Most drawing functions now take vector arguments. Thanks to @philcn. |
96 |
| -- Added `Utils.round()` to fix browser inconsistencies. Thanks for @danielmcq. |
| 99 | +* Most drawing functions now take vector arguments. Thanks to @philcn. |
| 100 | +* Added `Utils.round()` to fix browser inconsistencies. Thanks for @danielmcq. |
97 | 101 |
|
98 | 102 | ## 0.2.18
|
99 | 103 |
|
100 |
| -- `Polygon` method `centroid()` now calculates centroid as closed shape. |
| 104 | +* `Polygon` method `centroid()` now calculates centroid as closed shape. |
101 | 105 |
|
102 | 106 | ## 0.2.17
|
103 | 107 |
|
104 |
| -- Publish failed. Republishing. |
| 108 | +* Publish failed. Republishing. |
105 | 109 |
|
106 | 110 | ## 0.2.16
|
107 | 111 |
|
108 |
| -- SVG now has correct namespaces |
109 |
| -- Rendering is improved drastically by using internal color values |
| 112 | +* SVG now has correct namespaces |
| 113 | +* Rendering is improved drastically by using internal color values |
110 | 114 |
|
111 | 115 | ## 0.2.15
|
112 | 116 |
|
113 |
| -- Debug mode now works in groups too |
| 117 | +* Debug mode now works in groups too |
114 | 118 |
|
115 | 119 | ## 0.2.14
|
116 | 120 |
|
117 |
| -- Adding `Image` to draw images in a SVG element |
118 |
| -- `strokeWidth` is now scaled when calling `.scale()` on a shape |
119 |
| -- Adding `round()` function to rectangles |
| 121 | +* Adding `Image` to draw images in a SVG element |
| 122 | +* `strokeWidth` is now scaled when calling `.scale()` on a shape |
| 123 | +* Adding `round()` function to rectangles |
120 | 124 |
|
121 | 125 | ## 0.2.13
|
122 | 126 |
|
123 |
| -- Certain shape variables weren't copied when using `copy()`. Now fixed. |
| 127 | +* Certain shape variables weren't copied when using `copy()`. Now fixed. |
124 | 128 |
|
125 | 129 | ## 0.2.12
|
126 | 130 |
|
127 |
| -- Adding `mousedown` mouse event |
128 |
| -- Adding `mouseup` mouse event |
129 |
| -- Adding `click` mouse event |
| 131 | +* Adding `mousedown` mouse event |
| 132 | +* Adding `mouseup` mouse event |
| 133 | +* Adding `click` mouse event |
130 | 134 |
|
131 | 135 | ## 0.2.11
|
132 | 136 |
|
133 |
| -- Adding `scale()` to all shapes |
134 |
| -- Adding `scale()` to groups |
| 137 | +* Adding `scale()` to all shapes |
| 138 | +* Adding `scale()` to groups |
135 | 139 |
|
136 | 140 | ## 0.2.10
|
137 | 141 |
|
138 |
| -- Removing colorString library to shrink size of library. |
| 142 | +* Removing colorString library to shrink size of library. |
139 | 143 |
|
140 | 144 | ## 0.2.9
|
141 | 145 |
|
142 |
| -- `Polygon` now has a `contains(x,y)` function to know whether a point is inside or outside a polygon |
143 |
| -- Group and shapes now have a `stagepos()` function that returns their absolute position according to the stage |
144 |
| -- Removing `Groupable` mixin in favor of `Shape` |
145 |
| -- Replacing underscore with lodash to shrink size of library |
146 |
| -- Updated code to use Babel 6 |
147 |
| -- Removed bezier.js library to shrink size of library |
| 146 | +* `Polygon` now has a `contains(x,y)` function to know whether a point is inside or outside a polygon |
| 147 | +* Group and shapes now have a `stagepos()` function that returns their absolute position according to the stage |
| 148 | +* Removing `Groupable` mixin in favor of `Shape` |
| 149 | +* Replacing underscore with lodash to shrink size of library |
| 150 | +* Updated code to use Babel 6 |
| 151 | +* Removed bezier.js library to shrink size of library |
148 | 152 |
|
149 | 153 | ## 0.2.8
|
150 | 154 |
|
151 |
| -- Text shapes are not copied with all their variables when calling `copy()`. |
| 155 | +* Text shapes are not copied with all their variables when calling `copy()`. |
152 | 156 |
|
153 | 157 | ## 0.2.7
|
154 | 158 |
|
155 |
| -- Adding `Grid` `getModule` to easily access a grid module. |
156 |
| -- Changing internal represenation of module from array of arrays to a single array of modules. |
| 159 | +* Adding `Grid` `getModule` to easily access a grid module. |
| 160 | +* Changing internal represenation of module from array of arrays to a single array of modules. |
157 | 161 |
|
158 | 162 | ## 0.2.6
|
159 | 163 |
|
160 |
| -- Triangle `move()` now moves the entire triangle, not just the starting point. |
| 164 | +* Triangle `move()` now moves the entire triangle, not just the starting point. |
161 | 165 |
|
162 | 166 | ## 0.2.5
|
163 | 167 |
|
164 |
| -- Fixing bugs around variables shadowing function names, which makes `Rune.js` work in Safari and most mobile browsers. |
| 168 | +* Fixing bugs around variables shadowing function names, which makes `Rune.js` work in Safari and most mobile browsers. |
165 | 169 |
|
166 | 170 | ## 0.2.4
|
167 | 171 |
|
168 |
| -- Fixing a bug around `requestAnimationframe` not getting cancelled if used within the `draw` listener. [issue](https://github.com/runemadsen/rune.js/issues/4) |
| 172 | +* Fixing a bug around `requestAnimationframe` not getting cancelled if used within the `draw` listener. [issue](https://github.com/runemadsen/rune.js/issues/4) |
169 | 173 |
|
170 | 174 | ## 0.2.3
|
171 | 175 |
|
172 |
| -- NPM package now ships `rune.browser.js` for easy of install. |
| 176 | +* NPM package now ships `rune.browser.js` for easy of install. |
173 | 177 |
|
174 | 178 | ## 0.2.2
|
175 | 179 |
|
176 |
| -- Quick fix to not break node when checking for window. |
| 180 | +* Quick fix to not break node when checking for window. |
177 | 181 |
|
178 | 182 | ## 0.2.1
|
179 | 183 |
|
180 |
| -- The npm package no longer has a `Rune` global. Require statement has to look like `var Rune = require('rune.js')` |
| 184 | +* The npm package no longer has a `Rune` global. Require statement has to look like `var Rune = require('rune.js')` |
181 | 185 |
|
182 | 186 | ## 0.2.0
|
183 | 187 |
|
184 |
| -- Complete rewrite of test structure and gulpfile used to generate NPM and Github releases. NPM tarball now actually works. |
| 188 | +* Complete rewrite of test structure and gulpfile used to generate NPM and Github releases. NPM tarball now actually works. |
185 | 189 |
|
186 | 190 | ## 0.1.6
|
187 | 191 |
|
188 |
| -- `Rune.js` is now tested and working in server-side node. Hurrah! |
| 192 | +* `Rune.js` is now tested and working in server-side node. Hurrah! |
189 | 193 |
|
190 | 194 | ## 0.1.5
|
191 | 195 |
|
192 |
| -- Removing `rgba()` fill and stroke values and introducing straight up `rgb()` with `fill-opacity` and `stroke-opacity`, as Illustrator does not recognize `rgba()`. |
193 |
| - |
| 196 | +* Removing `rgba()` fill and stroke values and introducing straight up `rgb()` with `fill-opacity` and `stroke-opacity`, as Illustrator does not recognize `rgba()`. |
194 | 197 |
|
195 | 198 | ## 0.1.4
|
196 | 199 |
|
197 |
| -- Adding direct access to `Color.Convert` functions. |
| 200 | +* Adding direct access to `Color.Convert` functions. |
198 | 201 |
|
199 | 202 | ## 0.1.3
|
200 | 203 |
|
201 |
| -- Adding `Triangle` and `r.triangle()` |
202 |
| -- Fixing some math in the `Polygon` `bounds()` function |
203 |
| -- Bounds and `bounds()` and `centroid` now return a `Vector` that hasn't the shape positions added. They now return internal representations. |
| 204 | +* Adding `Triangle` and `r.triangle()` |
| 205 | +* Fixing some math in the `Polygon` `bounds()` function |
| 206 | +* Bounds and `bounds()` and `centroid` now return a `Vector` that hasn't the shape positions added. They now return internal representations. |
204 | 207 |
|
205 | 208 | ## 0.1.2
|
206 | 209 |
|
207 |
| -- Rerelease because I don't understand how GitHub releases work. |
| 210 | +* Rerelease because I don't understand how GitHub releases work. |
208 | 211 |
|
209 | 212 | ## 0.1.1
|
210 | 213 |
|
211 |
| -- `Grid` `gutterX` and `gutterY` has been renamed to `gutterWidth` and `gutterHeight`. |
212 |
| -- Added `removeParent()` to all shapes to remove them from parent |
213 |
| -- Added `addParent()` to all shapes to add them to parent |
| 214 | +* `Grid` `gutterX` and `gutterY` has been renamed to `gutterWidth` and `gutterHeight`. |
| 215 | +* Added `removeParent()` to all shapes to remove them from parent |
| 216 | +* Added `addParent()` to all shapes to add them to parent |
214 | 217 |
|
215 | 218 | ## 0.1.0
|
216 | 219 |
|
217 |
| -- Initial release! |
| 220 | +* Initial release! |
0 commit comments