@graview/primitives 0.1.28 → 0.1.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app-bar.d.ts.map +1 -1
- package/dist/app-bar.js +44 -14
- package/dist/app-bar.js.map +1 -1
- package/dist/app-link-door.d.ts +3 -0
- package/dist/app-link-door.d.ts.map +1 -0
- package/dist/app-link-door.js +11 -0
- package/dist/app-link-door.js.map +1 -0
- package/dist/app-link.d.ts +20 -0
- package/dist/app-link.d.ts.map +1 -0
- package/dist/app-link.js +134 -0
- package/dist/app-link.js.map +1 -0
- package/dist/app-title.d.ts +1 -1
- package/dist/app-title.d.ts.map +1 -1
- package/dist/app-title.js +7 -3
- package/dist/app-title.js.map +1 -1
- package/dist/arrange-bar.d.ts +57 -4
- package/dist/arrange-bar.d.ts.map +1 -1
- package/dist/arrange-bar.js +96 -13
- package/dist/arrange-bar.js.map +1 -1
- package/dist/arrange-lists.d.ts +62 -1
- package/dist/arrange-lists.d.ts.map +1 -1
- package/dist/arrange-lists.js +180 -23
- package/dist/arrange-lists.js.map +1 -1
- package/dist/arrangement.d.ts.map +1 -1
- package/dist/arrangement.js +3 -1
- package/dist/arrangement.js.map +1 -1
- package/dist/bar-panes.d.ts +2 -1
- package/dist/bar-panes.d.ts.map +1 -1
- package/dist/bar-panes.js +2 -1
- package/dist/bar-panes.js.map +1 -1
- package/dist/bar-suggested.d.ts +2 -0
- package/dist/bar-suggested.d.ts.map +1 -0
- package/dist/bar-suggested.js +22 -0
- package/dist/bar-suggested.js.map +1 -0
- package/dist/chat.d.ts.map +1 -1
- package/dist/chat.js +3 -1
- package/dist/chat.js.map +1 -1
- package/dist/choosing.d.ts +36 -0
- package/dist/choosing.d.ts.map +1 -0
- package/dist/choosing.js +224 -0
- package/dist/choosing.js.map +1 -0
- package/dist/connections.d.ts +1 -1
- package/dist/connections.d.ts.map +1 -1
- package/dist/connections.js +41 -5
- package/dist/connections.js.map +1 -1
- package/dist/declared-lens-doors.d.ts.map +1 -1
- package/dist/declared-lens-doors.js +8 -1
- package/dist/declared-lens-doors.js.map +1 -1
- package/dist/declared-lenses.d.ts +3 -2
- package/dist/declared-lenses.d.ts.map +1 -1
- package/dist/declared-lenses.js +5 -4
- package/dist/declared-lenses.js.map +1 -1
- package/dist/default-views.d.ts.map +1 -1
- package/dist/default-views.js +107 -28
- package/dist/default-views.js.map +1 -1
- package/dist/draft-frame.d.ts +1 -0
- package/dist/draft-frame.d.ts.map +1 -1
- package/dist/draft-frame.js +1 -0
- package/dist/draft-frame.js.map +1 -1
- package/dist/editable.d.ts +27 -2
- package/dist/editable.d.ts.map +1 -1
- package/dist/editable.js +77 -39
- package/dist/editable.js.map +1 -1
- package/dist/files.d.ts +1 -0
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +30 -5
- package/dist/files.js.map +1 -1
- package/dist/find.d.ts.map +1 -1
- package/dist/find.js +115 -10
- package/dist/find.js.map +1 -1
- package/dist/first-look-door.d.ts +71 -0
- package/dist/first-look-door.d.ts.map +1 -0
- package/dist/first-look-door.js +95 -0
- package/dist/first-look-door.js.map +1 -0
- package/dist/first-look.d.ts +12 -0
- package/dist/first-look.d.ts.map +1 -0
- package/dist/first-look.js +262 -0
- package/dist/first-look.js.map +1 -0
- package/dist/frame.d.ts +3 -2
- package/dist/frame.d.ts.map +1 -1
- package/dist/frame.js +21 -2
- package/dist/frame.js.map +1 -1
- package/dist/framework-views.d.ts +1 -0
- package/dist/framework-views.d.ts.map +1 -1
- package/dist/framework-views.js +1 -0
- package/dist/framework-views.js.map +1 -1
- package/dist/here.d.ts +24 -1
- package/dist/here.d.ts.map +1 -1
- package/dist/here.js +36 -1
- package/dist/here.js.map +1 -1
- package/dist/home-view.d.ts +1 -0
- package/dist/home-view.d.ts.map +1 -1
- package/dist/home-view.js +1 -0
- package/dist/home-view.js.map +1 -1
- package/dist/index.d.ts +20 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -4
- package/dist/index.js.map +1 -1
- package/dist/installation.js +1 -1
- package/dist/installation.js.map +1 -1
- package/dist/kind-shape.d.ts +130 -0
- package/dist/kind-shape.d.ts.map +1 -0
- package/dist/kind-shape.js +299 -0
- package/dist/kind-shape.js.map +1 -0
- package/dist/kind-stop.d.ts +18 -0
- package/dist/kind-stop.d.ts.map +1 -0
- package/dist/kind-stop.js +378 -0
- package/dist/kind-stop.js.map +1 -0
- package/dist/lens/arranging.d.ts.map +1 -1
- package/dist/lens/arranging.js +22 -5
- package/dist/lens/arranging.js.map +1 -1
- package/dist/lens/calendar-dates.d.ts +4 -3
- package/dist/lens/calendar-dates.d.ts.map +1 -1
- package/dist/lens/calendar-dates.js +12 -5
- package/dist/lens/calendar-dates.js.map +1 -1
- package/dist/lens/calendar-drawing.d.ts.map +1 -1
- package/dist/lens/calendar-drawing.js +14 -10
- package/dist/lens/calendar-drawing.js.map +1 -1
- package/dist/lens/calendar-options.d.ts +11 -0
- package/dist/lens/calendar-options.d.ts.map +1 -1
- package/dist/lens/calendar-options.js.map +1 -1
- package/dist/lens/calendar-placing.d.ts +13 -0
- package/dist/lens/calendar-placing.d.ts.map +1 -1
- package/dist/lens/calendar-placing.js +23 -2
- package/dist/lens/calendar-placing.js.map +1 -1
- package/dist/lens/calendar-spans.d.ts +5 -0
- package/dist/lens/calendar-spans.d.ts.map +1 -1
- package/dist/lens/calendar-spans.js +18 -6
- package/dist/lens/calendar-spans.js.map +1 -1
- package/dist/lens/calendar-view.d.ts.map +1 -1
- package/dist/lens/calendar-view.js +24 -6
- package/dist/lens/calendar-view.js.map +1 -1
- package/dist/lens/columns.d.ts +3 -1
- package/dist/lens/columns.d.ts.map +1 -1
- package/dist/lens/columns.js +40 -11
- package/dist/lens/columns.js.map +1 -1
- package/dist/lens/coverage.d.ts +8 -2
- package/dist/lens/coverage.d.ts.map +1 -1
- package/dist/lens/coverage.js +36 -10
- package/dist/lens/coverage.js.map +1 -1
- package/dist/lens/timeline.d.ts +1 -1
- package/dist/lens/timeline.d.ts.map +1 -1
- package/dist/lens/timeline.js +126 -16
- package/dist/lens/timeline.js.map +1 -1
- package/dist/lines-key.d.ts.map +1 -1
- package/dist/lines-key.js +11 -5
- package/dist/lines-key.js.map +1 -1
- package/dist/linked-record-door.d.ts +4 -0
- package/dist/linked-record-door.d.ts.map +1 -0
- package/dist/linked-record-door.js +12 -0
- package/dist/linked-record-door.js.map +1 -0
- package/dist/linked-record.d.ts +34 -0
- package/dist/linked-record.d.ts.map +1 -0
- package/dist/linked-record.js +142 -0
- package/dist/linked-record.js.map +1 -0
- package/dist/map-asks.d.ts +10 -0
- package/dist/map-asks.d.ts.map +1 -0
- package/dist/map-asks.js +17 -0
- package/dist/map-asks.js.map +1 -0
- package/dist/map-key.d.ts +3 -0
- package/dist/map-key.d.ts.map +1 -0
- package/dist/map-key.js +35 -0
- package/dist/map-key.js.map +1 -0
- package/dist/map-panel-door.d.ts +26 -0
- package/dist/map-panel-door.d.ts.map +1 -0
- package/dist/map-panel-door.js +42 -0
- package/dist/map-panel-door.js.map +1 -0
- package/dist/map-panel.d.ts +8 -0
- package/dist/map-panel.d.ts.map +1 -0
- package/dist/map-panel.js +351 -0
- package/dist/map-panel.js.map +1 -0
- package/dist/markdown-body.d.ts +11 -0
- package/dist/markdown-body.d.ts.map +1 -0
- package/dist/markdown-body.js +89 -0
- package/dist/markdown-body.js.map +1 -0
- package/dist/notice-stacks.d.ts +13 -0
- package/dist/notice-stacks.d.ts.map +1 -0
- package/dist/notice-stacks.js +141 -0
- package/dist/notice-stacks.js.map +1 -0
- package/dist/notices.d.ts +2 -0
- package/dist/notices.d.ts.map +1 -1
- package/dist/notices.js +30 -132
- package/dist/notices.js.map +1 -1
- package/dist/pages.d.ts +17 -1
- package/dist/pages.d.ts.map +1 -1
- package/dist/pages.js +17 -1
- package/dist/pages.js.map +1 -1
- package/dist/past-bar.d.ts +13 -0
- package/dist/past-bar.d.ts.map +1 -0
- package/dist/past-bar.js +26 -0
- package/dist/past-bar.js.map +1 -0
- package/dist/places.d.ts +1 -1
- package/dist/places.d.ts.map +1 -1
- package/dist/places.js +10 -5
- package/dist/places.js.map +1 -1
- package/dist/primitives/index.d.ts +19 -1
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +82 -33
- package/dist/primitives/index.js.map +1 -1
- package/dist/problem-count.d.ts +18 -0
- package/dist/problem-count.d.ts.map +1 -0
- package/dist/problem-count.js +46 -0
- package/dist/problem-count.js.map +1 -0
- package/dist/prose-editor.d.ts +4 -1
- package/dist/prose-editor.d.ts.map +1 -1
- package/dist/prose-editor.js +13 -6
- package/dist/prose-editor.js.map +1 -1
- package/dist/relation-key.d.ts +3 -1
- package/dist/relation-key.d.ts.map +1 -1
- package/dist/relation-key.js +23 -6
- package/dist/relation-key.js.map +1 -1
- package/dist/repeat-picker-door.d.ts +10 -0
- package/dist/repeat-picker-door.d.ts.map +1 -0
- package/dist/repeat-picker-door.js +13 -0
- package/dist/repeat-picker-door.js.map +1 -0
- package/dist/repeat-picker.d.ts +29 -0
- package/dist/repeat-picker.d.ts.map +1 -0
- package/dist/repeat-picker.js +64 -0
- package/dist/repeat-picker.js.map +1 -0
- package/dist/resolve-app-context.d.ts +3 -0
- package/dist/resolve-app-context.d.ts.map +1 -0
- package/dist/resolve-app-context.js +10 -0
- package/dist/resolve-app-context.js.map +1 -0
- package/dist/rule-line.d.ts.map +1 -1
- package/dist/rule-line.js +2 -1
- package/dist/rule-line.js.map +1 -1
- package/dist/scene-bar.d.ts.map +1 -1
- package/dist/scene-bar.js +7 -4
- package/dist/scene-bar.js.map +1 -1
- package/dist/scene-css.d.ts.map +1 -1
- package/dist/scene-css.js +261 -213
- package/dist/scene-css.js.map +1 -1
- package/dist/scene-places.d.ts +6 -0
- package/dist/scene-places.d.ts.map +1 -1
- package/dist/scene-places.js +14 -14
- package/dist/scene-places.js.map +1 -1
- package/dist/scene-way-back-door.d.ts +1 -0
- package/dist/scene-way-back-door.d.ts.map +1 -1
- package/dist/scene-way-back-door.js +10 -0
- package/dist/scene-way-back-door.js.map +1 -1
- package/dist/scene.d.ts +5 -1
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +5 -1
- package/dist/scene.js.map +1 -1
- package/dist/seat-field.d.ts.map +1 -1
- package/dist/seat-field.js +6 -4
- package/dist/seat-field.js.map +1 -1
- package/dist/seat-panel.d.ts +1 -0
- package/dist/seat-panel.d.ts.map +1 -1
- package/dist/seat-panel.js +5 -2
- package/dist/seat-panel.js.map +1 -1
- package/dist/seeding.d.ts.map +1 -1
- package/dist/seeding.js +2 -1
- package/dist/seeding.js.map +1 -1
- package/dist/several-bar.d.ts +23 -0
- package/dist/several-bar.d.ts.map +1 -0
- package/dist/several-bar.js +158 -0
- package/dist/several-bar.js.map +1 -0
- package/dist/several-door.d.ts +7 -0
- package/dist/several-door.d.ts.map +1 -0
- package/dist/several-door.js +20 -0
- package/dist/several-door.js.map +1 -0
- package/dist/shell.d.ts +20 -2
- package/dist/shell.d.ts.map +1 -1
- package/dist/shell.js +19 -12
- package/dist/shell.js.map +1 -1
- package/dist/spec-css.d.ts.map +1 -1
- package/dist/spec-css.js +90 -55
- package/dist/spec-css.js.map +1 -1
- package/dist/spec-views.d.ts +14 -1
- package/dist/spec-views.d.ts.map +1 -1
- package/dist/spec-views.js +91 -17
- package/dist/spec-views.js.map +1 -1
- package/dist/states-bar.d.ts +15 -0
- package/dist/states-bar.d.ts.map +1 -0
- package/dist/states-bar.js +36 -0
- package/dist/states-bar.js.map +1 -0
- package/dist/suggested.d.ts +13 -0
- package/dist/suggested.d.ts.map +1 -0
- package/dist/suggested.js +82 -0
- package/dist/suggested.js.map +1 -0
- package/dist/text-body.d.ts +7 -3
- package/dist/text-body.d.ts.map +1 -1
- package/dist/text-body.js +10 -2
- package/dist/text-body.js.map +1 -1
- package/dist/theme.d.ts.map +1 -1
- package/dist/theme.js +36 -32
- package/dist/theme.js.map +1 -1
- package/dist/timeline.d.ts +6 -0
- package/dist/timeline.d.ts.map +1 -0
- package/dist/timeline.js +129 -0
- package/dist/timeline.js.map +1 -0
- package/dist/way-back.d.ts.map +1 -1
- package/dist/way-back.js +3 -0
- package/dist/way-back.js.map +1 -1
- package/dist/workbench/activity.d.ts +22 -0
- package/dist/workbench/activity.d.ts.map +1 -1
- package/dist/workbench/activity.js +126 -26
- package/dist/workbench/activity.js.map +1 -1
- package/dist/workbench/agent-seat.d.ts.map +1 -1
- package/dist/workbench/agent-seat.js +3 -2
- package/dist/workbench/agent-seat.js.map +1 -1
- package/dist/workbench/answer-args.d.ts +3 -1
- package/dist/workbench/answer-args.d.ts.map +1 -1
- package/dist/workbench/answer-args.js +84 -14
- package/dist/workbench/answer-args.js.map +1 -1
- package/dist/workbench/back-out.d.ts.map +1 -1
- package/dist/workbench/back-out.js +19 -6
- package/dist/workbench/back-out.js.map +1 -1
- package/dist/workbench/index.d.ts +1 -1
- package/dist/workbench/index.d.ts.map +1 -1
- package/dist/workbench/index.js +1 -1
- package/dist/workbench/index.js.map +1 -1
- package/dist/workbench/inspector-door.d.ts +36 -0
- package/dist/workbench/inspector-door.d.ts.map +1 -0
- package/dist/workbench/inspector-door.js +97 -0
- package/dist/workbench/inspector-door.js.map +1 -0
- package/dist/workbench/inspector.d.ts +9 -27
- package/dist/workbench/inspector.d.ts.map +1 -1
- package/dist/workbench/inspector.js +106 -42
- package/dist/workbench/inspector.js.map +1 -1
- package/dist/workbench/trail.d.ts.map +1 -1
- package/dist/workbench/trail.js +12 -3
- package/dist/workbench/trail.js.map +1 -1
- package/package.json +6 -6
package/dist/scene-css.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { MARQUEE_GAP, MARQUEE_NAME_FLOOR, MARQUEE_WIDTH } from "@graview/layout/
|
|
1
|
+
import { layer, SCENE_LAYERS } from "@graview/core";
|
|
2
|
+
import { MARQUEE_GAP, MARQUEE_NAME_FLOOR, MARQUEE_WIDTH } from "@graview/layout/sizes";
|
|
3
3
|
import { baseSheet, GRAVIEW_BRAND, withinTheBox } from "./theme.js";
|
|
4
4
|
import { SPEC_VIEW_CSS } from "./spec-css.js";
|
|
5
5
|
/*
|
|
6
6
|
* THE SCENE'S OWN RULES (FR-104).
|
|
7
7
|
*
|
|
8
|
-
* The districts from altitude, their plots, the village and the
|
|
8
|
+
* The districts from altitude, their plots, the village and the ribbons, the
|
|
9
9
|
* billboards and their rails, the bands and what they could not hold, the
|
|
10
10
|
* kind's tag, the zoom: everything here names an element only the scene
|
|
11
11
|
* draws. They were a third of the one theme sheet, and the sheet is drawn
|
|
@@ -16,10 +16,7 @@ import { SPEC_VIEW_CSS } from "./spec-css.js";
|
|
|
16
16
|
* stand in `themeCss`. The rules are where theme.ts had them, in its
|
|
17
17
|
* order, and each still carries its note.
|
|
18
18
|
*/
|
|
19
|
-
const face = (f) => `${f.saturation}% ${f.lightness}%`;
|
|
20
|
-
const wash = (f) => `${face(f)} / ${f.alpha}`;
|
|
21
19
|
function sceneSheet(scheme) {
|
|
22
|
-
const iso = isoShade(scheme);
|
|
23
20
|
return `
|
|
24
21
|
${ /* What theme.ts drew for the scene alone, before FR-104's own rules and
|
|
25
22
|
in the order it drew them: the altitude control, the kind's card, its
|
|
@@ -559,69 +556,84 @@ ${ /* From altitude a district is a village on its plot, not a card: hovering
|
|
|
559
556
|
background: transparent;
|
|
560
557
|
}
|
|
561
558
|
|
|
562
|
-
${ /* THE
|
|
563
|
-
|
|
564
|
-
the
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
.graview-plots {
|
|
569
|
-
z-index: ${SCENE_LAYERS.plots};
|
|
559
|
+
${ /* THE RIBBONS between districts: one per relation, as wide as the links
|
|
560
|
+
along it (the width is set on each), in the ground's ink and quiet at
|
|
561
|
+
rest; the relation a person points at, or the Key asks about, or a chosen
|
|
562
|
+
district's own come up in the accent. One manner, one meaning: what is
|
|
563
|
+
joined to what, and how much. */""}
|
|
564
|
+
.graview-ribbons {
|
|
570
565
|
opacity: var(--graview-altitude);
|
|
571
|
-
transition: opacity 640ms cubic-bezier(0.33, 0, 0.2, 1);
|
|
572
566
|
}
|
|
573
|
-
.graview-
|
|
574
|
-
fill: hsl(var(--graview-hue, 200) ${wash(iso.plot)});
|
|
575
|
-
stroke: hsl(var(--graview-hue, 200) ${wash(iso.plotEdge)});
|
|
576
|
-
stroke-width: 1;
|
|
577
|
-
stroke-linejoin: round;
|
|
578
|
-
pointer-events: auto;
|
|
579
|
-
cursor: pointer;
|
|
580
|
-
filter: drop-shadow(${scheme === "light" ? "5px 4px 6px rgba(20,30,32,0.14)" : "6px 5px 8px rgba(0,0,0,0.4)"});
|
|
581
|
-
transition: fill 170ms ease;
|
|
582
|
-
}
|
|
583
|
-
.graview-plot-tile:hover {
|
|
584
|
-
fill: hsl(var(--graview-hue, 200) 45% ${scheme === "light" ? "58%" : "48%"} / ${scheme === "light" ? "0.2" : "0.3"});
|
|
585
|
-
}
|
|
586
|
-
.graview-plot[data-graview-pinned] .graview-plot-tile {
|
|
587
|
-
stroke-dasharray: 4 3;
|
|
588
|
-
}
|
|
589
|
-
${ /* THE VILLAGE on the tile: one small iso building per member in the kind's
|
|
590
|
-
own faces (the same roof and walls the block had), a flagged member's roof
|
|
591
|
-
in the warning color, a selected member's building lit in the accent.
|
|
592
|
-
Architecture, not controls: the tile under them takes the click. */""}
|
|
593
|
-
.graview-village { pointer-events: none; }
|
|
594
|
-
.graview-building polygon { stroke-width: 0.8; }
|
|
595
|
-
.graview-building[data-graview-flagged] .graview-iso-roof { fill: var(--graview-warn); stroke: var(--graview-warn); }
|
|
596
|
-
.graview-building[data-graview-selected] polygon { stroke: var(--graview-accent); stroke-width: 1.4; }
|
|
597
|
-
.graview-building[data-graview-selected] .graview-iso-roof { fill: color-mix(in oklab, var(--graview-accent) 45%, var(--graview-panel)); }
|
|
598
|
-
.graview-village-rest {
|
|
599
|
-
font-size: 0.75rem;
|
|
600
|
-
letter-spacing: 0.06em;
|
|
601
|
-
fill: var(--graview-ink-muted);
|
|
602
|
-
}
|
|
603
|
-
${ /* THE ROADS between plots: the lattice's own two legs from curb to curb, a
|
|
604
|
-
bed between two edges in the ground's ink. Under the tiles and the
|
|
605
|
-
buildings, over the fields. A road the legend is asking about comes up
|
|
606
|
-
in the accent. */""}
|
|
607
|
-
.graview-road-edge {
|
|
567
|
+
.graview-ribbon-band {
|
|
608
568
|
fill: none;
|
|
609
569
|
stroke: var(--graview-ink);
|
|
610
|
-
stroke-opacity: ${scheme === "light" ? "0.
|
|
611
|
-
stroke-width: 7;
|
|
570
|
+
stroke-opacity: ${scheme === "light" ? "0.2" : "0.3"};
|
|
612
571
|
stroke-linejoin: round;
|
|
613
|
-
stroke-linecap:
|
|
572
|
+
stroke-linecap: butt;
|
|
573
|
+
transition: stroke 170ms ease, stroke-opacity 170ms ease;
|
|
574
|
+
}
|
|
575
|
+
.graview-ribbon[data-graview-lit] .graview-ribbon-band {
|
|
576
|
+
stroke: var(--graview-accent);
|
|
577
|
+
stroke-opacity: 0.62;
|
|
578
|
+
}
|
|
579
|
+
.graview-ribbon[data-graview-receded] .graview-ribbon-band {
|
|
580
|
+
stroke-opacity: 0.07;
|
|
581
|
+
}
|
|
582
|
+
${ /* A row in the panel beside the map is a press: it says so under the pointer and the keyboard. */""}
|
|
583
|
+
.graview-map-panel-row:hover,
|
|
584
|
+
.graview-map-panel-row:focus-visible {
|
|
585
|
+
background: var(--graview-panel-muted);
|
|
586
|
+
color: var(--graview-accent);
|
|
614
587
|
}
|
|
615
|
-
.graview-
|
|
588
|
+
.graview-ribbon-said,
|
|
589
|
+
.graview-record-link-said {
|
|
590
|
+
z-index: ${SCENE_LAYERS.tieLabels};
|
|
591
|
+
box-sizing: border-box;
|
|
592
|
+
white-space: nowrap;
|
|
593
|
+
font-size: 0.8125rem;
|
|
594
|
+
line-height: 1.3;
|
|
595
|
+
color: var(--graview-ink);
|
|
596
|
+
background: var(--graview-float);
|
|
597
|
+
border: 1px solid var(--graview-edge);
|
|
598
|
+
border-radius: 6px;
|
|
599
|
+
box-shadow: var(--graview-lift-low);
|
|
600
|
+
}
|
|
601
|
+
.graview-ribbon-said {
|
|
602
|
+
transform: translate(-50%, calc(-100% - 8px));
|
|
603
|
+
padding: 4px 9px;
|
|
604
|
+
width: max-content;
|
|
605
|
+
max-width: min(320px, 80cqw);
|
|
606
|
+
white-space: normal;
|
|
607
|
+
}
|
|
608
|
+
${ /* A CHOSEN RECORD'S LINKS: solid to a record the map draws on its own,
|
|
609
|
+
ending in a dot on it; dashed into a district, for the records in it the
|
|
610
|
+
map does not draw one by one. Each says its relation at its far end. */""}
|
|
611
|
+
.graview-record-link-line {
|
|
616
612
|
fill: none;
|
|
617
|
-
stroke: var(--graview-
|
|
618
|
-
stroke-width:
|
|
619
|
-
stroke-linejoin: round;
|
|
613
|
+
stroke: var(--graview-accent);
|
|
614
|
+
stroke-width: 1.8;
|
|
620
615
|
stroke-linecap: round;
|
|
621
616
|
}
|
|
622
|
-
.graview-
|
|
623
|
-
stroke:
|
|
624
|
-
stroke-opacity: 0.
|
|
617
|
+
.graview-record-link[data-graview-lands="district"] .graview-record-link-line {
|
|
618
|
+
stroke-dasharray: 5 4;
|
|
619
|
+
stroke-opacity: 0.85;
|
|
620
|
+
}
|
|
621
|
+
.graview-record-link-end {
|
|
622
|
+
fill: var(--graview-accent);
|
|
623
|
+
}
|
|
624
|
+
${ /* A TIE'S WORDS ON THE GROUND WAIT TO BE ASKED FOR: drawn while the tie
|
|
625
|
+
or a card at its end is under the pointer or holds the keyboard
|
|
626
|
+
(\`tie-labels.ts\`), and not otherwise — a label on every line stood over
|
|
627
|
+
the cards' titles saying what the lines already showed. */""}
|
|
628
|
+
.graview-record-link-said[data-graview-tie-said="waiting"] {
|
|
629
|
+
visibility: hidden;
|
|
630
|
+
}
|
|
631
|
+
.graview-record-link-said {
|
|
632
|
+
max-width: 260px;
|
|
633
|
+
overflow: hidden;
|
|
634
|
+
text-overflow: ellipsis;
|
|
635
|
+
padding: 2px 7px;
|
|
636
|
+
font-size: 0.75rem;
|
|
625
637
|
}
|
|
626
638
|
${ /* FIELDS. From altitude the ground darkens a shade toward the near edge and
|
|
627
639
|
fades to the page at the horizon, so the lattice is land with a distance
|
|
@@ -636,10 +648,26 @@ ${ /* THE OPEN CHEVRON APPEARS WHEN REACHED FOR. Drawn on every plate at
|
|
|
636
648
|
altitude it was noise times the number of districts; it shows on hover,
|
|
637
649
|
on keyboard focus, and while the district is open — and stays a real
|
|
638
650
|
button in between, so Tab still finds it and Enter still opens. */""}
|
|
639
|
-
[data-graview-altitude] .graview-kind-open
|
|
640
|
-
|
|
651
|
+
[data-graview-altitude] .graview-kind-open,
|
|
652
|
+
[data-graview-altitude] .graview-kind-past {
|
|
653
|
+
opacity: 0;
|
|
641
654
|
transition: opacity 150ms ease;
|
|
642
655
|
}
|
|
656
|
+
[data-graview-altitude] .graview-kind-card:hover .graview-kind-past,
|
|
657
|
+
[data-graview-altitude] .graview-kind-card:focus-within .graview-kind-past {
|
|
658
|
+
opacity: 1;
|
|
659
|
+
}
|
|
660
|
+
${ /* Beside the name rather than in it: the name is measured for its three things. */""}
|
|
661
|
+
[data-graview-altitude] .graview-kind-face .graview-kind-open {
|
|
662
|
+
position: absolute;
|
|
663
|
+
left: calc(100% + 2px);
|
|
664
|
+
top: 1px;
|
|
665
|
+
}
|
|
666
|
+
[data-graview-altitude] .graview-kind-face .graview-kind-past {
|
|
667
|
+
position: absolute;
|
|
668
|
+
right: calc(100% + 2px);
|
|
669
|
+
top: 1px;
|
|
670
|
+
}
|
|
643
671
|
${ /* Quiet: the chevron alone until reached for. Never opacity zero — a
|
|
644
672
|
button nobody can see is a button a driven browser cannot press either,
|
|
645
673
|
and Tab must land on something that looks like something. */""}
|
|
@@ -696,68 +724,6 @@ ${ /* Quiet: the chevron alone until reached for. Never opacity zero — a
|
|
|
696
724
|
color: var(--graview-accent);
|
|
697
725
|
text-decoration: underline;
|
|
698
726
|
}
|
|
699
|
-
${ /* THE BILLBOARD'S FULL-SCREEN CONTROL: the one way down from a picture. */""}
|
|
700
|
-
${ /* THE RAIL A BILLBOARD IS MOVED BY: a title bar, in the board's own frame
|
|
701
|
-
ink, along its top edge. Positioned like the full-screen control beside
|
|
702
|
-
it — the host wraps its children, so the rail is a grandchild of the
|
|
703
|
-
screen box and a child selector never reaches it. Wide enough to be an
|
|
704
|
-
easy target, short enough that the picture underneath is still what you
|
|
705
|
-
see, and present only at altitude, because only up there is the board
|
|
706
|
-
standing on a plot it could be moved around. */""}
|
|
707
|
-
.graview-screen-grip {
|
|
708
|
-
display: none;
|
|
709
|
-
}
|
|
710
|
-
[data-graview-altitude] [data-graview-screen] .graview-screen-grip {
|
|
711
|
-
display: flex;
|
|
712
|
-
align-items: center;
|
|
713
|
-
gap: 8px;
|
|
714
|
-
position: absolute;
|
|
715
|
-
left: 0;
|
|
716
|
-
right: 0;
|
|
717
|
-
top: 0;
|
|
718
|
-
${ /* Drawn height, not CSS height: a district's plane is scaled down at
|
|
719
|
-
altitude, and 14 here reached the screen as an eight-pixel strip that
|
|
720
|
-
took three attempts to catch. */""}
|
|
721
|
-
height: 32px;
|
|
722
|
-
padding: 0 6px 0 12px;
|
|
723
|
-
box-sizing: border-box;
|
|
724
|
-
cursor: grab;
|
|
725
|
-
${ /* A title bar in the panel's own colors, not a gray strip: the board is
|
|
726
|
-
a window onto the picture, and its bar reads as the window's. */""}
|
|
727
|
-
background: var(--graview-panel-muted);
|
|
728
|
-
border-bottom: 1px solid var(--graview-edge);
|
|
729
|
-
z-index: ${SCENE_LAYERS.lines};
|
|
730
|
-
}
|
|
731
|
-
[data-graview-altitude] [data-graview-screen] .graview-screen-title {
|
|
732
|
-
flex: 1 1 auto;
|
|
733
|
-
min-width: 0;
|
|
734
|
-
overflow: hidden;
|
|
735
|
-
text-overflow: ellipsis;
|
|
736
|
-
white-space: nowrap;
|
|
737
|
-
font-size: 0.8125rem;
|
|
738
|
-
font-weight: 600;
|
|
739
|
-
color: var(--graview-ink);
|
|
740
|
-
}
|
|
741
|
-
[data-graview-altitude] [data-graview-screen] .graview-screen-grip:active {
|
|
742
|
-
cursor: grabbing;
|
|
743
|
-
}
|
|
744
|
-
.graview-screen-fullscreen {
|
|
745
|
-
flex: 0 0 auto;
|
|
746
|
-
min-height: max(1.5rem, 24px);
|
|
747
|
-
padding: 1px 10px;
|
|
748
|
-
border-radius: 999px;
|
|
749
|
-
border: 1px solid var(--graview-edge);
|
|
750
|
-
background: var(--graview-panel);
|
|
751
|
-
color: var(--graview-accent);
|
|
752
|
-
font-size: 0.8125rem;
|
|
753
|
-
font-weight: 600;
|
|
754
|
-
white-space: nowrap;
|
|
755
|
-
cursor: pointer;
|
|
756
|
-
box-shadow: none;
|
|
757
|
-
}
|
|
758
|
-
.graview-screen-fullscreen:hover:not(:disabled) {
|
|
759
|
-
border-color: var(--graview-accent);
|
|
760
|
-
}
|
|
761
727
|
[data-graview-altitude] .graview-kind-members > [data-graview-pick] {
|
|
762
728
|
width: 100%;
|
|
763
729
|
box-sizing: border-box;
|
|
@@ -1012,81 +978,158 @@ ${ /* The panel stands above the card, inside the scene, and never clips: the
|
|
|
1012
978
|
font-variant-numeric: tabular-nums;
|
|
1013
979
|
color: var(--graview-ink-faint);
|
|
1014
980
|
}
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
}
|
|
1026
|
-
${ /* A SIGNPOST at the plot's front corner. From altitude the nameplate stood
|
|
1027
|
-
at the top of the card — over the back row of the village — and the
|
|
1028
|
-
screen had to clear it. It is planted at the front vertex of the tile
|
|
1029
|
-
now, on a short post, where a sign stands at the entrance to a place;
|
|
1030
|
-
the scene says where that vertex is in --graview-front-y. */""}
|
|
981
|
+
${ /* THE NAME UNDER A DISTRICT, from altitude: under the plot's front
|
|
982
|
+
corner, on a solid backing at a fixed size on the screen, saying three
|
|
983
|
+
things — what it is, how many, how many have a problem — and, for a kind
|
|
984
|
+
with a status, the bar of where its records stand. The name used to be
|
|
985
|
+
words haloed on the ground with marks after them that nobody could read
|
|
986
|
+
("PEOPLE 10 ◆ •") and the lens names hanging under it, over the next
|
|
987
|
+
district's buildings. The lens names are in the bar and come up on hover;
|
|
988
|
+
the rest is gone. Where two names would collide the layout says which
|
|
989
|
+
one is quieter (data-graview-nameplate): short is the name and the count,
|
|
990
|
+
none comes back when the district is reached for. */""}
|
|
1031
991
|
[data-graview-altitude] .graview-kind-face {
|
|
1032
992
|
position: absolute !important;
|
|
1033
993
|
left: 50% !important;
|
|
1034
994
|
top: 2% !important;
|
|
1035
995
|
transform: translateX(-50%);
|
|
1036
996
|
width: max-content;
|
|
1037
|
-
${ /* Wider than the block when the name is: a label overflows its building
|
|
1038
|
-
the way a map label does. "REQUIRE / MENTS" on two lines does not. */""}
|
|
1039
997
|
max-width: none;
|
|
1040
998
|
white-space: nowrap;
|
|
1041
999
|
height: auto !important;
|
|
1042
|
-
|
|
1000
|
+
${ /* A grid of two: the name and its count on one line, the bar across both under them. */""}
|
|
1001
|
+
display: grid !important;
|
|
1002
|
+
grid-template-columns: auto auto;
|
|
1043
1003
|
align-items: baseline !important;
|
|
1044
|
-
gap:
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
border-radius: 0 !important;
|
|
1053
|
-
background: none !important;
|
|
1054
|
-
box-shadow: none !important;
|
|
1055
|
-
text-shadow: 0 0 3px var(--graview-ground), 0 0 6px var(--graview-ground), 0 0 10px var(--graview-ground);
|
|
1004
|
+
column-gap: 6px !important;
|
|
1005
|
+
row-gap: 3px !important;
|
|
1006
|
+
padding: 1px 6px 2px !important;
|
|
1007
|
+
line-height: 1.25;
|
|
1008
|
+
border: 1px solid var(--graview-edge) !important;
|
|
1009
|
+
border-radius: 5px !important;
|
|
1010
|
+
background: var(--graview-panel) !important;
|
|
1011
|
+
box-shadow: 0 1px 2px rgba(0, 0, 0, ${scheme === "light" ? "0.08" : "0.3"}) !important;
|
|
1056
1012
|
z-index: ${SCENE_LAYERS.tag};
|
|
1057
1013
|
}
|
|
1058
|
-
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1014
|
+
[data-graview-altitude] [data-graview-plot] .graview-kind-face {
|
|
1015
|
+
top: calc(var(--graview-front-y) + 4px) !important;
|
|
1016
|
+
}
|
|
1017
|
+
[data-graview-altitude] .graview-kind-face > div {
|
|
1018
|
+
gap: 6px !important;
|
|
1019
|
+
}
|
|
1020
|
+
${ /* THE PROBLEM COUNT IS A CONTROL: a fingertip's height, quiet until it is reached for, and it says what it opens. */""}
|
|
1021
|
+
.graview-district-problems {
|
|
1022
|
+
display: inline-flex;
|
|
1023
|
+
align-items: center;
|
|
1024
|
+
${ /* On the ground the card is drawn at its plane's 0.9: a fingertip there is 27, so it draws 24. */""}
|
|
1025
|
+
min-height: max(1.67rem, 27px);
|
|
1026
|
+
min-width: max(1.67rem, 27px);
|
|
1027
|
+
margin: -5px -4px;
|
|
1028
|
+
padding: 0 4px;
|
|
1029
|
+
border: 1px solid transparent;
|
|
1030
|
+
border-radius: 6px;
|
|
1031
|
+
background: none;
|
|
1032
|
+
box-shadow: none;
|
|
1033
|
+
color: var(--graview-warn);
|
|
1034
|
+
font: inherit;
|
|
1035
|
+
font-variant-numeric: tabular-nums;
|
|
1036
|
+
font-weight: 600;
|
|
1037
|
+
cursor: pointer;
|
|
1038
|
+
white-space: nowrap;
|
|
1063
1039
|
}
|
|
1064
|
-
[data-graview-altitude] .graview-
|
|
1040
|
+
[data-graview-altitude] .graview-district-problems {
|
|
1041
|
+
min-height: max(1.5rem, 24px);
|
|
1042
|
+
min-width: max(1.5rem, 24px);
|
|
1043
|
+
margin: -4px -4px;
|
|
1044
|
+
}
|
|
1045
|
+
.graview-district-problems:hover {
|
|
1046
|
+
background: color-mix(in oklab, var(--graview-warn) 14%, transparent);
|
|
1047
|
+
text-decoration: underline;
|
|
1048
|
+
}
|
|
1049
|
+
.graview-district-problems[aria-expanded="true"] {
|
|
1050
|
+
border-color: color-mix(in oklab, var(--graview-warn) 55%, transparent);
|
|
1051
|
+
}
|
|
1052
|
+
[data-graview-altitude] .graview-kind-face > .graview-kind-members {
|
|
1053
|
+
grid-column: 1 / -1;
|
|
1054
|
+
}
|
|
1055
|
+
.graview-district-states {
|
|
1056
|
+
display: flex;
|
|
1057
|
+
grid-column: 1 / -1;
|
|
1058
|
+
${ /* Its words never widen the name: the bar is as wide as the name, or its least. */""}
|
|
1059
|
+
contain: inline-size;
|
|
1060
|
+
min-width: 168px;
|
|
1061
|
+
height: 13px;
|
|
1062
|
+
gap: 1px;
|
|
1063
|
+
border-radius: 2px;
|
|
1064
|
+
overflow: hidden;
|
|
1065
|
+
}
|
|
1066
|
+
.graview-district-states > span {
|
|
1067
|
+
flex-basis: 0;
|
|
1068
|
+
min-width: 2px;
|
|
1069
|
+
font-size: 0.625rem;
|
|
1070
|
+
line-height: 13px;
|
|
1071
|
+
padding: 0 3px;
|
|
1072
|
+
overflow: hidden;
|
|
1073
|
+
text-overflow: ellipsis;
|
|
1074
|
+
white-space: nowrap;
|
|
1075
|
+
font-variant-numeric: tabular-nums;
|
|
1076
|
+
color: var(--graview-ink);
|
|
1077
|
+
background: color-mix(in oklab, var(--graview-ink) ${scheme === "light" ? "24%" : "34%"}, var(--graview-panel));
|
|
1078
|
+
}
|
|
1079
|
+
.graview-district-states > [data-graview-tier="active"] {
|
|
1080
|
+
color: var(--graview-panel);
|
|
1081
|
+
background: color-mix(in oklab, var(--graview-ink) ${scheme === "light" ? "72%" : "78%"}, var(--graview-panel));
|
|
1082
|
+
}
|
|
1083
|
+
.graview-district-states > [data-graview-tier="done"] {
|
|
1084
|
+
color: var(--graview-ink-muted);
|
|
1085
|
+
background: color-mix(in oklab, var(--graview-ink) 8%, var(--graview-panel));
|
|
1086
|
+
}
|
|
1087
|
+
[data-graview-nameplate^="short"] .graview-district-states {
|
|
1088
|
+
display: none;
|
|
1089
|
+
}
|
|
1090
|
+
${ /* Over the plot and its blocks, or beside it, where the ground under it is the next district's. */""}
|
|
1091
|
+
[data-graview-altitude] [data-graview-plot] .graview-kind-face[data-graview-nameplate$="above"] {
|
|
1092
|
+
top: calc(-4px - 0.45 * var(--graview-lattice-cell)) !important;
|
|
1093
|
+
transform: translate(-50%, -100%);
|
|
1094
|
+
}
|
|
1095
|
+
[data-graview-altitude] [data-graview-plot] .graview-kind-face[data-graview-nameplate$="aside"] {
|
|
1096
|
+
left: calc(100% + 4px) !important;
|
|
1097
|
+
top: calc(var(--graview-center-y) - 11px) !important;
|
|
1098
|
+
transform: none;
|
|
1099
|
+
}
|
|
1100
|
+
[data-graview-nameplate="none"] {
|
|
1065
1101
|
opacity: 0;
|
|
1102
|
+
pointer-events: none;
|
|
1066
1103
|
}
|
|
1067
|
-
[data-graview-altitude] [data-graview-
|
|
1068
|
-
|
|
1104
|
+
[data-graview-altitude] .graview-kind-card:hover [data-graview-nameplate],
|
|
1105
|
+
[data-graview-altitude] .graview-kind-card:focus-within [data-graview-nameplate] {
|
|
1106
|
+
opacity: 1;
|
|
1107
|
+
pointer-events: auto;
|
|
1069
1108
|
}
|
|
1070
|
-
[data-graview-altitude] [data-graview-plot]
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
left: 50%;
|
|
1074
|
-
top: 100%;
|
|
1075
|
-
width: 1px;
|
|
1076
|
-
height: 10px;
|
|
1077
|
-
background: var(--graview-ink-faint);
|
|
1109
|
+
[data-graview-altitude] [data-graview-plot]:hover,
|
|
1110
|
+
[data-graview-altitude] [data-graview-plot]:focus-within {
|
|
1111
|
+
z-index: ${SCENE_LAYERS.opened} !important;
|
|
1078
1112
|
}
|
|
1079
1113
|
${ /* A landmark WITHOUT a plot — a nested card — keeps its plate floating
|
|
1080
|
-
above the drawing rather than across its head
|
|
1081
|
-
the signpost like every other district (the rule above). */""}
|
|
1114
|
+
above the drawing rather than across its head. */""}
|
|
1082
1115
|
[data-graview-altitude] [data-graview-landmark]:not([data-graview-plot] *) .graview-kind-face {
|
|
1083
1116
|
top: 0 !important;
|
|
1084
1117
|
transform: translate(-50%, calc(-100% - 7px));
|
|
1085
1118
|
}
|
|
1086
|
-
${ /*
|
|
1087
|
-
|
|
1119
|
+
${ /* THE SHOWINGS COME UP WHEN THE DISTRICT IS REACHED FOR: under its name,
|
|
1120
|
+
on a backing of their own, and in the bar's place list always. */""}
|
|
1088
1121
|
[data-graview-altitude] .graview-drive-in {
|
|
1089
|
-
|
|
1122
|
+
${ /* Straight under the name, touching it, so the hand that reached for the name reaches the showings without crossing a gap. */""}
|
|
1123
|
+
top: calc(var(--graview-front-y, 42px) + var(--graview-plate-h, 26px));
|
|
1124
|
+
padding: 4px 6px;
|
|
1125
|
+
border-radius: 5px;
|
|
1126
|
+
background: var(--graview-panel);
|
|
1127
|
+
box-shadow: var(--graview-lift-low);
|
|
1128
|
+
transition: opacity 150ms ease;
|
|
1129
|
+
}
|
|
1130
|
+
[data-graview-altitude] .graview-kind-card:not(:hover):not(:focus-within) .graview-drive-in:not([data-graview-showing]) {
|
|
1131
|
+
opacity: 0;
|
|
1132
|
+
pointer-events: none;
|
|
1090
1133
|
}
|
|
1091
1134
|
${ /* An OPENED district's listing takes the ground under the signpost; the
|
|
1092
1135
|
board steps up over the village, which the listing covers anyway. */""}
|
|
@@ -1103,10 +1146,25 @@ ${ /* THE LANDMARK STANDS IN THE SQUARE: its feet at the plot's center, among
|
|
|
1103
1146
|
}
|
|
1104
1147
|
${ /* ZOOM, in the ground's corner: the way a map carries its own. Two
|
|
1105
1148
|
fingertip-sized buttons and the level between them, shown from altitude. */""}
|
|
1149
|
+
${ /* THE SCENE'S FOOT: a sheet over it, and on a phone the ask field across
|
|
1150
|
+
it. On a desk the field stands at the foot's other end; on a phone it is
|
|
1151
|
+
the foot's whole width, and the zoom stood under it, every control of it
|
|
1152
|
+
covered (the watch's "control-covered", the tenth walk's carried pass). */""}
|
|
1153
|
+
.graview-zoom,
|
|
1154
|
+
.graview-edge-sign {
|
|
1155
|
+
--graview-scene-foot: var(--graview-sheet, 0px);
|
|
1156
|
+
}
|
|
1157
|
+
@container (max-width: 639px) {
|
|
1158
|
+
.graview-zoom,
|
|
1159
|
+
.graview-edge-sign {
|
|
1160
|
+
--graview-scene-foot: calc(var(--graview-sheet, 0px) + var(--graview-foot-room, 0px));
|
|
1161
|
+
}
|
|
1162
|
+
}
|
|
1106
1163
|
.graview-zoom {
|
|
1107
1164
|
position: absolute;
|
|
1108
|
-
right
|
|
1109
|
-
|
|
1165
|
+
${ /* Clear of a panel floating over the scene's right edge, or a sheet over its foot, or the ask field across it. */""}
|
|
1166
|
+
right: calc(16px + var(--graview-dock, 0px));
|
|
1167
|
+
bottom: calc(16px + var(--graview-scene-foot, var(--graview-sheet, 0px)));
|
|
1110
1168
|
${ /* Above the occupants: a robot walking past a control must not cover it. */""}
|
|
1111
1169
|
z-index: ${SCENE_LAYERS.zoom};
|
|
1112
1170
|
display: inline-flex;
|
|
@@ -1134,6 +1192,15 @@ ${ /* ZOOM, in the ground's corner: the way a map carries its own. Two
|
|
|
1134
1192
|
.graview-zoom-button:hover:not(:disabled) {
|
|
1135
1193
|
background: var(--graview-edge);
|
|
1136
1194
|
}
|
|
1195
|
+
.graview-zoom-above {
|
|
1196
|
+
margin-left: 2px;
|
|
1197
|
+
padding: 0 8px;
|
|
1198
|
+
font-size: 0.75rem;
|
|
1199
|
+
color: var(--graview-ink-muted);
|
|
1200
|
+
}
|
|
1201
|
+
.graview-zoom-above[aria-pressed="true"] {
|
|
1202
|
+
color: var(--graview-accent);
|
|
1203
|
+
}
|
|
1137
1204
|
.graview-zoom-button:disabled {
|
|
1138
1205
|
opacity: 0.35;
|
|
1139
1206
|
cursor: default;
|
|
@@ -1146,41 +1213,6 @@ ${ /* ZOOM, in the ground's corner: the way a map carries its own. Two
|
|
|
1146
1213
|
font-variant-numeric: tabular-nums;
|
|
1147
1214
|
}
|
|
1148
1215
|
|
|
1149
|
-
${ /* THE SCREEN IS A BILLBOARD at the back of the village: a frame, and two
|
|
1150
|
-
posts into the ground at its foot. */""}
|
|
1151
|
-
${ /* On the NATURAL BOX, which is the picture now: the layout cuts the
|
|
1152
|
-
billboard to what the lens drew (measured by the scene), never shorter
|
|
1153
|
-
than a screen's worth — so the box is the picture, and an empty lens is a
|
|
1154
|
-
header over an empty screen rather than a strip floating over the
|
|
1155
|
-
village. The frame used to sit on the drawing itself, from the days the
|
|
1156
|
-
box was as tall as the window with the picture in its top third. It
|
|
1157
|
-
carries the panel's own ground so the empty part of a screen is a screen
|
|
1158
|
-
and not the field showing through a frame. */""}
|
|
1159
|
-
[data-graview-altitude] [data-graview-screen] > [data-graview-natural],
|
|
1160
|
-
[data-graview-altitude] [data-graview-screen] > :not([data-graview-natural]):not(.graview-kind-tag) {
|
|
1161
|
-
outline: 2px solid color-mix(in oklab, var(--graview-ink) 60%, var(--graview-panel));
|
|
1162
|
-
outline-offset: 0;
|
|
1163
|
-
background: var(--graview-panel);
|
|
1164
|
-
}
|
|
1165
|
-
[data-graview-altitude] [data-graview-screen] > :not([data-graview-natural]):not(.graview-kind-tag) {
|
|
1166
|
-
position: relative;
|
|
1167
|
-
}
|
|
1168
|
-
[data-graview-altitude] [data-graview-screen] > [data-graview-natural]::before,
|
|
1169
|
-
[data-graview-altitude] [data-graview-screen] > [data-graview-natural]::after,
|
|
1170
|
-
[data-graview-altitude] [data-graview-screen] > :not([data-graview-natural]):not(.graview-kind-tag)::before,
|
|
1171
|
-
[data-graview-altitude] [data-graview-screen] > :not([data-graview-natural]):not(.graview-kind-tag)::after {
|
|
1172
|
-
content: "";
|
|
1173
|
-
position: absolute;
|
|
1174
|
-
top: 100%;
|
|
1175
|
-
width: 3px;
|
|
1176
|
-
height: 16px;
|
|
1177
|
-
background: color-mix(in oklab, var(--graview-ink) 60%, var(--graview-panel));
|
|
1178
|
-
}
|
|
1179
|
-
[data-graview-altitude] [data-graview-screen] > [data-graview-natural]::before,
|
|
1180
|
-
[data-graview-altitude] [data-graview-screen] > :not([data-graview-natural]):not(.graview-kind-tag)::before { left: 22%; }
|
|
1181
|
-
[data-graview-altitude] [data-graview-screen] > [data-graview-natural]::after,
|
|
1182
|
-
[data-graview-altitude] [data-graview-screen] > :not([data-graview-natural]):not(.graview-kind-tag)::after { right: 22%; }
|
|
1183
|
-
|
|
1184
1216
|
${ /* A thing inside a view that is itself a thing: an event in a calendar, a
|
|
1185
1217
|
person in a list. It has to look reachable, and it has to SHOW focus —
|
|
1186
1218
|
these are the primary way anyone moves through the graph, so a keyboard
|
|
@@ -1227,6 +1259,22 @@ ${ /* THE RECORD IN FOCUS KEEPS TO ITS BOX (FR-141). Whatever draws it — the
|
|
|
1227
1259
|
overflow-y: auto;
|
|
1228
1260
|
flex-shrink: 1;
|
|
1229
1261
|
}
|
|
1262
|
+
${ /* ONE SCROLL, AND THE RECORD UNDER A VIEW IN FULL. A view of one record
|
|
1263
|
+
draws the record's own card under it (a worker view's fields, FR-149),
|
|
1264
|
+
and that card is a Panel held to its box — so inside a frame already
|
|
1265
|
+
held to the box it was held twice, and the grid that stacks the two gave
|
|
1266
|
+
the card whatever the view left: "Made by" and the chip under it cut to
|
|
1267
|
+
a sliver. A panel inside the frame's
|
|
1268
|
+
body is drawn whole; the body is the one thing that scrolls. */""}
|
|
1269
|
+
[data-graview-record-focus] > :not(.graview-kind-tag) [data-graview-primitive="panel"] {
|
|
1270
|
+
height: auto !important;
|
|
1271
|
+
max-height: none !important;
|
|
1272
|
+
overflow: visible !important;
|
|
1273
|
+
flex-shrink: 0;
|
|
1274
|
+
}
|
|
1275
|
+
[data-graview-record-focus] > :not(.graview-kind-tag) [data-graview-primitive="panel"] > .graview-scroll {
|
|
1276
|
+
overflow: visible;
|
|
1277
|
+
}
|
|
1230
1278
|
[data-graview-view][data-graview-selected] {
|
|
1231
1279
|
filter: drop-shadow(0 0 14px var(--graview-accent-dim));
|
|
1232
1280
|
}
|
package/dist/scene-css.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene-css.js","sourceRoot":"","sources":["../src/scene-css.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"scene-css.js","sourceRoot":"","sources":["../src/scene-css.ts"],"names":[],"mappings":"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"}
|
package/dist/scene-places.d.ts
CHANGED
|
@@ -25,6 +25,12 @@ export declare function scenePlacesOf(input: {
|
|
|
25
25
|
readonly places: readonly Place[];
|
|
26
26
|
readonly hidden: ReadonlySet<string>;
|
|
27
27
|
readonly view: ViewState;
|
|
28
|
+
/** The schema, to say whose a picture is when a different one shares its name ("The timetable · talks"). */
|
|
29
|
+
readonly schema: {
|
|
30
|
+
tryDefinition(kind: string): {
|
|
31
|
+
readonly plural?: string;
|
|
32
|
+
} | undefined;
|
|
33
|
+
};
|
|
28
34
|
}): ScenePlaces;
|
|
29
35
|
/**
|
|
30
36
|
* The scene's places as the bar is handed them, from the view the provider
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scene-places.d.ts","sourceRoot":"","sources":["../src/scene-places.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"scene-places.d.ts","sourceRoot":"","sources":["../src/scene-places.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyD,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAClG,OAAO,EAAoF,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAGxI,OAAO,EAAE,SAAS,EAAE,KAAK,KAAK,EAAE,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAgBpE,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,8CAA8C;AAC9C,eAAO,MAAM,WAAW,oBAAoB,CAAC;AAE7C,0EAA0E;AAC1E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,KAAK,SAAS,GAAG,IAAI,CAAC;CACjE;AAKD;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB,4GAA4G;IAC5G,QAAQ,CAAC,MAAM,EAAE;QAAE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG;YAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAA;KAAE,CAAC;CAC5F,GAAG,WAAW,CAuBd;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAe1H"}
|