@reekon-tools/boldr-cad 1.5.0 → 1.6.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.
- package/dist/app/state.d.ts +3 -3
- package/dist/editor/actions.js +112 -18
- package/dist/editor/actions.js.map +1 -1
- package/dist/editor/keys.js +2 -1
- package/dist/editor/keys.js.map +1 -1
- package/dist/editor/laser.d.ts +4 -2
- package/dist/editor/laser.js +4 -2
- package/dist/editor/laser.js.map +1 -1
- package/dist/editor/linkActions.d.ts +29 -11
- package/dist/editor/linkActions.js +76 -29
- package/dist/editor/linkActions.js.map +1 -1
- package/dist/editor/links.d.ts +13 -0
- package/dist/editor/links.js +7 -1
- package/dist/editor/links.js.map +1 -1
- package/dist/editor/mode.d.ts +2 -1
- package/dist/editor/mode.js +7 -5
- package/dist/editor/mode.js.map +1 -1
- package/dist/editor/selection.js +1 -1
- package/dist/editor/selection.js.map +1 -1
- package/dist/editor/tooltips.js +1 -0
- package/dist/editor/tooltips.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/model/constraints.js +2 -0
- package/dist/model/constraints.js.map +1 -1
- package/dist/model/geom.d.ts +2 -0
- package/dist/model/geom.js +11 -0
- package/dist/model/geom.js.map +1 -1
- package/dist/model/links.d.ts +6 -1
- package/dist/model/links.js +6 -1
- package/dist/model/links.js.map +1 -1
- package/dist/model/scale.js +3 -0
- package/dist/model/scale.js.map +1 -1
- package/dist/model/sketch.d.ts +5 -1
- package/dist/model/sketch.js +19 -18
- package/dist/model/sketch.js.map +1 -1
- package/dist/model/trim.d.ts +54 -0
- package/dist/model/trim.js +219 -0
- package/dist/model/trim.js.map +1 -0
- package/dist/model/types.d.ts +24 -2
- package/dist/react/BottomBar.js +53 -24
- package/dist/react/BottomBar.js.map +1 -1
- package/dist/react/CadEditor.js +18 -9
- package/dist/react/CadEditor.js.map +1 -1
- package/dist/react/Drawer.js +3 -2
- package/dist/react/Drawer.js.map +1 -1
- package/dist/react/PlanCanvas.web.js +17 -5
- package/dist/react/PlanCanvas.web.js.map +1 -1
- package/dist/react/ShapeMenu.js +3 -2
- package/dist/react/ShapeMenu.js.map +1 -1
- package/dist/react/ToolTip.js +3 -2
- package/dist/react/ToolTip.js.map +1 -1
- package/dist/react/TopBar.js +4 -3
- package/dist/react/TopBar.js.map +1 -1
- package/dist/react/editorBox.d.ts +8 -0
- package/dist/react/editorBox.js +10 -0
- package/dist/react/editorBox.js.map +1 -0
- package/dist/react/host.d.ts +1 -1
- package/dist/react/host.js +1 -1
- package/dist/react/host.js.map +1 -1
- package/dist/react/pageLock.native.d.ts +2 -0
- package/dist/react/pageLock.native.js +2 -0
- package/dist/react/pageLock.native.js.map +1 -1
- package/dist/react/pageLock.web.d.ts +6 -0
- package/dist/react/pageLock.web.js +12 -3
- package/dist/react/pageLock.web.js.map +1 -1
- package/dist/react/ports.js +8 -3
- package/dist/react/ports.js.map +1 -1
- package/dist/react/saving.d.ts +7 -1
- package/dist/react/saving.js +10 -2
- package/dist/react/saving.js.map +1 -1
- package/dist/react/store.d.ts +5 -2
- package/dist/react/store.js +4 -1
- package/dist/react/store.js.map +1 -1
- package/dist/render/draw.js +24 -7
- package/dist/render/draw.js.map +1 -1
- package/dist/render/linkTile.js +2 -2
- package/dist/render/linkTile.js.map +1 -1
- package/dist/render/snap.d.ts +5 -0
- package/dist/render/snap.js +84 -14
- package/dist/render/snap.js.map +1 -1
- package/dist/render/view.js +7 -2
- package/dist/render/view.js.map +1 -1
- package/dist/solver/equations.js +30 -16
- package/dist/solver/equations.js.map +1 -1
- package/dist/tools/modify.d.ts +32 -4
- package/dist/tools/modify.js +247 -97
- package/dist/tools/modify.js.map +1 -1
- package/dist/tools/registry.d.ts +2 -0
- package/dist/tools/registry.js +8 -0
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/select.d.ts +11 -8
- package/dist/tools/select.js +51 -19
- package/dist/tools/select.js.map +1 -1
- package/package.json +1 -1
- package/src/app/state.ts +3 -3
- package/src/editor/actions.ts +92 -15
- package/src/editor/keys.ts +2 -1
- package/src/editor/laser.ts +7 -4
- package/src/editor/linkActions.ts +87 -26
- package/src/editor/links.ts +17 -1
- package/src/editor/mode.ts +7 -5
- package/src/editor/selection.ts +1 -1
- package/src/editor/tooltips.ts +1 -0
- package/src/index.ts +1 -0
- package/src/model/constraints.ts +1 -0
- package/src/model/geom.ts +10 -0
- package/src/model/links.ts +6 -1
- package/src/model/scale.ts +2 -0
- package/src/model/sketch.ts +14 -7
- package/src/model/trim.ts +188 -0
- package/src/model/types.ts +19 -2
- package/src/react/BottomBar.tsx +64 -24
- package/src/react/CadEditor.tsx +19 -9
- package/src/react/Drawer.tsx +3 -2
- package/src/react/PlanCanvas.web.tsx +17 -5
- package/src/react/ShapeMenu.tsx +3 -2
- package/src/react/ToolTip.tsx +3 -2
- package/src/react/TopBar.tsx +4 -3
- package/src/react/editorBox.ts +20 -0
- package/src/react/host.ts +1 -1
- package/src/react/pageLock.native.ts +2 -0
- package/src/react/pageLock.web.ts +12 -3
- package/src/react/ports.ts +7 -2
- package/src/react/saving.ts +10 -2
- package/src/react/store.ts +5 -2
- package/src/render/draw.ts +18 -7
- package/src/render/linkTile.ts +2 -2
- package/src/render/snap.ts +80 -15
- package/src/render/view.ts +6 -2
- package/src/solver/equations.ts +30 -16
- package/src/tools/modify.ts +205 -69
- package/src/tools/registry.ts +8 -0
- package/src/tools/select.ts +47 -20
- package/dist/react/LaserTray.d.ts +0 -4
- package/dist/react/LaserTray.js +0 -26
- package/dist/react/LaserTray.js.map +0 -1
- package/src/react/LaserTray.tsx +0 -42
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
import { circleCircle, distSeg, hyp, lineCircleT, normAng, projT, segInter } from './geom';
|
|
2
|
+
import { arcAngles } from './planGeom';
|
|
3
|
+
function roundOf(sk, it) {
|
|
4
|
+
if (it.kind === 'circle') {
|
|
5
|
+
const ci = sk.circles[it.id], o = ci && sk.points[ci.c];
|
|
6
|
+
return o ? { o, r: ci.r, t0: 0, sweep: 2 * Math.PI } : null;
|
|
7
|
+
}
|
|
8
|
+
const a = it.kind === 'arc' ? sk.arcs[it.id] : undefined;
|
|
9
|
+
if (!a || !sk.points[a.c] || !sk.points[a.a] || !sk.points[a.b])
|
|
10
|
+
return null;
|
|
11
|
+
const g = arcAngles(sk, a);
|
|
12
|
+
return { o: g.o, r: g.r, t0: g.t0, sweep: g.full ? 2 * Math.PI : normAng(g.t1 - g.t0) };
|
|
13
|
+
}
|
|
14
|
+
/** How far round from a round's start the direction to `p` is (radians, counter-clockwise). */
|
|
15
|
+
const roundAt = (R, p) => normAng(Math.atan2(p.y - R.o.y, p.x - R.o.x) - R.t0);
|
|
16
|
+
/** How far `p` is from an item, as drawn (a wall: from its faces in); Infinity off its ends, or if it's gone. */
|
|
17
|
+
export function distTo(sk, it, p) {
|
|
18
|
+
if (it.kind === 'line') {
|
|
19
|
+
const l = sk.lines[it.id], A = l && sk.points[l.a], B = l && sk.points[l.b];
|
|
20
|
+
if (!A || !B)
|
|
21
|
+
return Infinity;
|
|
22
|
+
return Math.max(0, distSeg(p, A, B) - (l.kind === 'wall' ? l.thick / 2 : 0));
|
|
23
|
+
}
|
|
24
|
+
const R = roundOf(sk, it), o = it.kind === 'circle' ? sk.circles[it.id] : sk.arcs[it.id];
|
|
25
|
+
if (!R || !o || (it.kind === 'arc' && roundAt(R, p) > R.sweep))
|
|
26
|
+
return Infinity;
|
|
27
|
+
return Math.max(0, Math.abs(hyp(p.x - R.o.x, p.y - R.o.y) - R.r) - (o.kind === 'wall' ? (o.thick || 4.5) / 2 : 0));
|
|
28
|
+
}
|
|
29
|
+
/** The point on an item (on its centreline, within its ends) nearest `p`: where on it a tap beside it is. */
|
|
30
|
+
export function nearestOn(sk, it, p) {
|
|
31
|
+
if (it.kind === 'line') {
|
|
32
|
+
const l = sk.lines[it.id], A = sk.points[l.a], B = sk.points[l.b], t = Math.max(0, Math.min(1, projT(A, B, p)));
|
|
33
|
+
return { x: A.x + (B.x - A.x) * t, y: A.y + (B.y - A.y) * t };
|
|
34
|
+
}
|
|
35
|
+
const R = roundOf(sk, it);
|
|
36
|
+
if (!R)
|
|
37
|
+
return p;
|
|
38
|
+
const d = hyp(p.x - R.o.x, p.y - R.o.y) || 1;
|
|
39
|
+
return { x: R.o.x + ((p.x - R.o.x) / d) * R.r, y: R.o.y + ((p.y - R.o.y) / d) * R.r };
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* The line, arc or circle nearest `p`, within `tol`: what a trim there is of. Not a wall face's own edges (the plan's)
|
|
43
|
+
* or a cabinet's: those are whole things, not pieces to cut away.
|
|
44
|
+
*/
|
|
45
|
+
export function trimItemAt(sk, p, tol) {
|
|
46
|
+
const best = { it: null, d: tol };
|
|
47
|
+
const consider = (it) => { const d = distTo(sk, it, p); if (d <= best.d) {
|
|
48
|
+
best.it = it;
|
|
49
|
+
best.d = d;
|
|
50
|
+
} };
|
|
51
|
+
for (const id in sk.lines)
|
|
52
|
+
if (!sk.lines[id].anchor && !sk.lines[id].cab)
|
|
53
|
+
consider({ kind: 'line', id });
|
|
54
|
+
for (const id in sk.arcs)
|
|
55
|
+
consider({ kind: 'arc', id });
|
|
56
|
+
for (const id in sk.circles)
|
|
57
|
+
consider({ kind: 'circle', id });
|
|
58
|
+
return best.it;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Every cut along an item, in order. `tol` (inches): a point this near it is on it; a cut this near its own end isn't
|
|
62
|
+
* one; cuts this near each other are one (a point there wins over a crossing).
|
|
63
|
+
*/
|
|
64
|
+
export function cutsOn(sk, it, tol) {
|
|
65
|
+
const pt = (id) => sk.points[id];
|
|
66
|
+
let A, B, len = 0, R = null;
|
|
67
|
+
if (it.kind === 'line') {
|
|
68
|
+
const l = sk.lines[it.id];
|
|
69
|
+
A = l && pt(l.a);
|
|
70
|
+
B = l && pt(l.b);
|
|
71
|
+
if (!A || !B)
|
|
72
|
+
return [];
|
|
73
|
+
len = hyp(B.x - A.x, B.y - A.y);
|
|
74
|
+
if (len < 1e-9)
|
|
75
|
+
return [];
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
R = roundOf(sk, it);
|
|
79
|
+
if (!R || R.r < 1e-9)
|
|
80
|
+
return [];
|
|
81
|
+
}
|
|
82
|
+
const raw = [];
|
|
83
|
+
/** Where `p` is along the item, if it's inside it (clear of the item's own ends). */
|
|
84
|
+
const along = (p) => {
|
|
85
|
+
if (A && B) {
|
|
86
|
+
const t = projT(A, B, p);
|
|
87
|
+
return t * len > tol && (1 - t) * len > tol ? t : null;
|
|
88
|
+
}
|
|
89
|
+
const s = roundAt(R, p);
|
|
90
|
+
return it.kind === 'circle' || (s < R.sweep && s * R.r > tol && (R.sweep - s) * R.r > tol) ? s : null;
|
|
91
|
+
};
|
|
92
|
+
const add = (p, by) => { const at = along(p); if (at != null)
|
|
93
|
+
raw.push({ at, x: p.x, y: p.y, ...by }); };
|
|
94
|
+
// what crosses it: lines…
|
|
95
|
+
for (const id in sk.lines) {
|
|
96
|
+
if (it.kind === 'line' && id === it.id)
|
|
97
|
+
continue;
|
|
98
|
+
const l = sk.lines[id], C = pt(l.a), D = pt(l.b);
|
|
99
|
+
if (!C || !D)
|
|
100
|
+
continue;
|
|
101
|
+
if (A && B) {
|
|
102
|
+
const r = segInter(A, B, C, D);
|
|
103
|
+
if (r)
|
|
104
|
+
add(r, { line: id });
|
|
105
|
+
}
|
|
106
|
+
else
|
|
107
|
+
for (const t of lineCircleT(C, D, R.o, R.r))
|
|
108
|
+
add({ x: C.x + (D.x - C.x) * t, y: C.y + (D.y - C.y) * t }, { line: id });
|
|
109
|
+
}
|
|
110
|
+
// …and arcs and circles (an arc only where it's drawn)
|
|
111
|
+
const curves = [...Object.keys(sk.circles).map(id => ({ kind: 'circle', id })), ...Object.keys(sk.arcs).map(id => ({ kind: 'arc', id }))];
|
|
112
|
+
for (const cv of curves) {
|
|
113
|
+
if (cv.kind === it.kind && cv.id === it.id)
|
|
114
|
+
continue;
|
|
115
|
+
const Q = roundOf(sk, cv);
|
|
116
|
+
if (!Q)
|
|
117
|
+
continue;
|
|
118
|
+
const hits = A && B ? lineCircleT(A, B, Q.o, Q.r).map(t => ({ x: A.x + (B.x - A.x) * t, y: A.y + (B.y - A.y) * t })) : circleCircle(R.o, R.r, Q.o, Q.r);
|
|
119
|
+
for (const p of hits)
|
|
120
|
+
if (cv.kind === 'circle' || roundAt(Q, p) <= Q.sweep + 1e-9)
|
|
121
|
+
add(p, { curve: cv.id });
|
|
122
|
+
}
|
|
123
|
+
// the points on it that something else is attached at: other lines' and arcs' ends, points held on it
|
|
124
|
+
const held = new Set();
|
|
125
|
+
for (const id in sk.lines)
|
|
126
|
+
if (!(it.kind === 'line' && id === it.id)) {
|
|
127
|
+
held.add(sk.lines[id].a);
|
|
128
|
+
held.add(sk.lines[id].b);
|
|
129
|
+
}
|
|
130
|
+
for (const id in sk.arcs)
|
|
131
|
+
if (!(it.kind === 'arc' && id === it.id)) {
|
|
132
|
+
held.add(sk.arcs[id].a);
|
|
133
|
+
held.add(sk.arcs[id].b);
|
|
134
|
+
}
|
|
135
|
+
for (const c of Object.values(sk.cons))
|
|
136
|
+
if (c.p && ((c.type === 'online' && !c.face && c.l === it.id) || (c.type === 'oncircle' && c.c === it.id)))
|
|
137
|
+
held.add(c.p);
|
|
138
|
+
for (const id of held) {
|
|
139
|
+
const P = pt(id);
|
|
140
|
+
if (!P)
|
|
141
|
+
continue;
|
|
142
|
+
const off = A && B ? distSeg(P, A, B) : Math.abs(hyp(P.x - R.o.x, P.y - R.o.y) - R.r);
|
|
143
|
+
if (off <= tol)
|
|
144
|
+
add(P, { pt: id });
|
|
145
|
+
}
|
|
146
|
+
raw.sort((a, b) => a.at - b.at);
|
|
147
|
+
const scale = A && B ? len : R.r, out = [];
|
|
148
|
+
for (const c of raw) {
|
|
149
|
+
const last = out[out.length - 1];
|
|
150
|
+
if (last && (c.at - last.at) * scale <= tol) {
|
|
151
|
+
if (c.pt && !last.pt)
|
|
152
|
+
out[out.length - 1] = c;
|
|
153
|
+
continue;
|
|
154
|
+
}
|
|
155
|
+
out.push(c);
|
|
156
|
+
}
|
|
157
|
+
// (round a circle, the last cut and the first can be one place)
|
|
158
|
+
if (it.kind === 'circle' && out.length > 1 && (2 * Math.PI - out[out.length - 1].at + out[0].at) * scale <= tol) {
|
|
159
|
+
const last = out.pop();
|
|
160
|
+
if (last.pt && !out[0].pt)
|
|
161
|
+
out[0] = last;
|
|
162
|
+
}
|
|
163
|
+
return out;
|
|
164
|
+
}
|
|
165
|
+
/** The piece of an item around `p` (on it): between the cuts either side of it. */
|
|
166
|
+
export function pieceAt(sk, it, p, tol) {
|
|
167
|
+
const cuts = cutsOn(sk, it, tol);
|
|
168
|
+
let at;
|
|
169
|
+
if (it.kind === 'line') {
|
|
170
|
+
const l = sk.lines[it.id];
|
|
171
|
+
at = projT(sk.points[l.a], sk.points[l.b], p);
|
|
172
|
+
}
|
|
173
|
+
else {
|
|
174
|
+
const R = roundOf(sk, it);
|
|
175
|
+
at = R ? roundAt(R, p) : 0;
|
|
176
|
+
}
|
|
177
|
+
if (it.kind === 'circle') {
|
|
178
|
+
// round a circle, the cut before it (from the last, if none is) and the one after (the first, if none is)
|
|
179
|
+
if (cuts.length < 2)
|
|
180
|
+
return { item: it, lo: null, hi: null };
|
|
181
|
+
let lo = cuts[cuts.length - 1], hi = cuts[0];
|
|
182
|
+
for (const c of cuts)
|
|
183
|
+
if (c.at <= at)
|
|
184
|
+
lo = c;
|
|
185
|
+
for (const c of cuts)
|
|
186
|
+
if (c.at > at) {
|
|
187
|
+
hi = c;
|
|
188
|
+
break;
|
|
189
|
+
}
|
|
190
|
+
return { item: it, lo, hi };
|
|
191
|
+
}
|
|
192
|
+
let lo = null, hi = null;
|
|
193
|
+
for (const c of cuts) {
|
|
194
|
+
if (c.at <= at)
|
|
195
|
+
lo = c;
|
|
196
|
+
else if (!hi)
|
|
197
|
+
hi = c;
|
|
198
|
+
}
|
|
199
|
+
return { item: it, lo, hi };
|
|
200
|
+
}
|
|
201
|
+
export function pieceShape(sk, pc) {
|
|
202
|
+
const it = pc.item;
|
|
203
|
+
if (it.kind === 'line') {
|
|
204
|
+
const l = sk.lines[it.id], A = l && sk.points[l.a], B = l && sk.points[l.b];
|
|
205
|
+
return A && B ? { a: pc.lo ?? A, b: pc.hi ?? B } : null;
|
|
206
|
+
}
|
|
207
|
+
const R = roundOf(sk, it);
|
|
208
|
+
if (!R)
|
|
209
|
+
return null;
|
|
210
|
+
if (it.kind === 'circle') {
|
|
211
|
+
if (!pc.lo || !pc.hi)
|
|
212
|
+
return { o: R.o, r: R.r, t0: 0, t1: 2 * Math.PI };
|
|
213
|
+
return { o: R.o, r: R.r, t0: pc.lo.at, t1: pc.hi.at > pc.lo.at ? pc.hi.at : pc.hi.at + 2 * Math.PI };
|
|
214
|
+
}
|
|
215
|
+
return { o: R.o, r: R.r, t0: R.t0 + (pc.lo?.at ?? 0), t1: R.t0 + (pc.hi?.at ?? R.sweep) };
|
|
216
|
+
}
|
|
217
|
+
/** One key per piece: a stroke takes each piece once, however many times it crosses it. */
|
|
218
|
+
export const pieceKey = (pc) => pc.item.kind + ':' + pc.item.id + ':' + (pc.lo ? pc.lo.at.toFixed(9) : 's') + ':' + (pc.hi ? pc.hi.at.toFixed(9) : 'e');
|
|
219
|
+
//# sourceMappingURL=trim.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trim.js","sourceRoot":"","sources":["../../src/model/trim.ts"],"names":[],"mappings":"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"}
|
package/dist/model/types.d.ts
CHANGED
|
@@ -62,12 +62,14 @@ export interface Constraint {
|
|
|
62
62
|
/**
|
|
63
63
|
* dist, a wall's length: measured along this face of it — +1 the face to the left of its line's A → B, −1 the right
|
|
64
64
|
* — corner to corner, as a tape measure along it reads. diam, a curved wall's: across its outer face (+1) or its
|
|
65
|
-
* inner face (−1).
|
|
65
|
+
* inner face (−1). online, a point on a straight wall: on this face of it, half its thickness off the centreline.
|
|
66
|
+
* Unset, its centreline.
|
|
66
67
|
*/
|
|
67
68
|
face?: 1 | -1;
|
|
68
69
|
/**
|
|
69
70
|
* pldist between two walls (`l`, and `l2`, the wall `p` is on): which face of each it's measured from — +1 the face
|
|
70
|
-
* toward the other, −1 the far one, 0 the centreline; unset, both centrelines.
|
|
71
|
+
* toward the other, −1 the far one, 0 the centreline; unset, both centrelines. eq: each line's length along this face
|
|
72
|
+
* of it, corner to corner, as `face` is for a wall's length (+1 the left of its A → B, −1 the right, 0 as drawn).
|
|
71
73
|
*/
|
|
72
74
|
faces?: [number, number];
|
|
73
75
|
value?: number;
|
|
@@ -232,6 +234,8 @@ export interface LinkInfo {
|
|
|
232
234
|
/** whether it can be opened from the drawing, and its measurement changed from it (unset: yes) */
|
|
233
235
|
canOpen?: boolean;
|
|
234
236
|
canEdit?: boolean;
|
|
237
|
+
/** whether it can be shown in a pane beside the drawing, when the host has one (CadLinks.openBeside; unset: yes) */
|
|
238
|
+
canOpenBeside?: boolean;
|
|
235
239
|
}
|
|
236
240
|
export interface Note {
|
|
237
241
|
id: string;
|
|
@@ -332,6 +336,12 @@ export interface Sketch {
|
|
|
332
336
|
unscaled?: boolean;
|
|
333
337
|
/** what the first length scaled the sketch by (its view zoomed by the inverse, so nothing moved): undone, it zooms back */
|
|
334
338
|
scaledBy?: number;
|
|
339
|
+
/**
|
|
340
|
+
* The size the page's tiles were first placed at, inches on the drawing: what the Tile size slider calls 100%. It
|
|
341
|
+
* scales with the page when the first length gives it its scale, as the tiles do, so the percent holds. Unset on a
|
|
342
|
+
* page from before it (its tiles' size now is 100%, kept once the slider's used).
|
|
343
|
+
*/
|
|
344
|
+
tileRef?: number;
|
|
335
345
|
}
|
|
336
346
|
/** Photo or plan traced under the drawing. (x, y) is its top-left corner in world inches. */
|
|
337
347
|
export interface Underlay {
|
|
@@ -348,6 +358,18 @@ export interface Underlay {
|
|
|
348
358
|
rot?: number;
|
|
349
359
|
/** locked images can't be moved, resized or turned (they still show, and can be unlocked) */
|
|
350
360
|
locked?: boolean;
|
|
361
|
+
/**
|
|
362
|
+
* Cropped by its side handles (the user's call, 2026-11-03: they crop, never stretch): what's trimmed off each side of
|
|
363
|
+
* the picture, as a share of it (0 to 1 — l and r across it, t and b down it, as it's seen before it's turned). x, y,
|
|
364
|
+
* w, h are the part that shows; the picture is drawn whole past them and clipped, so a side dragged back out brings
|
|
365
|
+
* it back. Unset: all of it shows.
|
|
366
|
+
*/
|
|
367
|
+
crop?: {
|
|
368
|
+
l: number;
|
|
369
|
+
t: number;
|
|
370
|
+
r: number;
|
|
371
|
+
b: number;
|
|
372
|
+
};
|
|
351
373
|
/**
|
|
352
374
|
* A photo of the job's, expanded from its tile (the user's call, 2026-10-26: "it expands the image to full size + shows
|
|
353
375
|
* a link icon in the corner", as Skia's annotation does): its picture is the one the host shows it as (LinkInfo.thumbUrl;
|
package/dist/react/BottomBar.js
CHANGED
|
@@ -3,10 +3,8 @@ import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
|
3
3
|
import { Animated, Text, View } from 'react-native';
|
|
4
4
|
import { ed } from '../app/state';
|
|
5
5
|
import { applyCtxAction, barItems, deleteSelection, iconAlone, plusAction, plusLabel, plusVisible } from '../editor/actions';
|
|
6
|
-
import { addLinks, LINK_PLUS_LABEL, linkPlusVisible, linkSizeVisible, pageLinkSize,
|
|
6
|
+
import { addLinks, LINK_PLUS_LABEL, linkPlusVisible, linkSizeVisible, openLinkTarget, opensWithChoice, pageLinkSize, pageTilePct, pctToStep, selectedOpenTarget, setTilePct, SIZE_STEPS, stepToPct } from '../editor/linkActions';
|
|
7
7
|
import { afterEdit } from '../app/edit';
|
|
8
|
-
import { LINK_SIDE_IN } from '../model/links';
|
|
9
|
-
import { fmtLen } from '../units';
|
|
10
8
|
import { bar3d, run3d } from '../editor/view3d';
|
|
11
9
|
import { is3d } from '../editor/view3dState';
|
|
12
10
|
import { OPACITY_MIN, OPACITY_STEP, ROTATE_MAX, ROTATE_STEP, setUnderlayOpacity, setUnderlayRotation } from '../editor/project';
|
|
@@ -50,7 +48,7 @@ export function BottomBar({ phone }) {
|
|
|
50
48
|
const cut = !over ? undefined : spans ? barCut(spans, room) : room;
|
|
51
49
|
const onWidth = useCallback((i, w) => setWidths(p => (p[i] === w ? p : Object.assign(p.slice(), { [i]: w }))), []);
|
|
52
50
|
const scroll = useBarScroll(over, cut == null ? 0 : content - cut, barFor());
|
|
53
|
-
return (_jsxs(_Fragment, { children: [(items.length > 0 || plus) && (_jsxs(View, { style: [s.bottom, phone ? s.phoneRow : s.centered], onLayout: e => setRow(e.nativeEvent.layout.width), children: [_jsx(ImagePopover, {}), _jsx(LinkSizePopover, {}), phone && _jsx(View, { pointerEvents: "none", style: [s.springL, { flexBasis: corner ? TRASH_ROOM : 0 }] }), _jsxs(View, { testID: "ctxBar", style: s.ctx, children: [_jsxs(View, { style: s.clip, children: [_jsx(Animated.ScrollView, { ref: scroll.ref, testID: "ctxScroll", horizontal: true, showsHorizontalScrollIndicator: false, scrollEnabled: over, bounces: over, contentContainerStyle: s.items, style: [s.scroller, cut != null && { width: cut }], onContentSizeChange: w => setContent(w), onScroll: scroll.onScroll, scrollEventThrottle: 16, onScrollBeginDrag: scroll.stop, children: _jsx(BarButtons, { k: buttonsKey(), phone: phone, onWidth: onWidth }) }), cut != null && _jsx(Fades, { x: scroll.x, end: cut, max: content - cut })] }), plus && (_jsx(Tap, { accessibilityRole: "button", accessibilityLabel: plusLabel(), testID: "addbtn", onPress: plusAction, style: s.add, children: _jsx(Icon, { name: "plus", color: C.dark }) }))] }), phone && _jsx(View, { pointerEvents: "none", style: [s.springR, { flexBasis: corner ? TRASH_ROOM : 0 }] })] })), trash && (_jsx(Tap, { accessibilityRole: "button", accessibilityLabel: "Delete selection", testID: "btnTrash", onPress: deleteSelection, style: s.trash, children: _jsx(Icon, { name: "trash", size: 24, color: "#fff" }) })), fab && (_jsx(Tap, { accessibilityRole: "button", accessibilityLabel: LINK_PLUS_LABEL, testID: "linkFab", onPress: () => { void addLinks(); }, style: [s.trash, s.fab], children: _jsx(Icon, { name: "plus", size: 30, color: C.dark }) }))] }));
|
|
51
|
+
return (_jsxs(_Fragment, { children: [(items.length > 0 || plus) && (_jsxs(View, { style: [s.bottom, phone ? s.phoneRow : s.centered], onLayout: e => setRow(e.nativeEvent.layout.width), children: [_jsx(ImagePopover, {}), _jsx(LinkSizePopover, {}), _jsx(OpenPopover, {}), phone && _jsx(View, { pointerEvents: "none", style: [s.springL, { flexBasis: corner ? TRASH_ROOM : 0 }] }), _jsxs(View, { testID: "ctxBar", style: s.ctx, children: [_jsxs(View, { style: s.clip, children: [_jsx(Animated.ScrollView, { ref: scroll.ref, testID: "ctxScroll", horizontal: true, showsHorizontalScrollIndicator: false, scrollEnabled: over, bounces: over, contentContainerStyle: s.items, style: [s.scroller, cut != null && { width: cut }], onContentSizeChange: w => setContent(w), onScroll: scroll.onScroll, scrollEventThrottle: 16, onScrollBeginDrag: scroll.stop, children: _jsx(BarButtons, { k: buttonsKey(), phone: phone, onWidth: onWidth }) }), cut != null && _jsx(Fades, { x: scroll.x, end: cut, max: content - cut })] }), plus && (_jsx(Tap, { accessibilityRole: "button", accessibilityLabel: plusLabel(), testID: "addbtn", onPress: plusAction, style: s.add, children: _jsx(Icon, { name: "plus", color: C.dark }) }))] }), phone && _jsx(View, { pointerEvents: "none", style: [s.springR, { flexBasis: corner ? TRASH_ROOM : 0 }] })] })), trash && (_jsx(Tap, { accessibilityRole: "button", accessibilityLabel: "Delete selection", testID: "btnTrash", onPress: deleteSelection, style: s.trash, children: _jsx(Icon, { name: "trash", size: 24, color: "#fff" }) })), fab && (_jsx(Tap, { accessibilityRole: "button", accessibilityLabel: LINK_PLUS_LABEL, testID: "linkFab", onPress: () => { void addLinks(); }, style: [s.trash, s.fab], children: _jsx(Icon, { name: "plus", size: 30, color: C.dark }) }))] }));
|
|
54
52
|
}
|
|
55
53
|
/** What's in the bar: for the selection, or for what's tapped in the 3D tab. */
|
|
56
54
|
const entries = () => (is3d() ? bar3d() : barItems());
|
|
@@ -138,11 +136,42 @@ const BarButtons = memo(function BarButtons({ phone, onWidth }) {
|
|
|
138
136
|
if ('lbl' in it)
|
|
139
137
|
return _jsx(Text, { style: s.lbl, onLayout: e => onWidth(i, e.nativeEvent.layout.width), children: it.lbl }, 'l' + i);
|
|
140
138
|
const fg = it.on ? C.dark : it.locked ? C.red : '#fff';
|
|
141
|
-
return (_jsxs(Tap, { onLayout: e => onWidth(i, e.nativeEvent.layout.width), accessibilityRole: "button", accessibilityLabel: it.label, accessibilityState: it.on != null || it.locked != null ? { selected: !!(it.on || it.locked) } : undefined, onPress: e => {
|
|
142
|
-
|
|
139
|
+
return (_jsxs(Tap, { onLayout: e => onWidth(i, e.nativeEvent.layout.width), accessibilityRole: "button", accessibilityLabel: it.label, accessibilityState: it.on != null || it.locked != null ? { selected: !!(it.on || it.locked) } : undefined, onPress: e => {
|
|
140
|
+
if (is3d() && run3d(it.act))
|
|
141
|
+
return;
|
|
142
|
+
// (Open asks how — here, or beside the drawing — where the host can show it there and no pane's open yet)
|
|
143
|
+
const t = isOpen(it.act) ? selectedOpenTarget() : null;
|
|
144
|
+
if (t && opensWithChoice(t)) {
|
|
145
|
+
ui.imgPop = ui.imgPop === 'open' ? null : 'open';
|
|
146
|
+
notify();
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
applyCtxAction(it.act, e.currentTarget);
|
|
150
|
+
}, style: st => [s.cb, iconAlone(it) && s.lead, it.on || (it.act === 'imgOpacity' && ui.imgPop === 'opacity') || (it.act === 'imgRotate' && ui.imgPop === 'rotate') || (it.act === 'linkSize' && ui.imgPop === 'tilesize') || (isOpen(it.act) && ui.imgPop === 'open') ? { backgroundColor: 'rgba(255,255,255,0.14)' } : null,
|
|
143
151
|
it.on ? { backgroundColor: '#fff' } : hovered(st) && { backgroundColor: 'rgba(255,255,255,0.08)' }], children: [_jsx(Icon, { name: it.ic, color: fg }), !iconAlone(it) && _jsx(Text, { style: [s.cbText, { color: fg }], children: it.label })] }, it.act + i));
|
|
144
152
|
}) }));
|
|
145
153
|
});
|
|
154
|
+
/** The bar's Open: a tile's or expanded photo's, or a linked dimension's. */
|
|
155
|
+
const isOpen = (act) => act === 'linkOpen' || act === 'dimLinkOpen';
|
|
156
|
+
/**
|
|
157
|
+
* Open's question, just above the bar (the user's call, 2026-10-30): Open, the host's own way as before, or Open side
|
|
158
|
+
* by side, in a pane beside the drawing. Asked only where the host can show it there and no pane is open yet
|
|
159
|
+
* (opensWithChoice); a press on the drawing closes it, as it does the bar's sliders.
|
|
160
|
+
*/
|
|
161
|
+
function OpenPopover() {
|
|
162
|
+
const t = ui.imgPop === 'open' ? selectedOpenTarget() : null, open = !!t && opensWithChoice(t);
|
|
163
|
+
const pop = usePopup(open, { y: 8 }, 'bottom center');
|
|
164
|
+
if (!pop.present)
|
|
165
|
+
return null;
|
|
166
|
+
const go = (how) => {
|
|
167
|
+
const target = selectedOpenTarget();
|
|
168
|
+
ui.imgPop = null;
|
|
169
|
+
notify();
|
|
170
|
+
if (target)
|
|
171
|
+
openLinkTarget(target, how);
|
|
172
|
+
};
|
|
173
|
+
return (_jsx(View, { style: s.popWrap, pointerEvents: "box-none", children: _jsxs(Animated.View, { style: [s.pop, s.choices, pop.style], pointerEvents: open ? 'auto' : 'none', testID: open ? 'openPop' : undefined, children: [_jsx(Tap, { feel: "dim", accessibilityRole: "button", accessibilityLabel: "Open", testID: "openHere", onPress: () => go('here'), style: st => [s.choice, hovered(st) && s.choiceHover], children: _jsx(Text, { style: s.choiceText, children: "Open" }) }), _jsx(View, { style: s.sep }), _jsx(Tap, { feel: "dim", accessibilityRole: "button", accessibilityLabel: "Open side by side", testID: "openBeside", onPress: () => go('beside'), style: st => [s.choice, hovered(st) && s.choiceHover], children: _jsx(Text, { style: s.choiceText, children: "Open side by side" }) })] }) }));
|
|
174
|
+
}
|
|
146
175
|
/** Degrees, as the rotation slider shows them: whole, or to the half degree. */
|
|
147
176
|
const fmtDeg = (v) => (Math.round(v * 2) / 2).toString().replace('-', '−') + '°';
|
|
148
177
|
/**
|
|
@@ -194,28 +223,25 @@ function ImagePopover() {
|
|
|
194
223
|
? _jsx(Slider, { label: "Image rotation", testID: "rotateSlider", value: value, min: -ROTATE_MAX, max: ROTATE_MAX, step: ROTATE_STEP, format: fmtDeg, onStart: pushHistory, onChange: change, onEnd: end })
|
|
195
224
|
: _jsx(Slider, { label: "Image opacity", testID: "opacitySlider", value: value, min: OPACITY_MIN, max: 100, step: OPACITY_STEP, onStart: pushHistory, onChange: change, onEnd: end }) }), _jsx(Text, { style: s.popValue, children: rotate ? fmtDeg(value) : value + '%' }), rotate && (_jsx(Tap, { feel: "dim", accessibilityRole: "button", accessibilityLabel: "Reset rotation", accessibilityState: { disabled: upright }, disabled: upright, testID: "rotateReset", onPress: () => { pushHistory(); setUnderlayRotation(id, 0); notify(); }, style: [s.reset, upright && { opacity: 0.4 }], children: _jsx(Text, { style: s.resetText, children: "Reset" }) }))] }) }));
|
|
196
225
|
}
|
|
197
|
-
/** A tile size from the slider, as it's kept: to the quarter inch. */
|
|
198
|
-
const tileSize = (step) => Math.round(stepToSize(step) * 4) / 4;
|
|
199
226
|
/**
|
|
200
227
|
* The tiles' size, just above the bar (Size in it opens and closes it): one size for every tile on the page, on the drawing
|
|
201
|
-
* (they zoom with the plan and print at it)
|
|
202
|
-
*
|
|
228
|
+
* (they zoom with the plan and print at it), said in percent of the size they came in at — never feet or metres (the
|
|
229
|
+
* user's call, 2026-11-03: see editor/linkActions.ts). Kept quick on a device, as ImagePopover is: the thumb and the
|
|
230
|
+
* number follow the finger from here, the tiles are sized at most once a frame, and the rest of the editor hears of it
|
|
231
|
+
* as it's let go.
|
|
203
232
|
*/
|
|
204
233
|
function LinkSizePopover() {
|
|
205
234
|
const [live, setLive] = useState(null);
|
|
206
|
-
// the number's width as it was laid out, held while a drag goes on (the track ends at it: as long as the number is,
|
|
207
|
-
// no longer — but never narrower mid-drag, which would move the track under the finger)
|
|
208
|
-
const [numW, setNumW] = useState(0);
|
|
209
235
|
const pending = useRef(null);
|
|
210
236
|
// (opened from the bar's Size, as an image's sliders are; a press on the drawing closes it)
|
|
211
|
-
const
|
|
237
|
+
const pct = ui.imgPop === 'tilesize' && linkSizeVisible() ? pageTilePct() : null, open = pct != null;
|
|
212
238
|
// (as it goes it keeps showing the size it had)
|
|
213
|
-
const last = useRef(
|
|
214
|
-
if (
|
|
215
|
-
last.current =
|
|
239
|
+
const last = useRef(pct ?? 100), pop = usePopup(open, { y: 8 }, 'bottom center');
|
|
240
|
+
if (pct != null)
|
|
241
|
+
last.current = pct;
|
|
216
242
|
if (!pop.present)
|
|
217
243
|
return null;
|
|
218
|
-
const value = live ??
|
|
244
|
+
const value = live ?? pctToStep(last.current);
|
|
219
245
|
const change = (v) => {
|
|
220
246
|
setLive(v);
|
|
221
247
|
const p = pending.current;
|
|
@@ -224,21 +250,20 @@ function LinkSizePopover() {
|
|
|
224
250
|
return;
|
|
225
251
|
}
|
|
226
252
|
pending.current = { v, frame: requestAnimationFrame(() => { const q = pending.current; pending.current = null; if (q)
|
|
227
|
-
|
|
253
|
+
setTilePct(stepToPct(q.v)); }) };
|
|
228
254
|
};
|
|
229
255
|
const end = () => {
|
|
230
256
|
const p = pending.current;
|
|
231
257
|
if (p) {
|
|
232
258
|
cancelAnimationFrame(p.frame);
|
|
233
259
|
pending.current = null;
|
|
234
|
-
|
|
260
|
+
setTilePct(stepToPct(p.v));
|
|
235
261
|
}
|
|
236
262
|
setLive(null);
|
|
237
263
|
afterEdit();
|
|
238
264
|
notify();
|
|
239
265
|
};
|
|
240
|
-
return (_jsx(View, { style: s.popWrap, pointerEvents: "box-none", children: _jsxs(Animated.View, { style: [s.pop, pop.style], pointerEvents: open ? 'auto' : 'none', testID: open ? 'tileSizePop' : undefined, children: [_jsx(Text, { style: s.popLabel, children: "Tile size" }), _jsx(View, { style: { flex: 1 }, children: _jsx(Slider, { label: "Tile size", testID: "tileSizeSlider", value: value, min: 0, max: SIZE_STEPS, step: 1, format: v =>
|
|
241
|
-
setNumW(e.nativeEvent.layout.width); }, style: [s.popValue, s.sizeValue, live != null && numW ? { minWidth: numW } : null], children: fmtLen(live != null ? tileSize(live) : last.current) })] }) }));
|
|
266
|
+
return (_jsx(View, { style: s.popWrap, pointerEvents: "box-none", children: _jsxs(Animated.View, { style: [s.pop, pop.style], pointerEvents: open ? 'auto' : 'none', testID: open ? 'tileSizePop' : undefined, children: [_jsx(Text, { style: s.popLabel, children: "Tile size" }), _jsx(View, { style: { flex: 1 }, children: _jsx(Slider, { label: "Tile size", testID: "tileSizeSlider", value: value, min: 0, max: SIZE_STEPS, step: 1, format: v => stepToPct(v) + '%', onStart: pushHistory, onChange: change, onEnd: end }) }), _jsx(Text, { style: s.popValue, children: (live != null ? stepToPct(live) : last.current) + '%' })] }) }));
|
|
242
267
|
}
|
|
243
268
|
/** The hint for screen readers: what to do next with the tool or what's picked, read out as it changes. */
|
|
244
269
|
export function SpokenHint() {
|
|
@@ -279,13 +304,17 @@ const s = createSheet({
|
|
|
279
304
|
pop: { width: 400, maxWidth: '100%', flexDirection: 'row', alignItems: 'center', gap: 10, backgroundColor: C.g2, borderRadius: 999, paddingHorizontal: 16, paddingVertical: 4, ...shadow },
|
|
280
305
|
popLabel: { fontFamily: FONT, fontSize: 12.5, fontWeight: '600', color: C.lg2 },
|
|
281
306
|
popValue: { fontFamily: FONT, fontSize: 12.5, fontWeight: '600', color: '#fff', width: 48, textAlign: 'right' },
|
|
282
|
-
// (a length: as long as it is, the track running up to it)
|
|
283
|
-
sizeValue: { width: 'auto', minWidth: 0 },
|
|
284
307
|
// back to upright: a pill at the end of the rotation slider, concentric with it — the same 4 above, below and beside
|
|
285
308
|
// it, and the slider's radius (22, half its 44) less that 4 for its own
|
|
286
309
|
popReset: { paddingRight: 4 },
|
|
287
310
|
reset: { height: 36, paddingHorizontal: 16, borderRadius: 18, backgroundColor: C.g3, justifyContent: 'center' },
|
|
288
311
|
resetText: { fontFamily: FONT, fontSize: 12.5, fontWeight: '600', color: '#fff' },
|
|
312
|
+
// Open's question: its two answers as the bar's own buttons are (white on the bar's grey, a divider between),
|
|
313
|
+
// concentric with it (4 in all round)
|
|
314
|
+
choices: { width: 'auto', paddingHorizontal: 4, gap: 2 },
|
|
315
|
+
choice: { height: 40, paddingHorizontal: 16, borderRadius: 20, justifyContent: 'center' },
|
|
316
|
+
choiceHover: { backgroundColor: 'rgba(255,255,255,0.08)' },
|
|
317
|
+
choiceText: { fontFamily: FONT, fontSize: 14, fontWeight: '600', color: '#fff' },
|
|
289
318
|
// (6 in from the bar's end, top and bottom: concentric with it)
|
|
290
319
|
add: { width: ADD, height: ADD, borderRadius: ADD / 2, backgroundColor: C.yellow, alignItems: 'center', justifyContent: 'center', marginLeft: ADD_GAP },
|
|
291
320
|
// BOLDR's delete FAB (the annotation editors' DeleteFab): a 60 pt solid red circle 12 from the right and 14 from the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BottomBar.js","sourceRoot":"","sources":["../../src/react/BottomBar.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BottomBar.js","sourceRoot":"","sources":["../../src/react/BottomBar.tsx"],"names":[],"mappings":"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"}
|