@jscad/regl-renderer 2.6.7 → 3.0.0-alpha.0

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.
Files changed (55) hide show
  1. package/CHANGELOG.md +5 -189
  2. package/README.md +21 -11
  3. package/demo-cli.js +20 -16
  4. package/demo-web.js +6 -4
  5. package/demo.es.html +236 -0
  6. package/demo.html +21 -15
  7. package/dist/jscad-regl-renderer.es.js +13 -0
  8. package/dist/jscad-regl-renderer.min.js +13 -335
  9. package/package.json +41 -16
  10. package/rollup.config.js +27 -0
  11. package/src/bound-utils/boundingBox.js +1 -2
  12. package/src/bound-utils/boundingSphere.js +4 -5
  13. package/src/bound-utils/computeBounds.js +4 -6
  14. package/src/bound-utils/computeBounds.test.js +2 -2
  15. package/src/cameras/camera.js +15 -19
  16. package/src/cameras/index.js +8 -4
  17. package/src/cameras/orthographicCamera.js +4 -6
  18. package/src/cameras/perspectiveCamera.js +7 -9
  19. package/src/controls/index.js +6 -0
  20. package/src/controls/orbitControls.js +18 -27
  21. package/src/{geometry-utils-V2 → geometry-utils-V3}/entitiesFromSolids.js +7 -9
  22. package/src/{geometry-utils-V2 → geometry-utils-V3}/entitiesFromSolids.test.js +4 -4
  23. package/src/geometry-utils-V3/geom2ToGeometries.js +57 -0
  24. package/src/{geometry-utils-V2 → geometry-utils-V3}/geom2ToGeometries.test.js +16 -12
  25. package/src/{geometry-utils-V2 → geometry-utils-V3}/geom3ToGeometries.js +3 -5
  26. package/src/{geometry-utils-V2 → geometry-utils-V3}/geom3ToGeometries.test.js +2 -2
  27. package/src/{geometry-utils-V2 → geometry-utils-V3}/path2ToGeometries.js +4 -5
  28. package/src/{geometry-utils-V2 → geometry-utils-V3}/path2ToGeometries.test.js +2 -2
  29. package/src/index.js +5 -20
  30. package/src/rendering/commands/drawAxis/index.js +2 -4
  31. package/src/rendering/commands/drawExps/drawConnector/arcGeo.js +1 -3
  32. package/src/rendering/commands/drawExps/drawConnector/index.js +5 -7
  33. package/src/rendering/commands/drawExps/drawMesh.js +2 -4
  34. package/src/rendering/commands/drawExps/drawMeshNoNormals.js +2 -4
  35. package/src/rendering/commands/drawExps/drawNormals.js +2 -4
  36. package/src/rendering/commands/drawExps/drawNormals2.js +2 -4
  37. package/src/rendering/commands/drawGrid/{index.js → makeDrawGrid.js} +2 -4
  38. package/src/rendering/commands/drawGrid/{multi.js → makeDrawMultiGrid.js} +5 -5
  39. package/src/rendering/commands/drawLines/colorOnlyShaders.js +2 -2
  40. package/src/rendering/commands/drawLines/index.js +9 -7
  41. package/src/rendering/commands/drawLines/meshShaders.js +3 -3
  42. package/src/rendering/commands/drawLines/vColorShaders.js +3 -3
  43. package/src/rendering/commands/drawMesh/colorOnlyShaders.js +2 -2
  44. package/src/rendering/commands/drawMesh/index.js +8 -7
  45. package/src/rendering/commands/drawMesh/meshShaders.js +3 -3
  46. package/src/rendering/commands/drawMesh/vColorShaders.js +3 -3
  47. package/src/rendering/commands/index.js +11 -0
  48. package/src/rendering/render.js +10 -10
  49. package/src/rendering/renderContext.js +2 -4
  50. package/src/rendering/renderDefaults.js +9 -11
  51. package/src/utils.js +3 -6
  52. package/src/geometry-utils-V1/cagToGeometries.js +0 -52
  53. package/src/geometry-utils-V1/csgToGeometries.js +0 -220
  54. package/src/geometry-utils-V1/entitiesFromSolids.js +0 -75
  55. package/src/geometry-utils-V2/geom2ToGeometries.js +0 -66
package/CHANGELOG.md CHANGED
@@ -3,259 +3,146 @@
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.6.7](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.6.6...@jscad/regl-renderer@2.6.7) (2023-06-27)
7
-
8
- **Note:** Version bump only for package @jscad/regl-renderer
6
+ # [3.0.0-alpha.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.6.3...@jscad/regl-renderer@3.0.0-alpha.0) (2023-10-09)
9
7
 
8
+ ### Features
10
9
 
10
+ * **regl-renderer:** added rollup configuration to create ES6 bundle, adjusted imports and exports ([#1259](https://github.com/jscad/OpenJSCAD.org/issues/1259)) ([47a66bc](https://github.com/jscad/OpenJSCAD.org/commit/47a66bc07a137a748ce8571ea5d043ebaab9418d))
11
11
 
12
+ ## [2.6.7](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.6.6...@jscad/regl-renderer@2.6.7) (2023-06-27)
12
13
 
14
+ **Note:** Version bump only for package @jscad/regl-renderer
13
15
 
14
16
  ## [2.6.6](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.6.5...@jscad/regl-renderer@2.6.6) (2023-04-30)
15
17
 
16
18
  **Note:** Version bump only for package @jscad/regl-renderer
17
19
 
18
-
19
-
20
-
21
-
22
20
  ## [2.6.5](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.6.4...@jscad/regl-renderer@2.6.5) (2023-01-09)
23
21
 
24
-
25
22
  ### Bug Fixes
26
23
 
27
24
  * **regl-renderer:** corrected rendering of overlapping transparent solid objects ([9a66b2a](https://github.com/jscad/OpenJSCAD.org/commit/9a66b2abaccb6f047c5e4c4505218e7bbac69018))
28
25
 
29
-
30
-
31
-
32
-
33
26
  ## [2.6.4](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.6.3...@jscad/regl-renderer@2.6.4) (2022-11-26)
34
27
 
35
28
  **Note:** Version bump only for package @jscad/regl-renderer
36
29
 
37
-
38
-
39
-
40
-
41
30
  ## [2.6.3](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.6.2...@jscad/regl-renderer@2.6.3) (2022-08-21)
42
31
 
43
32
  **Note:** Version bump only for package @jscad/regl-renderer
44
33
 
45
-
46
-
47
-
48
-
49
34
  ## [2.6.2](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.6.1...@jscad/regl-renderer@2.6.2) (2022-07-17)
50
35
 
51
36
  **Note:** Version bump only for package @jscad/regl-renderer
52
37
 
53
-
54
-
55
-
56
-
57
38
  ## [2.6.1](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.6.0...@jscad/regl-renderer@2.6.1) (2022-06-12)
58
39
 
59
40
  **Note:** Version bump only for package @jscad/regl-renderer
60
41
 
61
-
62
-
63
-
64
-
65
42
  # [2.6.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.5.9...@jscad/regl-renderer@2.6.0) (2022-05-15)
66
43
 
67
-
68
44
  ### Features
69
45
 
70
46
  * **regl-renderer:** added support for multicolor lines ([#1060](https://github.com/jscad/OpenJSCAD.org/issues/1060)) ([d5eb65b](https://github.com/jscad/OpenJSCAD.org/commit/d5eb65b298afcabd4231236c3aa5d5cc092db8d4))
71
47
 
72
-
73
-
74
-
75
-
76
48
  ## [2.5.9](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.5.8...@jscad/regl-renderer@2.5.9) (2022-04-24)
77
49
 
78
-
79
50
  ### Bug Fixes
80
51
 
81
52
  * **regl-render:** removed unnecessary preventDefault in demo.html ([#1068](https://github.com/jscad/OpenJSCAD.org/issues/1068)) ([b2ff7c3](https://github.com/jscad/OpenJSCAD.org/commit/b2ff7c33cd3a8a0fc242b42f5e4bb2690eaef081))
82
53
 
83
-
84
54
  ### Performance Improvements
85
55
 
86
56
  * **modeling:** faster geom2.toOutlines ([#1064](https://github.com/jscad/OpenJSCAD.org/issues/1064)) ([5cb2f65](https://github.com/jscad/OpenJSCAD.org/commit/5cb2f652fa099593e6ec133fe879ecf8a09705e9))
87
57
 
88
-
89
-
90
-
91
-
92
58
  ## [2.5.8](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.5.7...@jscad/regl-renderer@2.5.8) (2022-04-03)
93
59
 
94
60
  **Note:** Version bump only for package @jscad/regl-renderer
95
61
 
96
-
97
-
98
-
99
-
100
62
  ## [2.5.7](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.5.6...@jscad/regl-renderer@2.5.7) (2022-04-03)
101
63
 
102
64
  **Note:** Version bump only for package @jscad/regl-renderer
103
65
 
104
-
105
-
106
-
107
-
108
66
  ## [2.5.6](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.5.5...@jscad/regl-renderer@2.5.6) (2022-03-13)
109
67
 
110
68
  **Note:** Version bump only for package @jscad/regl-renderer
111
69
 
112
-
113
-
114
-
115
-
116
70
  ## [2.5.5](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.5.4...@jscad/regl-renderer@2.5.5) (2022-03-06)
117
71
 
118
72
  **Note:** Version bump only for package @jscad/regl-renderer
119
73
 
120
-
121
-
122
-
123
-
124
74
  ## [2.5.4](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.5.3...@jscad/regl-renderer@2.5.4) (2022-02-19)
125
75
 
126
76
  **Note:** Version bump only for package @jscad/regl-renderer
127
77
 
128
-
129
-
130
-
131
-
132
78
  ## [2.5.3](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.5.2...@jscad/regl-renderer@2.5.3) (2021-12-26)
133
79
 
134
80
  **Note:** Version bump only for package @jscad/regl-renderer
135
81
 
136
-
137
-
138
-
139
-
140
82
  ## [2.5.2](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.5.1...@jscad/regl-renderer@2.5.2) (2021-12-11)
141
83
 
142
84
  **Note:** Version bump only for package @jscad/regl-renderer
143
85
 
144
-
145
-
146
-
147
-
148
86
  ## [2.5.1](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.5.0...@jscad/regl-renderer@2.5.1) (2021-11-07)
149
87
 
150
88
  **Note:** Version bump only for package @jscad/regl-renderer
151
89
 
152
-
153
-
154
-
155
-
156
90
  # [2.5.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.4.1...@jscad/regl-renderer@2.5.0) (2021-10-17)
157
91
 
158
-
159
92
  ### Features
160
93
 
161
94
  * **web:** changed default serialize to false, eliminating JSON serialize/deserialize ([#928](https://github.com/jscad/OpenJSCAD.org/issues/928)) ([b29993a](https://github.com/jscad/OpenJSCAD.org/commit/b29993a8fd3da3bd43a5f871edae4c60d7f56fc7))
162
95
 
163
-
164
-
165
-
166
-
167
96
  ## [2.4.1](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.4.0...@jscad/regl-renderer@2.4.1) (2021-10-04)
168
97
 
169
98
  **Note:** Version bump only for package @jscad/regl-renderer
170
99
 
171
-
172
-
173
-
174
-
175
100
  # [2.4.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.3.0...@jscad/regl-renderer@2.4.0) (2021-09-27)
176
101
 
177
-
178
102
  ### Features
179
103
 
180
104
  * **regl-renderer:** enhanced rendering to use the matrix as provided with the geometry ([#871](https://github.com/jscad/OpenJSCAD.org/issues/871)) ([40802af](https://github.com/jscad/OpenJSCAD.org/commit/40802afeb9a2a45cf3eb4f1b9dc774b8670d8259))
181
105
 
182
-
183
-
184
-
185
-
186
106
  # [2.3.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.2.0...@jscad/regl-renderer@2.3.0) (2021-09-09)
187
107
 
188
-
189
108
  ### Features
190
109
 
191
110
  * **regl-renderer:** typescript definitions and generator. ([#801](https://github.com/jscad/OpenJSCAD.org/issues/801)) ([1616876](https://github.com/jscad/OpenJSCAD.org/commit/16168761c53bbb6ffb604aa69c9c80dcc13eaad3))
192
111
 
193
-
194
-
195
-
196
-
197
112
  # [2.2.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.1.3...@jscad/regl-renderer@2.2.0) (2021-06-20)
198
113
 
199
-
200
114
  ### Features
201
115
 
202
116
  * **regl-renderer:** added new command drawLines, and adjusted demos ([#863](https://github.com/jscad/OpenJSCAD.org/issues/863)) ([02b5247](https://github.com/jscad/OpenJSCAD.org/commit/02b524775165f743b1f0bcecce92a0f7784bb89b))
203
117
 
204
-
205
-
206
-
207
-
208
118
  ## [2.1.3](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.1.2...@jscad/regl-renderer@2.1.3) (2021-06-11)
209
119
 
210
120
  **Note:** Version bump only for package @jscad/regl-renderer
211
121
 
212
-
213
-
214
-
215
-
216
122
  ## [2.1.2](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.1.1...@jscad/regl-renderer@2.1.2) (2021-06-01)
217
123
 
218
124
  **Note:** Version bump only for package @jscad/regl-renderer
219
125
 
220
-
221
-
222
-
223
-
224
126
  ## [2.1.1](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.1.0...@jscad/regl-renderer@2.1.1) (2021-05-16)
225
127
 
226
-
227
128
  ### Bug Fixes
228
129
 
229
130
  * **regl-renderer:** added reasonable defaults for drawGrid ([d64e062](https://github.com/jscad/OpenJSCAD.org/commit/d64e06228f8a92e014df3e22ea9ee48e11825420))
230
131
  * **regl-renderer:** corrected conversion of empty solids to entities, updated tests ([967fe82](https://github.com/jscad/OpenJSCAD.org/commit/967fe82ea429af14fe23a51d19099b1752ceead3))
231
132
  * **regl-renderer:** corrected determination of camera position change in orbitControls ([4f467c5](https://github.com/jscad/OpenJSCAD.org/commit/4f467c5d92132dc140db6799766f3a98716e5d68))
232
133
 
233
-
234
-
235
-
236
-
237
134
  # [2.1.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.3...@jscad/regl-renderer@2.1.0) (2021-04-30)
238
135
 
239
-
240
136
  ### Features
241
137
 
242
138
  * **regl-renderer:** refactored and corrected conversions of solids to entities, supporting HUGE solids ([#797](https://github.com/jscad/OpenJSCAD.org/issues/797)) ([f8baa22](https://github.com/jscad/OpenJSCAD.org/commit/f8baa222e89ac9357c795620b7f21341e202ad74))
243
139
 
244
-
245
-
246
-
247
-
248
140
  ## [2.0.3](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.2...@jscad/regl-renderer@2.0.3) (2021-04-20)
249
141
 
250
142
  **Note:** Version bump only for package @jscad/regl-renderer
251
143
 
252
-
253
-
254
-
255
-
256
144
  ## [2.0.2](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.0...@jscad/regl-renderer@2.0.2) (2021-04-17)
257
145
 
258
-
259
146
  ### Bug Fixes
260
147
 
261
148
  * **all:** support sparse arrays from main() ([#672](https://github.com/jscad/OpenJSCAD.org/issues/672)) ([209961d](https://github.com/jscad/OpenJSCAD.org/commit/209961d41ebf77373d427a7986934d195780f118))
@@ -264,13 +151,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
264
151
  * **regl-renderer:** corrected zoomToFit for 2D geometries ([#793](https://github.com/jscad/OpenJSCAD.org/issues/793)) ([2a05d3e](https://github.com/jscad/OpenJSCAD.org/commit/2a05d3e9b380e8782148c5d158c40715d6af2cd8))
265
152
  * **regl-renderer:** variable distance in pan controls ([#735](https://github.com/jscad/OpenJSCAD.org/issues/735)) ([9ad661c](https://github.com/jscad/OpenJSCAD.org/commit/9ad661c44cb87ee6ae58f20a69eaad5fd83a05a6))
266
153
 
267
-
268
-
269
-
270
-
271
154
  ## [2.0.1](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.0...@jscad/regl-renderer@2.0.1) (2021-04-15)
272
155
 
273
-
274
156
  ### Bug Fixes
275
157
 
276
158
  * **all:** support sparse arrays from main() ([#672](https://github.com/jscad/OpenJSCAD.org/issues/672)) ([209961d](https://github.com/jscad/OpenJSCAD.org/commit/209961d41ebf77373d427a7986934d195780f118))
@@ -279,143 +161,77 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
279
161
  * **regl-renderer:** corrected zoomToFit for 2D geometries ([#793](https://github.com/jscad/OpenJSCAD.org/issues/793)) ([2a05d3e](https://github.com/jscad/OpenJSCAD.org/commit/2a05d3e9b380e8782148c5d158c40715d6af2cd8))
280
162
  * **regl-renderer:** variable distance in pan controls ([#735](https://github.com/jscad/OpenJSCAD.org/issues/735)) ([9ad661c](https://github.com/jscad/OpenJSCAD.org/commit/9ad661c44cb87ee6ae58f20a69eaad5fd83a05a6))
281
163
 
282
-
283
-
284
-
285
-
286
164
  # [2.0.0](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.13...@jscad/regl-renderer@2.0.0) (2021-04-12)
287
165
 
288
166
  **Note:** Version bump only for package @jscad/regl-renderer
289
167
 
290
-
291
-
292
-
293
-
294
168
  # [2.0.0-alpha.13](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.12...@jscad/regl-renderer@2.0.0-alpha.13) (2021-03-07)
295
169
 
296
170
  **Note:** Version bump only for package @jscad/regl-renderer
297
171
 
298
-
299
-
300
-
301
-
302
172
  # [2.0.0-alpha.12](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.11...@jscad/regl-renderer@2.0.0-alpha.12) (2021-02-07)
303
173
 
304
174
  **Note:** Version bump only for package @jscad/regl-renderer
305
175
 
306
-
307
-
308
-
309
-
310
176
  # [2.0.0-alpha.11](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.10...@jscad/regl-renderer@2.0.0-alpha.11) (2021-01-02)
311
177
 
312
178
  **Note:** Version bump only for package @jscad/regl-renderer
313
179
 
314
-
315
-
316
-
317
-
318
180
  # [2.0.0-alpha.10](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.9...@jscad/regl-renderer@2.0.0-alpha.10) (2020-12-04)
319
181
 
320
-
321
182
  ### Bug Fixes
322
183
 
323
184
  * **regl-renderer:** variable distance in pan controls ([#735](https://github.com/jscad/OpenJSCAD.org/issues/735)) ([9ad661c](https://github.com/jscad/OpenJSCAD.org/commit/9ad661c44cb87ee6ae58f20a69eaad5fd83a05a6))
324
185
 
325
-
326
-
327
-
328
-
329
186
  # [2.0.0-alpha.9](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.8...@jscad/regl-renderer@2.0.0-alpha.9) (2020-11-07)
330
187
 
331
-
332
188
  ### Bug Fixes
333
189
 
334
190
  * **regl-renderer:** Changes to improve regl-renderer ([#722](https://github.com/jscad/OpenJSCAD.org/issues/722)) ([7bcc689](https://github.com/jscad/OpenJSCAD.org/commit/7bcc689e3d36cfbc3ac6f9b4c3822a72d54a996e))
335
191
 
336
-
337
-
338
-
339
-
340
192
  # [2.0.0-alpha.8](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.7...@jscad/regl-renderer@2.0.0-alpha.8) (2020-10-11)
341
193
 
342
-
343
194
  ### Bug Fixes
344
195
 
345
196
  * **all:** V2 : several fixes for modeling ([#705](https://github.com/jscad/OpenJSCAD.org/issues/705)) ([62017a4](https://github.com/jscad/OpenJSCAD.org/commit/62017a41214169d6e000f1e0c11aaefdd68e1097))
346
197
 
347
-
348
-
349
-
350
-
351
198
  # [2.0.0-alpha.7](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.6...@jscad/regl-renderer@2.0.0-alpha.7) (2020-09-29)
352
199
 
353
200
  **Note:** Version bump only for package @jscad/regl-renderer
354
201
 
355
-
356
-
357
-
358
-
359
202
  # [2.0.0-alpha.6](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.5...@jscad/regl-renderer@2.0.0-alpha.6) (2020-09-28)
360
203
 
361
204
  **Note:** Version bump only for package @jscad/regl-renderer
362
205
 
363
-
364
-
365
-
366
-
367
206
  # [2.0.0-alpha.5](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.4...@jscad/regl-renderer@2.0.0-alpha.5) (2020-09-19)
368
207
 
369
-
370
208
  ### Bug Fixes
371
209
 
372
210
  * **all:** support sparse arrays from main() ([#672](https://github.com/jscad/OpenJSCAD.org/issues/672)) ([209961d](https://github.com/jscad/OpenJSCAD.org/commit/209961d41ebf77373d427a7986934d195780f118))
373
211
 
374
-
375
-
376
-
377
-
378
212
  # [2.0.0-alpha.4](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.3...@jscad/regl-renderer@2.0.0-alpha.4) (2020-09-08)
379
213
 
380
214
  **Note:** Version bump only for package @jscad/regl-renderer
381
215
 
382
-
383
-
384
-
385
-
386
216
  # [2.0.0-alpha.3](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.2...@jscad/regl-renderer@2.0.0-alpha.3) (2020-09-02)
387
217
 
388
218
  **Note:** Version bump only for package @jscad/regl-renderer
389
219
 
390
-
391
-
392
-
393
-
394
220
  # [2.0.0-alpha.2](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.1...@jscad/regl-renderer@2.0.0-alpha.2) (2020-08-26)
395
221
 
396
222
  * **regl-renderer:** various fixes to renderer
397
223
 
398
-
399
-
400
-
401
-
402
224
  # [2.0.0-alpha.1](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.0.0-alpha.0...@jscad/regl-renderer@2.0.0-alpha.1) (2020-08-19)
403
225
 
404
226
  **Note:** Version bump only for package @jscad/regl-renderer
405
227
 
406
-
407
-
408
-
409
-
410
228
  # 2.0.0-alpha.0 (2020-08-13)
411
229
 
412
-
413
230
  ### Bug Fixes
414
231
 
415
232
  * **regl-renderer:** small tweaks and fixes for V2 ([#484](https://github.com/jscad/OpenJSCAD.org/issues/484)) ([ee50200](https://github.com/jscad/OpenJSCAD.org/commit/ee50200bfcacd8078fa6f1fd73f6cd866afce5ed))
416
233
  * **regl-renderer:** implemented an alternative caching scheme in render
417
234
 
418
-
419
235
  ### Features
420
236
 
421
237
  * **regl-renderer:** Overhaul and V2 groundwork ([#425](https://github.com/jscad/OpenJSCAD.org/issues/425)) ([7ccc789](https://github.com/jscad/OpenJSCAD.org/commit/7ccc7898ddf98f0cf9425a67a8ffdf79ebb82b2a))
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  [![License](https://img.shields.io/github/license/jscad/OpenJSCAD.org)](https://github.com/jscad/OpenJSCAD.org/blob/master/LICENSE)
10
10
 
11
11
  [![User Group](https://img.shields.io/badge/maintained%20by-user%20group-blue)](https://openjscad.nodebb.com/)
12
- [![Lerna](https://img.shields.io/badge/maintained%20with-lerna-blue)](https://lerna.js.org/)
12
+ [![lerna--lite](https://img.shields.io/badge/maintained%20with-lerna--lite-e137ff)](https://github.com/ghiscoding/lerna-lite)
13
13
  [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-blue)](https://standardjs.com)
14
14
 
15
15
  [![Backers](https://img.shields.io/opencollective/backers/openjscad)](https://opencollective.com/openjscad)
@@ -32,40 +32,50 @@ npm install @jscad/regl-renderer
32
32
  ```
33
33
 
34
34
  In addition this package is hosted at [UNPKG](https://unpkg.com/), and can be imported directly into webpages.
35
-
36
35
  ```
37
- <script language="javascript" src="https://unpkg.com/@jscad/regl-renderer"</script>
36
+ <script type="module" id="MODELING">
37
+ import { cameras, commands, controls, entitiesFromSolids, prepareRender } from "./dist/jscad-regl-renderer.es.js"
38
+
39
+ ... YOUR CODE
40
+ </script>
38
41
  ```
39
42
 
40
43
  ## Usage
41
44
 
42
- ### Node.js (headless)
45
+ ### Node.js (HEADLESS)
43
46
 
44
47
  Install the following packages manually.
45
48
 
46
49
  NOTE: There are issues with continous integration testing, so 'gl' is not installed initially.
47
50
 
48
51
  ```
49
- npm install gl
52
+ pnpm install gl
50
53
  ```
51
54
 
52
- Try the demo by running ```npm run demo-cli```.
55
+ Try the demo by running ```pnpm run demo-cli```.
53
56
 
54
57
  If all goes well you should end up with an image (test.png) that renders the demo design.
55
58
 
56
- The demo code can be found in 'demo-cli.js'
59
+ The source code of the demo can be found in 'demo-cli.js'
57
60
 
58
61
  ### Browsers
59
62
 
60
- From a browser, try opening the file 'demo.html'. This should show the demo design.
63
+ This module has been tested using several browsers, includig Firefox, Chrome, Safari, etc.
64
+ For an exmple of how to use the module, please see 'demo.es.html'
65
+
66
+ NOTE: 'demo.es.html' cannot be opened from the local file system. This is due to CORS security limitiations. See the next section.
61
67
 
62
68
  ### Developers
63
69
 
64
- Run the development web server using ```npm run dev```, then open the URL shown.
70
+ Run the development web server using ```pnpm run dev```, then open the URL shown using any browser.
71
+ From the index of files, select 'demo.es.html'.
72
+
73
+ If all goes well you should end up with a web page that displays the demo design (a few solids).
74
+ The standard mouse controls are also available for rotation, etc.
65
75
 
66
- If all goes well you should end up with a web page with a rotating camera (no mouse controls) that displays the demo design (a few solids).
76
+ After making changes, just reload the web page.
67
77
 
68
- After making changes, all tests must pass. Run ```npm test```
78
+ If making changes, please make sure that all tests must pass. Run ```pnpm test```
69
79
 
70
80
  ## License
71
81
 
package/demo-cli.js CHANGED
@@ -1,12 +1,16 @@
1
- const { writeContextToFile } = require('@jscad/img-utils')
1
+ import gl from 'gl'
2
2
 
3
- const { prepareRender, drawCommands, cameras, entitiesFromSolids } = require('./src') // replace this with the correct import
3
+ import { colors, primitives, booleans } from '@jscad/modeling'
4
+
5
+ import { writeContextToFile } from '@jscad/img-utils'
6
+
7
+ import { prepareRender, commands, cameras, entitiesFromSolids } from './dist/jscad-regl-renderer.es.js'
4
8
 
5
9
  // setup demo solids data
6
10
  const demoSolids = (parameters) => {
7
- const { colorize } = require('@jscad/modeling').colors
8
- const { cube, cuboid, line, sphere, star } = require('@jscad/modeling').primitives
9
- const { intersect, subtract } = require('@jscad/modeling').booleans
11
+ const { colorize } = colors
12
+ const { cube, cuboid, line, sphere, star } = primitives
13
+ const { intersect, subtract } = booleans
10
14
 
11
15
  const logo = [
12
16
  colorize([1.0, 0.4, 1.0], subtract(
@@ -30,8 +34,8 @@ const demoSolids = (parameters) => {
30
34
  [0, 1, 0],
31
35
  [0, 0, 0.7]
32
36
  ]
33
- star2D.sides.forEach((side, i) => {
34
- if (i >= 2) side.color = colorChange[i % colorChange.length]
37
+ star2D.outlines.forEach((outline, i) => {
38
+ outline.color = colorChange[i % colorChange.length]
35
39
  })
36
40
 
37
41
  return [transpCube, star2D, line2D, ...logo]
@@ -45,7 +49,7 @@ const params = {
45
49
  const { width, height } = params
46
50
 
47
51
  // create webgl context
48
- const gl = require('gl')(width, height)
52
+ const context = gl(width, height)
49
53
 
50
54
  // process entities and inject extras
51
55
  const entities = entitiesFromSolids({}, demoSolids({ scale: 1 }))
@@ -57,14 +61,14 @@ perspectiveCamera.setProjection(camera, camera, { width, height })
57
61
  perspectiveCamera.update(camera, camera)
58
62
 
59
63
  const options = {
60
- glOptions: { gl },
64
+ glOptions: { gl: context },
61
65
  camera,
62
66
  drawCommands: {
63
67
  // draw commands bootstrap themselves the first time they are run
64
- drawAxis: drawCommands.drawAxis,
65
- drawGrid: drawCommands.drawGrid,
66
- drawLines: drawCommands.drawLines,
67
- drawMesh: drawCommands.drawMesh
68
+ drawAxis: commands.drawAxis,
69
+ drawGrid: commands.drawGrid,
70
+ drawLines: commands.drawLines,
71
+ drawMesh: commands.drawMesh
68
72
  },
69
73
  rendering: {
70
74
  background: [1, 1, 1, 1],
@@ -109,9 +113,9 @@ const options = {
109
113
  ]
110
114
  }
111
115
 
112
- // prepare
116
+ // render the contents
113
117
  const render = prepareRender(options)
114
- // do the actual render
115
118
  render(options)
119
+
116
120
  // output to file
117
- writeContextToFile(gl, width, height, 4, './test.png')
121
+ writeContextToFile(context, width, height, 4, './test.png')
package/demo-web.js CHANGED
@@ -1,10 +1,12 @@
1
- const { prepareRender, drawCommands, cameras, entitiesFromSolids } = require('./src')
1
+ import { prepareRender, drawCommands, cameras, entitiesFromSolids } from './src/index.js'
2
+
3
+ import { colors, primitives, booleans } from '@jscad/modeling'
2
4
 
3
5
  // setup demo solids data
4
6
  const demoSolids = (parameters) => {
5
- const { colorize } = require('@jscad/modeling').colors
6
- const { cube, cuboid, line, sphere, star } = require('@jscad/modeling').primitives
7
- const { intersect, subtract } = require('@jscad/modeling').booleans
7
+ const { colorize } = colors
8
+ const { cube, cuboid, line, sphere, star } = primitives
9
+ const { intersect, subtract } = booleans
8
10
 
9
11
  const logo = [
10
12
  colorize([1.0, 0.4, 1.0], subtract(