Skip to content

Commit 4980971

Browse files
authored
Merge pull request #38 from adroitwhiz/merge-latest-paper
Merge paper.js 0.12.7
2 parents a187e4c + 1653279 commit 4980971

File tree

147 files changed

+4948
-1086
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

147 files changed

+4948
-1086
lines changed

.github/ISSUE_TEMPLATE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<!--
22
This issues database is used to keep track of bugs and new features.
33
For questions and support, please visit the Gitter channel instead:
4-
https://gitter.im/Vincit/objection.js
4+
https://gitter.im/paperjs/paper.js
55
-->
66

77
# Description/Steps to reproduce

.travis.yml

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
language: node_js
2+
os: linux
23
# Follow https://github.com/nodejs/LTS to decide when to remove a version
34
node_js:
4-
- 9
5+
# Stable version is temporarily disabled due to a bug in resemblejs package with
6+
# node v12 (https://github.com/orgs/paperjs/teams/contributors/discussions/12).
7+
# - stable
8+
# - 11
9+
- 10
510
- 8
6-
# 6.13 and 6.14 causing unreasonable errors in SymbolDefinition.initialize.
7-
# https://travis-ci.org/paperjs/paper.js/jobs/434854796
8-
# To avoid these versions, we specify version to 6.12 as temporary solution.
9-
# See https://github.com/paperjs/paper.js/issues/1523
10-
- 6.12
11-
sudo: false
1211
env:
13-
matrix:
12+
jobs:
1413
- CXX=g++-4.9
1514
global:
1615
- secure: o1fJ/suqcL0aX6PiOmip602dAM6Q6O5oU/BDhSueUOnYknbzWfWGOdsoMun0UYhvvdcXU4sHGH+wm0VeXa2igaxryx36uMxPsXB3mO4sATo/QlWX/r3wLCg2CViXhykE5l2gP45OHh5DJgKWs51cwGLDZ9y9JHlXSP/xIGBNkMGVC7qvyhTfEb0EVvirn9b7Kt8fmD8KYgNDrsmcR3d42f4jitt4Di9LsRyOG+SCXZfI3u831tHo1sgZuGK2rxx2SdEclIblEUCkFHLp0HPjq1+032Cg5D7HNloSCPfoSwcY+rOWHubNXhmXgZHFeSkaVglkdWlDE3NiyjNlYwc4m9zqfCip8jw/jUeSfFVtruncEumGLLBxE/aMBQjAQLTq24juabm3qZNgrNCFeFo+XNyx2Oz1jllGve6Vuu8Qg0wFqE+qlZKnxNbu5/3IOIawOE1uhaOG8oSuvlpQuNrHFIMEfzh2UKPiUHbElUDyoTzHlrhQr7ZSPWPJax4uIPOTscpK4Yks7FBS4I0Vnuhw41f/bVR0kLE9jNAQoUpp47ma9O2Sw9fhOwEiopVrADzARUiy0eNeLx8F2F73L0wyPBOtEL1cfCr5oY+yZ5ZfDYb/L8/GIlbMnljYxVbXesmwd8RFi8X2HUNnEmusjih9oWazVuZpiFfUO0oeu15JTBg=
@@ -51,7 +50,7 @@ before_deploy:
5150
- git config --global user.name $(git log --pretty=format:"%an" -n1)
5251
deploy:
5352
- provider: npm
54-
node_js: 8
53+
node_js: 10
5554
on:
5655
branch: develop
5756
skip_cleanup: true

AUTHORS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
## Authors
22

33
- Jürg Lehni <juerg@scratchdisk.com>
4-
- Jonathan Puckey <jonathan@studiomoniker.com>
4+
- Jonathan Puckey <jonathan@puckey.studio>
55

66
## Contributors
77

88
- Harikrishnan Gopalakrishnan <hari.exeption@gmail.com>
9-
- Jan Bösenberg <development@iconexperience.com>
9+
- Jan Bösenberg <jan.boesenberg@gmail.com>
1010
- Jt Whissel <jtwhissel@gmail.com>
1111
- Andrew Roles <jaroles58@gmail.com>
1212
- Jacob Lites <jnightlight@gmail.com>

CHANGELOG.md

Lines changed: 163 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,145 @@
11
# Change Log
22

3+
## `0.12.7`
4+
5+
### Fixed
6+
7+
- PaperScript: Actually make `options.paperFeatures.moduleExports` work
8+
independently from `options.paperFeatures.operatorOverloading`.
9+
10+
## `0.12.6`
11+
12+
### Added
13+
14+
- PaperScript: Add option `options.paperFeatures.moduleExports` to control
15+
module exports conversion.
16+
17+
## `0.12.5`
18+
19+
### Added
20+
21+
- PaperScript: Add option `options.paperFeatures.operatorOverloading` to control
22+
operator overloading.
23+
24+
### Fixed
25+
26+
- Fix `new Raster(HTMLCanvasElement)` constructor (#1745).
27+
- Handle `CurveLocation` on paths with only one segment.
28+
- Fix recently introduced error in `CompoundPath.compare()` (#1769).
29+
- Clamp opacity values to [0, 1] (#1814).
30+
- Support closed `Path` items with blend mode and no segments (#1763).
31+
- Fix error in `getCrossingSegments()` (#1773).
32+
- SVG Import: Support SVG strings with leading line-breaks (#1813).
33+
- Docs: Improve documentation for `Raster#drawImage(CanvasImageSource)` (#1784).
34+
35+
### Changed
36+
37+
- Use `'paper-'` prefix in generated view ids.
38+
39+
## `0.12.4`
40+
41+
### Added
42+
43+
- Allow paper core import in TypeScript (#1713).
44+
- Boolean: Improve performance from `O(n^2)` to nearly `O(n)` by the use of the
45+
sweep and prune algorithm (#1737).
46+
- Docs: Add support for nullable values.
47+
48+
### Fixed
49+
50+
- Fix `PathItem#getCrossing()` to not return overlaps (#1409).
51+
- Fix regression in `Curve.getIntersections()` (#1638).
52+
- Fix edge cases in `CurveLocation.isCrossing()` (#1419, #1263).
53+
- Fix `SymbolItem#hitTestAll()` to return only one match per symbol item
54+
(#1680).
55+
- Fix handling of negative `Shape` sizes (#1733).
56+
- Fix parsing of RGB `Color` strings with percentages (#1736).
57+
- Fix `Shape` bounds when passing position in constructor (#1686).
58+
- Prevent nested group matrix from reset when transforming parent (#1711).
59+
- Boolean: Fix edge cases in overlap detection (#1262).
60+
- Boolean: Add check for paths with only one segment (#1351).
61+
- Boolean: Correctly handle open filled paths (#1647).
62+
- Boolean: Avoid winding number edge cases (#1619).
63+
- Docs: Fix some documentation return types (#1679).
64+
65+
## `0.12.3`
66+
67+
### Added
68+
69+
- Add documentation for `Item#internalBounds`.
70+
71+
### Fixed
72+
73+
- Fix regression in `Color` change propagation (#1672, #1674).
74+
- SVG Export: Fix viewport size of exported `Symbol` (#1668).
75+
- Handle non-invertible matrices in `Item#contains()` (#1651).
76+
- Improve documentation for `Item#clipMask` (#1673).
77+
- Improve TypeScript definitions (#1659, #1663, #1664, #1667).
78+
79+
## `0.12.2`
80+
81+
### Fixed
82+
83+
- Fix drawing with compound-paths as clip-items (#1361).
84+
- Fix drawing of path selection with small handle size (#1327).
85+
- Do not ignore `Group#clipItem.matrix` in `Group#internalBounds` (#1427).
86+
- Correctly calculate bounds with nested empty items (#1467).
87+
- Fix color change propagation on groups (#1152).
88+
- Fix `Path#arcTo()` where `from` and `to` points are equal (#1613).
89+
- Improve `new Raster(size[, position])` constructor (#1621).
90+
- SVG Export: Fix error when `Item#matrix` is not invertible (#1580).
91+
- SVG Export: Include missing viewBox attribute (#1576).
92+
- SVG Import: Use correct default values for gradients (#1632, #1660).
93+
- SVG Import: Add basic `<switch/>` support (#1597).
94+
- JSON Import: Prevent `Item#insert()` method from being overridden (#1392).
95+
- PaperScript: Fix issues with increment/decrement operators (#1450, #1611).
96+
97+
## `0.12.1`
98+
99+
### Added
100+
101+
- Add TypeScript definition, automatically generated from JSDoc comments
102+
(#1612).
103+
- Support `new Raster(size[, position])` constructor.
104+
- Expose `Raster#context` accessor.
105+
- Implement `Raster#clear()` method to clear associated canvas context.
106+
- Node.js: Add support for Node.js v11 and v12.
107+
108+
### Fixed
109+
110+
- Fix parsing of CSS colors with spaces in parentheses (#1629).
111+
- Improve `Color.random()` documentation.
112+
- Fix `Tween#then()` documentation.
113+
114+
### Removed
115+
116+
- Node.js: Remove support for Node.js v6.
117+
118+
## `0.12.0`
119+
120+
### News
121+
122+
Another release, another new member on the team: Please welcome
123+
[@arnoson](https://github.com/arnoson), who has worked hard on the all new
124+
animation support, exposed through the `Tween` class and its various methods on
125+
the `Item` class, see below for details:
126+
127+
### Added
128+
129+
- Add new `Tween` class and related methods on `Item`, to animate and
130+
interpolate their various properties, including colors, sub-properties, etc.:
131+
`Item#tween(from, to, options)`, `Item#tween(to, options)`,
132+
`Item#tween(options)`, `Item#tweenFrom(from, options)`,
133+
`Item#tweenTo(to, options)`
134+
135+
### Fixed
136+
137+
- Only draw Raster if image is not empty (#1320).
138+
- Emit mousedrag events on correct items when covered by other items (#1465).
139+
- Fix drawing issues of bounds and position with `Group#selectedColor` (#1571).
140+
- Fix `Item.once()` to actually only emit event once.
141+
- Various documentation fixes and improvements (#1399).
142+
3143
## `0.11.8`
4144

5145
### News
@@ -59,6 +199,7 @@ the fixes and additions from the past two weeks:
59199
## `0.11.5`
60200

61201
### Fixed
202+
62203
- Fix `Curve#isSelected()` to correctly reflect the state of `#handle1` (#1378).
63204
- Key Events: Fix auto-filling issue on Chrome (#1358, #1365).
64205
- Boolean: Check that overlaps are on the right path (#1321).
@@ -71,38 +212,42 @@ the fixes and additions from the past two weeks:
71212
## `0.11.4`
72213

73214
### Changed
215+
74216
- Node.js: Add support for v8, and keep testing v4, v6, v7 in Travis CI.
75217

76218
## `0.11.3`
77219

78220
### Fixed
79-
- Mouse Events: Fix item-based `doubleclick` events (#1316).
80221

222+
- Mouse Events: Fix item-based `doubleclick` events (#1316).
81223
- Overhaul the caching of bounds and matrix decomposition, improving reliability
82224
of `Item#rotation` and `#scaling` and fixing situations caused by wrongly
83225
caching `Item#position` and `#bounds` values.
84-
85226
- Prevent consumed properties in object literal constructors from being set on
86227
the instance.
87228

88229
### Changed
230+
89231
- Make all functions and accessors enumerable on all Paper.js classes.
90232

91233
## `0.11.2`
92234

93235
### Fixed
236+
94237
- PaperScript: Fix a parsing error in math operations without white-space
95238
(#1314).
96239

97240
## `0.11.1`
98241

99242
### Fixed
243+
100244
- Bring back deactivation of Node.js modules on browsers. This has most probably
101245
broken Webpack bundling in `0.11.0`.
102246

103247
## `0.11.0`
104248

105249
### Changed
250+
106251
- Separate `paper` module on NPM into: `paper`, `paper-jsdom` and
107252
`paper-jsdom-canvas` (#1252):
108253
- `paper` is the main library, and can be used directly in a browser
@@ -115,12 +260,14 @@ the fixes and additions from the past two weeks:
115260
[jsdom](https://github.com/tmpvar/jsdom).
116261

117262
### Added
263+
118264
- PaperScript: Support newer, external versions of Acorn.js for PaperScript
119265
parsing, opening the doors to ES 2015 (#1183, #1275).
120266
- Hit Tests: Implement `options.position` to hit `Item#position` (#1249).
121267
- Split `Item#copyTo()` into `#addTo()` and `#copyTo()`.
122268

123269
### Fixed
270+
124271
- Intersections: Bring back special handling of curve end-points (#1284).
125272
- Intersections: Correctly handle `Item#applyMatrix = false` (#1289).
126273
- Boolean: Bring back on-path winding handling (#1281).
@@ -154,6 +301,7 @@ the fixes and additions from the past two weeks:
154301
## `0.10.3`
155302

156303
### Changed
304+
157305
- Node.js: Support v7, and keep testing v4 up to v7 in Travis CI.
158306
- Node.js: Loosely couple Node.js / Electron code to `Canvas` module, and treat
159307
its absence like a headless web worker context in the browser (#1103).
@@ -178,6 +326,7 @@ the fixes and additions from the past two weeks:
178326
`#reorient()` (#973).
179327

180328
### Added
329+
181330
- Implement `Path#divideAt(location)`, in analogy to `Curve#divideAt(location)`.
182331
- Add `PathItem#compare()` as a way to compare the geometry of two paths to see
183332
if they describe the same shape, handling cases where paths start in different
@@ -196,6 +345,7 @@ the fixes and additions from the past two weeks:
196345
(#1004, #1177).
197346

198347
### Fixed
348+
199349
- Many improvements to boolean operations:
200350
- Improve performance of boolean operations when there no actual crossings
201351
between the paths, but paths may be contained within each other.
@@ -236,17 +386,20 @@ the fixes and additions from the past two weeks:
236386
(#632).
237387

238388
### Removed
389+
239390
- Remove `Numerical.TOLERANCE = 1e-6` as there is no internal use for it
240391
anymore.
241392

242393
## `0.10.2`
243394

244395
### Fixed
396+
245397
- Get published version to work correctly in Bower again.
246398

247399
## `0.10.1`
248400

249401
### Fixed
402+
250403
- Correct a few issues with documentation and NPM publishing that slipped
251404
through in the `0.10.0` release.
252405

@@ -284,6 +437,7 @@ Thank you all for using Paper.js, submitting bugs and ideas, and all those that
284437
contribute to the code.
285438

286439
### Changed
440+
287441
- Significant overhaul and improvements of boolean path operations
288442
`PathItem#unite()`, `#subtract()`, `#intersect()`, `#exclude()`, `#divide()`:
289443
- Improve handling of self-intersecting paths and non-zero fill-rules.
@@ -300,7 +454,7 @@ contribute to the code.
300454
- `Curve#getParameterAt(offset)``#getTimeAt(offset)`
301455
- `Curve#getParameterOf(point)``getTimeOf(point)`
302456
- `Curve#getPointAt(time, true)``#getPointAtTime(time)`
303-
- `Curve#getTangentAt(time, true)``#getTangenttTime(time)`
457+
- `Curve#getTangentAt(time, true)``#getTangentAtTime(time)`
304458
- `Curve#getNormalAt(time, true)``#getNormalAtTime(time)`
305459
- `Curve#getCurvatureAt(time, true)``#getCurvatureAtTime(time)`
306460
- `CurveLocation#parameter``#time`
@@ -360,6 +514,7 @@ contribute to the code.
360514
`Color` (#1043).
361515

362516
### Added
517+
363518
- Use unified code-base for browsers, Node.js, Electron, and anything
364519
in-between, and enable npm install for browser use (#739).
365520
- Start using automatic code testing and deployment of prebuilt versions through
@@ -424,6 +579,7 @@ contribute to the code.
424579
- Add `Raster#loaded` to reflect the loading state of its image.
425580

426581
### Fixed
582+
427583
- Fix calculations of `Item#strokeBounds` for all possible combinations of
428584
`Item#strokeScaling` and `Item#applyMatrix` for `Path`, `Shape` and
429585
`SymbolItem`, along with correct handling of such strokes in Item#hitTest()
@@ -502,10 +658,11 @@ contribute to the code.
502658
`Numerical.solveCubic()` for edge-cases (#1085).
503659

504660
### Removed
661+
505662
- Canvas attributes "resize" and "data-paper-resize" no longer cause paper to
506663
resize the canvas when the viewport size changes; Additional CSS styles are
507664
required since `0.9.22`, e.g.:
508-
665+
509666
```css
510667
/* Scale canvas with resize attribute to full size */
511668
canvas[resize] {
@@ -520,14 +677,15 @@ contribute to the code.
520677
It is replaced by `Project#addLayer()` and `Project#insertLayer()`.
521678

522679
### Deprecated
680+
523681
- `#windingRule` on `Item` and `Style``#fillRule`
524682
- `Curve#getNormalAt(time, true)``#getNormalAtTime(true)`
525683
- `Curve#divide()``#divideAt(offset)` / `#divideAtTime(time)`
526684
- `Curve#split()``#splitAt(offset)` / `#splitAtTime(time)`
527685
- `Curve#getParameterAt(offset)``#getTimeAt(offset)`
528686
- `Curve#getParameterOf(point)``getTimeOf(point)`
529687
- `Curve#getPointAt(time, true)``#getPointAtTime(time)`
530-
- `Curve#getTangentAt(time, true)``#getTangenttTime(time)`
688+
- `Curve#getTangentAt(time, true)``#getTangentAtTime(time)`
531689
- `Curve#getNormalAt(time, true)``#getNormalAtTime(time)`
532690
- `Curve#getCurvatureAt(time, true)``#getCurvatureAtTime(time)`
533691
- `CurveLocation#parameter``#time`

LICENSE.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
Copyright (c) 2011 - 2016, Juerg Lehni & Jonathan Puckey
2-
http://scratchdisk.com/ & http://jonathanpuckey.com/
1+
Copyright (c) 2011 - 2020, Jürg Lehni & Jonathan Puckey
2+
http://juerglehni.com/ & https://puckey.studio/
33
All rights reserved.
44

55
The MIT License (MIT)

0 commit comments

Comments
 (0)