@graview/react 0.1.27 → 0.1.29
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/affordances.d.ts +2 -1
- package/dist/affordances.d.ts.map +1 -1
- package/dist/affordances.js +2 -1
- package/dist/affordances.js.map +1 -1
- package/dist/beside-the-map.d.ts +13 -0
- package/dist/beside-the-map.d.ts.map +1 -0
- package/dist/beside-the-map.js +14 -0
- package/dist/beside-the-map.js.map +1 -0
- package/dist/channels.d.ts +2 -1
- package/dist/channels.d.ts.map +1 -1
- package/dist/channels.js +121 -22
- package/dist/channels.js.map +1 -1
- package/dist/connectors.d.ts +27 -2
- package/dist/connectors.d.ts.map +1 -1
- package/dist/connectors.js +135 -21
- package/dist/connectors.js.map +1 -1
- package/dist/context.d.ts +38 -2
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js +63 -14
- package/dist/context.js.map +1 -1
- package/dist/drawn.d.ts +1 -1
- package/dist/drawn.d.ts.map +1 -1
- package/dist/drawn.js +1 -1
- package/dist/drawn.js.map +1 -1
- package/dist/edge-signs.d.ts +1 -1
- package/dist/edge-signs.d.ts.map +1 -1
- package/dist/edge-signs.js +52 -7
- package/dist/edge-signs.js.map +1 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/last-visit.d.ts +18 -0
- package/dist/last-visit.d.ts.map +1 -0
- package/dist/last-visit.js +79 -0
- package/dist/last-visit.js.map +1 -0
- package/dist/map-choice.d.ts +55 -0
- package/dist/map-choice.d.ts.map +1 -0
- package/dist/map-choice.js +73 -0
- package/dist/map-choice.js.map +1 -0
- package/dist/plots.d.ts +30 -24
- package/dist/plots.d.ts.map +1 -1
- package/dist/plots.js +168 -149
- package/dist/plots.js.map +1 -1
- package/dist/provider.d.ts +2 -1
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +3 -1
- package/dist/provider.js.map +1 -1
- package/dist/record-links-layer.d.ts +80 -0
- package/dist/record-links-layer.d.ts.map +1 -0
- package/dist/record-links-layer.js +127 -0
- package/dist/record-links-layer.js.map +1 -0
- package/dist/record-links.d.ts +58 -0
- package/dist/record-links.d.ts.map +1 -0
- package/dist/record-links.js +72 -0
- package/dist/record-links.js.map +1 -0
- package/dist/resolved-view.d.ts.map +1 -1
- package/dist/resolved-view.js +4 -0
- package/dist/resolved-view.js.map +1 -1
- package/dist/ribbon-width.d.ts +8 -0
- package/dist/ribbon-width.d.ts.map +1 -0
- package/dist/ribbon-width.js +15 -0
- package/dist/ribbon-width.js.map +1 -0
- package/dist/ribbons-layer.d.ts +56 -0
- package/dist/ribbons-layer.d.ts.map +1 -0
- package/dist/ribbons-layer.js +167 -0
- package/dist/ribbons-layer.js.map +1 -0
- package/dist/ribbons.d.ts +70 -0
- package/dist/ribbons.d.ts.map +1 -0
- package/dist/ribbons.js +400 -0
- package/dist/ribbons.js.map +1 -0
- package/dist/scene-camera.d.ts.map +1 -1
- package/dist/scene-camera.js +10 -4
- package/dist/scene-camera.js.map +1 -1
- package/dist/scene-covered.d.ts +8 -0
- package/dist/scene-covered.d.ts.map +1 -0
- package/dist/scene-covered.js +118 -0
- package/dist/scene-covered.js.map +1 -0
- package/dist/scene-hand.d.ts +15 -0
- package/dist/scene-hand.d.ts.map +1 -1
- package/dist/scene-hand.js +45 -1
- package/dist/scene-hand.js.map +1 -1
- package/dist/scene-lines.d.ts +15 -2
- package/dist/scene-lines.d.ts.map +1 -1
- package/dist/scene-lines.js +215 -85
- package/dist/scene-lines.js.map +1 -1
- package/dist/scene-options.d.ts +7 -2
- package/dist/scene-options.d.ts.map +1 -1
- package/dist/scene-options.js +22 -8
- package/dist/scene-options.js.map +1 -1
- package/dist/scene-root.d.ts +1 -0
- package/dist/scene-root.d.ts.map +1 -1
- package/dist/scene-root.js +197 -154
- package/dist/scene-root.js.map +1 -1
- package/dist/view-host.d.ts.map +1 -1
- package/dist/view-host.js +6 -1
- package/dist/view-host.js.map +1 -1
- package/dist/view-registry.d.ts +5 -0
- package/dist/view-registry.d.ts.map +1 -1
- package/dist/view-registry.js +2 -6
- package/dist/view-registry.js.map +1 -1
- package/dist/where-drawn.d.ts +3 -1
- package/dist/where-drawn.d.ts.map +1 -1
- package/dist/where-drawn.js +10 -16
- package/dist/where-drawn.js.map +1 -1
- package/package.json +5 -5
package/dist/plots.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { kindCardId, kindOfCard } from "@graview/layout";
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { labelOf, numberAsRead, SCENE_LAYERS } from "@graview/core";
|
|
3
|
+
import { districtBlocks, districtState, TIER_HEIGHT, toIso } from "@graview/core/scene";
|
|
5
4
|
import { memo, useCallback, useMemo, useRef } from "react";
|
|
6
|
-
import { useGraview } from "./context.js";
|
|
5
|
+
import { useGraph, useGraview } from "./context.js";
|
|
7
6
|
import { useFlagged } from "./emphasis.js";
|
|
7
|
+
import { ownRecords, useSinceLastVisit } from "./last-visit.js";
|
|
8
|
+
import "./provider.js"; // A door: tied to what the page drew first (TIED DOORS, packages/primitives/src/frame.ts).
|
|
8
9
|
/** The four corners of a plot's tile on the canvas: back, right, front, left — clockwise from the top. */
|
|
9
10
|
export function tileCorners(plot, city, pan = { x: 0, y: 0 }) {
|
|
10
11
|
const at = (col, row) => {
|
|
11
|
-
const iso = toIso(col, row, city.cell);
|
|
12
|
+
const iso = toIso(col, row, city.cell, city.tilt);
|
|
12
13
|
return { x: city.originX + pan.x + iso.x, y: city.originY + pan.y + iso.y };
|
|
13
14
|
};
|
|
14
15
|
return [
|
|
@@ -30,14 +31,21 @@ const points = (corners) => corners.map((p) => `${p.x.toFixed(1)},${p.y.toFixed(
|
|
|
30
31
|
* group, so a pan or a tween changes one attribute. Each plot is its own
|
|
31
32
|
* memoized tile whose village is kept for as long as that plot and its
|
|
32
33
|
* members are the same, so dragging one district redraws that district and
|
|
33
|
-
*
|
|
34
|
+
* its tile, not every building in the city on every frame.
|
|
34
35
|
*/
|
|
35
|
-
export function Plots({ frame, width, height, pan,
|
|
36
|
-
const { selection, store,
|
|
36
|
+
export function Plots({ frame, width, height, pan, pinned, close, today, swallowed, chosen = [], onFocus }) {
|
|
37
|
+
const { selection, store, scheme, principal } = useGraview();
|
|
38
|
+
const nodes = useGraph();
|
|
39
|
+
/* What somebody else wrote since this seat last left, and what is its own (last-visit.ts). */
|
|
40
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
41
|
+
const ops = useMemo(() => store.log.all(), [store, nodes]);
|
|
42
|
+
const recent = useSinceLastVisit(ops, store.schema.kinds, principal);
|
|
43
|
+
const own = useMemo(() => ownRecords(store.graph, ops, principal?.id), [store, ops, principal?.id]);
|
|
37
44
|
const flagged = useFlagged();
|
|
38
45
|
const city = frame.city;
|
|
39
46
|
const tiles = frame.nodes.filter((node) => node.plot !== undefined && Math.round(node.plane) === 2);
|
|
40
47
|
const cell = city?.cell ?? 0;
|
|
48
|
+
const tilt = city?.tilt ?? 0.5;
|
|
41
49
|
// The callback is read when the tile is pressed, so a new one each render redraws nothing.
|
|
42
50
|
const focus = useRef(onFocus);
|
|
43
51
|
focus.current = onFocus;
|
|
@@ -48,50 +56,66 @@ export function Plots({ frame, width, height, pan, brand, pinned, swallowed, onF
|
|
|
48
56
|
return true;
|
|
49
57
|
}, [swallowed]);
|
|
50
58
|
/*
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
59
|
+
* EACH PLOT'S GROUND, kept while that plot and where its members stand
|
|
60
|
+
* are unchanged: a row of blocks per value of the kind's main choice
|
|
61
|
+
* (`districtState`), back row first in the declared order, each block as
|
|
62
|
+
* tall as its value reads — done flat, active raised.
|
|
54
63
|
*/
|
|
55
|
-
const plotsSignature = `${cell}|${tiles.map((node) => `${node.id}:${node.plot.col},${node.plot.row},${node.plot.side}`).join(";")}`;
|
|
56
|
-
const roads = useMemo(() => {
|
|
57
|
-
if (!city)
|
|
58
|
-
return [];
|
|
59
|
-
const at0 = { cell, originX: 0, originY: 0 };
|
|
60
|
-
const plotsByKind = new Map();
|
|
61
|
-
for (const node of tiles) {
|
|
62
|
-
const kind = kindOfCard(node.id);
|
|
63
|
-
if (kind !== null && node.plot)
|
|
64
|
-
plotsByKind.set(kind, node.plot);
|
|
65
|
-
}
|
|
66
|
-
return roadsOf(store.schema, plotsByKind).map((road) => ({
|
|
67
|
-
...road,
|
|
68
|
-
d: roadBetween(plotsByKind.get(road.from), plotsByKind.get(road.to), at0, { x: 0, y: 0 })
|
|
69
|
-
.map((p, i) => `${i === 0 ? "M" : "L"} ${p.x.toFixed(1)} ${p.y.toFixed(1)}`)
|
|
70
|
-
.join(" "),
|
|
71
|
-
}));
|
|
72
|
-
// `plotsSignature` stands for the tiles and the cell.
|
|
73
|
-
}, [plotsSignature, store.schema]);
|
|
74
|
-
/* EACH PLOT'S GROUND, kept while that plot and its members are unchanged. */
|
|
75
64
|
const drawn = useRef(new Map());
|
|
76
65
|
const kept = new Map();
|
|
77
66
|
for (const node of tiles) {
|
|
78
67
|
const members = node.aggregate?.memberIds ?? [];
|
|
79
|
-
const
|
|
68
|
+
const state = districtState(store.schema, node.kind);
|
|
69
|
+
const valueOf = (id) => (state ? store.graph.getNode(id)?.[state.field] : undefined);
|
|
70
|
+
/* A chosen record is never one of the "+504": it stands first in its row, so its building is there to light and to draw its links from. */
|
|
71
|
+
const first = members.filter((id) => chosen.includes(id));
|
|
72
|
+
const key = `${cell}|${tilt}|${node.plot.col},${node.plot.row},${node.plot.side}|${first.join(",")}|${members.map((id) => `${id}=${String(valueOf(id))}`).join(",")}`;
|
|
80
73
|
const held = drawn.current.get(node.id);
|
|
81
74
|
if (held && held.key === key) {
|
|
82
75
|
kept.set(node.id, held);
|
|
83
76
|
continue;
|
|
84
77
|
}
|
|
85
|
-
const at0 = { cell, originX: 0, originY: 0 };
|
|
78
|
+
const at0 = { cell, originX: 0, originY: 0, tilt };
|
|
86
79
|
const none = { x: 0, y: 0 };
|
|
87
|
-
const
|
|
80
|
+
const definition = store.schema.tryDefinition(node.kind);
|
|
81
|
+
const nameOf = (id) => {
|
|
82
|
+
const record = store.graph.getNode(id);
|
|
83
|
+
return record ? labelOf(definition, record) : id;
|
|
84
|
+
};
|
|
85
|
+
const lanes = state ? state.values.map(() => []) : [[]];
|
|
86
|
+
const tiers = state ? [...state.tiers] : ["waiting"];
|
|
87
|
+
for (const id of first.length > 0 ? [...first, ...members.filter((id) => !first.includes(id))] : members) {
|
|
88
|
+
const at = state ? state.values.indexOf(valueOf(id)) : 0;
|
|
89
|
+
if (at >= 0)
|
|
90
|
+
lanes[at].push(id);
|
|
91
|
+
else {
|
|
92
|
+
if (lanes.length === tiers.length) {
|
|
93
|
+
lanes.push([]);
|
|
94
|
+
tiers.push("waiting");
|
|
95
|
+
}
|
|
96
|
+
lanes[lanes.length - 1].push(id);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
const { blocks, rests } = districtBlocks(node.plot, lanes, tiers.map((tier) => TIER_HEIGHT[tier]));
|
|
88
100
|
const corners = tileCorners(node.plot, at0, none);
|
|
101
|
+
// A record's due date past and not done: overdue, lit like a problem.
|
|
102
|
+
const due = state ? dueField(store.schema, node.kind) : undefined;
|
|
89
103
|
kept.set(node.id, {
|
|
90
104
|
key,
|
|
91
105
|
tile: points(corners),
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
106
|
+
rests: rests.map((rest) => ({ count: rest.count, at: toIso(rest.col, rest.row, cell, tilt) })),
|
|
107
|
+
buildings: blocks.map((block) => {
|
|
108
|
+
const record = due ? store.graph.getNode(block.id) : undefined;
|
|
109
|
+
const when = record?.[due];
|
|
110
|
+
return {
|
|
111
|
+
id: block.id,
|
|
112
|
+
tier: tiers[block.lane],
|
|
113
|
+
overdue: typeof when === "string" && tiers[block.lane] !== "done" && when.slice(0, 10) < (today ?? new Date().toISOString().slice(0, 10)),
|
|
114
|
+
name: nameOf(block.id),
|
|
115
|
+
width: block.footprint * cell,
|
|
116
|
+
...buildingFaces(block, at0, none),
|
|
117
|
+
};
|
|
118
|
+
}),
|
|
95
119
|
});
|
|
96
120
|
}
|
|
97
121
|
drawn.current = kept;
|
|
@@ -100,30 +124,86 @@ export function Plots({ frame, width, height, pan, brand, pinned, swallowed, onF
|
|
|
100
124
|
const style = { position: "absolute", left: 0, top: 0, pointerEvents: "none", overflow: "visible" };
|
|
101
125
|
const chosenKey = selection.join("\n");
|
|
102
126
|
const flaggedKey = flagged.join("\n");
|
|
103
|
-
|
|
127
|
+
const recentKey = recent ? [...recent].join("\n") : "";
|
|
128
|
+
const ownKey = own ? [...own].join("\n") : "";
|
|
129
|
+
return (_jsxs(_Fragment, { children: [_jsx("style", { children: groundCss(scheme) }), _jsx("svg", { className: "graview-plots", "aria-hidden": "true", "data-graview-world": "", width: width, height: height, style: style, "data-graview-plots": tiles.length, "data-graview-named": close ? "" : undefined, children: _jsx("g", { transform: `translate(${(city.originX + pan.x).toFixed(1)} ${(city.originY + pan.y).toFixed(1)})`, children: tiles.map((node) => (_jsx(PlotTile, { id: node.id, drawing: kept.get(node.id), pinned: pinned?.has(node.id) ?? false, chosenKey: chosenKey, flaggedKey: flaggedKey, recentKey: recentKey, ownKey: ownKey, named: close ?? false, press: press }, node.id))) }) })] }));
|
|
130
|
+
}
|
|
131
|
+
/** A block's name is written over it once the block is this wide on the screen: coming down, the blocks are named. */
|
|
132
|
+
const NAMED_FROM = 34;
|
|
133
|
+
/** How wide a letter of a block's name is taken to be, and how far above and below its baseline it reaches (`.graview-building-name`: .625rem). */
|
|
134
|
+
const NAME_LETTER = 6;
|
|
135
|
+
const NAME_ABOVE = 9;
|
|
136
|
+
const NAME_BELOW = 3;
|
|
137
|
+
/** The clear space kept around a name, so two never touch. */
|
|
138
|
+
const NAME_CLEAR = 2;
|
|
139
|
+
/** A block's name as it is written over it: whole while the block is wide enough for it, else cut with an ellipsis. */
|
|
140
|
+
function nameOver(block, whole) {
|
|
141
|
+
if (whole || block.name.length * NAME_LETTER <= block.width * 1.6)
|
|
142
|
+
return block.name;
|
|
143
|
+
return `${block.name.slice(0, Math.max(1, Math.floor((block.width * 1.6) / NAME_LETTER) - 1))}…`;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* WHICH BLOCKS SAY THEIR NAMES, so that no two names on a plot lie over each
|
|
147
|
+
* other. A district's blocks stand a step apart on the diagonal, and every
|
|
148
|
+
* name was written over its own block whatever stood beside it: coming down
|
|
149
|
+
* on the locations, "The workshop", "The kitchen" and "The yard" were one
|
|
150
|
+
* smudge across the block somebody had chosen. The district nameplates' own
|
|
151
|
+
* rule, a name only where it has room: the chosen block says its name first
|
|
152
|
+
* and whole, then each block wide enough to be named, back to front, as long
|
|
153
|
+
* as its name has room beside the names already written. The rest say
|
|
154
|
+
* theirs once the camera comes down far enough to part them.
|
|
155
|
+
*/
|
|
156
|
+
export function namesWithRoom(buildings, chosen) {
|
|
157
|
+
const said = new Map();
|
|
158
|
+
const taken = [];
|
|
159
|
+
const first = buildings.filter((block) => chosen.has(block.id));
|
|
160
|
+
for (const block of [...first, ...buildings.filter((block) => !chosen.has(block.id))]) {
|
|
161
|
+
const whole = chosen.has(block.id);
|
|
162
|
+
if (!whole && block.width < NAMED_FROM)
|
|
163
|
+
continue;
|
|
164
|
+
const text = nameOver(block, whole);
|
|
165
|
+
const half = (text.length * NAME_LETTER) / 2 + NAME_CLEAR;
|
|
166
|
+
const baseline = block.top.y - 3;
|
|
167
|
+
const box = { left: block.top.x - half, right: block.top.x + half, top: baseline - NAME_ABOVE - NAME_CLEAR, bottom: baseline + NAME_BELOW + NAME_CLEAR };
|
|
168
|
+
if (taken.some((other) => other.left < box.right && box.left < other.right && other.top < box.bottom && box.top < other.bottom))
|
|
169
|
+
continue;
|
|
170
|
+
taken.push(box);
|
|
171
|
+
said.set(block.id, text);
|
|
172
|
+
}
|
|
173
|
+
return said;
|
|
104
174
|
}
|
|
105
|
-
const PlotTile = memo(function PlotTile({ id,
|
|
175
|
+
const PlotTile = memo(function PlotTile({ id, drawing, pinned, chosenKey, flaggedKey, recentKey, ownKey, named, press, }) {
|
|
106
176
|
const chosen = new Set(chosenKey.split("\n"));
|
|
107
177
|
const broken = new Set(flaggedKey.split("\n"));
|
|
108
|
-
|
|
178
|
+
const recent = new Set(recentKey.split("\n"));
|
|
179
|
+
const own = new Set(ownKey.split("\n"));
|
|
180
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
181
|
+
const names = useMemo(() => (named ? namesWithRoom(drawing.buildings, chosen) : null), [named, drawing, chosenKey]);
|
|
182
|
+
return (_jsxs("g", { className: "graview-plot", "data-graview-plot": id, "data-graview-pinned": pinned ? "" : undefined, children: [_jsx("polygon", { className: "graview-plot-tile", points: drawing.tile, onClick: (event) => {
|
|
109
183
|
if (press(id))
|
|
110
184
|
event.stopPropagation();
|
|
111
|
-
} }), drawing.buildings.length > 0 ? (_jsxs("g", { className: "graview-village", "data-graview-village": drawing.buildings.length, "data-graview-rest": drawing.rest || undefined, children: [drawing.buildings.map((
|
|
185
|
+
} }), drawing.buildings.length > 0 ? (_jsxs("g", { className: "graview-village", "data-graview-village": drawing.buildings.length, "data-graview-rest": drawing.rests.reduce((sum, rest) => sum + rest.count, 0) || undefined, children: [drawing.buildings.map((block) => (_jsxs("g", { className: "graview-building", "data-graview-building": block.id, "data-graview-tier": block.tier, "data-graview-flagged": broken.has(block.id) || block.overdue ? "" : undefined, "data-graview-overdue": block.overdue ? "" : undefined, "data-graview-recent": recent.has(block.id) ? "" : undefined, "data-graview-own": own.has(block.id) ? "" : undefined, "data-graview-selected": chosen.has(block.id) ? "" : undefined, children: [_jsx("polygon", { className: "graview-iso-left", points: block.left }), _jsx("polygon", { className: "graview-iso-right", points: block.right }), _jsx("polygon", { className: "graview-iso-roof", points: block.roof }), names?.has(block.id) ? (_jsx("text", { className: "graview-building-name", x: block.top.x, y: block.top.y - 3, textAnchor: "middle", children: names.get(block.id) })) : null] }, block.id))), drawing.rests.map((rest, i) => (_jsxs("text", { className: "graview-village-rest", x: rest.at.x - 3, y: rest.at.y + 4, textAnchor: "end", children: [_jsx("title", { children: `${numberAsRead(rest.count)} more in this row than the plot has room to show` }), "+", numberAsRead(rest.count)] }, i)))] })) : null] }));
|
|
112
186
|
});
|
|
187
|
+
/** A kind's due date, by the name such a field goes by; undefined when it has none. */
|
|
188
|
+
function dueField(schema, kind) {
|
|
189
|
+
return Object.keys((schema.tryDefinition(kind)?.fields.shape ?? {})).find((name) => /^(due|deadline|due[-_ ]?(on|date|at|by))$/i.test(name));
|
|
190
|
+
}
|
|
113
191
|
/* ------------------------------------------------------------ the village */
|
|
114
192
|
/*
|
|
115
193
|
* WHERE THE MEMBERS STAND is @graview/core's (`villageOf`), so a picture
|
|
116
194
|
* drawn without a browser (`sceneThumbnail`) puts them where this does.
|
|
117
195
|
*/
|
|
118
|
-
export { heightOf, villageCap, villageOf } from "@graview/core/scene";
|
|
196
|
+
export { districtBlocks, heightOf, villageCap, villageOf } from "@graview/core/scene";
|
|
119
197
|
/** The three faces of one building on the canvas, from its foot cell. */
|
|
120
198
|
export function buildingFaces(building, city, pan) {
|
|
121
199
|
const half = building.footprint / 2;
|
|
122
200
|
const at = (col, row, lift = 0) => {
|
|
123
|
-
const iso = toIso(col, row, city.cell);
|
|
201
|
+
const iso = toIso(col, row, city.cell, city.tilt);
|
|
124
202
|
return { x: city.originX + pan.x + iso.x, y: city.originY + pan.y + iso.y - lift };
|
|
125
203
|
};
|
|
126
|
-
|
|
204
|
+
// A wall shows as much as the ground is tilted away from straight above: none at all from there.
|
|
205
|
+
const tilt = Math.min(1, city.tilt ?? 0.5);
|
|
206
|
+
const rise = building.footprint * city.cell * 0.5 * building.height * (Math.sqrt(1 - tilt * tilt) / Math.sqrt(0.75));
|
|
127
207
|
const back = at(building.col - half, building.row - half, rise);
|
|
128
208
|
const right = at(building.col + half, building.row - half, rise);
|
|
129
209
|
const front = at(building.col + half, building.row + half, rise);
|
|
@@ -138,115 +218,54 @@ export function buildingFaces(building, city, pan) {
|
|
|
138
218
|
top: back,
|
|
139
219
|
};
|
|
140
220
|
}
|
|
141
|
-
/*
|
|
221
|
+
/* ------------------------------------------------------------- the lattice */
|
|
142
222
|
/** Lattice coordinates of a canvas point: the isometric map run backwards. */
|
|
143
223
|
export function toLattice(point, city, pan) {
|
|
144
224
|
const x = point.x - city.originX - pan.x;
|
|
145
225
|
const y = point.y - city.originY - pan.y;
|
|
146
|
-
|
|
147
|
-
}
|
|
148
|
-
const insidePlot = (point, plot, city, pan) => {
|
|
149
|
-
const { col, row } = toLattice(point, city, pan);
|
|
150
|
-
return col >= plot.col && col <= plot.col + plot.side && row >= plot.row && row <= plot.row + plot.side;
|
|
151
|
-
};
|
|
152
|
-
const lerp = (a, b, t) => ({ x: a.x + (b.x - a.x) * t, y: a.y + (b.y - a.y) * t });
|
|
153
|
-
/**
|
|
154
|
-
* THE STREETS. Plots stand at multiples of BLOCK and never fill their
|
|
155
|
-
* block, so between every block there is a gutter — a row and a column
|
|
156
|
-
* of cells nothing stands on. A road runs along them: out of its plot to
|
|
157
|
-
* the gutter beside its block, along that gutter, up the gutter beside
|
|
158
|
-
* the other block, and in. Every leg is a lattice line (one coordinate
|
|
159
|
-
* held), no leg crosses a third plot, and the whole city reads as
|
|
160
|
-
* villages on a street grid rather than lines drawn over it.
|
|
161
|
-
*/
|
|
162
|
-
export function streetPoints(from, to) {
|
|
163
|
-
const ca = from.col + from.side / 2;
|
|
164
|
-
const ra = from.row + from.side / 2;
|
|
165
|
-
const cb = to.col + to.side / 2;
|
|
166
|
-
const rb = to.row + to.side / 2;
|
|
167
|
-
const blockRow = (plot) => Math.floor(plot.row / BLOCK);
|
|
168
|
-
const blockCol = (plot) => Math.floor(plot.col / BLOCK);
|
|
169
|
-
const ja = blockRow(from);
|
|
170
|
-
const jb = blockRow(to);
|
|
171
|
-
const ia = blockCol(from);
|
|
172
|
-
const ib = blockCol(to);
|
|
173
|
-
// The gutter row beside `from`, on the side `to` lies; the gutter column beside `to`, on the side `from` lies.
|
|
174
|
-
const gr = jb > ja ? ja * BLOCK + BLOCK - 0.5 : jb < ja ? ja * BLOCK - 0.5 : ja * BLOCK + BLOCK - 0.5;
|
|
175
|
-
const gc = ib > ia ? ib * BLOCK - 0.5 : ib < ia ? ib * BLOCK + BLOCK - 0.5 : ib * BLOCK - 0.5;
|
|
176
|
-
const raw = [
|
|
177
|
-
{ col: ca, row: ra },
|
|
178
|
-
{ col: ca, row: gr },
|
|
179
|
-
{ col: gc, row: gr },
|
|
180
|
-
{ col: gc, row: rb },
|
|
181
|
-
{ col: cb, row: rb },
|
|
182
|
-
];
|
|
183
|
-
// Drop a leg of no length, and a middle point that lies on the line of its neighbors.
|
|
184
|
-
const out = [];
|
|
185
|
-
for (const p of raw) {
|
|
186
|
-
const last = out[out.length - 1];
|
|
187
|
-
if (last && Math.abs(last.col - p.col) < 1e-9 && Math.abs(last.row - p.row) < 1e-9)
|
|
188
|
-
continue;
|
|
189
|
-
out.push(p);
|
|
190
|
-
}
|
|
191
|
-
for (let i = out.length - 2; i > 0; i--) {
|
|
192
|
-
const a = out[i - 1];
|
|
193
|
-
const b = out[i];
|
|
194
|
-
const c = out[i + 1];
|
|
195
|
-
const sameCol = Math.abs(a.col - b.col) < 1e-9 && Math.abs(b.col - c.col) < 1e-9;
|
|
196
|
-
const sameRow = Math.abs(a.row - b.row) < 1e-9 && Math.abs(b.row - c.row) < 1e-9;
|
|
197
|
-
if (sameCol || sameRow)
|
|
198
|
-
out.splice(i, 1);
|
|
199
|
-
}
|
|
200
|
-
return out;
|
|
226
|
+
const t = city.tilt ?? 0.5;
|
|
227
|
+
return { col: x / city.cell + y / (city.cell * t), row: y / (city.cell * t) - x / city.cell };
|
|
201
228
|
}
|
|
202
|
-
|
|
203
|
-
*
|
|
204
|
-
*
|
|
205
|
-
* the
|
|
206
|
-
*
|
|
229
|
+
/*
|
|
230
|
+
* Come down far enough that the blocks say their names, a district's
|
|
231
|
+
* landmark steps back for them: it stands in the square, over the names of
|
|
232
|
+
* the blocks around it, and its lines struck through every one of them.
|
|
233
|
+
* The nameplate still says whose district it is.
|
|
234
|
+
*
|
|
235
|
+
* THE GROUND'S OWN RULES, fetched with the ground: the scene draws the city
|
|
236
|
+
* only from altitude, so a page that never rises never carries them.
|
|
237
|
+
*
|
|
238
|
+
* COLOR CARRIES STATE, NOT KIND. Every district stands on the same neutral
|
|
239
|
+
* ground in the ground's own ink — a kind is told by its name and where it
|
|
240
|
+
* stands, not by a hue of its own — so the strong colors are left for what
|
|
241
|
+
* needs seeing. The blocks, a row per value: waiting in a middle gray,
|
|
242
|
+
* active darker (and taller), done flat and pale; a record with a problem,
|
|
243
|
+
* or past its due date and not done, lit in the warning color; one
|
|
244
|
+
* somebody else changed since you were last here aglow in the accent; your
|
|
245
|
+
* own with an ink rim; a selected one in the accent. A hand-placed district's curb is dashed.
|
|
207
246
|
*/
|
|
208
|
-
|
|
209
|
-
const
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
out.push(lerp(a, b, hi));
|
|
232
|
-
started = true;
|
|
233
|
-
}
|
|
234
|
-
// Walk into `to`: the first point on the polyline inside its plot.
|
|
235
|
-
if (insidePlot(b, to, city, pan)) {
|
|
236
|
-
let lo = 0;
|
|
237
|
-
let hi = 1;
|
|
238
|
-
for (let k = 0; k < 12; k++) {
|
|
239
|
-
const mid = (lo + hi) / 2;
|
|
240
|
-
if (insidePlot(lerp(a, b, mid), to, city, pan))
|
|
241
|
-
hi = mid;
|
|
242
|
-
else
|
|
243
|
-
lo = mid;
|
|
244
|
-
}
|
|
245
|
-
out.push(lerp(a, b, lo));
|
|
246
|
-
return out;
|
|
247
|
-
}
|
|
248
|
-
out.push(b);
|
|
249
|
-
}
|
|
250
|
-
return out;
|
|
247
|
+
function groundCss(scheme) {
|
|
248
|
+
const light = scheme === "light";
|
|
249
|
+
const mix = (share, of = "var(--graview-ink)") => `color-mix(in oklab, ${of} ${share}, var(--graview-panel))`;
|
|
250
|
+
return `.graview-plots{z-index:${SCENE_LAYERS.plots};opacity:var(--graview-altitude);transition:opacity 640ms cubic-bezier(.33,0,.2,1)}
|
|
251
|
+
.graview-plot-tile{fill:color-mix(in oklab,var(--graview-ink) ${light ? 5 : 9}%,transparent);stroke:color-mix(in oklab,var(--graview-ink) ${light ? 22 : 30}%,transparent);stroke-linejoin:round;pointer-events:auto;cursor:pointer}
|
|
252
|
+
.graview-plot-tile:hover{fill:color-mix(in oklab,var(--graview-ink) ${light ? 10 : 16}%,transparent)}
|
|
253
|
+
.graview-plot[data-graview-pinned] .graview-plot-tile{stroke-dasharray:4 3}
|
|
254
|
+
.graview-village{pointer-events:none}
|
|
255
|
+
.graview-building{--s:${light ? 30 : 40}%}
|
|
256
|
+
.graview-building[data-graview-tier=active]{--s:${light ? 64 : 70}%}
|
|
257
|
+
.graview-building polygon{stroke:var(--graview-panel);stroke-width:.6;stroke-opacity:.6;fill:${mix("var(--s)")}}
|
|
258
|
+
.graview-building .graview-iso-left{fill:${mix(`calc(var(--s) + ${light ? 15 : -10}%)`)}}
|
|
259
|
+
.graview-building .graview-iso-right{fill:${mix(`calc(var(--s) + ${light ? 8 : -16}%)`)}}
|
|
260
|
+
.graview-building[data-graview-tier=done] polygon{fill:${mix(light ? "13%" : "18%")}}
|
|
261
|
+
.graview-building[data-graview-flagged] polygon{fill:var(--graview-warn);stroke:var(--graview-warn)}
|
|
262
|
+
.graview-building[data-graview-flagged] .graview-iso-left{fill:color-mix(in oklab,var(--graview-warn) 80%,var(--graview-ink))}
|
|
263
|
+
.graview-building[data-graview-recent]{filter:drop-shadow(0 0 2px color-mix(in oklab,var(--graview-accent) 70%,transparent))}
|
|
264
|
+
.graview-building[data-graview-own] .graview-iso-roof{stroke:var(--graview-ink);stroke-width:1.4;stroke-opacity:1}
|
|
265
|
+
.graview-building[data-graview-selected] polygon{stroke:var(--graview-accent);stroke-width:1.4;stroke-opacity:1}
|
|
266
|
+
.graview-building[data-graview-selected] .graview-iso-roof{fill:${mix("45%", "var(--graview-accent)")}}
|
|
267
|
+
.graview-building-name{font-size:.625rem;fill:var(--graview-ink);paint-order:stroke;stroke:var(--graview-ground);stroke-width:3px}
|
|
268
|
+
.graview-ground:has(> .graview-plots[data-graview-named]) [data-graview-plot] .graview-kind-landmark{opacity:.3;transition:opacity 240ms}
|
|
269
|
+
.graview-village-rest{font-size:.6875rem;font-variant-numeric:tabular-nums;fill:var(--graview-ink-muted)}`;
|
|
251
270
|
}
|
|
252
271
|
//# sourceMappingURL=plots.js.map
|
package/dist/plots.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plots.js","sourceRoot":"","sources":["../src/plots.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAc,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAA4B,MAAM,qBAAqB,CAAC;AACjG,OAAO,EAAE,UAAU,EAAE,UAAU,EAA2B,MAAM,iBAAiB,CAAC;AAClF,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAyC,MAAM,OAAO,CAAC;AAClG,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AA4B3C,0GAA0G;AAC1G,MAAM,UAAU,WAAW,CAAC,IAAc,EAAE,IAAU,EAAE,MAAa,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;IACjF,MAAM,EAAE,GAAG,CAAC,GAAW,EAAE,GAAW,EAAS,EAAE;QAC7C,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;IAC9E,CAAC,CAAC;IACF,OAAO;QACL,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC;QACtB,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC;QAClC,EAAE,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;QAC9C,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;KACnC,CAAC;AACJ,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,OAAyB,EAAU,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAgB1H;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAc;IAChG,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAC;IACpD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACpG,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC;IAC7B,2FAA2F;IAC3F,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;IACxB,MAAM,KAAK,GAAG,WAAW,CAAC,CAAC,EAAU,EAAE,EAAE;QACvC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,SAAS,EAAE,OAAO;YAAE,OAAO,KAAK,CAAC;QACvD,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB;;;;OAIG;IACH,MAAM,cAAc,GAAG,GAAG,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,IAAK,CAAC,GAAG,IAAI,IAAI,CAAC,IAAK,CAAC,GAAG,IAAI,IAAI,CAAC,IAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACvI,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE;QACzB,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAgB,CAAC;QAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI;gBAAE,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACvD,GAAG,IAAI;YACP,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAE,EAAE,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAE,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;iBACxF,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;iBAC3E,IAAI,CAAC,GAAG,CAAC;SACb,CAAC,CAAC,CAAC;QACJ,sDAAsD;IACxD,CAAC,EAAE,CAAC,cAAc,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAEnC,6EAA6E;IAC7E,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,GAAG,EAAuB,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC5C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,IAAI,EAAE,CAAC;QAChD,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,IAAK,CAAC,GAAG,IAAI,IAAI,CAAC,IAAK,CAAC,GAAG,IAAI,IAAI,CAAC,IAAK,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QAClG,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxC,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;YAC7B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YACxB,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;QAC5B,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,IAAK,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,IAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;YAChB,GAAG;YACH,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC;YACrB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAE;YAClB,IAAI;YACJ,SAAS,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,aAAa,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;SACrG,CAAC,CAAC;IACL,CAAC;IACD,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;IAErB,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IACvB,MAAM,KAAK,GAAkB,EAAE,QAAQ,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;IACnH,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO,CACL,cAAK,SAAS,EAAC,eAAe,iBAAa,MAAM,wBAAoB,EAAE,EAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,wBAAsB,KAAK,CAAC,MAAM,YAClJ,aAAG,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,aAClG,YAAG,SAAS,EAAC,eAAe,wBAAqB,KAAK,CAAC,MAAM,YAC1D,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAClB,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACrB,aAEE,SAAS,EAAC,cAAc,uBACL,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,uBAEpB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,qBACvB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,sBAClB,QAAQ,KAAK,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,aAErF,eAAM,SAAS,EAAC,mBAAmB,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAI,EACjD,eAAM,SAAS,EAAC,kBAAkB,EAAC,CAAC,EAAE,IAAI,CAAC,CAAC,GAAI,KAT3C,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE,CAU5B,CACL,CAAC,CAAC,CAAC,IAAI,CACT,GACC,EACH,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACnB,KAAC,QAAQ,IAEP,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,EAClD,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAE,EAC3B,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,EACrC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,KAAK,EAAE,KAAK,IAPP,IAAI,CAAC,EAAE,CAQZ,CACH,CAAC,IACA,GACA,CACP,CAAC;AACJ,CAAC;AAYD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,QAAQ,CAAC,EACtC,EAAE,EACF,GAAG,EACH,OAAO,EACP,MAAM,EACN,SAAS,EACT,UAAU,EACV,KAAK,GAUN;IACC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,OAAO,CACL,aAAG,SAAS,EAAC,cAAc,uBAAoB,EAAE,yBAAuB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,eAAyB,CAAC,EAAE,GAAG,EAAE,aAC1I,kBACE,SAAS,EAAC,mBAAmB,EAC7B,MAAM,EAAE,OAAO,CAAC,IAAI,EACpB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACjB,IAAI,KAAK,CAAC,EAAE,CAAC;wBAAE,KAAK,CAAC,eAAe,EAAE,CAAC;gBACzC,CAAC,GACD,EAED,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAC9B,aAAG,SAAS,EAAC,iBAAiB,0BAAuB,OAAO,CAAC,SAAS,CAAC,MAAM,uBAAqB,OAAO,CAAC,IAAI,IAAI,SAAS,aACxH,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAChC,aAEE,SAAS,EAAC,kBAAkB,2BACL,KAAK,CAAC,EAAE,0BACT,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,2BACpC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,aAE5D,kBAAS,SAAS,EAAC,kBAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,IAAI,GAAI,EAC5D,kBAAS,SAAS,EAAC,mBAAmB,EAAC,MAAM,EAAE,KAAK,CAAC,KAAK,GAAI,EAC9D,kBAAS,SAAS,EAAC,kBAAkB,EAAC,MAAM,EAAE,KAAK,CAAC,IAAI,GAAI,KARvD,KAAK,CAAC,EAAE,CASX,CACL,CAAC,EACD,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAClB,gBAAM,SAAS,EAAC,sBAAsB,EAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,UAAU,EAAC,QAAQ,kBAClG,OAAO,CAAC,IAAI,IACT,CACR,CAAC,CAAC,CAAC,IAAI,IACN,CACL,CAAC,CAAC,CAAC,IAAI,IACN,CACL,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,8EAA8E;AAE9E;;;GAGG;AACH,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGtE,yEAAyE;AACzE,MAAM,UAAU,aAAa,CAAC,QAAkB,EAAE,IAAU,EAAE,GAAU;IACtE,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,GAAG,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,CAAC,GAAW,EAAE,GAAW,EAAE,IAAI,GAAG,CAAC,EAAS,EAAE;QACvD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,CAAC;IACrF,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,QAAQ,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC;IACpE,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,EAAE,QAAQ,CAAC,GAAG,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,EAAE,QAAQ,CAAC,GAAG,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,EAAE,QAAQ,CAAC,GAAG,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;IACjE,MAAM,IAAI,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,EAAE,QAAQ,CAAC,GAAG,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,EAAE,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IAC/D,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,EAAE,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IAC9D,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,EAAE,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;IAC/D,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;QAChD,KAAK,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QACnD,GAAG,EAAE,IAAI;KACV,CAAC;AACJ,CAAC;AAED,+EAA+E;AAE/E,8EAA8E;AAC9E,MAAM,UAAU,SAAS,CAAC,KAAY,EAAE,IAAU,EAAE,GAAU;IAC5D,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC;IACzC,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC;IACzC,OAAO,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;AAChG,CAAC;AAED,MAAM,UAAU,GAAG,CAAC,KAAY,EAAE,IAAc,EAAE,IAAU,EAAE,GAAU,EAAW,EAAE;IACnF,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACjD,OAAO,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC;AAC1G,CAAC,CAAC;AAEF,MAAM,IAAI,GAAG,CAAC,CAAQ,EAAE,CAAQ,EAAE,CAAS,EAAS,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAEhH;;;;;;;;GAQG;AACH,MAAM,UAAU,YAAY,CAAC,IAAc,EAAE,EAAY;IACvD,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IACpC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;IAClE,MAAM,QAAQ,GAAG,CAAC,IAAc,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC;IAClE,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxB,MAAM,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC1B,MAAM,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACxB,+GAA+G;IAC/G,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC;IACtG,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC;IAC9F,MAAM,GAAG,GAAG;QACV,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QACpB,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QACpB,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QACpB,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;QACpB,EAAE,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE;KACrB,CAAC;IACF,sFAAsF;IACtF,MAAM,GAAG,GAAmC,EAAE,CAAC;IAC/C,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;QACpB,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACjC,IAAI,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI;YAAE,SAAS;QAC7F,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACd,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;QACtB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;QAClB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;QACtB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACjF,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;QACjF,IAAI,OAAO,IAAI,OAAO;YAAE,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CAAC,IAAc,EAAE,EAAY,EAAE,IAAU,EAAE,GAAU;IAC9E,MAAM,MAAM,GAAG,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9C,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC;IAC9E,CAAC,CAAC,CAAC;IACH,wEAAwE;IACxE,MAAM,GAAG,GAAY,EAAE,CAAC;IACxB,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAE,CAAC;QACrB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC;QACzB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;gBAAE,SAAS;YAC7C,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;gBAC1B,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;oBAAE,EAAE,GAAG,GAAG,CAAC;;oBACtD,EAAE,GAAG,GAAG,CAAC;YAChB,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACzB,OAAO,GAAG,IAAI,CAAC;QACjB,CAAC;QACD,mEAAmE;QACnE,IAAI,UAAU,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YACjC,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,IAAI,EAAE,GAAG,CAAC,CAAC;YACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5B,MAAM,GAAG,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;gBAC1B,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC;oBAAE,EAAE,GAAG,GAAG,CAAC;;oBACpD,EAAE,GAAG,GAAG,CAAC;YAChB,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACzB,OAAO,GAAG,CAAC;QACb,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACd,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"plots.js","sourceRoot":"","sources":["../src/plots.tsx"],"names":[],"mappings":"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"}
|
package/dist/provider.d.ts
CHANGED
|
@@ -17,8 +17,9 @@
|
|
|
17
17
|
* the boundary, the emphasis sets, the editable fields, the others placed —
|
|
18
18
|
* is `@graview/react/drawing`'s, fetched with the face that draws it.
|
|
19
19
|
*/
|
|
20
|
-
export { GraviewProvider, openingView, ROBOT_REST_MS, useFound, useGraph, useGraview, useGraviewIfAny, useNode, useRobots, useScenePointer, useTheWatchKnowsWhatIsUnseen, useViewMode, useWhereIs, ViewModeProvider } from "./context.js";
|
|
20
|
+
export { GraviewProvider, matchWith, openingView, ROBOT_REST_MS, useFound, useGraph, useGraview, useGraviewIfAny, useNode, useRobots, useScenePointer, useTheWatchKnowsWhatIsUnseen, useViewMode, useWhereIs, ViewModeProvider } from "./context.js";
|
|
21
21
|
export { GoToContext, useGoTo } from "./go.js";
|
|
22
|
+
export { BesideTheMap } from "./beside-the-map.js";
|
|
22
23
|
export { HostFilesContext, useHostFiles } from "./files.js";
|
|
23
24
|
export type { GoTo } from "./go.js";
|
|
24
25
|
export type { ActsDoor, AdministeredModule, DrawnBox, GraviewContextValue, GraviewProviderProps, PointerMenu, SceneHandle, Scheme, Seat, ViewMode } from "./context.js";
|
package/dist/provider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,4BAA4B,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
|
package/dist/provider.js
CHANGED
|
@@ -17,8 +17,10 @@
|
|
|
17
17
|
* the boundary, the emphasis sets, the editable fields, the others placed —
|
|
18
18
|
* is `@graview/react/drawing`'s, fetched with the face that draws it.
|
|
19
19
|
*/
|
|
20
|
-
export { GraviewProvider, openingView, ROBOT_REST_MS, useFound, useGraph, useGraview, useGraviewIfAny, useNode, useRobots, useScenePointer, useTheWatchKnowsWhatIsUnseen, useViewMode, useWhereIs, ViewModeProvider } from "./context.js";
|
|
20
|
+
export { GraviewProvider, matchWith, openingView, ROBOT_REST_MS, useFound, useGraph, useGraview, useGraviewIfAny, useNode, useRobots, useScenePointer, useTheWatchKnowsWhatIsUnseen, useViewMode, useWhereIs, ViewModeProvider } from "./context.js";
|
|
21
21
|
export { GoToContext, useGoTo } from "./go.js";
|
|
22
|
+
// Whether a panel beside the map lists a district opened from altitude.
|
|
23
|
+
export { BesideTheMap } from "./beside-the-map.js";
|
|
22
24
|
// The host's files (FR-163), where a file field's editor finds them.
|
|
23
25
|
export { HostFilesContext, useHostFiles } from "./files.js";
|
|
24
26
|
export { HEARTBEAT_MS, PRESENCE_SETTINGS, SHARE_OVER, SHARE_WHERE, tabSession, usePresenceState } from "./presence.js";
|
package/dist/provider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,4BAA4B,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,4BAA4B,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrP,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAC/C,wEAAwE;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,qEAAqE;AACrE,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEvH,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAE1F,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC9H,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE/D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,aAAa,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE/D,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,4BAA4B,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,iBAAiB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE1H,0GAA0G;AAC1G,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAC5D,6EAA6E;AAC7E,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { type AnySchema } from "@graview/core";
|
|
2
|
+
import type { InterpolatedLayout } from "@graview/layout";
|
|
3
|
+
import { type ReactElement } from "react";
|
|
4
|
+
import "./provider.js";
|
|
5
|
+
/**
|
|
6
|
+
* THE CHOSEN RECORD'S LINKS, FROM ALTITUDE (see `linksOfRecords`).
|
|
7
|
+
*
|
|
8
|
+
* One manner per meaning, and the Key says which: a solid line ending in a
|
|
9
|
+
* dot reaches a record the map draws on its own — its building, or its chip
|
|
10
|
+
* in an opened district; a dashed line reaches a district, for the records
|
|
11
|
+
* in it the map does not draw one by one, and says how many. Every line says
|
|
12
|
+
* its relation at its far end, in the chosen record's kind's words. Lines
|
|
13
|
+
* pass under the districts' names rather than over them, and everything the
|
|
14
|
+
* chosen record does not reach recedes.
|
|
15
|
+
*
|
|
16
|
+
* Measured after commit, against the DOM the frame drew, for the reason the
|
|
17
|
+
* ties are: a building is where the plot layer put it, not where the layout
|
|
18
|
+
* last said.
|
|
19
|
+
*/
|
|
20
|
+
export interface RecordLinksProps {
|
|
21
|
+
readonly frame: InterpolatedLayout;
|
|
22
|
+
readonly width: number;
|
|
23
|
+
readonly height: number;
|
|
24
|
+
readonly stageRef: {
|
|
25
|
+
current: HTMLElement | null;
|
|
26
|
+
};
|
|
27
|
+
/** Bumped after a scroll or a resize: measure again. */
|
|
28
|
+
readonly tick: number;
|
|
29
|
+
readonly store: {
|
|
30
|
+
readonly schema: AnySchema;
|
|
31
|
+
readonly graph: {
|
|
32
|
+
allEdges(): Iterable<{
|
|
33
|
+
readonly kind: string;
|
|
34
|
+
readonly from: string;
|
|
35
|
+
readonly to: string;
|
|
36
|
+
}>;
|
|
37
|
+
getNode(id: string): ({
|
|
38
|
+
readonly id: string;
|
|
39
|
+
readonly kind: string;
|
|
40
|
+
} & Record<string, unknown>) | undefined;
|
|
41
|
+
};
|
|
42
|
+
};
|
|
43
|
+
readonly graphVersion: unknown;
|
|
44
|
+
readonly selection: readonly string[];
|
|
45
|
+
readonly view: {
|
|
46
|
+
readonly overview?: boolean | undefined;
|
|
47
|
+
readonly focusId: string | null;
|
|
48
|
+
readonly beside?: boolean;
|
|
49
|
+
};
|
|
50
|
+
/** The scene's own rulers: what of an element shows in the stage, and the runs of a curve outside some boxes. */
|
|
51
|
+
readonly rulers: {
|
|
52
|
+
readonly visibleRect: (el: Element, stage: HTMLElement) => Box | null;
|
|
53
|
+
readonly clipQuadratic: (curve: {
|
|
54
|
+
p0: Point;
|
|
55
|
+
c: Point;
|
|
56
|
+
p1: Point;
|
|
57
|
+
}, boxes: readonly Box[]) => {
|
|
58
|
+
p0: Point;
|
|
59
|
+
c: Point;
|
|
60
|
+
p1: Point;
|
|
61
|
+
}[];
|
|
62
|
+
/** A link still provisional (FR-172): what its maker based it on, by the edge it is; and the manner the scene draws such a link in. */
|
|
63
|
+
readonly unsureOf?: (edge: string, from: string, to: string) => string | undefined;
|
|
64
|
+
readonly unsureDash: string;
|
|
65
|
+
readonly unsureOpacity: number;
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
type Point = {
|
|
69
|
+
x: number;
|
|
70
|
+
y: number;
|
|
71
|
+
};
|
|
72
|
+
type Box = {
|
|
73
|
+
x: number;
|
|
74
|
+
y: number;
|
|
75
|
+
width: number;
|
|
76
|
+
height: number;
|
|
77
|
+
};
|
|
78
|
+
export declare function RecordLinks({ frame, width, height, stageRef, tick, store, graphVersion: nodes, selection, view, rulers: { visibleRect, clipQuadratic, unsureOf, unsureDash, unsureOpacity } }: RecordLinksProps): ReactElement | null;
|
|
79
|
+
export {};
|
|
80
|
+
//# sourceMappingURL=record-links-layer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"record-links-layer.d.ts","sourceRoot":"","sources":["../src/record-links-layer.tsx"],"names":[],"mappings":"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"}
|