@jscad/svg-deserializer 2.5.11 → 2.5.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -226
- package/package.json +4 -4
- package/src/shapesMapGeometry.js +32 -13
- package/tests/instantiate.test.js +32 -26
package/CHANGELOG.md
CHANGED
|
@@ -3,424 +3,240 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
-
## [2.5.
|
|
6
|
+
## [2.5.13](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.5.12...@jscad/svg-deserializer@2.5.13) (2026-02-11)
|
|
7
7
|
|
|
8
8
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
9
9
|
|
|
10
|
+
## [2.5.12](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.5.11...@jscad/svg-deserializer@2.5.12) (2025-09-20)
|
|
10
11
|
|
|
12
|
+
### Bug Fixes
|
|
11
13
|
|
|
14
|
+
* **svg-deserializer:** svg path should return one geom2 ([4500b71](https://github.com/jscad/OpenJSCAD.org/commit/4500b71579fd805e5f740a7b4605b14986bbe14e))
|
|
12
15
|
|
|
13
|
-
|
|
14
|
-
## [2.5.10](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.5.9...@jscad/svg-deserializer@2.5.10) (2024-11-10)
|
|
16
|
+
## [2.5.11](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.5.10...@jscad/svg-deserializer@2.5.11) (2024-12-29)
|
|
15
17
|
|
|
16
18
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
17
19
|
|
|
20
|
+
## [2.5.10](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.5.9...@jscad/svg-deserializer@2.5.10) (2024-11-10)
|
|
18
21
|
|
|
19
|
-
|
|
20
|
-
|
|
22
|
+
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
21
23
|
|
|
22
24
|
## [2.5.9](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.5.8...@jscad/svg-deserializer@2.5.9) (2024-10-06)
|
|
23
25
|
|
|
24
26
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
25
27
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
28
|
## [2.5.8](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.5.7...@jscad/svg-deserializer@2.5.8) (2024-06-02)
|
|
31
29
|
|
|
32
30
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
33
31
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
32
|
## [2.5.7](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.5.6...@jscad/svg-deserializer@2.5.7) (2024-02-18)
|
|
39
33
|
|
|
40
|
-
|
|
41
34
|
### Bug Fixes
|
|
42
35
|
|
|
43
36
|
* **svg-serializer:** fix conversion of alpha colors to SVG RGBA opacity ([4c1f372](https://github.com/jscad/OpenJSCAD.org/commit/4c1f37271764649e192300c66d263a1fee52303c))
|
|
44
37
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
38
|
## [2.5.6](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.5.5...@jscad/svg-deserializer@2.5.6) (2023-06-27)
|
|
50
39
|
|
|
51
40
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
52
41
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
42
|
## [2.5.5](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.5.4...@jscad/svg-deserializer@2.5.5) (2023-04-30)
|
|
58
43
|
|
|
59
|
-
|
|
60
44
|
### Bug Fixes
|
|
61
45
|
|
|
62
46
|
* **svg-deserializer:** fix conversions of quadratic bezier paths ([2b62d76](https://github.com/jscad/OpenJSCAD.org/commit/2b62d762056aadca75006ac4b1eebd08bd7addaa))
|
|
63
47
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
48
|
## [2.5.4](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.5.3...@jscad/svg-deserializer@2.5.4) (2022-11-26)
|
|
69
49
|
|
|
70
50
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
71
51
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
52
|
## [2.5.3](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.5.2...@jscad/svg-deserializer@2.5.3) (2022-09-23)
|
|
77
53
|
|
|
78
|
-
|
|
79
54
|
### Bug Fixes
|
|
80
55
|
|
|
81
56
|
* **svg-deserializer:** corrected logic to allow path start == end point ([#1142](https://github.com/jscad/OpenJSCAD.org/issues/1142)) ([c49b540](https://github.com/jscad/OpenJSCAD.org/commit/c49b5409aee76c956fd365a43b0b49fde3d0894b))
|
|
82
57
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
58
|
## [2.5.2](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.5.1...@jscad/svg-deserializer@2.5.2) (2022-08-21)
|
|
88
59
|
|
|
89
60
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
90
61
|
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
62
|
## [2.5.1](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.5.0...@jscad/svg-deserializer@2.5.1) (2022-07-17)
|
|
96
63
|
|
|
97
64
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
98
65
|
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
66
|
# [2.5.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.4.12...@jscad/svg-deserializer@2.5.0) (2022-06-12)
|
|
104
67
|
|
|
105
|
-
|
|
106
68
|
### Features
|
|
107
69
|
|
|
108
70
|
* **x3d-serializer:** enhanced to convert 2D geometry and path to X3D Polyline2D ([#1091](https://github.com/jscad/OpenJSCAD.org/issues/1091)) ([4f763a8](https://github.com/jscad/OpenJSCAD.org/commit/4f763a8def39f3b0454f2079f3c1fd7da52dd880))
|
|
109
71
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
72
|
## [2.4.12](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.4.11...@jscad/svg-deserializer@2.4.12) (2022-05-15)
|
|
115
73
|
|
|
116
74
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
117
75
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
76
|
## [2.4.11](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.4.10...@jscad/svg-deserializer@2.4.11) (2022-04-24)
|
|
123
77
|
|
|
124
78
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
125
79
|
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
80
|
## [2.4.10](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.4.9...@jscad/svg-deserializer@2.4.10) (2022-04-03)
|
|
131
81
|
|
|
132
82
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
133
83
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
84
|
## [2.4.9](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.4.8...@jscad/svg-deserializer@2.4.9) (2022-04-03)
|
|
139
85
|
|
|
140
86
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
141
87
|
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
88
|
## [2.4.8](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.4.7...@jscad/svg-deserializer@2.4.8) (2022-03-13)
|
|
147
89
|
|
|
148
90
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
149
91
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
92
|
## [2.4.7](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.4.6...@jscad/svg-deserializer@2.4.7) (2022-03-06)
|
|
155
93
|
|
|
156
94
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
157
95
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
96
|
## [2.4.6](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.4.5...@jscad/svg-deserializer@2.4.6) (2022-02-19)
|
|
163
97
|
|
|
164
98
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
165
99
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
100
|
## [2.4.5](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.4.4...@jscad/svg-deserializer@2.4.5) (2021-12-26)
|
|
171
101
|
|
|
172
102
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
173
103
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
104
|
## [2.4.4](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.4.3...@jscad/svg-deserializer@2.4.4) (2021-12-11)
|
|
179
105
|
|
|
180
106
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
181
107
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
108
|
## [2.4.3](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.4.2...@jscad/svg-deserializer@2.4.3) (2021-11-07)
|
|
187
109
|
|
|
188
110
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
189
111
|
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
112
|
## [2.4.2](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.4.1...@jscad/svg-deserializer@2.4.2) (2021-10-17)
|
|
195
113
|
|
|
196
114
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
197
115
|
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
116
|
## [2.4.1](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.4.0...@jscad/svg-deserializer@2.4.1) (2021-10-04)
|
|
203
117
|
|
|
204
118
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
205
119
|
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
120
|
# [2.4.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.3.0...@jscad/svg-deserializer@2.4.0) (2021-09-27)
|
|
211
121
|
|
|
212
|
-
|
|
213
122
|
### Bug Fixes
|
|
214
123
|
|
|
215
124
|
* **modeling:** corrected concat to ignore duplicate points ([#913](https://github.com/jscad/OpenJSCAD.org/issues/913))corrected appendArc to maintain last point ([3eea3ef](https://github.com/jscad/OpenJSCAD.org/commit/3eea3efed3b3d4bacb49c1ee4691bfc159b08261))
|
|
216
125
|
|
|
217
|
-
|
|
218
126
|
### Features
|
|
219
127
|
|
|
220
128
|
* **svg-deserializer:** reworked to use saxes library, and standard module layout ([56f5725](https://github.com/jscad/OpenJSCAD.org/commit/56f572518c85d767ac680aa2da1af46c4847e63c))
|
|
221
129
|
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
130
|
# [2.3.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.2.4...@jscad/svg-deserializer@2.3.0) (2021-09-09)
|
|
227
131
|
|
|
228
|
-
|
|
229
132
|
### Features
|
|
230
133
|
|
|
231
134
|
* **svg-deserializer:** added pathSelfClosed option to control construction of overlapping paths ([043f59d](https://github.com/jscad/OpenJSCAD.org/commit/043f59d928fcf397b0bb23e744e35d7eda5be626))
|
|
232
135
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
136
|
## [2.2.4](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.2.3...@jscad/svg-deserializer@2.2.4) (2021-06-20)
|
|
238
137
|
|
|
239
138
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
240
139
|
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
140
|
## [2.2.3](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.2.2...@jscad/svg-deserializer@2.2.3) (2021-06-11)
|
|
246
141
|
|
|
247
|
-
|
|
248
142
|
### Bug Fixes
|
|
249
143
|
|
|
250
144
|
* **svg-deserializer:** corrected conversion of stroke/fill to geometry color ([73f4d50](https://github.com/jscad/OpenJSCAD.org/commit/73f4d50e2622a9ba86fd5abc747778795391382b))
|
|
251
145
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
146
|
## [2.2.2](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.2.1...@jscad/svg-deserializer@2.2.2) (2021-06-01)
|
|
257
147
|
|
|
258
148
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
259
149
|
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
150
|
## [2.2.1](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.2.0...@jscad/svg-deserializer@2.2.1) (2021-04-20)
|
|
265
151
|
|
|
266
152
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
267
153
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
154
|
# [2.2.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.0.0-alpha.0...@jscad/svg-deserializer@2.2.0) (2021-04-17)
|
|
273
155
|
|
|
274
|
-
|
|
275
156
|
### Bug Fixes
|
|
276
157
|
|
|
277
158
|
* **all:** V2 : several fixes for modeling ([#705](https://github.com/jscad/OpenJSCAD.org/issues/705)) ([62017a4](https://github.com/jscad/OpenJSCAD.org/commit/62017a41214169d6e000f1e0c11aaefdd68e1097))
|
|
278
159
|
* **io:** io revisited ([#714](https://github.com/jscad/OpenJSCAD.org/issues/714)) ([22f04f1](https://github.com/jscad/OpenJSCAD.org/commit/22f04f1b2894a82e24952655875e73b74727bf86))
|
|
279
160
|
|
|
280
|
-
|
|
281
161
|
### Features
|
|
282
162
|
|
|
283
163
|
* **modeling:** V2 : rename option to align and center ([#775](https://github.com/jscad/OpenJSCAD.org/issues/775)) ([c5b0f48](https://github.com/jscad/OpenJSCAD.org/commit/c5b0f48bbd980b59876d73b673a0e3bef44d2b30))
|
|
284
164
|
* **svg-deserializer:** add support for new segments option ([9bdc7f5](https://github.com/jscad/OpenJSCAD.org/commit/9bdc7f59dff8847c250c8c63a91babb1a69a03a6))
|
|
285
165
|
* **svg-deserializer:** V2 - enhance SVG deserializer for mirror transforms ([#733](https://github.com/jscad/OpenJSCAD.org/issues/733)) ([a50b584](https://github.com/jscad/OpenJSCAD.org/commit/a50b5847645009a385636852398257b12c6b0949))
|
|
286
166
|
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
167
|
# [2.1.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.0.0-alpha.0...@jscad/svg-deserializer@2.1.0) (2021-04-15)
|
|
292
168
|
|
|
293
|
-
|
|
294
169
|
### Bug Fixes
|
|
295
170
|
|
|
296
171
|
* **all:** V2 : several fixes for modeling ([#705](https://github.com/jscad/OpenJSCAD.org/issues/705)) ([62017a4](https://github.com/jscad/OpenJSCAD.org/commit/62017a41214169d6e000f1e0c11aaefdd68e1097))
|
|
297
172
|
* **io:** io revisited ([#714](https://github.com/jscad/OpenJSCAD.org/issues/714)) ([22f04f1](https://github.com/jscad/OpenJSCAD.org/commit/22f04f1b2894a82e24952655875e73b74727bf86))
|
|
298
173
|
|
|
299
|
-
|
|
300
174
|
### Features
|
|
301
175
|
|
|
302
176
|
* **modeling:** V2 : rename option to align and center ([#775](https://github.com/jscad/OpenJSCAD.org/issues/775)) ([c5b0f48](https://github.com/jscad/OpenJSCAD.org/commit/c5b0f48bbd980b59876d73b673a0e3bef44d2b30))
|
|
303
177
|
* **svg-deserializer:** add support for new segments option ([9bdc7f5](https://github.com/jscad/OpenJSCAD.org/commit/9bdc7f59dff8847c250c8c63a91babb1a69a03a6))
|
|
304
178
|
* **svg-deserializer:** V2 - enhance SVG deserializer for mirror transforms ([#733](https://github.com/jscad/OpenJSCAD.org/issues/733)) ([a50b584](https://github.com/jscad/OpenJSCAD.org/commit/a50b5847645009a385636852398257b12c6b0949))
|
|
305
179
|
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
180
|
# [2.0.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.0.0-alpha.11...@jscad/svg-deserializer@2.0.0) (2021-04-12)
|
|
311
181
|
|
|
312
182
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
313
183
|
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
184
|
# [2.0.0-alpha.11](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.0.0-alpha.10...@jscad/svg-deserializer@2.0.0-alpha.11) (2021-03-07)
|
|
319
185
|
|
|
320
|
-
|
|
321
186
|
### Features
|
|
322
187
|
|
|
323
188
|
* **modeling:** V2 : rename option to align and center ([#775](https://github.com/jscad/OpenJSCAD.org/issues/775)) ([c5b0f48](https://github.com/jscad/OpenJSCAD.org/commit/c5b0f48bbd980b59876d73b673a0e3bef44d2b30))
|
|
324
189
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
190
|
# [2.0.0-alpha.10](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.0.0-alpha.9...@jscad/svg-deserializer@2.0.0-alpha.10) (2021-02-07)
|
|
330
191
|
|
|
331
192
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
332
193
|
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
194
|
# [2.0.0-alpha.9](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.0.0-alpha.8...@jscad/svg-deserializer@2.0.0-alpha.9) (2021-01-02)
|
|
338
195
|
|
|
339
196
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
340
197
|
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
198
|
# [2.0.0-alpha.8](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.0.0-alpha.7...@jscad/svg-deserializer@2.0.0-alpha.8) (2020-12-04)
|
|
346
199
|
|
|
347
|
-
|
|
348
200
|
### Features
|
|
349
201
|
|
|
350
202
|
* **svg-deserializer:** V2 - enhance SVG deserializer for mirror transforms ([#733](https://github.com/jscad/OpenJSCAD.org/issues/733)) ([a50b584](https://github.com/jscad/OpenJSCAD.org/commit/a50b5847645009a385636852398257b12c6b0949))
|
|
351
203
|
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
204
|
# [2.0.0-alpha.7](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/svg-deserializer@2.0.0-alpha.6...@jscad/svg-deserializer@2.0.0-alpha.7) (2020-11-07)
|
|
357
205
|
|
|
358
|
-
|
|
359
206
|
### Bug Fixes
|
|
360
207
|
|
|
361
208
|
* **io:** io revisited ([#714](https://github.com/jscad/OpenJSCAD.org/issues/714)) ([22f04f1](https://github.com/jscad/OpenJSCAD.org/commit/22f04f1b2894a82e24952655875e73b74727bf86))
|
|
362
209
|
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
210
|
# [2.0.0-alpha.6](https://github.com/jscad/compare/@jscad/svg-deserializer@2.0.0-alpha.5...@jscad/svg-deserializer@2.0.0-alpha.6) (2020-10-11)
|
|
368
211
|
|
|
369
|
-
|
|
370
212
|
### Bug Fixes
|
|
371
213
|
|
|
372
214
|
* **all:** V2 : several fixes for modeling ([#705](https://github.com/jscad/issues/705)) ([62017a4](https://github.com/jscad/commit/62017a41214169d6e000f1e0c11aaefdd68e1097))
|
|
373
215
|
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
216
|
# [2.0.0-alpha.5](https://github.com/jscad/compare/@jscad/svg-deserializer@2.0.0-alpha.4...@jscad/svg-deserializer@2.0.0-alpha.5) (2020-09-29)
|
|
379
217
|
|
|
380
218
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
381
219
|
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
220
|
# [2.0.0-alpha.4](https://github.com/jscad/compare/@jscad/svg-deserializer@2.0.0-alpha.3...@jscad/svg-deserializer@2.0.0-alpha.4) (2020-09-28)
|
|
387
221
|
|
|
388
222
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
389
223
|
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
224
|
# [2.0.0-alpha.3](https://github.com/jscad/compare/@jscad/svg-deserializer@2.0.0-alpha.2...@jscad/svg-deserializer@2.0.0-alpha.3) (2020-09-19)
|
|
395
225
|
|
|
396
|
-
|
|
397
226
|
### Features
|
|
398
227
|
|
|
399
228
|
* **svg-deserializer:** add support for new segments option ([9bdc7f5](https://github.com/jscad/commit/9bdc7f59dff8847c250c8c63a91babb1a69a03a6))
|
|
400
229
|
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
230
|
# [2.0.0-alpha.2](https://github.com/jscad/compare/@jscad/svg-deserializer@2.0.0-alpha.1...@jscad/svg-deserializer@2.0.0-alpha.2) (2020-09-08)
|
|
406
231
|
|
|
407
232
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
408
233
|
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
234
|
# [2.0.0-alpha.1](https://github.com/jscad/compare/@jscad/svg-deserializer@2.0.0-alpha.0...@jscad/svg-deserializer@2.0.0-alpha.1) (2020-08-19)
|
|
414
235
|
|
|
415
236
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
416
237
|
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
238
|
# 2.0.0-alpha.0 (2020-08-13)
|
|
422
239
|
|
|
423
|
-
|
|
424
240
|
### Bug Fixes
|
|
425
241
|
|
|
426
242
|
* **colors:** colorize is now immutable & returns new geometries ([#566](https://github.com/jscad/issues/566)) ([916824c](https://github.com/jscad/commit/916824c63a0bf8896d1b6f85a82b129a013bec58))
|
|
@@ -428,101 +244,66 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
428
244
|
* **svg-deserializer:** corrected svg transforms while instantiating shapes
|
|
429
245
|
* **svg-deserializer:** corrected conversion of shapes when target is geometry
|
|
430
246
|
|
|
431
|
-
|
|
432
247
|
### Features
|
|
433
248
|
|
|
434
249
|
* **svg-deserializer:** overhaul for V2 (#463)
|
|
435
250
|
* **io:** change api to deserialize(options, source)
|
|
436
251
|
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
252
|
<a name="0.4.3"></a>
|
|
442
253
|
## [0.4.3](https://github.com/jscad/io/compare/@jscad/svg-deserializer@0.4.2...@jscad/svg-deserializer@0.4.3) (2018-11-25)
|
|
443
254
|
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
255
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
448
256
|
|
|
449
257
|
<a name="0.4.2"></a>
|
|
450
258
|
## [0.4.2](https://github.com/jscad/io/compare/@jscad/svg-deserializer@0.4.1...@jscad/svg-deserializer@0.4.2) (2018-09-02)
|
|
451
259
|
|
|
452
|
-
|
|
453
260
|
### Bug Fixes
|
|
454
261
|
|
|
455
262
|
* **svg deserializer:** fixed svg-deserializer to work with Inkscape files ([#72](https://github.com/jscad/io/issues/72)) ([f35ea5e](https://github.com/jscad/io/commit/f35ea5e))
|
|
456
263
|
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
264
|
<a name="0.4.1"></a>
|
|
461
265
|
## [0.4.1](https://github.com/jscad/io/compare/@jscad/svg-deserializer@0.4.0...@jscad/svg-deserializer@0.4.1) (2017-12-14)
|
|
462
266
|
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
267
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
467
268
|
|
|
468
269
|
<a name="0.4.0"></a>
|
|
469
270
|
# [0.4.0](https://github.com/jscad/io/compare/@jscad/svg-deserializer@0.3.0...@jscad/svg-deserializer@0.4.0) (2017-11-29)
|
|
470
271
|
|
|
471
|
-
|
|
472
272
|
### Features
|
|
473
273
|
|
|
474
274
|
* add support for a status callback for de/serialization progress ([#49](https://github.com/jscad/io/issues/49)) ([f457cdb](https://github.com/jscad/io/commit/f457cdb))
|
|
475
275
|
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
276
|
<a name="0.3.0"></a>
|
|
480
277
|
# [0.3.0](https://github.com/jscad/io/compare/@jscad/svg-deserializer@0.2.3...@jscad/svg-deserializer@0.3.0) (2017-11-14)
|
|
481
278
|
|
|
482
|
-
|
|
483
279
|
### Features
|
|
484
280
|
|
|
485
281
|
* **deserializers:** added csg output capabilities to amf & obj deserializers & basic tests ([#47](https://github.com/jscad/io/issues/47)) ([abf3040](https://github.com/jscad/io/commit/abf3040))
|
|
486
282
|
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
283
|
<a name="0.2.3"></a>
|
|
491
284
|
## [0.2.3](https://github.com/jscad/io/compare/@jscad/svg-deserializer@0.2.2...@jscad/svg-deserializer@0.2.3) (2017-11-04)
|
|
492
285
|
|
|
493
|
-
|
|
494
286
|
### Bug Fixes
|
|
495
287
|
|
|
496
288
|
* **svg transforms:** fixes weird new issue with undefined vs null transforms ([#46](https://github.com/jscad/io/issues/46)) ([4a47f00](https://github.com/jscad/io/commit/4a47f00))
|
|
497
289
|
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
290
|
<a name="0.2.2"></a>
|
|
502
291
|
## [0.2.2](https://github.com/jscad/io/compare/@jscad/svg-deserializer@0.2.1...@jscad/svg-deserializer@0.2.2) (2017-11-04)
|
|
503
292
|
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
293
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
508
294
|
|
|
509
295
|
<a name="0.2.1"></a>
|
|
510
296
|
## [0.2.1](https://github.com/jscad/io/compare/@jscad/svg-deserializer@0.2.0...@jscad/svg-deserializer@0.2.1) (2017-10-10)
|
|
511
297
|
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
298
|
**Note:** Version bump only for package @jscad/svg-deserializer
|
|
516
299
|
|
|
517
300
|
<a name="0.2.0"></a>
|
|
518
301
|
# 0.2.0 (2017-10-10)
|
|
519
302
|
|
|
520
|
-
|
|
521
303
|
### Bug Fixes
|
|
522
304
|
|
|
523
305
|
* **svg-deserializer:** m/M commands can have implicit lineTo ([#20](https://github.com/jscad/io/issues/20)) ([969d0da](https://github.com/jscad/io/commit/969d0da))
|
|
524
306
|
|
|
525
|
-
|
|
526
307
|
### Features
|
|
527
308
|
|
|
528
309
|
* **svg-deserializer:** add ability to deserialize svg data to csg objects directly ([#25](https://github.com/jscad/io/issues/25)) ([cb0ce71](https://github.com/jscad/io/commit/cb0ce71))
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jscad/svg-deserializer",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.13",
|
|
4
4
|
"description": "SVG Deserializer for JSCAD",
|
|
5
5
|
"homepage": "https://openjscad.xyz/",
|
|
6
6
|
"repository": "https://github.com/jscad/OpenJSCAD.org",
|
|
@@ -33,13 +33,13 @@
|
|
|
33
33
|
"license": "MIT",
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@jscad/array-utils": "2.1.4",
|
|
36
|
-
"@jscad/io-utils": "2.0.
|
|
37
|
-
"@jscad/modeling": "2.12.
|
|
36
|
+
"@jscad/io-utils": "2.0.32",
|
|
37
|
+
"@jscad/modeling": "2.12.7",
|
|
38
38
|
"saxes": "5.0.1"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"ava": "3.15.0",
|
|
42
42
|
"nyc": "15.1.0"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "138ee568542545f27629166bd93fff653cc3c26d"
|
|
45
45
|
}
|
package/src/shapesMapGeometry.js
CHANGED
|
@@ -133,16 +133,23 @@ const shapesMapGeometry = (obj, objectify, params) => {
|
|
|
133
133
|
const listofpaths = expandPath(obj, svgUnitsPmm, svgUnitsX, svgUnitsY, svgUnitsV, svgGroups, segments, pathSelfClosed)
|
|
134
134
|
// order is important
|
|
135
135
|
const listofentries = Object.entries(listofpaths).sort((a, b) => a[0].localeCompare(b[0]))
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
136
|
+
|
|
137
|
+
if (target === 'geom2') {
|
|
138
|
+
// concatenate all sides to a single geom2
|
|
139
|
+
const outlines = []
|
|
140
|
+
listofentries.forEach((entry) => {
|
|
141
|
+
const path = entry[1]
|
|
142
|
+
// discard unclosed paths
|
|
143
|
+
if (path.isClosed) {
|
|
144
|
+
const points = geometries.path2.toPoints(path)
|
|
145
|
+
outlines.push(points)
|
|
146
|
+
}
|
|
147
|
+
})
|
|
148
|
+
if (outlines.length === 0) return []
|
|
149
|
+
return geometries.geom2.create(outlines)
|
|
150
|
+
} else {
|
|
151
|
+
return listofentries.map((entry) => entry[1])
|
|
152
|
+
}
|
|
146
153
|
}
|
|
147
154
|
}
|
|
148
155
|
|
|
@@ -156,6 +163,18 @@ const appendPoints = (points, geometry) => {
|
|
|
156
163
|
return geometries.path2.fromPoints({ }, points)
|
|
157
164
|
}
|
|
158
165
|
|
|
166
|
+
/*
|
|
167
|
+
* Expands the given SVG path object into a set of path segments.
|
|
168
|
+
* @param {object} obj - SVG path object to expand
|
|
169
|
+
* @param {number} svgUnitsPmm - SVG units per millimeter
|
|
170
|
+
* @param {number} svgUnitsX - X-axis SVG units
|
|
171
|
+
* @param {number} svgUnitsY - Y-axis SVG units
|
|
172
|
+
* @param {number} svgUnitsV - SVG units value
|
|
173
|
+
* @param {object} svgGroups - SVG groups object
|
|
174
|
+
* @param {number} segments - number of segments per full rotation
|
|
175
|
+
* @param {boolean} pathSelfClosed - Whether the path is self-closed
|
|
176
|
+
* @returns {object} a object containing the named paths
|
|
177
|
+
*/
|
|
159
178
|
const expandPath = (obj, svgUnitsPmm, svgUnitsX, svgUnitsY, svgUnitsV, svgGroups, segments, pathSelfClosed) => {
|
|
160
179
|
const paths = {}
|
|
161
180
|
const on = 'path'
|
|
@@ -454,13 +473,13 @@ const expandPath = (obj, svgUnitsPmm, svgUnitsX, svgUnitsY, svgUnitsV, svgGroups
|
|
|
454
473
|
by = rf[1]
|
|
455
474
|
}
|
|
456
475
|
break
|
|
457
|
-
case 'h': // relative
|
|
476
|
+
case 'h': // relative Horizontal line to
|
|
458
477
|
while (pts.length >= i + 1) {
|
|
459
478
|
cx = cx + parseFloat(pts[i++])
|
|
460
479
|
paths[pathName] = appendPoints([svg2cag([cx, cy], svgUnitsPmm)], paths[pathName])
|
|
461
480
|
}
|
|
462
481
|
break
|
|
463
|
-
case 'H': // absolute
|
|
482
|
+
case 'H': // absolute Horizontal line to
|
|
464
483
|
while (pts.length >= i + 1) {
|
|
465
484
|
cx = parseFloat(pts[i++])
|
|
466
485
|
paths[pathName] = appendPoints([svg2cag([cx, cy], svgUnitsPmm)], paths[pathName])
|
|
@@ -500,7 +519,7 @@ const expandPath = (obj, svgUnitsPmm, svgUnitsX, svgUnitsY, svgUnitsV, svgGroups
|
|
|
500
519
|
pc = true
|
|
501
520
|
break
|
|
502
521
|
default:
|
|
503
|
-
console.log('Warning:
|
|
522
|
+
console.log('Warning: Unknown PATH command [' + co.c + ']')
|
|
504
523
|
break
|
|
505
524
|
}
|
|
506
525
|
|
|
@@ -2,7 +2,7 @@ const test = require('ava')
|
|
|
2
2
|
|
|
3
3
|
const deserializer = require('../src/index.js')
|
|
4
4
|
|
|
5
|
-
const { measurements } = require('@jscad/modeling')
|
|
5
|
+
const { geometries, measurements } = require('@jscad/modeling')
|
|
6
6
|
|
|
7
7
|
// deserializer
|
|
8
8
|
|
|
@@ -173,7 +173,8 @@ test('deserialize : instantiate svg (path: simple) to objects', (t) => {
|
|
|
173
173
|
let observed = deserializer.deserialize({ output: 'geometry', target: 'geom2', addMetaData: false }, sourceSvg)
|
|
174
174
|
t.is(observed.length, 1)
|
|
175
175
|
let shape = observed[0]
|
|
176
|
-
t.is(shape.sides.length,
|
|
176
|
+
t.is(shape.sides.length, 1)
|
|
177
|
+
t.true(geometries.geom2.isA(shape))
|
|
177
178
|
|
|
178
179
|
observed = deserializer.deserialize({ output: 'geometry', target: 'path', addMetaData: false }, sourceSvg)
|
|
179
180
|
t.is(observed.length, 1)
|
|
@@ -190,7 +191,8 @@ test('deserialize : instantiate svg (path: simple) to objects', (t) => {
|
|
|
190
191
|
observed = deserializer.deserialize({ output: 'geometry', target: 'geom2', addMetaData: false }, sourceSvg)
|
|
191
192
|
t.is(observed.length, 1)
|
|
192
193
|
shape = observed[0]
|
|
193
|
-
t.is(shape.sides.length,
|
|
194
|
+
t.is(shape.sides.length, 1)
|
|
195
|
+
t.true(geometries.geom2.isA(shape))
|
|
194
196
|
|
|
195
197
|
observed = deserializer.deserialize({ output: 'geometry', target: 'path', addMetaData: false }, sourceSvg)
|
|
196
198
|
t.is(observed.length, 1)
|
|
@@ -204,7 +206,8 @@ test('deserialize : instantiate svg (path: simple) to objects', (t) => {
|
|
|
204
206
|
observed = deserializer.deserialize({ output: 'geometry', target: 'geom2', addMetaData: false }, sourceSvg)
|
|
205
207
|
t.is(observed.length, 1)
|
|
206
208
|
shape = observed[0]
|
|
207
|
-
t.is(shape.sides.length,
|
|
209
|
+
t.is(shape.sides.length, 1)
|
|
210
|
+
t.true(geometries.geom2.isA(shape))
|
|
208
211
|
|
|
209
212
|
observed = deserializer.deserialize({ output: 'geometry', target: 'path', addMetaData: false }, sourceSvg)
|
|
210
213
|
t.is(observed.length, 1)
|
|
@@ -218,7 +221,8 @@ test('deserialize : instantiate svg (path: simple) to objects', (t) => {
|
|
|
218
221
|
observed = deserializer.deserialize({ output: 'geometry', target: 'geom2', addMetaData: false }, sourceSvg)
|
|
219
222
|
t.is(observed.length, 1)
|
|
220
223
|
shape = observed[0]
|
|
221
|
-
t.is(shape.sides.length,
|
|
224
|
+
t.is(shape.sides.length, 1)
|
|
225
|
+
t.true(geometries.geom2.isA(shape))
|
|
222
226
|
|
|
223
227
|
observed = deserializer.deserialize({ output: 'geometry', target: 'path', addMetaData: false }, sourceSvg)
|
|
224
228
|
t.is(observed.length, 1)
|
|
@@ -237,7 +241,11 @@ test('deserialize : instantiate svg (path: arc) to objects', (t) => {
|
|
|
237
241
|
let observed = deserializer.deserialize({ output: 'geometry', target: 'geom2', addMetaData: false }, sourceSvg)
|
|
238
242
|
t.is(observed.length, 2)
|
|
239
243
|
let shape = observed[0]
|
|
240
|
-
t.is(shape.sides.length,
|
|
244
|
+
t.is(shape.sides.length, 1)
|
|
245
|
+
t.true(geometries.geom2.isA(shape))
|
|
246
|
+
shape = observed[1]
|
|
247
|
+
t.is(shape.sides.length, 1)
|
|
248
|
+
t.true(geometries.geom2.isA(shape))
|
|
241
249
|
|
|
242
250
|
observed = deserializer.deserialize({ output: 'geometry', target: 'path', addMetaData: false }, sourceSvg)
|
|
243
251
|
t.is(observed.length, 2)
|
|
@@ -264,7 +272,8 @@ test('deserialize : instantiate svg (path: with bezier) to objects', (t) => {
|
|
|
264
272
|
let observed = deserializer.deserialize({ output: 'geometry', target: 'geom2', addMetaData: false }, sourceSvg)
|
|
265
273
|
t.is(observed.length, 1)
|
|
266
274
|
let shape = observed[0]
|
|
267
|
-
t.is(shape.sides.length,
|
|
275
|
+
t.is(shape.sides.length, 1)
|
|
276
|
+
t.true(geometries.geom2.isA(shape))
|
|
268
277
|
|
|
269
278
|
observed = deserializer.deserialize({ output: 'geometry', target: 'path', addMetaData: false }, sourceSvg)
|
|
270
279
|
t.is(observed.length, 1)
|
|
@@ -285,7 +294,8 @@ test('deserialize : instantiate svg (path: with bezier) to objects', (t) => {
|
|
|
285
294
|
observed = deserializer.deserialize({ output: 'geometry', target: 'geom2', addMetaData: false }, sourceSvg)
|
|
286
295
|
t.is(observed.length, 1)
|
|
287
296
|
shape = observed[0]
|
|
288
|
-
t.is(shape.sides.length,
|
|
297
|
+
t.is(shape.sides.length, 1)
|
|
298
|
+
t.true(geometries.geom2.isA(shape))
|
|
289
299
|
|
|
290
300
|
observed = deserializer.deserialize({ output: 'geometry', target: 'path', addMetaData: false }, sourceSvg)
|
|
291
301
|
t.is(observed.length, 1)
|
|
@@ -300,7 +310,8 @@ test('deserialize : instantiate svg (path: with bezier) to objects', (t) => {
|
|
|
300
310
|
observed = deserializer.deserialize({ output: 'geometry', target: 'geom2', addMetaData: false }, sourceSvg)
|
|
301
311
|
t.is(observed.length, 1)
|
|
302
312
|
shape = observed[0]
|
|
303
|
-
t.is(shape.sides.length,
|
|
313
|
+
t.is(shape.sides.length, 1)
|
|
314
|
+
t.true(geometries.geom2.isA(shape))
|
|
304
315
|
|
|
305
316
|
observed = deserializer.deserialize({ output: 'geometry', target: 'path', addMetaData: false }, sourceSvg)
|
|
306
317
|
t.is(observed.length, 1)
|
|
@@ -314,9 +325,7 @@ test('deserialize : instantiate svg (path: with bezier) to objects', (t) => {
|
|
|
314
325
|
</svg>`
|
|
315
326
|
|
|
316
327
|
observed = deserializer.deserialize({ output: 'geometry', target: 'geom2', addMetaData: false }, sourceSvg)
|
|
317
|
-
t.is(observed.length,
|
|
318
|
-
shape = observed[0]
|
|
319
|
-
t.is(shape.points.length, 14) // open path
|
|
328
|
+
t.is(observed.length, 0) // open path
|
|
320
329
|
|
|
321
330
|
observed = deserializer.deserialize({ output: 'geometry', target: 'path', addMetaData: false }, sourceSvg)
|
|
322
331
|
t.is(observed.length, 2)
|
|
@@ -332,9 +341,7 @@ test('deserialize : instantiate svg (path: with bezier) to objects', (t) => {
|
|
|
332
341
|
</svg>`
|
|
333
342
|
|
|
334
343
|
observed = deserializer.deserialize({ output: 'geometry', target: 'geom2', addMetaData: false }, sourceSvg)
|
|
335
|
-
t.is(observed.length,
|
|
336
|
-
shape = observed[0]
|
|
337
|
-
t.is(shape.points.length, 29) // open path
|
|
344
|
+
t.is(observed.length, 0) // open path
|
|
338
345
|
|
|
339
346
|
observed = deserializer.deserialize({ output: 'geometry', target: 'path', addMetaData: false }, sourceSvg)
|
|
340
347
|
t.is(observed.length, 1)
|
|
@@ -349,7 +356,7 @@ test('deserialize : instantiate svg (path: with bezier) to objects', (t) => {
|
|
|
349
356
|
observed = deserializer.deserialize({ output: 'geometry', target: 'geom2', addMetaData: false }, sourceSvg)
|
|
350
357
|
t.is(observed.length, 1)
|
|
351
358
|
shape = observed[0]
|
|
352
|
-
t.is(shape.sides.length,
|
|
359
|
+
t.is(shape.sides.length, 1)
|
|
353
360
|
t.deepEqual(shape.color, [1, 0, 0, 1])
|
|
354
361
|
|
|
355
362
|
observed = deserializer.deserialize({ output: 'geometry', target: 'path', addMetaData: false }, sourceSvg)
|
|
@@ -408,11 +415,10 @@ test('deserialize : instantiate svg produced by inkscape to objects', (t) => {
|
|
|
408
415
|
`
|
|
409
416
|
|
|
410
417
|
let observed = deserializer.deserialize({ filename: 'inkscape', output: 'geometry', target: 'geom2', addMetaData: false }, sourceSvg)
|
|
411
|
-
t.is(observed.length,
|
|
418
|
+
t.is(observed.length, 1)
|
|
412
419
|
let shape = observed[0]
|
|
413
|
-
t.is(shape.sides.length,
|
|
414
|
-
shape
|
|
415
|
-
t.is(shape.sides.length, 20)
|
|
420
|
+
t.is(shape.sides.length, 2)
|
|
421
|
+
t.true(geometries.geom2.isA(shape))
|
|
416
422
|
|
|
417
423
|
observed = deserializer.deserialize({ output: 'geometry', target: 'path', addMetaData: false }, sourceSvg)
|
|
418
424
|
t.is(observed.length, 2)
|
|
@@ -432,11 +438,10 @@ test('deserialize : instantiate shape with a hole to objects', (t) => {
|
|
|
432
438
|
`
|
|
433
439
|
|
|
434
440
|
let observed = deserializer.deserialize({ output: 'geometry', target: 'geom2', addMetaData: false }, sourceSvg)
|
|
435
|
-
t.is(observed.length,
|
|
441
|
+
t.is(observed.length, 1)
|
|
436
442
|
let shape = observed[0]
|
|
437
|
-
t.is(shape.sides.length,
|
|
438
|
-
shape
|
|
439
|
-
t.is(shape.sides.length, 38)
|
|
443
|
+
t.is(shape.sides.length, 2)
|
|
444
|
+
t.true(geometries.geom2.isA(shape))
|
|
440
445
|
|
|
441
446
|
observed = deserializer.deserialize({ output: 'geometry', target: 'path', addMetaData: false }, sourceSvg)
|
|
442
447
|
t.is(observed.length, 2)
|
|
@@ -456,9 +461,10 @@ test('deserialize : instantiate shape with a nested hole to objects', (t) => {
|
|
|
456
461
|
`
|
|
457
462
|
|
|
458
463
|
let observed = deserializer.deserialize({ output: 'geometry', target: 'geom2', addMetaData: false }, sourceSvg)
|
|
459
|
-
t.is(observed.length,
|
|
464
|
+
t.is(observed.length, 1)
|
|
460
465
|
let shape = observed[0]
|
|
461
|
-
t.is(shape.sides.length,
|
|
466
|
+
t.is(shape.sides.length, 4)
|
|
467
|
+
t.true(geometries.geom2.isA(shape))
|
|
462
468
|
|
|
463
469
|
observed = deserializer.deserialize({ output: 'geometry', target: 'path', addMetaData: false }, sourceSvg)
|
|
464
470
|
t.is(observed.length, 4)
|