@pie-element/graphing-solution-set 6.1.1 → 6.1.2-next.1

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 (88) hide show
  1. package/configure.js +2 -0
  2. package/controller.js +1 -0
  3. package/dist/author/configure.d.ts +26 -0
  4. package/dist/author/configure.js +190 -0
  5. package/dist/author/correct-response.d.ts +33 -0
  6. package/dist/author/correct-response.js +206 -0
  7. package/dist/author/defaults.d.ts +238 -0
  8. package/dist/author/defaults.js +339 -0
  9. package/dist/author/graphing-config.d.ts +33 -0
  10. package/dist/author/graphing-config.js +237 -0
  11. package/dist/author/index.d.ts +62 -0
  12. package/dist/author/index.js +87 -0
  13. package/dist/author/utils.d.ts +46 -0
  14. package/dist/author/utils.js +474 -0
  15. package/dist/browser/author/index.js +1942 -0
  16. package/dist/browser/author/index.js.map +1 -0
  17. package/dist/browser/browser-pUycHh7Y.js +348 -0
  18. package/dist/browser/browser-pUycHh7Y.js.map +1 -0
  19. package/dist/browser/controller/index.js +193 -0
  20. package/dist/browser/controller/index.js.map +1 -0
  21. package/dist/browser/delivery/index.js +782 -0
  22. package/dist/browser/delivery/index.js.map +1 -0
  23. package/dist/browser/dist-BxTk7Laj.js +57671 -0
  24. package/dist/browser/dist-BxTk7Laj.js.map +1 -0
  25. package/dist/browser/graphing-solution-set.css +2 -0
  26. package/dist/controller/defaults.d.ts +64 -0
  27. package/dist/controller/defaults.js +54 -0
  28. package/dist/controller/index.d.ts +24 -0
  29. package/dist/controller/index.js +110 -0
  30. package/dist/controller/utils.d.ts +20 -0
  31. package/dist/controller/utils.js +39 -0
  32. package/dist/delivery/index.d.ts +22 -0
  33. package/dist/delivery/index.js +62 -0
  34. package/dist/delivery/main.d.ts +31 -0
  35. package/dist/delivery/main.js +198 -0
  36. package/dist/delivery/utils.d.ts +12 -0
  37. package/dist/delivery/utils.js +220 -0
  38. package/dist/graphing-solution-set.css +2 -0
  39. package/dist/index.d.ts +1 -0
  40. package/dist/index.iife.d.ts +8 -0
  41. package/dist/index.iife.js +405 -0
  42. package/dist/index.js +2 -0
  43. package/dist/runtime-support.d.ts +12 -0
  44. package/dist/runtime-support.js +12 -0
  45. package/package.json +86 -23
  46. package/CHANGELOG.json +0 -1
  47. package/CHANGELOG.md +0 -850
  48. package/LICENSE.md +0 -5
  49. package/README.md +0 -20
  50. package/configure/CHANGELOG.json +0 -1
  51. package/configure/CHANGELOG.md +0 -810
  52. package/configure/lib/configure.js +0 -312
  53. package/configure/lib/configure.js.map +0 -1
  54. package/configure/lib/correct-response.js +0 -435
  55. package/configure/lib/correct-response.js.map +0 -1
  56. package/configure/lib/defaults.js +0 -357
  57. package/configure/lib/defaults.js.map +0 -1
  58. package/configure/lib/graphing-config.js +0 -408
  59. package/configure/lib/graphing-config.js.map +0 -1
  60. package/configure/lib/index.js +0 -163
  61. package/configure/lib/index.js.map +0 -1
  62. package/configure/lib/utils.js +0 -630
  63. package/configure/lib/utils.js.map +0 -1
  64. package/configure/package.json +0 -29
  65. package/controller/CHANGELOG.json +0 -1
  66. package/controller/CHANGELOG.md +0 -675
  67. package/controller/lib/defaults.js +0 -69
  68. package/controller/lib/defaults.js.map +0 -1
  69. package/controller/lib/index.js +0 -351
  70. package/controller/lib/index.js.map +0 -1
  71. package/controller/lib/utils.js +0 -212
  72. package/controller/lib/utils.js.map +0 -1
  73. package/controller/package.json +0 -22
  74. package/demo-gss.gif +0 -0
  75. package/docs/config-schema.json +0 -1560
  76. package/docs/config-schema.json.md +0 -1114
  77. package/docs/demo/config.js +0 -8
  78. package/docs/demo/generate.js +0 -54
  79. package/docs/demo/index.html +0 -1
  80. package/docs/demo/session.js +0 -6
  81. package/docs/pie-schema.json +0 -1800
  82. package/docs/pie-schema.json.md +0 -952
  83. package/lib/index.js +0 -164
  84. package/lib/index.js.map +0 -1
  85. package/lib/main.js +0 -355
  86. package/lib/main.js.map +0 -1
  87. package/lib/utils.js +0 -515
  88. package/lib/utils.js.map +0 -1
@@ -0,0 +1,220 @@
1
+ var e = {
2
+ line: (t) => t && e.point(t.from) && e.point(t.to),
3
+ point: (e) => e && Number.isFinite(e.x) && Number.isFinite(e.y)
4
+ }, t = (e, t) => Number(Math.sqrt((e.x - t.x) ** 2 + (e.y - t.y) ** 2).toFixed(3)), n = (e, n) => {
5
+ let r = e, i = !1, a = [...n];
6
+ a.push(n[0]);
7
+ for (let e = 0; e < a.length - 1; e++) {
8
+ let n = a[e], o = a[e + 1];
9
+ if (t(n, r) + t(r, o) === t(n, o)) {
10
+ i = !0;
11
+ break;
12
+ }
13
+ }
14
+ return i;
15
+ }, r = (e, t, n, r, i, a, o, s) => {
16
+ let c, l = (s - a) * (n - e) - (o - i) * (r - t);
17
+ return l === 0 ? null : (c = ((o - i) * (t - a) - (s - a) * (e - i)) / l, {
18
+ x: Number((e + c * (n - e)).toFixed(3)),
19
+ y: Number((t + c * (r - t)).toFixed(3))
20
+ });
21
+ }, i = (e, t, n) => e.x > t.min && e.x < t.max && e.y > n.min && e.y < n.max, a = (e, t, n) => e.x >= t.min && e.x <= t.max && e.y >= n.min && e.y <= n.max, o = (e, t, n) => {
22
+ let i = [], o = [
23
+ [
24
+ t.max,
25
+ n.max,
26
+ t.max,
27
+ n.min
28
+ ],
29
+ [
30
+ t.min,
31
+ n.max,
32
+ t.min,
33
+ n.min
34
+ ],
35
+ [
36
+ t.min,
37
+ n.max,
38
+ t.max,
39
+ n.max
40
+ ],
41
+ [
42
+ t.min,
43
+ n.min,
44
+ t.max,
45
+ n.min
46
+ ]
47
+ ];
48
+ for (let s = 0; s < o.length; s++) {
49
+ let c = r(e.from.x, e.from.y, e.to.x, e.to.y, o[s][0], o[s][1], o[s][2], o[s][3]);
50
+ c && a(c, t, n) && i.push(c);
51
+ }
52
+ return i;
53
+ }, s = (e) => {
54
+ e.sort((e, t) => e.y - t.y);
55
+ let t = (e[0].y + e[e.length - 1].y) / 2;
56
+ e.sort((e, t) => t.x - e.x);
57
+ let n = {
58
+ x: (e[0].x + e[e.length - 1].x) / 2,
59
+ y: t
60
+ }, r;
61
+ e.forEach((e) => {
62
+ let t = Math.atan2(e.y - n.y, e.x - n.x);
63
+ r ? t < r && (t += Math.PI * 2) : r = t, e.angle = t;
64
+ }), e.sort((e, t) => e.angle - t.angle);
65
+ let i = e.reverse();
66
+ return i.unshift(i.pop()), i.map(({ angle: e, ...t }) => t);
67
+ }, c = (e, t) => e.x * t.x + e.y * t.y, l = (e) => Math.sqrt(e.x * e.x + e.y * e.y), u = (e, t) => {
68
+ let n = c(e, t), r = l(e), i = l(t);
69
+ return Math.acos(n / (r * i));
70
+ }, d = (e, t, n, r) => {
71
+ let i = {
72
+ x: t.x - e.x,
73
+ y: t.y - e.y
74
+ }, a = {
75
+ x: n.x - e.x,
76
+ y: n.y - e.y
77
+ }, o = {
78
+ x: r.x - e.x,
79
+ y: r.y - e.y
80
+ }, s = u(i, o) + u(a, o);
81
+ return Math.abs(s - u(i, a)) < 1e-4;
82
+ }, f = (e) => e.filter((t, n) => n === e.findIndex((e) => t.x === e.x && t.y === e.y)), p = (e) => {
83
+ 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));
84
+ e = e.filter((e) => e.length > 2);
85
+ for (let t = 0; t < e.length; t++) e[t] = s(e[t]);
86
+ return e;
87
+ }, m = (e, t, n) => {
88
+ let r = [];
89
+ 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({
90
+ x: t.max,
91
+ y: n.max
92
+ }), r[1].push({
93
+ x: t.min,
94
+ y: n.max
95
+ }, {
96
+ x: t.min,
97
+ y: n.min
98
+ }, {
99
+ x: t.max,
100
+ y: n.min
101
+ })) : e[0].x === t.min && e[1].y === n.max || e[1].x === t.min && e[0].y === n.max ? (r[0].push({
102
+ x: t.min,
103
+ y: n.max
104
+ }), r[1].push({
105
+ x: t.max,
106
+ y: n.max
107
+ }, {
108
+ x: t.max,
109
+ y: n.min
110
+ }, {
111
+ x: t.min,
112
+ y: n.min
113
+ })) : e[0].x === t.min && e[1].y === n.min || e[1].x === t.min && e[0].y === n.min ? (r[0].push({
114
+ x: t.min,
115
+ y: n.min
116
+ }), r[1].push({
117
+ x: t.max,
118
+ y: n.min
119
+ }, {
120
+ x: t.max,
121
+ y: n.max
122
+ }, {
123
+ x: t.min,
124
+ y: n.max
125
+ })) : e[0].x === t.max && e[1].y === n.min || e[1].x === t.max && e[0].y === n.min ? (r[0].push({
126
+ x: t.max,
127
+ y: n.min
128
+ }), r[1].push({
129
+ x: t.min,
130
+ y: n.min
131
+ }, {
132
+ x: t.min,
133
+ y: n.max
134
+ }, {
135
+ x: t.max,
136
+ y: n.max
137
+ })) : e[0].x === t.min && e[1].x === t.max || e[0].x === t.max && e[1].x === t.min ? (r[0].push({
138
+ x: t.min,
139
+ y: n.max
140
+ }, {
141
+ x: t.max,
142
+ y: n.max
143
+ }), r[1].push({
144
+ x: t.min,
145
+ y: n.min
146
+ }, {
147
+ x: t.max,
148
+ y: n.min
149
+ })) : (e[0].y === n.min && e[1].y === n.max || e[0].y === n.max && e[1].y === n.min) && (r[0].push({
150
+ x: t.min,
151
+ y: n.min
152
+ }, {
153
+ x: t.min,
154
+ y: n.max
155
+ }), r[1].push({
156
+ x: t.max,
157
+ y: n.min
158
+ }, {
159
+ x: t.max,
160
+ y: n.max
161
+ })), p(r);
162
+ }, h = (e, t, a, s) => {
163
+ let c = t[0], l = t[1], u = [
164
+ {
165
+ x: a.min,
166
+ y: s.min
167
+ },
168
+ {
169
+ x: a.min,
170
+ y: s.max
171
+ },
172
+ {
173
+ x: a.max,
174
+ y: s.min
175
+ },
176
+ {
177
+ x: a.max,
178
+ y: s.max
179
+ }
180
+ ], h = r(c.from.x, c.from.y, c.to.x, c.to.y, l.from.x, l.from.y, l.to.x, l.to.y), g = [], _ = o(c, a, s);
181
+ _ = f(_);
182
+ let v = o(l, a, s);
183
+ if (v = f(v), h && i(h, a, s)) for (let e = 0; e < _.length; e++) for (let t = 0; t < v.length; t++) {
184
+ let n = [], r = [];
185
+ n.push(h), n.push(_[e]), n.push(v[t]);
186
+ for (let i = 0; i < u.length; i++) d(h, _[e], v[t], u[i]) ? n.push(u[i]) : r.push(u[i]);
187
+ u = r, g.push(n);
188
+ }
189
+ else {
190
+ let e = m(_, a, s), t = m(v, a, s);
191
+ for (let t = 0; t < e.length; t++) n(v[0], e[t]) && n(v[1], e[t]) || g.push(e[t]);
192
+ for (let e = 0; e < t.length; e++) n(_[0], t[e]) && n(_[1], t[e]) || g.push(t[e]);
193
+ for (let e = 0; e < g.length; e++) u = u.filter(function(t) {
194
+ return !g[e].some(function(e) {
195
+ return t.x === e.x && t.y === e.y;
196
+ });
197
+ });
198
+ let r = u.concat(_, v);
199
+ g.push(r);
200
+ }
201
+ return p(g);
202
+ }, g = (e, t, n, r) => (e.numberOfLines === 1 ? e.sections = m(o(t[0], n, r), n, r) : e.sections = h(e, t, n, r), e), _ = (e, t) => {
203
+ let n = t.length, r = e.x, i = e.y, a = !1, o = t[0], s;
204
+ for (let e = 1; e <= n; e++) {
205
+ 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)) {
206
+ let e = (i - o.y) * (s.x - o.x) / (s.y - o.y) + o.x;
207
+ (o.x === s.x || r <= e) && (a = !a);
208
+ }
209
+ o = s;
210
+ }
211
+ return a;
212
+ }, v = (e, t) => {
213
+ if (t.length === 0) return !1;
214
+ if (e.numberOfLines === 1) {
215
+ if (t.length === 1) return !t[0].building;
216
+ } else if (t.length !== 2) return !1;
217
+ else return !t[1].building;
218
+ }, y = (t) => t ? (t || []).filter(({ type: t, ...n }) => e[t] ? e[t](n) : !1) : [];
219
+ //#endregion
220
+ export { v as checkIfLinesAreAdded, g as findSectionsInSolutionSet, _ as pointInsidePolygon, y as removeInvalidAnswers };