@bongos/core 1.24.81 → 1.24.83
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/.bongos-core.json +95 -80
- package/clients/bongos-client/README.md +1 -1
- package/clients/bongos-client/bongos-client.global.js +4 -0
- package/clients/bongos-client/index.cjs +4 -0
- package/clients/bongos-client/index.d.ts +5 -0
- package/clients/bongos-client/index.mjs +4 -0
- package/docs/adr/0402-helm-is-the-halls-look-and-the-hall-is-dark-only.md +4 -0
- package/docs/api/openapi.json +86 -2
- package/docs/api-reference.md +4 -2
- package/docs/copy-inventory.md +39 -33
- package/docs/copy-registry.json +107 -52
- package/docs/module-api-changelog.md +4 -0
- package/docs/page-inventory.json +1 -0
- package/docs/page-readings.json +207 -201
- package/modules/builder-settings/hall-view-prefs.js +50 -0
- package/modules/builder-settings/routes/settings.js +32 -0
- package/modules/hall-ui/public/ai-studio.html +3 -3
- package/modules/hall-ui/public/atlas.html +3 -3
- package/modules/hall-ui/public/blockers.html +3 -3
- package/modules/hall-ui/public/board-room.html +3 -3
- package/modules/hall-ui/public/city.html +5 -5
- package/modules/hall-ui/public/collab.html +3 -3
- package/modules/hall-ui/public/commands.html +3 -3
- package/modules/hall-ui/public/controls.css +10 -2
- package/modules/hall-ui/public/copy-desk.html +3 -3
- package/modules/hall-ui/public/deploy.html +3 -3
- package/modules/hall-ui/public/goal-map.html +5 -5
- package/modules/hall-ui/public/goals.html +3 -3
- package/modules/hall-ui/public/government.html +3 -3
- package/modules/hall-ui/public/idea.html +3 -3
- package/modules/hall-ui/public/ideas.html +3 -3
- package/modules/hall-ui/public/index.html +6 -6
- package/modules/hall-ui/public/market-watch-item.html +3 -3
- package/modules/hall-ui/public/market-watch-rules.html +3 -3
- package/modules/hall-ui/public/market-watch.html +3 -3
- package/modules/hall-ui/public/modules.html +3 -3
- package/modules/hall-ui/public/money.html +3 -3
- package/modules/hall-ui/public/my-agents.html +3 -3
- package/modules/hall-ui/public/options-menu.js +22 -1
- package/modules/hall-ui/public/primer.html +3 -3
- package/modules/hall-ui/public/profile.html +3 -3
- package/modules/hall-ui/public/project-settings.html +3 -3
- package/modules/hall-ui/public/roster.html +3 -3
- package/modules/hall-ui/public/settings-view.js +75 -0
- package/modules/hall-ui/public/settings.css +113 -46
- package/modules/hall-ui/public/settings.html +18 -5
- package/modules/hall-ui/public/shell-game.css +10 -0
- package/modules/hall-ui/public/shell-game.js +98 -33
- package/modules/hall-ui/public/shell.js +4 -3
- package/modules/hall-ui/public/street.html +3 -3
- package/modules/hall-ui/public/studio.html +3 -3
- package/modules/hall-ui/public/style.css +149 -61
- package/modules/hall-ui/public/task.html +3 -3
- package/modules/hall-ui/public/thinking.html +5 -5
- package/modules/hall-ui/public/tweak-editor.html +3 -3
- package/modules/hall-ui/public/visor.css +2 -2
- package/modules/hall-ui/public/visor.js +7 -1
- package/modules/hall-ui/public/watch.html +3 -3
- package/modules/hall-ui/public/work.html +3 -3
- package/modules/hall-ui/records/craft-mode.md +9 -0
- package/modules/hall-ui/records/game-mode.md +5 -4
- package/modules/hall-ui/records/options-menu.md +11 -0
- package/modules/hall-ui/records/start-screen.md +4 -0
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +12 -0
- package/scripts/hall-preview/pref-writes.js +8 -1
- package/src/module-api.js +1 -1
- package/tests/design_tokens_shared.mjs +5 -1
- package/tests/hall_controls.mjs +1 -1
- package/tests/hall_fullscreen.mjs +42 -21
- package/tests/hall_helm.mjs +103 -1
- package/tests/hall_start_screen.mjs +38 -3
- package/tests/hall_topbar_320.mjs +7 -4
- package/tests/hall_view_prefs.mjs +42 -0
- package/tests/hall_visor.mjs +3 -2
- package/tests/nav_permission_atoms.mjs +1 -1
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
// modules/builder-settings/hall-view-prefs.js — which view of the hall a builder
|
|
2
|
+
// uses: the GAME or CLASSIC (task 1005200, BONGOS-V3; owner, 2026-11-11).
|
|
3
|
+
//
|
|
4
|
+
// The two views never mix. Classic is the hall as it always was; game is full
|
|
5
|
+
// screen, the game places only, with the visor (modules/hall-ui/public/shell-game.js).
|
|
6
|
+
// A builder picks one at every sign-in and switches only in Options → Preferences
|
|
7
|
+
// → View, and the choice follows them to any browser — so it is SERVER-side, not
|
|
8
|
+
// localStorage (the browser keeps a copy only so a page can paint the right view
|
|
9
|
+
// before this read answers).
|
|
10
|
+
//
|
|
11
|
+
// Storage: one reserved key ('hall_view') inside the `behavior_prefs` jsonb on
|
|
12
|
+
// `builders` (migration 119 — the blob the wandering/render/interaction knobs
|
|
13
|
+
// share), so this adds NO migration. A missing key means "never chosen": the
|
|
14
|
+
// sign-in chooser asks, and nothing else assumes a view for them.
|
|
15
|
+
//
|
|
16
|
+
// This is a look, never authority: it hides no route and gates nothing (ADR 0016).
|
|
17
|
+
|
|
18
|
+
const RESERVED_KEY = 'hall_view';
|
|
19
|
+
const VIEWS = ['game', 'classic'];
|
|
20
|
+
|
|
21
|
+
// The stored view, or null when the builder has never chosen.
|
|
22
|
+
function storedView(behaviorPrefs) {
|
|
23
|
+
const raw = behaviorPrefs && behaviorPrefs[RESERVED_KEY];
|
|
24
|
+
return VIEWS.includes(raw) ? raw : null;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
function describeForApi(behaviorPrefs) {
|
|
28
|
+
return { view: storedView(behaviorPrefs), views: VIEWS.slice() };
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
// A PATCH body: { view: 'game' | 'classic' }. Anything else → 422.
|
|
32
|
+
function validatePatch(body) {
|
|
33
|
+
if (body == null || typeof body !== 'object' || Array.isArray(body)) {
|
|
34
|
+
return { ok: false, errors: [{ error: 'body_must_be_object' }] };
|
|
35
|
+
}
|
|
36
|
+
const errors = [];
|
|
37
|
+
for (const key of Object.keys(body)) {
|
|
38
|
+
if (key !== 'view') errors.push({ key, error: 'unknown_key', allowed: ['view'] });
|
|
39
|
+
}
|
|
40
|
+
if (!VIEWS.includes(body.view)) errors.push({ key: 'view', error: 'invalid_value', value: body.view, allowed: VIEWS });
|
|
41
|
+
if (errors.length > 0) return { ok: false, errors };
|
|
42
|
+
return { ok: true, view: body.view };
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Pure: the builder's behavior_prefs with the view set; sibling keys untouched.
|
|
46
|
+
function applyView(existing, view) {
|
|
47
|
+
return { ...(existing || {}), [RESERVED_KEY]: view };
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
module.exports = { RESERVED_KEY, VIEWS, storedView, describeForApi, validatePatch, applyView };
|
|
@@ -31,6 +31,7 @@ const lawLocks = require('../law-locks');
|
|
|
31
31
|
const renderPrefs = require('../render-prefs');
|
|
32
32
|
const profileNudgePrefs = require('../profile-nudge-prefs');
|
|
33
33
|
const coreMoveSeen = require('../core-move-seen');
|
|
34
|
+
const hallViewPrefs = require('../hall-view-prefs'); // task 1005200
|
|
34
35
|
const checkoutFreshness = require('../checkout-freshness'); // task 1005021
|
|
35
36
|
const displayName = require('../display-name');
|
|
36
37
|
const filterViews = require('../filter-views');
|
|
@@ -518,6 +519,37 @@ module.exports = function buildBuilderSettingsRouter() {
|
|
|
518
519
|
}
|
|
519
520
|
});
|
|
520
521
|
|
|
522
|
+
// Which view of the hall this builder uses, game or classic (task 1005200,
|
|
523
|
+
// hall-view-prefs.js): asked at every sign-in, switched in Options → View, and
|
|
524
|
+
// kept on the account so it follows them to any browser. A look, never authority.
|
|
525
|
+
// Body: { view: 'game' | 'classic' }.
|
|
526
|
+
//
|
|
527
|
+
// rank: any-builder — own view choice; same posture as /me/profile-nudge.
|
|
528
|
+
router.get('/me/hall-view', api.requireBuilder, async (req, res) => {
|
|
529
|
+
try {
|
|
530
|
+
res.json(hallViewPrefs.describeForApi(await db.getBuilderBehaviorPrefs(req.builder.id)));
|
|
531
|
+
} catch (err) {
|
|
532
|
+
log.error('GET /me/hall-view', err);
|
|
533
|
+
res.fail('read_failed', { status: 500, message: 'internal error' });
|
|
534
|
+
}
|
|
535
|
+
});
|
|
536
|
+
// rank: any-builder — own view choice; same posture as /me/profile-nudge.
|
|
537
|
+
router.patch('/me/hall-view', api.requireBuilder, async (req, res) => {
|
|
538
|
+
if (api.validateOrRespond(req, res, {
|
|
539
|
+
view: { required: true, type: 'string', maxLength: 16 },
|
|
540
|
+
}, { strict: true })) return undefined;
|
|
541
|
+
try {
|
|
542
|
+
const v = hallViewPrefs.validatePatch(req.body || {});
|
|
543
|
+
if (!v.ok) return res.fail('invalid_patch', 422, { errors: v.errors });
|
|
544
|
+
const existing = await db.getBuilderBehaviorPrefs(req.builder.id);
|
|
545
|
+
const saved = await db.setBuilderBehaviorPrefs(req.builder.id, hallViewPrefs.applyView(existing, v.view));
|
|
546
|
+
res.json(hallViewPrefs.describeForApi(saved));
|
|
547
|
+
} catch (err) {
|
|
548
|
+
log.error('PATCH /me/hall-view', err);
|
|
549
|
+
res.fail('write_failed', { status: 500, message: 'internal error' });
|
|
550
|
+
}
|
|
551
|
+
});
|
|
552
|
+
|
|
521
553
|
// How far behind this builder's local project folder is (task 1005021,
|
|
522
554
|
// checkout-freshness.js). Written by their own session start; read back by GET /me,
|
|
523
555
|
// which tells the person (and their agent) when the folder could not update itself.
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
11
11
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
12
12
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
13
|
-
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-
|
|
13
|
+
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-helm2">
|
|
14
14
|
<link rel="stylesheet" href="/builders/studio.css?v=2026-10-09-day">
|
|
15
15
|
<link rel="stylesheet" href="/builders/ai-studio.css?v=2026-10-29-ais1">
|
|
16
16
|
</head>
|
|
@@ -89,10 +89,10 @@
|
|
|
89
89
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
90
90
|
|
|
91
91
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
92
|
-
<script src="/builders/shell-game.js?v=2026-11-11-
|
|
92
|
+
<script src="/builders/shell-game.js?v=2026-11-11-view2"></script>
|
|
93
93
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
94
94
|
<script src="/builders/craft-mode.js?v=2026-11-10-visor"></script>
|
|
95
|
-
<script src="/builders/shell.js?v=2026-11-11-
|
|
95
|
+
<script src="/builders/shell.js?v=2026-11-11-view2"></script>
|
|
96
96
|
<script src="/builders/hall-dialog.js"></script>
|
|
97
97
|
<script src="/builders/palette.js" defer></script>
|
|
98
98
|
<script src="/builders/tweak-editor-lib.js?v=2026-09-28-tw23"></script>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
|
-
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-
|
|
11
|
+
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-helm2">
|
|
12
12
|
<!-- task 1003472: the island index under the map is a run of oversight rows,
|
|
13
13
|
and the detail panel's facts are the family's lines, so the family sheet
|
|
14
14
|
loads first and atlas.css holds only the scene. -->
|
|
@@ -90,10 +90,10 @@
|
|
|
90
90
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
91
91
|
|
|
92
92
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
93
|
-
<script src="/builders/shell-game.js?v=2026-11-11-
|
|
93
|
+
<script src="/builders/shell-game.js?v=2026-11-11-view2"></script>
|
|
94
94
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
95
95
|
<script src="/builders/craft-mode.js?v=2026-11-10-visor"></script>
|
|
96
|
-
<script src="/builders/shell.js?v=2026-11-11-
|
|
96
|
+
<script src="/builders/shell.js?v=2026-11-11-view2"></script>
|
|
97
97
|
<script src="/builders/hall-dialog.js"></script>
|
|
98
98
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
99
99
|
<script src="/builders/palette.js" defer></script>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
|
-
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-
|
|
11
|
+
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-helm2">
|
|
12
12
|
<link rel="stylesheet" href="/builders/hall-ask.css">
|
|
13
13
|
<!-- task 1003455: the row shape (title + facts) is the oversight family's,
|
|
14
14
|
the same archetype collab/copy-desk/watch/gate already ride. -->
|
|
@@ -59,10 +59,10 @@
|
|
|
59
59
|
<!-- The app shell (sidebar + top bar). Dependency-free; loaded FIRST so the
|
|
60
60
|
chrome exists before the page script runs. -->
|
|
61
61
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
62
|
-
<script src="/builders/shell-game.js?v=2026-11-11-
|
|
62
|
+
<script src="/builders/shell-game.js?v=2026-11-11-view2"></script>
|
|
63
63
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
64
64
|
<script src="/builders/craft-mode.js?v=2026-11-10-visor"></script>
|
|
65
|
-
<script src="/builders/shell.js?v=2026-11-11-
|
|
65
|
+
<script src="/builders/shell.js?v=2026-11-11-view2"></script>
|
|
66
66
|
<script src="/builders/hall-dialog.js"></script>
|
|
67
67
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
68
68
|
<script src="/builders/palette.js" defer></script>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
|
-
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-
|
|
11
|
+
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-helm2">
|
|
12
12
|
<link rel="stylesheet" href="/builders/hall-ask.css">
|
|
13
13
|
<link rel="stylesheet" href="/builders/oversight.css">
|
|
14
14
|
<!-- The room's own sheet: the sitting card and the ballot controls moved here
|
|
@@ -61,10 +61,10 @@
|
|
|
61
61
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
62
62
|
|
|
63
63
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
64
|
-
<script src="/builders/shell-game.js?v=2026-11-11-
|
|
64
|
+
<script src="/builders/shell-game.js?v=2026-11-11-view2"></script>
|
|
65
65
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
66
66
|
<script src="/builders/craft-mode.js?v=2026-11-10-visor"></script>
|
|
67
|
-
<script src="/builders/shell.js?v=2026-11-11-
|
|
67
|
+
<script src="/builders/shell.js?v=2026-11-11-view2"></script>
|
|
68
68
|
<script src="/builders/hall-dialog.js"></script>
|
|
69
69
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
70
70
|
<script src="/builders/palette.js" defer></script>
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
links, injected into this head by the server like every hall page's
|
|
12
12
|
(tests/hall_tokens.mjs: no hall page hardcodes a web-font stylesheet).
|
|
13
13
|
The prototype carried its own Google Fonts link for the same two faces. -->
|
|
14
|
-
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-
|
|
15
|
-
<link rel="stylesheet" href="/builders/visor.css?v=2026-11-
|
|
14
|
+
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-helm2">
|
|
15
|
+
<link rel="stylesheet" href="/builders/visor.css?v=2026-11-11-helm2">
|
|
16
16
|
<link rel="stylesheet" href="/builders/city.css?v=2026-11-11-helm">
|
|
17
17
|
<!-- the ask card in the glass language, shared with the street's deck (task 1004702) -->
|
|
18
18
|
<link rel="stylesheet" href="/builders/street-deck.css?v=2026-10-17-tidy">
|
|
@@ -104,13 +104,13 @@
|
|
|
104
104
|
</div>
|
|
105
105
|
|
|
106
106
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
107
|
-
<script src="/builders/shell-game.js?v=2026-11-11-
|
|
107
|
+
<script src="/builders/shell-game.js?v=2026-11-11-view2" defer></script>
|
|
108
108
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers" defer></script>
|
|
109
109
|
<script src="/builders/craft-mode.js?v=2026-11-10-visor" defer></script>
|
|
110
|
-
<script src="/builders/shell.js?v=2026-11-11-
|
|
110
|
+
<script src="/builders/shell.js?v=2026-11-11-view2" defer></script>
|
|
111
111
|
<script src="/builders/hall-dialog.js" defer></script>
|
|
112
112
|
<!-- task 1005148: the visor (glass over the scene, game mode only; ADR 0399), after the shell and hall-dialog.js -->
|
|
113
|
-
<script src="/builders/visor.js?v=2026-11-
|
|
113
|
+
<script src="/builders/visor.js?v=2026-11-11-view2" defer></script>
|
|
114
114
|
<script src="/builders/palette.js" defer></script>
|
|
115
115
|
<script src="/builders/gov-living.js?v=2026-10-09-positions1" defer></script>
|
|
116
116
|
<script src="/builders/gov-feeds.js?v=2026-10-09-living3" defer></script>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
|
-
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-
|
|
11
|
+
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-helm2">
|
|
12
12
|
<link rel="stylesheet" href="/builders/oversight.css">
|
|
13
13
|
<link rel="stylesheet" href="/builders/collab.css">
|
|
14
14
|
</head>
|
|
@@ -160,10 +160,10 @@
|
|
|
160
160
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
161
161
|
|
|
162
162
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
163
|
-
<script src="/builders/shell-game.js?v=2026-11-11-
|
|
163
|
+
<script src="/builders/shell-game.js?v=2026-11-11-view2"></script>
|
|
164
164
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
165
165
|
<script src="/builders/craft-mode.js?v=2026-11-10-visor"></script>
|
|
166
|
-
<script src="/builders/shell.js?v=2026-11-11-
|
|
166
|
+
<script src="/builders/shell.js?v=2026-11-11-view2"></script>
|
|
167
167
|
<script src="/builders/hall-dialog.js"></script>
|
|
168
168
|
<script src="/builders/palette.js" defer></script>
|
|
169
169
|
<script src="/builders/collab-lib.js?v=2026-09-24-archive"></script>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
|
-
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-
|
|
11
|
+
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-helm2">
|
|
12
12
|
<link rel="stylesheet" href="/builders/commands.css">
|
|
13
13
|
</head>
|
|
14
14
|
<body data-page="commands" data-page-title="Commands">
|
|
@@ -52,10 +52,10 @@
|
|
|
52
52
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
53
53
|
|
|
54
54
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
55
|
-
<script src="/builders/shell-game.js?v=2026-11-11-
|
|
55
|
+
<script src="/builders/shell-game.js?v=2026-11-11-view2"></script>
|
|
56
56
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
57
57
|
<script src="/builders/craft-mode.js?v=2026-11-10-visor"></script>
|
|
58
|
-
<script src="/builders/shell.js?v=2026-11-11-
|
|
58
|
+
<script src="/builders/shell.js?v=2026-11-11-view2"></script>
|
|
59
59
|
<script src="/builders/hall-dialog.js"></script>
|
|
60
60
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
61
61
|
<script src="/builders/palette.js" defer></script>
|
|
@@ -52,6 +52,14 @@
|
|
|
52
52
|
field is findable (WCAG 1.4.11), the ink edge on focus inside DESIGN.md's
|
|
53
53
|
two-tone ring.
|
|
54
54
|
|
|
55
|
+
WHAT IS NOT A BUTTON IS SQUARE IN THE HALL (task 1005194, ADR 0402). Helm
|
|
56
|
+
draws no pill: the hall's tier sets --radius-pill to a square corner, so
|
|
57
|
+
the field, the status tag, the view toggle and the dialog's close below are
|
|
58
|
+
square there with no rule of their own, and only what you press is cut. A
|
|
59
|
+
textarea spends --press-radius with the tile as its fallback. The status
|
|
60
|
+
page links this sheet without the hall's tier, so there the pill and the
|
|
61
|
+
tile stand and nothing moves.
|
|
62
|
+
|
|
55
63
|
Every colour here is a token or a color-mix of tokens; both terms of every
|
|
56
64
|
mix flip with the mode, so nothing here needs a dark twin.
|
|
57
65
|
tests/hall_controls.mjs measures the pairs in both modes. */
|
|
@@ -250,7 +258,7 @@ select, input[type="text"], input[type="search"], textarea,
|
|
|
250
258
|
}
|
|
251
259
|
textarea {
|
|
252
260
|
padding: var(--ds-space-xs) var(--ds-space-sm);
|
|
253
|
-
border-radius: var(--radius-sm);
|
|
261
|
+
border-radius: var(--press-radius, var(--radius-sm));
|
|
254
262
|
}
|
|
255
263
|
select:hover, input[type="text"]:hover, input[type="search"]:hover, textarea:hover,
|
|
256
264
|
:where(input[type="email"], input[type="url"], input[type="number"], input[type="password"]):hover,
|
|
@@ -265,7 +273,7 @@ select:focus-visible, input[type="text"]:focus-visible, input[type="search"]:foc
|
|
|
265
273
|
border-color: var(--ink);
|
|
266
274
|
border-radius: var(--radius-pill);
|
|
267
275
|
}
|
|
268
|
-
textarea:focus-visible { border-color: var(--ink); border-radius: var(--radius-sm); }
|
|
276
|
+
textarea:focus-visible { border-color: var(--ink); border-radius: var(--press-radius, var(--radius-sm)); }
|
|
269
277
|
select:disabled, input[type="text"]:disabled, input[type="search"]:disabled, textarea:disabled,
|
|
270
278
|
:where(input[type="email"], input[type="url"], input[type="number"], input[type="password"]):disabled,
|
|
271
279
|
.input:disabled {
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
|
-
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-
|
|
11
|
+
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-helm2">
|
|
12
12
|
<link rel="stylesheet" href="/builders/oversight.css">
|
|
13
13
|
<link rel="stylesheet" href="/builders/copy-desk.css">
|
|
14
14
|
</head>
|
|
@@ -178,10 +178,10 @@
|
|
|
178
178
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
179
179
|
|
|
180
180
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
181
|
-
<script src="/builders/shell-game.js?v=2026-11-11-
|
|
181
|
+
<script src="/builders/shell-game.js?v=2026-11-11-view2"></script>
|
|
182
182
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
183
183
|
<script src="/builders/craft-mode.js?v=2026-11-10-visor"></script>
|
|
184
|
-
<script src="/builders/shell.js?v=2026-11-11-
|
|
184
|
+
<script src="/builders/shell.js?v=2026-11-11-view2"></script>
|
|
185
185
|
<script src="/builders/hall-dialog.js"></script>
|
|
186
186
|
<script src="/builders/palette.js" defer></script>
|
|
187
187
|
<script src="/builders/hall-kit.js"></script>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
|
-
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-
|
|
11
|
+
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-helm2">
|
|
12
12
|
<link rel="stylesheet" href="/builders/oversight.css">
|
|
13
13
|
<link rel="stylesheet" href="/builders/hall-ask.css">
|
|
14
14
|
<link rel="stylesheet" href="/builders/project-settings.css">
|
|
@@ -79,10 +79,10 @@
|
|
|
79
79
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
80
80
|
|
|
81
81
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
82
|
-
<script src="/builders/shell-game.js?v=2026-11-11-
|
|
82
|
+
<script src="/builders/shell-game.js?v=2026-11-11-view2"></script>
|
|
83
83
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
84
84
|
<script src="/builders/craft-mode.js?v=2026-11-10-visor"></script>
|
|
85
|
-
<script src="/builders/shell.js?v=2026-11-11-
|
|
85
|
+
<script src="/builders/shell.js?v=2026-11-11-view2"></script>
|
|
86
86
|
<script src="/builders/hall-dialog.js"></script>
|
|
87
87
|
<script src="/builders/palette.js" defer></script>
|
|
88
88
|
<script src="/builders/hall-kit.js"></script>
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
<!-- The faces (Manrope, JetBrains Mono) come from the branding pack's font
|
|
12
12
|
links, injected into this head by the server like every hall page's
|
|
13
13
|
(tests/hall_tokens.mjs: no hall page hardcodes a web-font stylesheet). -->
|
|
14
|
-
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-
|
|
15
|
-
<link rel="stylesheet" href="/builders/visor.css?v=2026-11-
|
|
14
|
+
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-helm2">
|
|
15
|
+
<link rel="stylesheet" href="/builders/visor.css?v=2026-11-11-helm2">
|
|
16
16
|
<link rel="stylesheet" href="/builders/thinking.css?v=2026-11-10-visor">
|
|
17
17
|
</head>
|
|
18
18
|
<!-- THE PROJECT SKY (task 1004232 / sky part 4 of 5, goal 1000095; ADR 0331,
|
|
@@ -139,13 +139,13 @@
|
|
|
139
139
|
</div>
|
|
140
140
|
|
|
141
141
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
142
|
-
<script src="/builders/shell-game.js?v=2026-11-11-
|
|
142
|
+
<script src="/builders/shell-game.js?v=2026-11-11-view2"></script>
|
|
143
143
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
144
144
|
<script src="/builders/craft-mode.js?v=2026-11-10-visor"></script>
|
|
145
|
-
<script src="/builders/shell.js?v=2026-11-11-
|
|
145
|
+
<script src="/builders/shell.js?v=2026-11-11-view2"></script>
|
|
146
146
|
<script src="/builders/hall-dialog.js"></script>
|
|
147
147
|
<!-- task 1005148: the visor (glass over the scene, game mode only; ADR 0399), after the shell and hall-dialog.js -->
|
|
148
|
-
<script src="/builders/visor.js?v=2026-11-
|
|
148
|
+
<script src="/builders/visor.js?v=2026-11-11-view2"></script>
|
|
149
149
|
<script src="/builders/palette.js" defer></script>
|
|
150
150
|
|
|
151
151
|
<script src="/builders/idea-objects.js?v=2026-09-27-split"></script>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
|
-
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-
|
|
11
|
+
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-helm2">
|
|
12
12
|
<!-- task 1003470: the family sheet the list's figure band and group heads
|
|
13
13
|
come from (.ov-figs, .ov-group__head), linked before the page's own. -->
|
|
14
14
|
<link rel="stylesheet" href="/builders/oversight.css">
|
|
@@ -251,10 +251,10 @@
|
|
|
251
251
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
252
252
|
|
|
253
253
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
254
|
-
<script src="/builders/shell-game.js?v=2026-11-11-
|
|
254
|
+
<script src="/builders/shell-game.js?v=2026-11-11-view2"></script>
|
|
255
255
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
256
256
|
<script src="/builders/craft-mode.js?v=2026-11-10-visor"></script>
|
|
257
|
-
<script src="/builders/shell.js?v=2026-11-11-
|
|
257
|
+
<script src="/builders/shell.js?v=2026-11-11-view2"></script>
|
|
258
258
|
<script src="/builders/hall-dialog.js"></script>
|
|
259
259
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
260
260
|
<script src="/builders/palette.js" defer></script>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
|
-
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-
|
|
11
|
+
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-helm2">
|
|
12
12
|
<link rel="stylesheet" href="/builders/oversight.css">
|
|
13
13
|
<link rel="stylesheet" href="/builders/government.css">
|
|
14
14
|
</head>
|
|
@@ -155,10 +155,10 @@
|
|
|
155
155
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
156
156
|
|
|
157
157
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
158
|
-
<script src="/builders/shell-game.js?v=2026-11-11-
|
|
158
|
+
<script src="/builders/shell-game.js?v=2026-11-11-view2"></script>
|
|
159
159
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
160
160
|
<script src="/builders/craft-mode.js?v=2026-11-10-visor"></script>
|
|
161
|
-
<script src="/builders/shell.js?v=2026-11-11-
|
|
161
|
+
<script src="/builders/shell.js?v=2026-11-11-view2"></script>
|
|
162
162
|
<script src="/builders/hall-dialog.js"></script>
|
|
163
163
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
164
164
|
<script src="/builders/palette.js" defer></script>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
|
-
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-
|
|
11
|
+
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-helm2">
|
|
12
12
|
<!-- The record archetype, shared with task.html (task 1003305). idea.css below
|
|
13
13
|
carries only what an idea record has and a task record does not. -->
|
|
14
14
|
<link rel="stylesheet" href="/builders/record.css">
|
|
@@ -51,10 +51,10 @@
|
|
|
51
51
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
52
52
|
|
|
53
53
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
54
|
-
<script src="/builders/shell-game.js?v=2026-11-11-
|
|
54
|
+
<script src="/builders/shell-game.js?v=2026-11-11-view2"></script>
|
|
55
55
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
56
56
|
<script src="/builders/craft-mode.js?v=2026-11-10-visor"></script>
|
|
57
|
-
<script src="/builders/shell.js?v=2026-11-11-
|
|
57
|
+
<script src="/builders/shell.js?v=2026-11-11-view2"></script>
|
|
58
58
|
<script src="/builders/hall-dialog.js"></script>
|
|
59
59
|
<script src="/builders/palette.js" defer></script>
|
|
60
60
|
<!-- task-detail.js still owns the #/idea/N and #/blocker/N overlay, so a ref
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
13
13
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
14
14
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
15
|
-
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-
|
|
15
|
+
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-helm2">
|
|
16
16
|
<link rel="stylesheet" href="/builders/ideas.css">
|
|
17
17
|
</head>
|
|
18
18
|
<body data-page="ideas" data-page-title="Ideas">
|
|
@@ -226,10 +226,10 @@
|
|
|
226
226
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
227
227
|
|
|
228
228
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
229
|
-
<script src="/builders/shell-game.js?v=2026-11-11-
|
|
229
|
+
<script src="/builders/shell-game.js?v=2026-11-11-view2"></script>
|
|
230
230
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
231
231
|
<script src="/builders/craft-mode.js?v=2026-11-10-visor"></script>
|
|
232
|
-
<script src="/builders/shell.js?v=2026-11-11-
|
|
232
|
+
<script src="/builders/shell.js?v=2026-11-11-view2"></script>
|
|
233
233
|
<script src="/builders/hall-dialog.js"></script>
|
|
234
234
|
<script src="/builders/palette.js" defer></script>
|
|
235
235
|
<!-- task 1004727: the ONE karma vote control every task/idea list renders -->
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
19
19
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
20
20
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
21
|
-
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-
|
|
22
|
-
<link rel="stylesheet" href="/builders/visor.css?v=2026-11-
|
|
21
|
+
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-helm2">
|
|
22
|
+
<link rel="stylesheet" href="/builders/visor.css?v=2026-11-11-helm2">
|
|
23
23
|
<link rel="stylesheet" href="/builders/welcome-boot.css?v=2026-11-07-brand-mark">
|
|
24
|
-
<link rel="stylesheet" href="/builders/shell-game.css?v=2026-11-11-
|
|
24
|
+
<link rel="stylesheet" href="/builders/shell-game.css?v=2026-11-11-view2">
|
|
25
25
|
<link rel="stylesheet" href="/builders/hall-ask.css">
|
|
26
26
|
<link rel="stylesheet" href="/builders/home-city.css?v=2026-11-10-visor">
|
|
27
27
|
<link rel="stylesheet" href="/builders/home-gallery.css">
|
|
@@ -110,13 +110,13 @@
|
|
|
110
110
|
<!-- task 1004785: the first-visit-of-the-day welcome (the tower). Before shell.js, which asks it
|
|
111
111
|
before the craft picker so the two never stack. Home only. -->
|
|
112
112
|
<script src="/builders/welcome-boot.js?v=2026-11-07-brand-mark" defer></script>
|
|
113
|
-
<script src="/builders/shell-game.js?v=2026-11-11-
|
|
113
|
+
<script src="/builders/shell-game.js?v=2026-11-11-view2" defer></script>
|
|
114
114
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers" defer></script>
|
|
115
115
|
<script src="/builders/craft-mode.js?v=2026-11-10-visor" defer></script>
|
|
116
|
-
<script src="/builders/shell.js?v=2026-11-11-
|
|
116
|
+
<script src="/builders/shell.js?v=2026-11-11-view2" defer></script>
|
|
117
117
|
<script src="/builders/hall-dialog.js" defer></script>
|
|
118
118
|
<!-- task 1005148: the visor (glass over the scene, game mode only; ADR 0399), after the shell and hall-dialog.js -->
|
|
119
|
-
<script src="/builders/visor.js?v=2026-11-
|
|
119
|
+
<script src="/builders/visor.js?v=2026-11-11-view2" defer></script>
|
|
120
120
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
121
121
|
<script src="/builders/palette.js" defer></script>
|
|
122
122
|
<!-- task 2166: the shared component kit (window.OTBKit) — pager/ledger/rail.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
|
-
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-
|
|
11
|
+
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-helm2">
|
|
12
12
|
<link rel="stylesheet" href="/builders/market-watch.css">
|
|
13
13
|
</head>
|
|
14
14
|
<body data-page="market-watch-item" data-page-title="Market Watch">
|
|
@@ -72,10 +72,10 @@
|
|
|
72
72
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
73
73
|
|
|
74
74
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
75
|
-
<script src="/builders/shell-game.js?v=2026-11-11-
|
|
75
|
+
<script src="/builders/shell-game.js?v=2026-11-11-view2"></script>
|
|
76
76
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
77
77
|
<script src="/builders/craft-mode.js?v=2026-11-10-visor"></script>
|
|
78
|
-
<script src="/builders/shell.js?v=2026-11-11-
|
|
78
|
+
<script src="/builders/shell.js?v=2026-11-11-view2"></script>
|
|
79
79
|
<script src="/builders/hall-dialog.js"></script>
|
|
80
80
|
<script src="/builders/palette.js" defer></script>
|
|
81
81
|
<script src="/builders/hall-kit.js"></script>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
|
-
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-
|
|
11
|
+
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-helm2">
|
|
12
12
|
<link rel="stylesheet" href="/builders/hall-ask.css">
|
|
13
13
|
<link rel="stylesheet" href="/builders/market-watch-rules.css">
|
|
14
14
|
</head>
|
|
@@ -41,10 +41,10 @@
|
|
|
41
41
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
42
42
|
|
|
43
43
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
44
|
-
<script src="/builders/shell-game.js?v=2026-11-11-
|
|
44
|
+
<script src="/builders/shell-game.js?v=2026-11-11-view2"></script>
|
|
45
45
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
46
46
|
<script src="/builders/craft-mode.js?v=2026-11-10-visor"></script>
|
|
47
|
-
<script src="/builders/shell.js?v=2026-11-11-
|
|
47
|
+
<script src="/builders/shell.js?v=2026-11-11-view2"></script>
|
|
48
48
|
<script src="/builders/hall-dialog.js"></script>
|
|
49
49
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
50
50
|
<script src="/builders/palette.js" defer></script>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
|
-
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-
|
|
11
|
+
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-helm2">
|
|
12
12
|
<link rel="stylesheet" href="/builders/market-watch.css">
|
|
13
13
|
<link rel="stylesheet" href="/builders/market-watch-settings.css">
|
|
14
14
|
</head>
|
|
@@ -183,10 +183,10 @@
|
|
|
183
183
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
184
184
|
|
|
185
185
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
186
|
-
<script src="/builders/shell-game.js?v=2026-11-11-
|
|
186
|
+
<script src="/builders/shell-game.js?v=2026-11-11-view2"></script>
|
|
187
187
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
188
188
|
<script src="/builders/craft-mode.js?v=2026-11-10-visor"></script>
|
|
189
|
-
<script src="/builders/shell.js?v=2026-11-11-
|
|
189
|
+
<script src="/builders/shell.js?v=2026-11-11-view2"></script>
|
|
190
190
|
<script src="/builders/hall-dialog.js"></script>
|
|
191
191
|
<script src="/builders/palette.js" defer></script>
|
|
192
192
|
<script src="/builders/hall-kit.js"></script>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
9
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
10
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
|
-
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-
|
|
11
|
+
<link rel="stylesheet" href="/builders/style.css?v=2026-11-11-helm2">
|
|
12
12
|
<!-- task 1004366: a store version's how-to reads as a document, so it borrows the
|
|
13
13
|
reading room's article card (room.css is scoped to its own primer- classes). -->
|
|
14
14
|
<link rel="stylesheet" href="/builders/room.css">
|
|
@@ -126,10 +126,10 @@
|
|
|
126
126
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
127
127
|
|
|
128
128
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
129
|
-
<script src="/builders/shell-game.js?v=2026-11-11-
|
|
129
|
+
<script src="/builders/shell-game.js?v=2026-11-11-view2"></script>
|
|
130
130
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
131
131
|
<script src="/builders/craft-mode.js?v=2026-11-10-visor"></script>
|
|
132
|
-
<script src="/builders/shell.js?v=2026-11-11-
|
|
132
|
+
<script src="/builders/shell.js?v=2026-11-11-view2"></script>
|
|
133
133
|
<script src="/builders/hall-dialog.js"></script>
|
|
134
134
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
135
135
|
<script src="/builders/palette.js" defer></script>
|