@graview/layout 0.1.15 → 0.1.17
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/band.js +3 -3
- package/dist/city.d.ts +5 -5
- package/dist/city.js +20 -20
- package/dist/interpolate.js +3 -3
- package/dist/label-fit.d.ts +3 -3
- package/dist/label-fit.js +2 -2
- package/dist/label-fit.js.map +1 -1
- package/dist/layout.js +25 -25
- package/dist/layout.js.map +1 -1
- package/dist/rank.js +8 -8
- package/dist/rank.js.map +1 -1
- package/dist/related.d.ts +2 -2
- package/dist/related.js +5 -5
- package/dist/related.js.map +1 -1
- package/dist/types.d.ts +6 -6
- package/dist/view-state.d.ts +3 -3
- package/dist/view-state.js +4 -4
- package/package.json +2 -2
package/dist/band.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { arrange, arrangeable } from "@graview/core/arrange";
|
|
2
|
-
import { fieldWords,
|
|
2
|
+
import { fieldWords, humanizeField } from "@graview/core";
|
|
3
3
|
import { aggregateId, BAND_PREFIX, isBandAggregate } from "./ids.js";
|
|
4
4
|
export { BAND_PREFIX, isBandAggregate } from "./ids.js";
|
|
5
5
|
/** A band aggregate's id: the kind, the relation, and which part of it. */
|
|
@@ -15,13 +15,13 @@ export function bandAggregateWords(id, schema) {
|
|
|
15
15
|
return null;
|
|
16
16
|
const [kind = "", first = "", second = "", part = ""] = id.slice(BAND_PREFIX.length).split("|");
|
|
17
17
|
const definition = schema.definitions.find((one) => one.kind === kind);
|
|
18
|
-
const plural = definition?.plural ??
|
|
18
|
+
const plural = definition?.plural ?? humanizeField(`${kind}s`);
|
|
19
19
|
const relation = first === "raised"
|
|
20
20
|
? null
|
|
21
21
|
: (() => {
|
|
22
22
|
const declared = schema.definitions.map((one) => one.edges[first]).find(Boolean);
|
|
23
23
|
const said = second === "in" ? declared?.inverse : declared?.description;
|
|
24
|
-
return (said ??
|
|
24
|
+
return (said ?? humanizeField(first)).toLowerCase();
|
|
25
25
|
})();
|
|
26
26
|
const [by = "", key = ""] = part.split("=");
|
|
27
27
|
const field = by.split(":")[0];
|
package/dist/city.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ import type { CityFrame, Layout } from "./types.js";
|
|
|
10
10
|
* ONE translate, so the city keeps its shape at every width, rather than
|
|
11
11
|
* the per-axis stretch a ring needed to fill a wide canvas — and how big
|
|
12
12
|
* each district card is drawn: nearer rows larger, as the ring drew the
|
|
13
|
-
* near side of the ellipse larger, with the reader's unit
|
|
13
|
+
* near side of the ellipse larger, with the reader's unit honored and
|
|
14
14
|
* given back only as far as the cards need to keep off each other.
|
|
15
15
|
*/
|
|
16
16
|
export interface CityCard {
|
|
@@ -100,7 +100,7 @@ export declare function placeCity(cards: readonly CityCard[], schema: AnySchema,
|
|
|
100
100
|
* the scene off the edge of its own window is not panning, it is dropping
|
|
101
101
|
* it — and as far as the city reaches when the city is bigger than the
|
|
102
102
|
* window: every district is reachable, none is lost. Symmetric about the
|
|
103
|
-
*
|
|
103
|
+
* center so the same limit serves both directions, and read by the scene
|
|
104
104
|
* and by the tests alike, so "reachable" means one thing.
|
|
105
105
|
*/
|
|
106
106
|
export declare function cameraLimit(result: {
|
|
@@ -137,8 +137,8 @@ export interface PastTheEdge {
|
|
|
137
137
|
export declare function districtsPastTheEdge(result: Pick<Layout, "nodes" | "width" | "height" | "city">): readonly PastTheEdge[];
|
|
138
138
|
/**
|
|
139
139
|
* THE PAN THAT KEEPS THE POINT UNDER THE POINTER STILL when the city is
|
|
140
|
-
* zoomed. The city is placed about the canvas's
|
|
141
|
-
* by `ratio` moves every point away from (or toward) the
|
|
140
|
+
* zoomed. The city is placed about the canvas's center, so scaling its cell
|
|
141
|
+
* by `ratio` moves every point away from (or toward) the center; the pan
|
|
142
142
|
* moves the opposite way by the pointer's share of that, and what was under
|
|
143
143
|
* the finger stays under it. Whole offset in, pan out: the camera's own
|
|
144
144
|
* flight is part of where the city is, and only the pan is the person's.
|
|
@@ -152,7 +152,7 @@ export declare function panForZoom(pan: {
|
|
|
152
152
|
}, pointer: {
|
|
153
153
|
readonly x: number;
|
|
154
154
|
readonly y: number;
|
|
155
|
-
},
|
|
155
|
+
}, center: {
|
|
156
156
|
readonly x: number;
|
|
157
157
|
readonly y: number;
|
|
158
158
|
}, ratio: number): {
|
package/dist/city.js
CHANGED
|
@@ -7,8 +7,8 @@ export function collides(a, b, air = 6) {
|
|
|
7
7
|
a.y < b.y + b.height + air &&
|
|
8
8
|
b.y < a.y + a.height + air);
|
|
9
9
|
}
|
|
10
|
-
/** The
|
|
11
|
-
const
|
|
10
|
+
/** The center of a plot's diamond, in lattice pixels at `cell`. */
|
|
11
|
+
const centerOf = (plot, cell) => toIso(plot.col + plot.side / 2, plot.row + plot.side / 2, cell);
|
|
12
12
|
export function placeCity(cards, schema, base, canvas, inset = {}, options = {}) {
|
|
13
13
|
const counts = {};
|
|
14
14
|
for (const card of cards)
|
|
@@ -25,7 +25,7 @@ export function placeCity(cards, schema, base, canvas, inset = {}, options = {})
|
|
|
25
25
|
/*
|
|
26
26
|
* ONE SCALE. The map's bounding diamond, at one pixel per cell, is
|
|
27
27
|
* fitted into the room the canvas has once a card's own size is taken
|
|
28
|
-
* off each edge — a card is
|
|
28
|
+
* off each edge — a card is centered on its plot and must not leave the
|
|
29
29
|
* canvas. The cell is then the same on both axes, which is the whole
|
|
30
30
|
* point: a city that was squashed to fit a wide window and stretched to
|
|
31
31
|
* fit a tall one had no shape of its own.
|
|
@@ -54,19 +54,19 @@ export function placeCity(cards, schema, base, canvas, inset = {}, options = {})
|
|
|
54
54
|
const originX = cx - ((minX + maxX) / 2) * cell + shift.x + nudge;
|
|
55
55
|
const originY = cy - ((minY + maxY) / 2) * cell + shift.y;
|
|
56
56
|
const size = { width: base.width * asked, height: base.height * asked };
|
|
57
|
-
const rows = cards.map((card) =>
|
|
57
|
+
const rows = cards.map((card) => centerOf(map.get(card.kind), cell).y);
|
|
58
58
|
const lowest = Math.max(...rows);
|
|
59
59
|
const highest = Math.min(...rows);
|
|
60
60
|
return cards.map((card) => {
|
|
61
61
|
const plot = map.get(card.kind);
|
|
62
|
-
const
|
|
62
|
+
const center = centerOf(plot, cell);
|
|
63
63
|
/*
|
|
64
64
|
* NEARNESS FROM THE ROW. Lower on the ground is nearer the viewer,
|
|
65
65
|
* exactly as the bottom of the ring was: 1 there, 0 at the top, and
|
|
66
66
|
* the depth number everything else reads (`1 − near·0.65`) is
|
|
67
67
|
* unchanged so the plane styles and the altitude opacity are too.
|
|
68
68
|
*/
|
|
69
|
-
const near = lowest === highest ? 0.5 : (
|
|
69
|
+
const near = lowest === highest ? 0.5 : (center.y - highest) / (lowest - highest);
|
|
70
70
|
const grow = 0.85 + near * 0.45;
|
|
71
71
|
const width = size.width * grow;
|
|
72
72
|
const base = Math.max(minHeight, size.height * grow);
|
|
@@ -79,15 +79,15 @@ export function placeCity(cards, schema, base, canvas, inset = {}, options = {})
|
|
|
79
79
|
* bounds to the map's extent for exactly this reason.
|
|
80
80
|
*/
|
|
81
81
|
/*
|
|
82
|
-
* The NAMEPLATE is
|
|
82
|
+
* The NAMEPLATE is centered on the plot; what hangs under it — a
|
|
83
83
|
* marquee, an opened listing — grows DOWNWARD, so the top of the card
|
|
84
84
|
* stays where the plot's far half is, and a screen standing at the
|
|
85
85
|
* far edge is never covered by its own district's growth.
|
|
86
86
|
*/
|
|
87
87
|
return {
|
|
88
88
|
id: card.id,
|
|
89
|
-
x: originX +
|
|
90
|
-
y: originY +
|
|
89
|
+
x: originX + center.x - width / 2,
|
|
90
|
+
y: originY + center.y - base / 2,
|
|
91
91
|
width,
|
|
92
92
|
height,
|
|
93
93
|
depth: 1 - near * 0.65,
|
|
@@ -106,9 +106,9 @@ export function placeCity(cards, schema, base, canvas, inset = {}, options = {})
|
|
|
106
106
|
*/
|
|
107
107
|
/*
|
|
108
108
|
* THE CITY SLIDES ASIDE for the picture in the middle, when there is one.
|
|
109
|
-
* A district on the map's own
|
|
110
|
-
* stands, and no amount of growing moves it — scaling about the
|
|
111
|
-
* keeps the
|
|
109
|
+
* A district on the map's own center stands exactly where the live view
|
|
110
|
+
* stands, and no amount of growing moves it — scaling about the center
|
|
111
|
+
* keeps the center where it is. So the map is tried in place first, and
|
|
112
112
|
* then shifted: by the width of what it must clear, right, left, down,
|
|
113
113
|
* up, and the diagonals — the first shift with every district on ground
|
|
114
114
|
* of its own is the one kept. No picture in the middle means no shift.
|
|
@@ -198,8 +198,8 @@ export function placeCity(cards, schema, base, canvas, inset = {}, options = {})
|
|
|
198
198
|
settled = settle(cell, asked, openedShare);
|
|
199
199
|
}
|
|
200
200
|
/*
|
|
201
|
-
* BESIDE THE RAILS, NOT UNDER THEM. The map is
|
|
202
|
-
* bounding diamond, and the districts are not: a card is
|
|
201
|
+
* BESIDE THE RAILS, NOT UNDER THEM. The map is centered on its lattice's
|
|
202
|
+
* bounding diamond, and the districts are not: a card is centered on its
|
|
203
203
|
* plot and the plots do not fill the diamond, so a city grown just wide
|
|
204
204
|
* enough for its names stood twenty-five pixels left of the room it
|
|
205
205
|
* fitted — and the leftmost district under the inspector. When the
|
|
@@ -255,7 +255,7 @@ export function placeCity(cards, schema, base, canvas, inset = {}, options = {})
|
|
|
255
255
|
* the scene off the edge of its own window is not panning, it is dropping
|
|
256
256
|
* it — and as far as the city reaches when the city is bigger than the
|
|
257
257
|
* window: every district is reachable, none is lost. Symmetric about the
|
|
258
|
-
*
|
|
258
|
+
* center so the same limit serves both directions, and read by the scene
|
|
259
259
|
* and by the tests alike, so "reachable" means one thing.
|
|
260
260
|
*/
|
|
261
261
|
export function cameraLimit(result) {
|
|
@@ -305,16 +305,16 @@ export function districtsPastTheEdge(result) {
|
|
|
305
305
|
}
|
|
306
306
|
/**
|
|
307
307
|
* THE PAN THAT KEEPS THE POINT UNDER THE POINTER STILL when the city is
|
|
308
|
-
* zoomed. The city is placed about the canvas's
|
|
309
|
-
* by `ratio` moves every point away from (or toward) the
|
|
308
|
+
* zoomed. The city is placed about the canvas's center, so scaling its cell
|
|
309
|
+
* by `ratio` moves every point away from (or toward) the center; the pan
|
|
310
310
|
* moves the opposite way by the pointer's share of that, and what was under
|
|
311
311
|
* the finger stays under it. Whole offset in, pan out: the camera's own
|
|
312
312
|
* flight is part of where the city is, and only the pan is the person's.
|
|
313
313
|
*/
|
|
314
|
-
export function panForZoom(pan, camera, pointer,
|
|
314
|
+
export function panForZoom(pan, camera, pointer, center, ratio) {
|
|
315
315
|
return {
|
|
316
|
-
x: pan.x + (pointer.x - pan.x - camera.x -
|
|
317
|
-
y: pan.y + (pointer.y - pan.y - camera.y -
|
|
316
|
+
x: pan.x + (pointer.x - pan.x - camera.x - center.x) * (1 - ratio),
|
|
317
|
+
y: pan.y + (pointer.y - pan.y - camera.y - center.y) * (1 - ratio),
|
|
318
318
|
};
|
|
319
319
|
}
|
|
320
320
|
//# sourceMappingURL=city.js.map
|
package/dist/interpolate.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { aggregateId, isAggregateId, kindCardId, kindOfCard } from "./ids.js";
|
|
2
2
|
const lerp = (a, b, t) => a + (b - a) * t;
|
|
3
|
-
function
|
|
3
|
+
function center(node) {
|
|
4
4
|
return { x: node.x + node.width / 2, y: node.y + node.height / 2 };
|
|
5
5
|
}
|
|
6
6
|
const indexed = new WeakMap();
|
|
@@ -66,7 +66,7 @@ function standInFresh(node, other) {
|
|
|
66
66
|
.filter((n) => n !== undefined);
|
|
67
67
|
if (members.length === 0)
|
|
68
68
|
return null;
|
|
69
|
-
const points = members.map(
|
|
69
|
+
const points = members.map(center);
|
|
70
70
|
const x = points.reduce((sum, p) => sum + p.x, 0) / points.length;
|
|
71
71
|
const y = points.reduce((sum, p) => sum + p.y, 0) / points.length;
|
|
72
72
|
return { ...node, x: x - node.width / 2, y: y - node.height / 2 };
|
|
@@ -76,7 +76,7 @@ function standInFresh(node, other) {
|
|
|
76
76
|
?.find((candidate) => candidate.id === kindCardId(node.kind) || candidate.id === aggregateId(node.kind));
|
|
77
77
|
if (!group)
|
|
78
78
|
return null;
|
|
79
|
-
const point =
|
|
79
|
+
const point = center(group);
|
|
80
80
|
return { ...node, x: point.x - node.width / 2, y: point.y - node.height / 2 };
|
|
81
81
|
}
|
|
82
82
|
/**
|
package/dist/label-fit.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { type Measure } from "./estimate.js";
|
|
|
4
4
|
*
|
|
5
5
|
* Every drawn surface in this framework eventually has to write a word
|
|
6
6
|
* inside a shape — a district, a region on a plan, a band on a calendar —
|
|
7
|
-
* and every one of them starts by
|
|
7
|
+
* and every one of them starts by centering the text at one size and hoping.
|
|
8
8
|
* That works for as long as the names are short, which is for as long as a
|
|
9
9
|
* person is typing them.
|
|
10
10
|
*
|
|
@@ -12,7 +12,7 @@ import { type Measure } from "./estimate.js";
|
|
|
12
12
|
* called things like "Pea-gravel corner with river-rock border, log seats
|
|
13
13
|
* and a fire bowl". The map drew each at one size across the middle of its
|
|
14
14
|
* shape: three ran off the canvas, two were struck through by a
|
|
15
|
-
*
|
|
15
|
+
* neighbor's outline, and nothing failed — every test passed, the
|
|
16
16
|
* accessibility tree was perfect, and the picture said "rick patio with
|
|
17
17
|
* gravel joints". Agent-authored labels are not an edge case; they are the
|
|
18
18
|
* normal case for anything with an intelligence provider in it.
|
|
@@ -50,7 +50,7 @@ export declare function areaOf(outline: readonly FitPoint[]): number;
|
|
|
50
50
|
*
|
|
51
51
|
* An L-shaped region with six corners has four of them bunched at one end,
|
|
52
52
|
* and averaging drags the label off the shape entirely — onto the
|
|
53
|
-
*
|
|
53
|
+
* neighbor, where it reads as that neighbor's name. The fallback keeps a
|
|
54
54
|
* degenerate shape from producing a NaN that silently removes the label.
|
|
55
55
|
*/
|
|
56
56
|
export declare function centroidOf(outline: readonly FitPoint[]): FitPoint;
|
package/dist/label-fit.js
CHANGED
|
@@ -23,7 +23,7 @@ export function spanAt(outline, y) {
|
|
|
23
23
|
}
|
|
24
24
|
crossings.sort((p, q) => p - q);
|
|
25
25
|
let best = { x0: 0, x1: 0 };
|
|
26
|
-
/* Pairs, not
|
|
26
|
+
/* Pairs, not neighbors: odd gaps are inside the shape, even ones are not. */
|
|
27
27
|
for (let i = 0; i + 1 < crossings.length; i += 2) {
|
|
28
28
|
const run = { x0: crossings[i], x1: crossings[i + 1] };
|
|
29
29
|
if (run.x1 - run.x0 > best.x1 - best.x0)
|
|
@@ -58,7 +58,7 @@ export function areaOf(outline) {
|
|
|
58
58
|
*
|
|
59
59
|
* An L-shaped region with six corners has four of them bunched at one end,
|
|
60
60
|
* and averaging drags the label off the shape entirely — onto the
|
|
61
|
-
*
|
|
61
|
+
* neighbor, where it reads as that neighbor's name. The fallback keeps a
|
|
62
62
|
* degenerate shape from producing a NaN that silently removes the label.
|
|
63
63
|
*/
|
|
64
64
|
export function centroidOf(outline) {
|
package/dist/label-fit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"label-fit.js","sourceRoot":"","sources":["../src/label-fit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAgB,MAAM,eAAe,CAAC;AA8B5D;;;;;;;;GAQG;AACH,MAAM,UAAU,MAAM,CAAC,OAA4B,EAAE,CAAS;IAC5D,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;QACtB,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAE,CAAC;QAC7C,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YAAE,SAAS;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI;YAAE,SAAS;QACnC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,IAAI,IAAI,GAAG,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC;IAC5B,
|
|
1
|
+
{"version":3,"file":"label-fit.js","sourceRoot":"","sources":["../src/label-fit.ts"],"names":[],"mappings":"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"}
|
package/dist/layout.js
CHANGED
|
@@ -79,7 +79,7 @@ function shelf(count, size, gap, canvasWidth, baseY, depth = SHELF_DEPTH) {
|
|
|
79
79
|
depth,
|
|
80
80
|
}));
|
|
81
81
|
}
|
|
82
|
-
/** Lays a row of equal boxes out,
|
|
82
|
+
/** Lays a row of equal boxes out, centered on the canvas. */
|
|
83
83
|
function row(count, size, gap, canvasWidth, y) {
|
|
84
84
|
const total = count * size.width + Math.max(0, count - 1) * gap;
|
|
85
85
|
const startX = Math.max(gap, (canvasWidth - total) / 2);
|
|
@@ -100,7 +100,7 @@ export function layout(graph, schema, state, options = {}) {
|
|
|
100
100
|
const opts = { ...DEFAULT_OPTIONS, ...options };
|
|
101
101
|
/*
|
|
102
102
|
* THE SPAN: the canvas less the rail reserved for chrome. Every card is
|
|
103
|
-
* sized and
|
|
103
|
+
* sized and centered within it, in every mode — the inspector and the
|
|
104
104
|
* quick relations live on the left edge whether the picture is the whole
|
|
105
105
|
* domain or one thing, and a lens that takes the full focus width was
|
|
106
106
|
* drawn under them. The reported width stays the canvas's own.
|
|
@@ -220,9 +220,9 @@ export function layout(graph, schema, state, options = {}) {
|
|
|
220
220
|
const band = zoomed
|
|
221
221
|
? focus !== undefined
|
|
222
222
|
? {
|
|
223
|
-
// A zoomed RECORD is a reading column with its
|
|
223
|
+
// A zoomed RECORD is a reading column with its neighborhood
|
|
224
224
|
// under it at full size: the column does not need the height a
|
|
225
|
-
// dense picture does, and a
|
|
225
|
+
// dense picture does, and a neighborhood squeezed into a sliver
|
|
226
226
|
// clipped its own cards.
|
|
227
227
|
focusY: opts.height * 0.03,
|
|
228
228
|
focusH: opts.height * 0.58,
|
|
@@ -457,7 +457,7 @@ export function layout(graph, schema, state, options = {}) {
|
|
|
457
457
|
id: state.focusId,
|
|
458
458
|
kind: focus ? focus.kind : focusKinds[0],
|
|
459
459
|
plane: 0,
|
|
460
|
-
//
|
|
460
|
+
// Centered in the span the city uses, so the picture and its city agree.
|
|
461
461
|
x: stamp.x,
|
|
462
462
|
y: stamp.y,
|
|
463
463
|
width: overviewW,
|
|
@@ -513,12 +513,12 @@ export function layout(graph, schema, state, options = {}) {
|
|
|
513
513
|
// --------------------------------------------------- plane 1: relations
|
|
514
514
|
/*
|
|
515
515
|
* A run of one or two cards takes wider ones. The cap exists to fit a
|
|
516
|
-
* crowd; holding a lone
|
|
516
|
+
* crowd; holding a lone neighbor to crowd width drew one small slip in
|
|
517
517
|
* the middle distance of an otherwise empty band, with its caption
|
|
518
518
|
* stretched past both its edges.
|
|
519
519
|
*/
|
|
520
520
|
/*
|
|
521
|
-
* A CROWD WRAPS. Twelve
|
|
521
|
+
* A CROWD WRAPS. Twelve neighbors in one row gave each a slot 57 pixels
|
|
522
522
|
* wide under a chip 150 wide, and the band was a heap of overlapping
|
|
523
523
|
* labels with the lines between them cut to confetti. A slot is never
|
|
524
524
|
* narrower than a chip can be read in; past that the band takes another
|
|
@@ -874,7 +874,7 @@ export function layout(graph, schema, state, options = {}) {
|
|
|
874
874
|
zoomed ? 0.97 : SHELF_DEPTH).map((position) => ({ ...position, x: position.x + railLeft }));
|
|
875
875
|
/*
|
|
876
876
|
* A secondary kind is drawn SMALLER and further back inside its own slot,
|
|
877
|
-
* sitting on the same baseline as its
|
|
877
|
+
* sitting on the same baseline as its neighbors. Same row, same order,
|
|
878
878
|
* different weight — the eye reads the primaries first without anything
|
|
879
879
|
* having moved.
|
|
880
880
|
*/
|
|
@@ -919,7 +919,7 @@ export function layout(graph, schema, state, options = {}) {
|
|
|
919
919
|
const width = Math.max(Math.min(slotW, DISTRICT_MIN_WIDTH * unit), slotW * shrink);
|
|
920
920
|
const height = Math.max(CARD_MIN_HEIGHT * unit, slotH * shrink);
|
|
921
921
|
slotOf.set(item.id, {
|
|
922
|
-
//
|
|
922
|
+
// Centered across the slot it was allotted, sitting on its baseline.
|
|
923
923
|
x: position.x + (slotW - width) / 2,
|
|
924
924
|
y: position.y + (slotH - height),
|
|
925
925
|
depth: item.rank === "secondary" ? recede(position.depth, 0.5) : position.depth,
|
|
@@ -962,7 +962,7 @@ export function layout(graph, schema, state, options = {}) {
|
|
|
962
962
|
* on it.
|
|
963
963
|
*
|
|
964
964
|
* Overlap is capped at just under half a card, because a card whose
|
|
965
|
-
* MIDDLE is covered cannot be clicked — the point at the
|
|
965
|
+
* MIDDLE is covered cannot be clicked — the point at the center belongs
|
|
966
966
|
* to whatever is drawn over it. Where several share a parent they
|
|
967
967
|
* shrink to fit rather than piling up.
|
|
968
968
|
*/
|
|
@@ -979,11 +979,11 @@ export function layout(graph, schema, state, options = {}) {
|
|
|
979
979
|
* AND THE STEP HAS TO CLEAR THE PLANE'S OWN SHRINK.
|
|
980
980
|
*
|
|
981
981
|
* A fan is laid out in layout units and DRAWN at the kinds plane's
|
|
982
|
-
* scale, about each card's
|
|
982
|
+
* scale, about each card's center — so the drawn gap between two
|
|
983
983
|
* tucks is `step − scale` of a card. At 0.86 against a plane drawn at
|
|
984
984
|
* 0.78 that was eight per cent of air; drawn at 0.9 so the words can
|
|
985
985
|
* be read, the same 0.86 became six pixels of one card sitting on the
|
|
986
|
-
* next, and a pile that covers its
|
|
986
|
+
* next, and a pile that covers its neighbor's label is the thing
|
|
987
987
|
* this number was lowered to stop.
|
|
988
988
|
*/
|
|
989
989
|
const step = 0.98;
|
|
@@ -1001,7 +1001,7 @@ export function layout(graph, schema, state, options = {}) {
|
|
|
1001
1001
|
* The whole fan fits the parent's slot plus its gap, never more.
|
|
1002
1002
|
*
|
|
1003
1003
|
* At 1.02 of the parent's width the fan of two spread to 1.86 widths,
|
|
1004
|
-
*
|
|
1004
|
+
* centered — so it spilled almost half a card into the slot on either
|
|
1005
1005
|
* side, and "PLAYERS" ran into "UNAVAILABILITY" while every automated
|
|
1006
1006
|
* check counted the pile as deliberate. A tuck that leaves its
|
|
1007
1007
|
* parent's ground is not tucked behind anything.
|
|
@@ -1013,7 +1013,7 @@ export function layout(graph, schema, state, options = {}) {
|
|
|
1013
1013
|
* room — it is the space that keeps one district off the next. With
|
|
1014
1014
|
* the kinds plane drawn at 78% the spill fitted anyway; drawn at 90%
|
|
1015
1015
|
* so its words can be read, the outermost tuck reached into the
|
|
1016
|
-
*
|
|
1016
|
+
* neighbor and the audit counted the two as one pile. A tuck that
|
|
1017
1017
|
* leaves its parent's ground is not tucked behind anything.
|
|
1018
1018
|
*/
|
|
1019
1019
|
const width = Math.max(TUCK_MIN_WIDTH, Math.min(roomy, parent.width / (step * (count - 1) + 1)));
|
|
@@ -1028,7 +1028,7 @@ export function layout(graph, schema, state, options = {}) {
|
|
|
1028
1028
|
*
|
|
1029
1029
|
* Sixteen pixels of the tuck's bottom sit behind the parent's top
|
|
1030
1030
|
* edge — enough to read as "behind that one" at any card size,
|
|
1031
|
-
* little enough that the tuck's own label and its
|
|
1031
|
+
* little enough that the tuck's own label and its center stay
|
|
1032
1032
|
* clickable above the edge. The parent paints over the overlap, so
|
|
1033
1033
|
* its name and its trouble bar are never covered.
|
|
1034
1034
|
*
|
|
@@ -1099,8 +1099,8 @@ export function layout(graph, schema, state, options = {}) {
|
|
|
1099
1099
|
});
|
|
1100
1100
|
/*
|
|
1101
1101
|
* THE SCREEN STANDS ON ITS PLOT. Anchored to the plot's far edge — the
|
|
1102
|
-
* top vertex of its diamond —
|
|
1103
|
-
* side so a bigger
|
|
1102
|
+
* top vertex of its diamond — centered on the plot, sized by the plot's
|
|
1103
|
+
* side so a bigger neighborhood has a bigger screen, floored so its
|
|
1104
1104
|
* words can be read, and shrunk only as a last resort until it covers
|
|
1105
1105
|
* no other district's nameplate. A picture over two kinds stands on the
|
|
1106
1106
|
* road between their plots. The same natural size and shrink as before:
|
|
@@ -1113,10 +1113,10 @@ export function layout(graph, schema, state, options = {}) {
|
|
|
1113
1113
|
if (own) {
|
|
1114
1114
|
const cornerOf = (plot) => {
|
|
1115
1115
|
const top = toIso(plot.col, plot.row, frame.cell);
|
|
1116
|
-
const
|
|
1116
|
+
const center = toIso(plot.col + plot.side / 2, plot.row + plot.side / 2, frame.cell);
|
|
1117
1117
|
return {
|
|
1118
1118
|
top: { x: frame.originX + top.x, y: frame.originY + top.y },
|
|
1119
|
-
|
|
1119
|
+
center: { x: frame.originX + center.x, y: frame.originY + center.y },
|
|
1120
1120
|
};
|
|
1121
1121
|
};
|
|
1122
1122
|
const mine = cornerOf(own);
|
|
@@ -1126,12 +1126,12 @@ export function layout(graph, schema, state, options = {}) {
|
|
|
1126
1126
|
* landed on the other village with its own district's signpost and
|
|
1127
1127
|
* board buried under it: the lens read as the drills', not the
|
|
1128
1128
|
* skills'. Its rows are its kind; it stands at that village's back
|
|
1129
|
-
*
|
|
1129
|
+
* curb, and the road to the other kind is already on the ground.
|
|
1130
1130
|
*/
|
|
1131
1131
|
void other;
|
|
1132
|
-
const anchorX = mine.
|
|
1132
|
+
const anchorX = mine.center.x;
|
|
1133
1133
|
/*
|
|
1134
|
-
* Its foot is on the plot's far
|
|
1134
|
+
* Its foot is on the plot's far curb — the back vertex of the diamond.
|
|
1135
1135
|
* The nameplate no longer stands there (it is a signpost at the front
|
|
1136
1136
|
* corner from altitude), so the screen needs no clearance above its
|
|
1137
1137
|
* own card: it is a billboard at the back of the village.
|
|
@@ -1168,7 +1168,7 @@ export function layout(graph, schema, state, options = {}) {
|
|
|
1168
1168
|
const others = [...placed.values()].filter((node) => node.plane === 2 && node.id !== kindCardId(screenKind));
|
|
1169
1169
|
const boxAt = (w) => {
|
|
1170
1170
|
const h = w * aspect;
|
|
1171
|
-
// Its foot on the
|
|
1171
|
+
// Its foot on the curb, wherever that is: a billboard held inside the
|
|
1172
1172
|
// window's top slid down over its own village; the camera brings it in.
|
|
1173
1173
|
const y = anchorBottom - h;
|
|
1174
1174
|
return { x: anchorX - w / 2, y, width: w, height: h };
|
|
@@ -1201,9 +1201,9 @@ export function layout(graph, schema, state, options = {}) {
|
|
|
1201
1201
|
/*
|
|
1202
1202
|
* A BILLBOARD CAN BE MOVED, ON A LEASH.
|
|
1203
1203
|
*
|
|
1204
|
-
* Its home is the back
|
|
1204
|
+
* Its home is the back curb of its own plot, which is where it
|
|
1205
1205
|
* belongs: a picture of a kind, standing on that kind's land. But a
|
|
1206
|
-
* board planted to the
|
|
1206
|
+
* board planted to the millimeter is furniture, and a person wants
|
|
1207
1207
|
* to nudge it off whatever it is covering.
|
|
1208
1208
|
*
|
|
1209
1209
|
* So a pin moves it, and the leash is what keeps it a picture OF
|
package/dist/layout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../src/layout.ts"],"names":[],"mappings":"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"}
|
package/dist/rank.js
CHANGED
|
@@ -21,12 +21,12 @@ export function rankKinds(schema, focusKinds) {
|
|
|
21
21
|
if (focusKinds.size === 0)
|
|
22
22
|
return UNRANKED;
|
|
23
23
|
const kinds = schema.kinds;
|
|
24
|
-
const
|
|
24
|
+
const neighbors = new Map();
|
|
25
25
|
const link = (a, b) => {
|
|
26
26
|
if (a === b)
|
|
27
27
|
return;
|
|
28
|
-
(
|
|
29
|
-
(
|
|
28
|
+
(neighbors.get(a) ?? neighbors.set(a, new Set()).get(a)).add(b);
|
|
29
|
+
(neighbors.get(b) ?? neighbors.set(b, new Set()).get(b)).add(a);
|
|
30
30
|
};
|
|
31
31
|
for (const kind of kinds) {
|
|
32
32
|
const definition = schema.tryDefinition(kind);
|
|
@@ -57,13 +57,13 @@ export function rankKinds(schema, focusKinds) {
|
|
|
57
57
|
// Schema order, so which primary a kind hangs off is deterministic when
|
|
58
58
|
// more than one could claim it.
|
|
59
59
|
for (const kind of [...frontier].sort((a, b) => kinds.indexOf(a) - kinds.indexOf(b))) {
|
|
60
|
-
for (const
|
|
61
|
-
if (distance.has(
|
|
60
|
+
for (const neighbor of [...(neighbors.get(kind) ?? [])].sort((a, b) => kinds.indexOf(a) - kinds.indexOf(b))) {
|
|
61
|
+
if (distance.has(neighbor))
|
|
62
62
|
continue;
|
|
63
|
-
distance.set(
|
|
63
|
+
distance.set(neighbor, step);
|
|
64
64
|
if (step === 2)
|
|
65
|
-
reachedFrom.set(
|
|
66
|
-
next.push(
|
|
65
|
+
reachedFrom.set(neighbor, kind);
|
|
66
|
+
next.push(neighbor);
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
frontier = next;
|
package/dist/rank.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rank.js","sourceRoot":"","sources":["../src/rank.ts"],"names":[],"mappings":"AAqBA,MAAM,QAAQ,GAAgB;IAC5B,MAAM,EAAE,GAAG,EAAE,CAAC,SAAS;IACvB,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS;CAC1B,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,SAAS,CACvB,MAAS,EACT,UAA+B;IAE/B,IAAI,UAAU,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE3C,MAAM,KAAK,GAAG,MAAM,CAAC,KAA0B,CAAC;IAChD,MAAM,
|
|
1
|
+
{"version":3,"file":"rank.js","sourceRoot":"","sources":["../src/rank.ts"],"names":[],"mappings":"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"}
|
package/dist/related.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ interface Related<N> {
|
|
|
11
11
|
* What plane 1 shows.
|
|
12
12
|
*
|
|
13
13
|
* With a single node focused and no relation named, plane 1 is that node's
|
|
14
|
-
* whole
|
|
14
|
+
* whole NEIGHBORHOOD — everything one edge away, in either direction,
|
|
15
15
|
* grouped by edge kind. This is the default because the alternative is an
|
|
16
16
|
* empty plane, and an empty plane is exactly what makes selecting a thing
|
|
17
17
|
* feel like it did nothing: the graph knows who does this run, which
|
|
@@ -19,7 +19,7 @@ interface Related<N> {
|
|
|
19
19
|
* until the reader guesses the right edge kind is hiding the product behind
|
|
20
20
|
* a menu.
|
|
21
21
|
*
|
|
22
|
-
* A named `relation` then acts as a FILTER on that
|
|
22
|
+
* A named `relation` then acts as a FILTER on that neighborhood — or, when
|
|
23
23
|
* it names no edge from the focus, as a kind to raise wholesale. "Show me
|
|
24
24
|
* People" and "show me what this is assigned to" stay the same gesture.
|
|
25
25
|
*/
|
package/dist/related.js
CHANGED
|
@@ -12,7 +12,7 @@ export function pluralOf(schema, kind) {
|
|
|
12
12
|
* What plane 1 shows.
|
|
13
13
|
*
|
|
14
14
|
* With a single node focused and no relation named, plane 1 is that node's
|
|
15
|
-
* whole
|
|
15
|
+
* whole NEIGHBORHOOD — everything one edge away, in either direction,
|
|
16
16
|
* grouped by edge kind. This is the default because the alternative is an
|
|
17
17
|
* empty plane, and an empty plane is exactly what makes selecting a thing
|
|
18
18
|
* feel like it did nothing: the graph knows who does this run, which
|
|
@@ -20,7 +20,7 @@ export function pluralOf(schema, kind) {
|
|
|
20
20
|
* until the reader guesses the right edge kind is hiding the product behind
|
|
21
21
|
* a menu.
|
|
22
22
|
*
|
|
23
|
-
* A named `relation` then acts as a FILTER on that
|
|
23
|
+
* A named `relation` then acts as a FILTER on that neighborhood — or, when
|
|
24
24
|
* it names no edge from the focus, as a kind to raise wholesale. "Show me
|
|
25
25
|
* People" and "show me what this is assigned to" stay the same gesture.
|
|
26
26
|
*/
|
|
@@ -37,7 +37,7 @@ export function relatedNodes(graph, schema, focus, relation, judged = {}) {
|
|
|
37
37
|
if (!node)
|
|
38
38
|
continue;
|
|
39
39
|
// The first edge to reach a node names the relationship. Two edges to
|
|
40
|
-
// the same
|
|
40
|
+
// the same neighbor is a rarity; picking the first by the sorted walk
|
|
41
41
|
// keeps the caption stable rather than flickering between them.
|
|
42
42
|
if (found.has(otherId))
|
|
43
43
|
continue;
|
|
@@ -45,7 +45,7 @@ export function relatedNodes(graph, schema, focus, relation, judged = {}) {
|
|
|
45
45
|
const owner = direction === "out" ? focus.kind : node.kind;
|
|
46
46
|
/*
|
|
47
47
|
* READ FROM THE END YOU ARE STANDING ON. An edge has one direction
|
|
48
|
-
* and two readings; the caption over a
|
|
48
|
+
* and two readings; the caption over a neighbor is how the relation
|
|
49
49
|
* reads from the FOCUS. A gardener's plot was captioned "who looks
|
|
50
50
|
* after it" — the plot's words — as though the plot looked after her.
|
|
51
51
|
* An incoming edge takes the declaration's `inverse`; without one,
|
|
@@ -66,7 +66,7 @@ export function relatedNodes(graph, schema, focus, relation, judged = {}) {
|
|
|
66
66
|
}
|
|
67
67
|
/*
|
|
68
68
|
* WHAT THE FOCUS JUDGES. A rule has no edges; what it is about is what
|
|
69
|
-
* its violations name. Those are its
|
|
69
|
+
* its violations name. Those are its neighborhood, captioned as such,
|
|
70
70
|
* and a relation naming a kind filters them the way it filters edges.
|
|
71
71
|
*/
|
|
72
72
|
if (focus) {
|
package/dist/related.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"related.js","sourceRoot":"","sources":["../src/related.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC;;;;GAIG;AAEH,MAAM,UAAU,QAAQ,CAAC,MAAiB,EAAE,IAAY;IACtD,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9C,OAAO,UAAU,EAAE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC;AAC1C,CAAC;AAQD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,YAAY,CAC1B,KAAmC,EACnC,MAAS,EACT,KAAkC,EAClC,QAAuB,EACvB,SAAsD,EAAE;IAExD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,IAAI,GAAG,EAAoC,CAAC;QAC1D,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC;YACpC,IAAI,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;gBAAE,SAAS;YACjD,MAAM,OAAO,GACX,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YAC7E,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE;gBAAE,SAAS;YACvD,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,sEAAsE;YACtE,
|
|
1
|
+
{"version":3,"file":"related.js","sourceRoot":"","sources":["../src/related.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -202,7 +202,7 @@ export interface Connector {
|
|
|
202
202
|
* A line into a group is a bundle, and a bundle that only knew its count
|
|
203
203
|
* could not be unpicked: the week's panel draws each session as its own
|
|
204
204
|
* span, and a renderer that can see the span wants to start the session's
|
|
205
|
-
* line THERE rather than at the panel's
|
|
205
|
+
* line THERE rather than at the panel's center. That needs the real ends
|
|
206
206
|
* of each edge, not just the drawn ends of the line. `single` is the
|
|
207
207
|
* one-edge case of this, kept because a line that stands for one edge is
|
|
208
208
|
* the only honest thing to select.
|
|
@@ -213,7 +213,7 @@ export interface Connector {
|
|
|
213
213
|
}[];
|
|
214
214
|
readonly from: string;
|
|
215
215
|
readonly to: string;
|
|
216
|
-
/** Endpoints in layout space,
|
|
216
|
+
/** Endpoints in layout space, center to center. */
|
|
217
217
|
readonly x1: number;
|
|
218
218
|
readonly y1: number;
|
|
219
219
|
readonly x2: number;
|
|
@@ -316,7 +316,7 @@ export interface LayoutOptions {
|
|
|
316
316
|
* with a relation named, every node of that kind wholesale — and its
|
|
317
317
|
* card said nothing was connected while the picture showed twelve. What
|
|
318
318
|
* a rule is about is derivable from its violations; the scene supplies
|
|
319
|
-
* them here so the layout can draw them as its
|
|
319
|
+
* them here so the layout can draw them as its neighborhood.
|
|
320
320
|
*/
|
|
321
321
|
readonly judged?: Readonly<Record<string, readonly string[]>>;
|
|
322
322
|
/**
|
|
@@ -333,7 +333,7 @@ export interface LayoutOptions {
|
|
|
333
333
|
/**
|
|
334
334
|
* Room the picture must leave for chrome that lives ON the scene — the
|
|
335
335
|
* left rail at altitude, where the relation key and the inspector sit.
|
|
336
|
-
* The ring and the focused card
|
|
336
|
+
* The ring and the focused card center within what is left, so a
|
|
337
337
|
* district is never drawn under a pane. Nothing is reserved by default.
|
|
338
338
|
*/
|
|
339
339
|
readonly inset?: {
|
|
@@ -383,9 +383,9 @@ export interface LayoutOptions {
|
|
|
383
383
|
* natural pixels, measured by whoever renders it. A lens is laid out in a
|
|
384
384
|
* box as tall as the window so it never scrolls, but a short lens fills
|
|
385
385
|
* only the top of it — and a billboard sized to the whole box stood its
|
|
386
|
-
* picture a village's height above the
|
|
386
|
+
* picture a village's height above the curb, floating over the next
|
|
387
387
|
* district with empty room beneath. Cut to what is drawn, the picture's
|
|
388
|
-
* foot is on the
|
|
388
|
+
* foot is on the curb. Absent (or not yet measured): the whole box.
|
|
389
389
|
*/
|
|
390
390
|
readonly screenHeight?: number;
|
|
391
391
|
/**
|
package/dist/view-state.d.ts
CHANGED
|
@@ -105,13 +105,13 @@ export interface ViewState {
|
|
|
105
105
|
}
|
|
106
106
|
export declare const EMPTY_VIEW: ViewState;
|
|
107
107
|
/**
|
|
108
|
-
*
|
|
108
|
+
* Serializes a view to a URL fragment. Keys are sorted and lists are sorted,
|
|
109
109
|
* so the same view always produces the same string — which is what makes
|
|
110
110
|
* "did the view change?" a string comparison and history entries stable.
|
|
111
111
|
*/
|
|
112
112
|
export declare function toUrl(state: ViewState): string;
|
|
113
113
|
export declare function fromUrl(url: string): ViewState;
|
|
114
|
-
/** Two views are the same stop when they
|
|
114
|
+
/** Two views are the same stop when they serialize the same. */
|
|
115
115
|
export declare function sameView(a: ViewState, b: ViewState): boolean;
|
|
116
116
|
/**
|
|
117
117
|
* A RELATION in the selection: `edge:<kind>:<from>:<to>`, each part escaped.
|
|
@@ -163,7 +163,7 @@ export declare function withoutSearch(state: ViewState): ViewState;
|
|
|
163
163
|
export declare function withPast(state: ViewState, past: boolean): ViewState;
|
|
164
164
|
/**
|
|
165
165
|
* Change what is selected. An empty selection leaves no key behind — the
|
|
166
|
-
* default state
|
|
166
|
+
* default state serializes to the default URL.
|
|
167
167
|
*/
|
|
168
168
|
export declare function withSelection(state: ViewState, selection: readonly string[]): ViewState;
|
|
169
169
|
/** Zoom the focus in close, or back out. */
|
package/dist/view-state.js
CHANGED
|
@@ -9,7 +9,7 @@ const num = (value) => {
|
|
|
9
9
|
return Number.isFinite(parsed) ? parsed : null;
|
|
10
10
|
};
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Serializes a view to a URL fragment. Keys are sorted and lists are sorted,
|
|
13
13
|
* so the same view always produces the same string — which is what makes
|
|
14
14
|
* "did the view change?" a string comparison and history entries stable.
|
|
15
15
|
*/
|
|
@@ -136,7 +136,7 @@ export function fromUrl(url) {
|
|
|
136
136
|
function round(value) {
|
|
137
137
|
return Math.round(value * 100) / 100;
|
|
138
138
|
}
|
|
139
|
-
/** Two views are the same stop when they
|
|
139
|
+
/** Two views are the same stop when they serialize the same. */
|
|
140
140
|
export function sameView(a, b) {
|
|
141
141
|
return toUrl(a) === toUrl(b);
|
|
142
142
|
}
|
|
@@ -185,7 +185,7 @@ export function edgeOfSelection(id) {
|
|
|
185
185
|
* A pin and a pan adjust the picture you are looking at: this card a little
|
|
186
186
|
* to the left, the whole scene nudged up. They are stored by node id and in
|
|
187
187
|
* canvas pixels, which say nothing once the picture is a different one — the
|
|
188
|
-
* card you dragged as the focus is a
|
|
188
|
+
* card you dragged as the focus is a neighbor at the next stop, and holding
|
|
189
189
|
* it at the focus's old coordinates draws it over the new focus. So a new
|
|
190
190
|
* stop starts where the layout puts things: changing the focus, rising or
|
|
191
191
|
* descending, and zooming in or out all leave the moves behind. The old stop
|
|
@@ -288,7 +288,7 @@ export function withPast(state, past) {
|
|
|
288
288
|
}
|
|
289
289
|
/**
|
|
290
290
|
* Change what is selected. An empty selection leaves no key behind — the
|
|
291
|
-
* default state
|
|
291
|
+
* default state serializes to the default URL.
|
|
292
292
|
*/
|
|
293
293
|
export function withSelection(state, selection) {
|
|
294
294
|
if (selection.length === 0) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@graview/layout",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.17",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
}
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@graview/core": "0.1.
|
|
18
|
+
"@graview/core": "0.1.17"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"zod": "^4.6.5"
|