@bongos/core 1.19.1067 → 1.19.1069
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 +73 -58
- package/docs/copy-inventory.md +74 -53
- package/docs/copy-registry.json +310 -101
- package/docs/module-api-changelog.md +4 -0
- package/docs/page-inventory.json +10 -2
- package/docs/page-readings.json +566 -536
- package/modules/hall-ui/public/atlas.html +1 -1
- package/modules/hall-ui/public/blockers.html +1 -1
- package/modules/hall-ui/public/board-room.html +1 -1
- package/modules/hall-ui/public/collab.html +1 -1
- package/modules/hall-ui/public/copy-desk.html +1 -1
- package/modules/hall-ui/public/deploy.html +1 -1
- package/modules/hall-ui/public/diagrams.html +1 -1
- package/modules/hall-ui/public/drachmae.html +1 -1
- package/modules/hall-ui/public/fleet.html +1 -1
- package/modules/hall-ui/public/gate.html +1 -1
- package/modules/hall-ui/public/goals.html +1 -1
- package/modules/hall-ui/public/government.html +1 -1
- package/modules/hall-ui/public/idea.html +3 -3
- package/modules/hall-ui/public/ideas.html +1 -1
- package/modules/hall-ui/public/index.html +1 -1
- package/modules/hall-ui/public/modules.html +1 -1
- package/modules/hall-ui/public/primer.html +1 -1
- package/modules/hall-ui/public/profile.html +1 -1
- package/modules/hall-ui/public/project-settings.html +1 -1
- package/modules/hall-ui/public/ranks.html +1 -1
- package/modules/hall-ui/public/roadmap.html +1 -1
- package/modules/hall-ui/public/roster.html +1 -1
- package/modules/hall-ui/public/sessions.html +1 -1
- package/modules/hall-ui/public/settings.html +1 -1
- package/modules/hall-ui/public/shell.js +23 -32
- package/modules/hall-ui/public/studio-lib.js +207 -0
- package/modules/hall-ui/public/studio.css +559 -170
- package/modules/hall-ui/public/studio.html +143 -49
- package/modules/hall-ui/public/studio.js +442 -33
- package/modules/hall-ui/public/studio.states.json +164 -4
- package/modules/hall-ui/public/task.html +1 -1
- package/modules/hall-ui/public/thinking.html +1 -1
- package/modules/hall-ui/public/tweak-editor.html +1 -1
- package/modules/hall-ui/public/watch.html +1 -1
- package/modules/hall-ui/public/work.html +1 -1
- package/modules/hall-ui/records/studio.md +47 -0
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +12 -0
- package/scripts/hall-preview/server.js +5 -0
- package/src/module-api.js +1 -1
- package/tests/hall_audit.mjs +4 -0
- package/tests/hall_nav.mjs +25 -1
- package/tests/hall_page_gate_map.mjs +2 -0
- package/tests/hall_studio_home.mjs +429 -0
- package/tests/hall_studio_world.mjs +7 -1
- package/tests/hall_tweak_editor.mjs +1 -1
- package/tests/nav_permission_atoms.mjs +1 -1
|
@@ -8,17 +8,26 @@
|
|
|
8
8
|
<meta charset="utf-8">
|
|
9
9
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
10
10
|
<title>Studio — {{worldName}}</title>
|
|
11
|
-
<meta name="description" content="
|
|
11
|
+
<meta name="description" content="The studio: the artist's lofi home in Tweak Mode. Resume the page you hold, take the next one, approve what was applied, and see how far each surface has come.">
|
|
12
12
|
<link rel="icon" href="data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'><text x='16' y='24' font-size='24' text-anchor='middle' font-family='sans-serif'>⌂</text></svg>">
|
|
13
13
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
14
14
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
15
15
|
<link rel="stylesheet" href="/builders/style.css?v=2026-07-02-shell1">
|
|
16
|
-
<link rel="stylesheet" href="/builders/studio.css">
|
|
16
|
+
<link rel="stylesheet" href="/builders/studio.css?v=2026-09-28-tw16">
|
|
17
17
|
<link rel="stylesheet" href="/builders/approval-queue.css">
|
|
18
18
|
</head>
|
|
19
|
-
<!--
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
<!-- THE STUDIO HOME (task 1003971 / BV2.TW16, goal 1000095; ADR 0341 D2, D5,
|
|
20
|
+
D8 and D11). docs/design/mocks/tweak-mode/Main.dc.html is the master design:
|
|
21
|
+
the night room (window, moon, city lights, the lamp's glow, the desk and the
|
|
22
|
+
plant), the greeting and its sub-line, editable where they stand, the tally
|
|
23
|
+
top right, Resume, and three quick actions that open glass panels in place.
|
|
24
|
+
Every difference a gate or a route forced is listed in
|
|
25
|
+
modules/hall-ui/records/studio.md.
|
|
26
|
+
|
|
27
|
+
data-fullscreen-switch opts into the shell's full-screen switch (task
|
|
28
|
+
1004327): the studio in the hall chrome by default, and one button in the
|
|
29
|
+
top bar that hides it so the room fills the window, as the artboard draws
|
|
30
|
+
it, remembered for this page. -->
|
|
22
31
|
<body data-page="studio" data-page-title="Studio" data-fullscreen-switch>
|
|
23
32
|
|
|
24
33
|
<div class="app">
|
|
@@ -28,54 +37,136 @@
|
|
|
28
37
|
<header class="app-topbar" id="app-topbar"></header>
|
|
29
38
|
<div class="app-content">
|
|
30
39
|
|
|
31
|
-
<!--
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
40
|
+
<!-- data-apex: the instance's own address, stamped by the server from the
|
|
41
|
+
branding pack (the landing surface's line in Artist Review Status). -->
|
|
42
|
+
<main id="hall-main" class="studio" data-apex="{{publicOrigin}}">
|
|
43
|
+
<!-- The night room. Drawn, not an image: it is the artboard's own shapes. -->
|
|
44
|
+
<div class="st-room" aria-hidden="true">
|
|
45
|
+
<div class="st-window">
|
|
46
|
+
<span class="st-moon"></span>
|
|
47
|
+
<span class="st-star st-star--1"></span>
|
|
48
|
+
<span class="st-star st-star--2"></span>
|
|
49
|
+
<span class="st-star st-star--3"></span>
|
|
50
|
+
<span class="st-star st-star--4"></span>
|
|
51
|
+
<span class="st-star st-star--5"></span>
|
|
52
|
+
<span class="st-tower st-tower--1"></span>
|
|
53
|
+
<span class="st-tower st-tower--2"></span>
|
|
54
|
+
<span class="st-tower st-tower--3"></span>
|
|
55
|
+
<span class="st-tower st-tower--4"></span>
|
|
56
|
+
<span class="st-tower st-tower--5"></span>
|
|
57
|
+
<span class="st-light st-light--1"></span>
|
|
58
|
+
<span class="st-light st-light--2"></span>
|
|
59
|
+
<span class="st-light st-light--3"></span>
|
|
60
|
+
<span class="st-light st-light--4"></span>
|
|
61
|
+
<span class="st-light st-light--5"></span>
|
|
62
|
+
<span class="st-light st-light--6"></span>
|
|
63
|
+
<span class="st-light st-light--7"></span>
|
|
64
|
+
<span class="st-mullion"></span>
|
|
65
|
+
</div>
|
|
66
|
+
<div class="st-floor"></div>
|
|
67
|
+
<div class="st-glow"></div>
|
|
68
|
+
<div class="st-lamp-stem"></div>
|
|
69
|
+
<div class="st-lamp-shade"></div>
|
|
70
|
+
<div class="st-mug"></div>
|
|
71
|
+
<div class="st-leaf st-leaf--1"></div>
|
|
72
|
+
<div class="st-leaf st-leaf--2"></div>
|
|
73
|
+
</div>
|
|
38
74
|
|
|
39
|
-
<!--
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
<div class="
|
|
43
|
-
<
|
|
44
|
-
<
|
|
45
|
-
|
|
75
|
+
<!-- The name of the room, and the artist's tally (GET /copy-desk/tally)
|
|
76
|
+
in a glass pill top right. The shell's full-screen button keeps the
|
|
77
|
+
window's corner above it. -->
|
|
78
|
+
<div class="st-top">
|
|
79
|
+
<span class="st-eyebrow">{{worldName}} · studio</span>
|
|
80
|
+
<div class="st-tally" id="st-tally" hidden>
|
|
81
|
+
<span class="st-tally__item"><span class="st-tally__n st-tally__n--credits" id="st-tally-credits">0</span><span class="st-tally__label">credits</span></span>
|
|
82
|
+
<span class="st-tally__rule" aria-hidden="true"></span>
|
|
83
|
+
<span class="st-tally__item"><span class="st-tally__n" id="st-tally-pages">0</span><span class="st-tally__label">pages tweaked</span></span>
|
|
84
|
+
<span class="st-tally__rule" aria-hidden="true"></span>
|
|
85
|
+
<span class="st-tally__item"><span class="st-tally__n" id="st-tally-week">0</span><span class="st-tally__label">this week</span></span>
|
|
86
|
+
</div>
|
|
87
|
+
</div>
|
|
88
|
+
|
|
89
|
+
<!-- The studio's own words. Rewriting them is a tweak of THIS page
|
|
90
|
+
(builders:studio, ADR 0341 D2): the first click offers to take the
|
|
91
|
+
studio page, and then these lines are typed over in place and saved
|
|
92
|
+
to its draft, never to the page itself. A <div>, not a <header>: the
|
|
93
|
+
shell's top bar is the page's one <header>. -->
|
|
94
|
+
<div class="st-words" id="st-words">
|
|
95
|
+
<h1 class="st-greet" id="studio-greet" data-words>Good evening.</h1>
|
|
96
|
+
<p class="st-sub" id="studio-sub" data-words>Nothing is on your desk yet. The Tweak/CopyWrite Flow has a page ready for you.</p>
|
|
97
|
+
<button type="button" class="st-hint" id="st-hint" aria-controls="st-offer">click any words here to rewrite them</button>
|
|
98
|
+
<p class="st-editing" id="st-editing" aria-live="polite" hidden></p>
|
|
99
|
+
<div class="st-offer" id="st-offer" hidden>
|
|
100
|
+
<p class="st-offer__text">These words are the studio page itself. Take the page, type over them here, and submit it from the editor when you are done.</p>
|
|
101
|
+
<p class="st-offer__err" id="st-offer-err" role="alert" hidden></p>
|
|
102
|
+
<div class="st-offer__acts">
|
|
103
|
+
<button type="button" class="st-offer__take" id="st-offer-take">take the studio page</button>
|
|
104
|
+
<button type="button" class="st-offer__no" id="st-offer-no">not now</button>
|
|
105
|
+
</div>
|
|
106
|
+
</div>
|
|
46
107
|
</div>
|
|
47
108
|
|
|
48
|
-
<!--
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
<span class="
|
|
109
|
+
<!-- Resume, then the three quick actions. Each action opens its panel
|
|
110
|
+
in place, so the artist never leaves the room. -->
|
|
111
|
+
<div class="st-actions">
|
|
112
|
+
<a class="st-resume" id="st-resume" href="/builders/tweak-editor" hidden>
|
|
113
|
+
<span class="st-resume__label">Resume</span>
|
|
114
|
+
<span class="st-resume__detail" id="st-resume-detail"></span>
|
|
115
|
+
</a>
|
|
116
|
+
<button type="button" class="st-action" id="st-flow" aria-haspopup="dialog">
|
|
117
|
+
<span class="st-action__label">Tweak/CopyWrite Flow</span>
|
|
118
|
+
<span class="st-action__detail" id="st-flow-detail">the next page to tweak</span>
|
|
119
|
+
</button>
|
|
120
|
+
<button type="button" class="st-action" id="studio-approvals" data-approvals aria-haspopup="dialog">
|
|
121
|
+
<span class="st-action__label">Approval queue</span>
|
|
122
|
+
<span class="st-action__detail" id="studio-approvals-detail">the pages /tweak has applied</span>
|
|
123
|
+
</button>
|
|
124
|
+
<button type="button" class="st-action" id="st-status" aria-haspopup="dialog">
|
|
125
|
+
<span class="st-action__label">Artist Review Status</span>
|
|
126
|
+
<span class="st-action__detail" id="st-status-detail">how far each surface has come</span>
|
|
127
|
+
</button>
|
|
128
|
+
<!-- The retired review queue (task 1004325 / TW14), a quiet door that
|
|
129
|
+
shows only while reviews filed before Tweak Mode still wait. -->
|
|
130
|
+
<button type="button" class="st-older" id="st-older" aria-haspopup="dialog" hidden>
|
|
131
|
+
<span id="st-older-label">reviews from before Tweak Mode</span>
|
|
57
132
|
</button>
|
|
58
133
|
</div>
|
|
59
134
|
|
|
60
|
-
<!-- The
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
<
|
|
135
|
+
<!-- The two small glass panels: the Tweak/CopyWrite Flow and Artist
|
|
136
|
+
Review Status. The Approval queue is its own component
|
|
137
|
+
(approval-queue.js), mounted by studio.js. -->
|
|
138
|
+
<div class="st-overlay" id="st-panel" hidden>
|
|
139
|
+
<div class="st-dialog" role="dialog" aria-modal="true" aria-labelledby="st-panel-title">
|
|
140
|
+
<div class="st-dialog__head">
|
|
141
|
+
<h2 class="st-dialog__title" id="st-panel-title" tabindex="-1">Tweak/CopyWrite Flow</h2>
|
|
142
|
+
<button type="button" class="st-close" data-close-panel>close</button>
|
|
143
|
+
</div>
|
|
144
|
+
<div class="st-dialog__body" id="st-panel-body"></div>
|
|
66
145
|
</div>
|
|
67
|
-
</
|
|
68
|
-
|
|
69
|
-
<!-- What else waits — the garden's remaining stones. Hidden until there
|
|
70
|
-
is more than the one in focus. -->
|
|
71
|
-
<div class="studio-rest" id="studio-rest" hidden></div>
|
|
146
|
+
</div>
|
|
72
147
|
|
|
73
|
-
<!-- The
|
|
74
|
-
|
|
75
|
-
<
|
|
76
|
-
<
|
|
77
|
-
|
|
78
|
-
|
|
148
|
+
<!-- The reviews filed before Tweak Mode (R04, retired in TW14): the
|
|
149
|
+
garden, one piece at a time, answered here until none remain. -->
|
|
150
|
+
<div class="st-reviews" id="st-reviews" hidden>
|
|
151
|
+
<div class="st-reviews__dialog" role="dialog" aria-modal="true" aria-labelledby="st-reviews-title">
|
|
152
|
+
<div class="st-reviews__head">
|
|
153
|
+
<h2 class="st-reviews__title" id="st-reviews-title" tabindex="-1">Reviews from before Tweak Mode</h2>
|
|
154
|
+
<button type="button" class="btn-ghost" data-close-reviews>close</button>
|
|
155
|
+
</div>
|
|
156
|
+
<p class="st-reviews__sub">Each was filed when a ship changed copy or visuals. No new ones arrive; answer these and the door goes.</p>
|
|
157
|
+
<section class="studio-focus" id="studio-focus" aria-live="polite">
|
|
158
|
+
<div class="studio-empty">
|
|
159
|
+
<h2>Opening the reviews…</h2>
|
|
160
|
+
<p>Gathering the reviews and flagged copy that wait for you.</p>
|
|
161
|
+
</div>
|
|
162
|
+
</section>
|
|
163
|
+
<div class="studio-rest" id="studio-rest" hidden></div>
|
|
164
|
+
<nav class="studio-links" aria-label="The full queues">
|
|
165
|
+
<a href="/builders/copy-desk">The copy desk — every flagged string</a>
|
|
166
|
+
<a href="/builders/work">The task board — all work</a>
|
|
167
|
+
</nav>
|
|
168
|
+
</div>
|
|
169
|
+
</div>
|
|
79
170
|
</main>
|
|
80
171
|
|
|
81
172
|
<footer class="app-foot" id="app-foot"></footer>
|
|
@@ -85,18 +176,21 @@
|
|
|
85
176
|
|
|
86
177
|
<div id="toast" class="toast" role="status" aria-live="polite" data-visible="0"></div>
|
|
87
178
|
|
|
88
|
-
<script src="/builders/shell.js?v=2026-09-
|
|
179
|
+
<script src="/builders/shell.js?v=2026-09-28-archive"></script>
|
|
89
180
|
<script src="/builders/palette.js" defer></script>
|
|
90
181
|
<script src="/builders/dom-utils.js?v=2026-06-23-contrib"></script>
|
|
91
182
|
<!-- The kit, for its ONE renderer: the full-size ship-time visual figure
|
|
92
|
-
(task 1003829)
|
|
93
|
-
and a fourth hand-rolled <figure> is what the kit exists to stop. -->
|
|
183
|
+
(task 1003829), which the older reviews still show. -->
|
|
94
184
|
<script src="/builders/hall-visual.js?v=2026-09-16-visual1"></script>
|
|
95
185
|
<script src="/builders/hall-kit.js"></script>
|
|
96
186
|
<!-- The Approval queue panel (task 1004323): its pure rules, then the panel.
|
|
97
187
|
studio.js mounts it with its own WRITE_ROUTES. -->
|
|
98
188
|
<script src="/builders/approval-queue-lib.js"></script>
|
|
99
189
|
<script src="/builders/approval-queue.js"></script>
|
|
100
|
-
|
|
190
|
+
<!-- The page names and the draft body (the tweak editor's pure rules), then
|
|
191
|
+
the studio's own. -->
|
|
192
|
+
<script src="/builders/tweak-editor-lib.js?v=2026-09-28-tw10"></script>
|
|
193
|
+
<script src="/builders/studio-lib.js?v=2026-09-28-tw16"></script>
|
|
194
|
+
<script src="/builders/studio.js?v=2026-09-28-tw16"></script>
|
|
101
195
|
</body>
|
|
102
196
|
</html>
|