@pie-element/graphing-solution-set 6.4.0-beta.7 → 7.0.0-next.20261002094057

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 (100) hide show
  1. package/author.js +2 -0
  2. package/configure.js +2 -0
  3. package/controller.js +1 -0
  4. package/dist/author/configure.d.ts +26 -0
  5. package/dist/author/configure.js +190 -0
  6. package/dist/author/correct-response.d.ts +33 -0
  7. package/dist/author/correct-response.js +206 -0
  8. package/dist/author/defaults.d.ts +238 -0
  9. package/dist/author/defaults.js +339 -0
  10. package/dist/author/graphing-config.d.ts +33 -0
  11. package/dist/author/graphing-config.js +237 -0
  12. package/dist/author/index.d.ts +63 -0
  13. package/dist/author/index.js +95 -0
  14. package/dist/author/utils.d.ts +46 -0
  15. package/dist/author/utils.js +474 -0
  16. package/dist/browser/alert-dialog-mARgEnYR.js +50672 -0
  17. package/dist/browser/alert-dialog-mARgEnYR.js.map +1 -0
  18. package/dist/browser/assets/Symbola-4c507403.woff2 +0 -0
  19. package/dist/browser/author/index.js +3833 -0
  20. package/dist/browser/author/index.js.map +1 -0
  21. package/dist/browser/browser-bbrzkX59.js +352 -0
  22. package/dist/browser/browser-bbrzkX59.js.map +1 -0
  23. package/dist/browser/controller/index.js +193 -0
  24. package/dist/browser/controller/index.js.map +1 -0
  25. package/dist/browser/delivery/index.js +781 -0
  26. package/dist/browser/delivery/index.js.map +1 -0
  27. package/dist/browser/editor-runtime/alert-dialog-1f82g6Ih.js +34263 -0
  28. package/dist/browser/editor-runtime/alert-dialog-1f82g6Ih.js.map +1 -0
  29. package/dist/browser/editor-runtime/assets/Symbola-4c507403.woff2 +0 -0
  30. package/dist/browser/editor-runtime/author/index.js +3833 -0
  31. package/dist/browser/editor-runtime/author/index.js.map +1 -0
  32. package/dist/browser/editor-runtime/browser-d5JHIrvC.js +352 -0
  33. package/dist/browser/editor-runtime/browser-d5JHIrvC.js.map +1 -0
  34. package/dist/browser/editor-runtime/controller/index.js +193 -0
  35. package/dist/browser/editor-runtime/controller/index.js.map +1 -0
  36. package/dist/browser/editor-runtime/delivery/index.js +781 -0
  37. package/dist/browser/editor-runtime/delivery/index.js.map +1 -0
  38. package/dist/controller/defaults.d.ts +64 -0
  39. package/dist/controller/defaults.js +54 -0
  40. package/dist/controller/index.d.ts +24 -0
  41. package/dist/controller/index.js +110 -0
  42. package/dist/controller/utils.d.ts +20 -0
  43. package/dist/controller/utils.js +39 -0
  44. package/dist/delivery/index.d.ts +22 -0
  45. package/dist/delivery/index.js +62 -0
  46. package/dist/delivery/main.d.ts +31 -0
  47. package/dist/delivery/main.js +198 -0
  48. package/dist/delivery/utils.d.ts +12 -0
  49. package/dist/delivery/utils.js +220 -0
  50. package/dist/graphing-solution-set.css +2 -0
  51. package/dist/index.d.ts +1 -0
  52. package/dist/index.iife.d.ts +8 -0
  53. package/dist/index.iife.js +369 -0
  54. package/dist/index.js +2 -0
  55. package/dist/runtime-support.d.ts +12 -0
  56. package/dist/runtime-support.js +12 -0
  57. package/package.json +94 -23
  58. package/CHANGELOG.json +0 -1
  59. package/CHANGELOG.md +0 -899
  60. package/LICENSE.md +0 -5
  61. package/README.md +0 -20
  62. package/configure/CHANGELOG.json +0 -1
  63. package/configure/CHANGELOG.md +0 -859
  64. package/configure/lib/configure.js +0 -312
  65. package/configure/lib/configure.js.map +0 -1
  66. package/configure/lib/correct-response.js +0 -435
  67. package/configure/lib/correct-response.js.map +0 -1
  68. package/configure/lib/defaults.js +0 -357
  69. package/configure/lib/defaults.js.map +0 -1
  70. package/configure/lib/graphing-config.js +0 -408
  71. package/configure/lib/graphing-config.js.map +0 -1
  72. package/configure/lib/index.js +0 -167
  73. package/configure/lib/index.js.map +0 -1
  74. package/configure/lib/utils.js +0 -630
  75. package/configure/lib/utils.js.map +0 -1
  76. package/configure/package.json +0 -29
  77. package/controller/CHANGELOG.json +0 -1
  78. package/controller/CHANGELOG.md +0 -715
  79. package/controller/lib/defaults.js +0 -69
  80. package/controller/lib/defaults.js.map +0 -1
  81. package/controller/lib/index.js +0 -351
  82. package/controller/lib/index.js.map +0 -1
  83. package/controller/lib/utils.js +0 -212
  84. package/controller/lib/utils.js.map +0 -1
  85. package/controller/package.json +0 -22
  86. package/demo-gss.gif +0 -0
  87. package/docs/config-schema.json +0 -1560
  88. package/docs/config-schema.json.md +0 -1114
  89. package/docs/demo/config.js +0 -8
  90. package/docs/demo/generate.js +0 -54
  91. package/docs/demo/index.html +0 -1
  92. package/docs/demo/session.js +0 -6
  93. package/docs/pie-schema.json +0 -1800
  94. package/docs/pie-schema.json.md +0 -952
  95. package/lib/index.js +0 -165
  96. package/lib/index.js.map +0 -1
  97. package/lib/main.js +0 -355
  98. package/lib/main.js.map +0 -1
  99. package/lib/utils.js +0 -515
  100. package/lib/utils.js.map +0 -1
@@ -0,0 +1,474 @@
1
+ import { isEqual as e } from "@pie-element/shared-lodash";
2
+ //#region src/author/utils.ts
3
+ var t = [
4
+ .01,
5
+ .02,
6
+ .04,
7
+ .05,
8
+ .0625,
9
+ .1,
10
+ .125,
11
+ .2,
12
+ .25,
13
+ .5,
14
+ 1,
15
+ 2,
16
+ 3,
17
+ 4,
18
+ 5,
19
+ 8,
20
+ 10,
21
+ 12,
22
+ 15,
23
+ 20,
24
+ 40,
25
+ 50,
26
+ 64,
27
+ 100,
28
+ 500,
29
+ 1e3
30
+ ], n = [
31
+ .01,
32
+ .02,
33
+ .05,
34
+ .1,
35
+ .2,
36
+ .25,
37
+ .5,
38
+ 1,
39
+ 2,
40
+ 5,
41
+ 10,
42
+ 20,
43
+ 50,
44
+ 100,
45
+ 500,
46
+ 1e3
47
+ ], r = {
48
+ .01: [
49
+ 0,
50
+ .01,
51
+ .02,
52
+ .04,
53
+ .05,
54
+ .1
55
+ ],
56
+ .02: [
57
+ 0,
58
+ .02,
59
+ .04,
60
+ .1
61
+ ],
62
+ .04: [
63
+ 0,
64
+ .04,
65
+ .08,
66
+ .16,
67
+ .2
68
+ ],
69
+ .05: [
70
+ 0,
71
+ .05,
72
+ .1,
73
+ .2,
74
+ .25
75
+ ],
76
+ .0625: [
77
+ 0,
78
+ .0625,
79
+ .125,
80
+ .25,
81
+ .5
82
+ ],
83
+ .1: [
84
+ 0,
85
+ .1,
86
+ .2,
87
+ .4,
88
+ .5,
89
+ 1
90
+ ],
91
+ .125: [
92
+ 0,
93
+ .125,
94
+ .25,
95
+ .5,
96
+ 1
97
+ ],
98
+ .2: [
99
+ 0,
100
+ .2,
101
+ .5,
102
+ .1
103
+ ],
104
+ .25: [
105
+ 0,
106
+ .25,
107
+ .5,
108
+ 1,
109
+ 2
110
+ ],
111
+ .5: [
112
+ 0,
113
+ .5,
114
+ 1,
115
+ 2
116
+ ],
117
+ 1: [
118
+ 0,
119
+ 1,
120
+ 2,
121
+ 4,
122
+ 5,
123
+ 10
124
+ ],
125
+ 2: [
126
+ 0,
127
+ 2,
128
+ 4,
129
+ 8,
130
+ 10
131
+ ],
132
+ 3: [
133
+ 0,
134
+ 3,
135
+ 6,
136
+ 12,
137
+ 15
138
+ ],
139
+ 4: [
140
+ 0,
141
+ 4,
142
+ 8,
143
+ 16,
144
+ 20
145
+ ],
146
+ 5: [
147
+ 0,
148
+ 5,
149
+ 10,
150
+ 20,
151
+ 25
152
+ ],
153
+ 8: [
154
+ 0,
155
+ 8,
156
+ 16,
157
+ 32,
158
+ 40,
159
+ 64
160
+ ],
161
+ 10: [
162
+ 0,
163
+ 10,
164
+ 20,
165
+ 40,
166
+ 50,
167
+ 100
168
+ ],
169
+ 12: [
170
+ 0,
171
+ 12,
172
+ 24
173
+ ],
174
+ 15: [
175
+ 0,
176
+ 15,
177
+ 30,
178
+ 60
179
+ ],
180
+ 20: [
181
+ 0,
182
+ 20,
183
+ 40,
184
+ 80,
185
+ 100
186
+ ],
187
+ 40: [
188
+ 0,
189
+ 40,
190
+ 80,
191
+ 160,
192
+ 200
193
+ ],
194
+ 50: [
195
+ 0,
196
+ 50,
197
+ 100,
198
+ 200,
199
+ 250
200
+ ],
201
+ 64: [
202
+ 0,
203
+ 64,
204
+ 128
205
+ ],
206
+ 100: [
207
+ 0,
208
+ 100,
209
+ 200,
210
+ 400,
211
+ 500
212
+ ],
213
+ 500: [
214
+ 0,
215
+ 500,
216
+ 1e3,
217
+ 2500
218
+ ],
219
+ 1e3: [
220
+ 0,
221
+ 1e3,
222
+ 2e3,
223
+ 4e3,
224
+ 5e3
225
+ ]
226
+ }, i = (e, r, i = !1) => {
227
+ let a = 10 * (e.max - e.min) / r, o = a * 10;
228
+ return (i ? n : t).filter((e) => e >= a && e <= o);
229
+ }, a = (e) => r[e] || [], o = (t, n, r, o) => {
230
+ let s = i(t, n), c = a(t.step);
231
+ if (!e(r, s) && !s.includes(t.step)) {
232
+ let e = i(t, n, !0)[0] || 1;
233
+ return t.step = e, c = a(e), c.includes(t.labelStep) || (t.labelStep = e), {
234
+ gridValues: s,
235
+ labelValues: c
236
+ };
237
+ }
238
+ return !e(o, c) && !c.includes(t.labelStep) && (t.labelStep = t.step), {
239
+ gridValues: s,
240
+ labelValues: c
241
+ };
242
+ }, s = (e) => {
243
+ let t = [], n = 0;
244
+ for (; n >= e.min && t.indexOf(n) < 0;) t.push(n), n = Math.round((n - e.step) * 1e4) / 1e4;
245
+ for (n = Math.round(e.step * 1e4) / 1e4; n <= e.max && t.indexOf(n) < 0;) t.push(n), n = Math.round((n + e.step) * 1e4) / 1e4;
246
+ return t ? t.filter((t) => t >= e.min && t <= e.max) : [];
247
+ }, c = (e, t, n) => {
248
+ let r = s(e), i = s(t), a = (e, t) => r.includes(e) && i.includes(t);
249
+ return Object.entries(n || {}).reduce((e, [t, n]) => (e[t] = {
250
+ ...n,
251
+ marks: (n.marks || []).filter((e) => {
252
+ if (e.type === "point") return a(e.x, e.y);
253
+ if (e.type === "polygon") return !e.points.find((e) => !a(e.x, e.y));
254
+ let t = e.from || e.root, n = e.to || e.edge;
255
+ return e.building ? a(t.x, t.y) : a(t.x, t.y) && a(n.x, n.y);
256
+ })
257
+ }, e), {});
258
+ }, l = (e, t) => Number(Math.sqrt((e.x - t.x) ** 2 + (e.y - t.y) ** 2).toFixed(3)), u = (e, t) => {
259
+ let n = e, r = !1, i = [...t];
260
+ i.push(t[0]);
261
+ for (let e = 0; e < i.length - 1; e++) {
262
+ let t = i[e], a = i[e + 1];
263
+ if (l(t, n) + l(n, a) === l(t, a)) {
264
+ r = !0;
265
+ break;
266
+ }
267
+ }
268
+ return r;
269
+ }, d = (e, t, n, r, i, a, o, s) => {
270
+ let c, l = (s - a) * (n - e) - (o - i) * (r - t);
271
+ return l === 0 ? null : (c = ((o - i) * (t - a) - (s - a) * (e - i)) / l, {
272
+ x: Number((e + c * (n - e)).toFixed(3)),
273
+ y: Number((t + c * (r - t)).toFixed(3))
274
+ });
275
+ }, f = (e, t, n) => e.x > t.min && e.x < t.max && e.y > n.min && e.y < n.max, p = (e, t, n) => e.x >= t.min && e.x <= t.max && e.y >= n.min && e.y <= n.max, m = (e, t, n) => {
276
+ let r = [], i = [
277
+ [
278
+ t.max,
279
+ n.max,
280
+ t.max,
281
+ n.min
282
+ ],
283
+ [
284
+ t.min,
285
+ n.max,
286
+ t.min,
287
+ n.min
288
+ ],
289
+ [
290
+ t.min,
291
+ n.max,
292
+ t.max,
293
+ n.max
294
+ ],
295
+ [
296
+ t.min,
297
+ n.min,
298
+ t.max,
299
+ n.min
300
+ ]
301
+ ];
302
+ for (let a = 0; a < i.length; a++) {
303
+ let o = d(e.from.x, e.from.y, e.to.x, e.to.y, i[a][0], i[a][1], i[a][2], i[a][3]);
304
+ o && p(o, t, n) && r.push(o);
305
+ }
306
+ return r;
307
+ }, h = (e) => {
308
+ e.sort((e, t) => e.y - t.y);
309
+ let t = (e[0].y + e[e.length - 1].y) / 2;
310
+ e.sort((e, t) => t.x - e.x);
311
+ let n = {
312
+ x: (e[0].x + e[e.length - 1].x) / 2,
313
+ y: t
314
+ }, r;
315
+ e.forEach((e) => {
316
+ let t = Math.atan2(e.y - n.y, e.x - n.x);
317
+ r ? t < r && (t += Math.PI * 2) : r = t, e.angle = t;
318
+ }), e.sort((e, t) => e.angle - t.angle);
319
+ let i = e.reverse();
320
+ return i.unshift(i.pop()), i.map(({ angle: e, ...t }) => t);
321
+ }, g = (e, t) => e.x * t.x + e.y * t.y, _ = (e) => Math.sqrt(e.x * e.x + e.y * e.y), v = (e, t) => {
322
+ let n = g(e, t), r = _(e), i = _(t);
323
+ return Math.acos(n / (r * i));
324
+ }, y = (e, t, n, r) => {
325
+ let i = {
326
+ x: t.x - e.x,
327
+ y: t.y - e.y
328
+ }, a = {
329
+ x: n.x - e.x,
330
+ y: n.y - e.y
331
+ }, o = {
332
+ x: r.x - e.x,
333
+ y: r.y - e.y
334
+ }, s = v(i, o) + v(a, o);
335
+ return Math.abs(s - v(i, a)) < 1e-4;
336
+ }, b = (e) => e.filter((t, n) => n === e.findIndex((e) => t.x === e.x && t.y === e.y)), x = (e) => {
337
+ for (let t = 0; t < e.length; t++) e[t] = e[t].filter((n, r) => r === e[t].findIndex((e) => n.x === e.x && n.y === e.y));
338
+ e = e.filter((e) => e.length > 2);
339
+ for (let t = 0; t < e.length; t++) e[t] = h(e[t]);
340
+ return e;
341
+ }, S = (e, t, n) => {
342
+ let r = [];
343
+ return r.push([].concat(e)), r.push([].concat(e)), e[0].x === t.max && e[1].y === n.max || e[1].x === t.max && e[0].y === n.max ? (r[0].push({
344
+ x: t.max,
345
+ y: n.max
346
+ }), r[1].push({
347
+ x: t.min,
348
+ y: n.max
349
+ }, {
350
+ x: t.min,
351
+ y: n.min
352
+ }, {
353
+ x: t.max,
354
+ y: n.min
355
+ })) : e[0].x === t.min && e[1].y === n.max || e[1].x === t.min && e[0].y === n.max ? (r[0].push({
356
+ x: t.min,
357
+ y: n.max
358
+ }), r[1].push({
359
+ x: t.max,
360
+ y: n.max
361
+ }, {
362
+ x: t.max,
363
+ y: n.min
364
+ }, {
365
+ x: t.min,
366
+ y: n.min
367
+ })) : e[0].x === t.min && e[1].y === n.min || e[1].x === t.min && e[0].y === n.min ? (r[0].push({
368
+ x: t.min,
369
+ y: n.min
370
+ }), r[1].push({
371
+ x: t.max,
372
+ y: n.min
373
+ }, {
374
+ x: t.max,
375
+ y: n.max
376
+ }, {
377
+ x: t.min,
378
+ y: n.max
379
+ })) : e[0].x === t.max && e[1].y === n.min || e[1].x === t.max && e[0].y === n.min ? (r[0].push({
380
+ x: t.max,
381
+ y: n.min
382
+ }), r[1].push({
383
+ x: t.min,
384
+ y: n.min
385
+ }, {
386
+ x: t.min,
387
+ y: n.max
388
+ }, {
389
+ x: t.max,
390
+ y: n.max
391
+ })) : e[0].x === t.min && e[1].x === t.max || e[0].x === t.max && e[1].x === t.min ? (r[0].push({
392
+ x: t.min,
393
+ y: n.max
394
+ }, {
395
+ x: t.max,
396
+ y: n.max
397
+ }), r[1].push({
398
+ x: t.min,
399
+ y: n.min
400
+ }, {
401
+ x: t.max,
402
+ y: n.min
403
+ })) : (e[0].y === n.min && e[1].y === n.max || e[0].y === n.max && e[1].y === n.min) && (r[0].push({
404
+ x: t.min,
405
+ y: n.min
406
+ }, {
407
+ x: t.min,
408
+ y: n.max
409
+ }), r[1].push({
410
+ x: t.max,
411
+ y: n.min
412
+ }, {
413
+ x: t.max,
414
+ y: n.max
415
+ })), x(r);
416
+ }, C = (e, t, n, r) => {
417
+ let i = t[0], a = t[1], o = [
418
+ {
419
+ x: n.min,
420
+ y: r.min
421
+ },
422
+ {
423
+ x: n.min,
424
+ y: r.max
425
+ },
426
+ {
427
+ x: n.max,
428
+ y: r.min
429
+ },
430
+ {
431
+ x: n.max,
432
+ y: r.max
433
+ }
434
+ ], s = d(i.from.x, i.from.y, i.to.x, i.to.y, a.from.x, a.from.y, a.to.x, a.to.y), c = [], l = m(i, n, r);
435
+ l = b(l);
436
+ let p = m(a, n, r);
437
+ if (p = b(p), s && f(s, n, r)) for (let e = 0; e < l.length; e++) for (let t = 0; t < p.length; t++) {
438
+ let n = [], r = [];
439
+ n.push(s), n.push(l[e]), n.push(p[t]);
440
+ for (let i = 0; i < o.length; i++) y(s, l[e], p[t], o[i]) ? n.push(o[i]) : r.push(o[i]);
441
+ o = r, c.push(n);
442
+ }
443
+ else {
444
+ let e = S(l, n, r), t = S(p, n, r);
445
+ for (let t = 0; t < e.length; t++) u(p[0], e[t]) && u(p[1], e[t]) || c.push(e[t]);
446
+ for (let e = 0; e < t.length; e++) u(l[0], t[e]) && u(l[1], t[e]) || c.push(t[e]);
447
+ for (let e = 0; e < c.length; e++) o = o.filter(function(t) {
448
+ return !c[e].some(function(e) {
449
+ return t.x === e.x && t.y === e.y;
450
+ });
451
+ });
452
+ let i = o.concat(l, p);
453
+ c.push(i);
454
+ }
455
+ return x(c);
456
+ }, w = (e, t, n, r) => (e.numberOfLines === 1 ? e.sections = S(m(t[0], n, r), n, r) : e.sections = C(e, t, n, r), e), T = (e, t) => {
457
+ let n = t.length, r = e.x, i = e.y, a = !1, o = t[0], s;
458
+ for (let e = 1; e <= n; e++) {
459
+ if (s = t[e % n], i > Math.min(o.y, s.y) && i <= Math.max(o.y, s.y) && r <= Math.max(o.x, s.x)) {
460
+ let e = (i - o.y) * (s.x - o.x) / (s.y - o.y) + o.x;
461
+ (o.x === s.x || r <= e) && (a = !a);
462
+ }
463
+ o = s;
464
+ }
465
+ return a;
466
+ }, E = (e, t) => {
467
+ if (t.length === 0) return !1;
468
+ if (e.numberOfLines === 1) {
469
+ if (t.length === 1) return !t[0].building;
470
+ } else if (t.length !== 2) return !1;
471
+ else return !t[1].building;
472
+ };
473
+ //#endregion
474
+ export { r as VALID_LABEL_VALUES, o as applyConstraints, E as checkIfLinesAreAdded, c as filterPlotableMarks, w as findSectionsInSolutionSet, i as getGridValues, a as getLabelValues, T as pointInsidePolygon };