@jscad/regl-renderer 2.6.6 → 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 +8 -184
  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,251 +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.6](https://github.com/jscad/OpenJSCAD.org/compare/@jscad/regl-renderer@2.6.5...@jscad/regl-renderer@2.6.6) (2023-04-30)
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)
7
7
 
8
- **Note:** Version bump only for package @jscad/regl-renderer
8
+ ### Features
9
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))
10
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)
11
13
 
14
+ **Note:** Version bump only for package @jscad/regl-renderer
12
15
 
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)
13
17
 
14
- ## [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)
18
+ **Note:** Version bump only for package @jscad/regl-renderer
15
19
 
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)
16
21
 
17
22
  ### Bug Fixes
18
23
 
19
24
  * **regl-renderer:** corrected rendering of overlapping transparent solid objects ([9a66b2a](https://github.com/jscad/OpenJSCAD.org/commit/9a66b2abaccb6f047c5e4c4505218e7bbac69018))
20
25
 
21
-
22
-
23
-
24
-
25
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)
26
27
 
27
28
  **Note:** Version bump only for package @jscad/regl-renderer
28
29
 
29
-
30
-
31
-
32
-
33
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)
34
31
 
35
32
  **Note:** Version bump only for package @jscad/regl-renderer
36
33
 
37
-
38
-
39
-
40
-
41
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)
42
35
 
43
36
  **Note:** Version bump only for package @jscad/regl-renderer
44
37
 
45
-
46
-
47
-
48
-
49
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)
50
39
 
51
40
  **Note:** Version bump only for package @jscad/regl-renderer
52
41
 
53
-
54
-
55
-
56
-
57
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)
58
43
 
59
-
60
44
  ### Features
61
45
 
62
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))
63
47
 
64
-
65
-
66
-
67
-
68
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)
69
49
 
70
-
71
50
  ### Bug Fixes
72
51
 
73
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))
74
53
 
75
-
76
54
  ### Performance Improvements
77
55
 
78
56
  * **modeling:** faster geom2.toOutlines ([#1064](https://github.com/jscad/OpenJSCAD.org/issues/1064)) ([5cb2f65](https://github.com/jscad/OpenJSCAD.org/commit/5cb2f652fa099593e6ec133fe879ecf8a09705e9))
79
57
 
80
-
81
-
82
-
83
-
84
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)
85
59
 
86
60
  **Note:** Version bump only for package @jscad/regl-renderer
87
61
 
88
-
89
-
90
-
91
-
92
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)
93
63
 
94
64
  **Note:** Version bump only for package @jscad/regl-renderer
95
65
 
96
-
97
-
98
-
99
-
100
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)
101
67
 
102
68
  **Note:** Version bump only for package @jscad/regl-renderer
103
69
 
104
-
105
-
106
-
107
-
108
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)
109
71
 
110
72
  **Note:** Version bump only for package @jscad/regl-renderer
111
73
 
112
-
113
-
114
-
115
-
116
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)
117
75
 
118
76
  **Note:** Version bump only for package @jscad/regl-renderer
119
77
 
120
-
121
-
122
-
123
-
124
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)
125
79
 
126
80
  **Note:** Version bump only for package @jscad/regl-renderer
127
81
 
128
-
129
-
130
-
131
-
132
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)
133
83
 
134
84
  **Note:** Version bump only for package @jscad/regl-renderer
135
85
 
136
-
137
-
138
-
139
-
140
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)
141
87
 
142
88
  **Note:** Version bump only for package @jscad/regl-renderer
143
89
 
144
-
145
-
146
-
147
-
148
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)
149
91
 
150
-
151
92
  ### Features
152
93
 
153
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))
154
95
 
155
-
156
-
157
-
158
-
159
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)
160
97
 
161
98
  **Note:** Version bump only for package @jscad/regl-renderer
162
99
 
163
-
164
-
165
-
166
-
167
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)
168
101
 
169
-
170
102
  ### Features
171
103
 
172
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))
173
105
 
174
-
175
-
176
-
177
-
178
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)
179
107
 
180
-
181
108
  ### Features
182
109
 
183
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))
184
111
 
185
-
186
-
187
-
188
-
189
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)
190
113
 
191
-
192
114
  ### Features
193
115
 
194
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))
195
117
 
196
-
197
-
198
-
199
-
200
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)
201
119
 
202
120
  **Note:** Version bump only for package @jscad/regl-renderer
203
121
 
204
-
205
-
206
-
207
-
208
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)
209
123
 
210
124
  **Note:** Version bump only for package @jscad/regl-renderer
211
125
 
212
-
213
-
214
-
215
-
216
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)
217
127
 
218
-
219
128
  ### Bug Fixes
220
129
 
221
130
  * **regl-renderer:** added reasonable defaults for drawGrid ([d64e062](https://github.com/jscad/OpenJSCAD.org/commit/d64e06228f8a92e014df3e22ea9ee48e11825420))
222
131
  * **regl-renderer:** corrected conversion of empty solids to entities, updated tests ([967fe82](https://github.com/jscad/OpenJSCAD.org/commit/967fe82ea429af14fe23a51d19099b1752ceead3))
223
132
  * **regl-renderer:** corrected determination of camera position change in orbitControls ([4f467c5](https://github.com/jscad/OpenJSCAD.org/commit/4f467c5d92132dc140db6799766f3a98716e5d68))
224
133
 
225
-
226
-
227
-
228
-
229
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)
230
135
 
231
-
232
136
  ### Features
233
137
 
234
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))
235
139
 
236
-
237
-
238
-
239
-
240
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)
241
141
 
242
142
  **Note:** Version bump only for package @jscad/regl-renderer
243
143
 
244
-
245
-
246
-
247
-
248
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)
249
145
 
250
-
251
146
  ### Bug Fixes
252
147
 
253
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))
@@ -256,13 +151,8 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
256
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))
257
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))
258
153
 
259
-
260
-
261
-
262
-
263
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)
264
155
 
265
-
266
156
  ### Bug Fixes
267
157
 
268
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))
@@ -271,143 +161,77 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
271
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))
272
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))
273
163
 
274
-
275
-
276
-
277
-
278
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)
279
165
 
280
166
  **Note:** Version bump only for package @jscad/regl-renderer
281
167
 
282
-
283
-
284
-
285
-
286
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)
287
169
 
288
170
  **Note:** Version bump only for package @jscad/regl-renderer
289
171
 
290
-
291
-
292
-
293
-
294
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)
295
173
 
296
174
  **Note:** Version bump only for package @jscad/regl-renderer
297
175
 
298
-
299
-
300
-
301
-
302
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)
303
177
 
304
178
  **Note:** Version bump only for package @jscad/regl-renderer
305
179
 
306
-
307
-
308
-
309
-
310
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)
311
181
 
312
-
313
182
  ### Bug Fixes
314
183
 
315
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))
316
185
 
317
-
318
-
319
-
320
-
321
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)
322
187
 
323
-
324
188
  ### Bug Fixes
325
189
 
326
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))
327
191
 
328
-
329
-
330
-
331
-
332
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)
333
193
 
334
-
335
194
  ### Bug Fixes
336
195
 
337
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))
338
197
 
339
-
340
-
341
-
342
-
343
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)
344
199
 
345
200
  **Note:** Version bump only for package @jscad/regl-renderer
346
201
 
347
-
348
-
349
-
350
-
351
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)
352
203
 
353
204
  **Note:** Version bump only for package @jscad/regl-renderer
354
205
 
355
-
356
-
357
-
358
-
359
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)
360
207
 
361
-
362
208
  ### Bug Fixes
363
209
 
364
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))
365
211
 
366
-
367
-
368
-
369
-
370
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)
371
213
 
372
214
  **Note:** Version bump only for package @jscad/regl-renderer
373
215
 
374
-
375
-
376
-
377
-
378
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)
379
217
 
380
218
  **Note:** Version bump only for package @jscad/regl-renderer
381
219
 
382
-
383
-
384
-
385
-
386
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)
387
221
 
388
222
  * **regl-renderer:** various fixes to renderer
389
223
 
390
-
391
-
392
-
393
-
394
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)
395
225
 
396
226
  **Note:** Version bump only for package @jscad/regl-renderer
397
227
 
398
-
399
-
400
-
401
-
402
228
  # 2.0.0-alpha.0 (2020-08-13)
403
229
 
404
-
405
230
  ### Bug Fixes
406
231
 
407
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))
408
233
  * **regl-renderer:** implemented an alternative caching scheme in render
409
234
 
410
-
411
235
  ### Features
412
236
 
413
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(