@bongos/core 1.24.48 → 1.24.49
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 +142 -97
- package/config/branding.neutral.json +2 -1
- package/docs/copy-inventory.md +1028 -1028
- package/docs/copy-registry.json +1448 -1448
- package/docs/module-api-changelog.md +2 -0
- package/docs/page-readings.json +625 -625
- package/modules/hall-ui/public/ai-studio.html +2 -2
- package/modules/hall-ui/public/atlas.html +2 -2
- package/modules/hall-ui/public/blockers.html +2 -2
- package/modules/hall-ui/public/board-room.html +2 -2
- package/modules/hall-ui/public/city.html +1 -1
- package/modules/hall-ui/public/collab.html +2 -2
- package/modules/hall-ui/public/commands.html +2 -2
- package/modules/hall-ui/public/copy-desk.html +2 -2
- package/modules/hall-ui/public/deploy.html +2 -2
- package/modules/hall-ui/public/goal-map.html +2 -2
- package/modules/hall-ui/public/goals.html +2 -2
- package/modules/hall-ui/public/government.html +2 -2
- package/modules/hall-ui/public/hall-render.js +1 -1
- package/modules/hall-ui/public/idea.html +2 -2
- package/modules/hall-ui/public/ideas.html +2 -2
- package/modules/hall-ui/public/index.html +5 -5
- package/modules/hall-ui/public/market-watch-item.html +2 -2
- package/modules/hall-ui/public/market-watch-rules.html +2 -2
- package/modules/hall-ui/public/market-watch.html +2 -2
- package/modules/hall-ui/public/modules.html +2 -2
- package/modules/hall-ui/public/money.html +2 -2
- package/modules/hall-ui/public/my-agents.html +2 -2
- package/modules/hall-ui/public/primer.html +2 -2
- package/modules/hall-ui/public/profile.html +2 -2
- package/modules/hall-ui/public/project-settings.html +2 -2
- package/modules/hall-ui/public/roster.html +2 -2
- package/modules/hall-ui/public/settings.html +2 -2
- package/modules/hall-ui/public/shell.js +1 -1
- package/modules/hall-ui/public/street.html +1 -1
- package/modules/hall-ui/public/studio.html +2 -2
- package/modules/hall-ui/public/style.css +7 -9
- package/modules/hall-ui/public/task.html +2 -2
- package/modules/hall-ui/public/thinking.html +2 -2
- package/modules/hall-ui/public/tweak-editor.html +2 -2
- package/modules/hall-ui/public/watch.html +2 -2
- package/modules/hall-ui/public/welcome-boot.css +3 -4
- package/modules/hall-ui/public/welcome-boot.js +5 -3
- package/modules/hall-ui/public/work.html +2 -2
- package/modules/public-landing/public/account.html +1 -5
- package/modules/public-landing/public/assets/cosmos.css +7 -6
- package/modules/public-landing/public/community.html +1 -5
- package/modules/public-landing/public/connections.html +1 -5
- package/modules/public-landing/public/contact.html +1 -5
- package/modules/public-landing/public/guild.html +1 -5
- package/modules/public-landing/public/index.html +5 -8
- package/modules/public-landing/public/invitations.html +1 -5
- package/modules/public-landing/public/privacy.html +1 -5
- package/modules/public-landing/public/projects.html +1 -5
- package/modules/public-landing/public/terms.html +1 -5
- package/modules/raise/views/gate.html +4 -3
- package/modules/raise/views/nda.html +2 -1
- package/modules/raise/views/page.html +4 -3
- package/modules/status-ui/public/index.html +1 -1
- package/modules/status-ui/public/style.css +2 -2
- package/modules/ui-design/public/brand/apple-touch-icon.png +0 -0
- package/modules/ui-design/public/brand/favicon.svg +1 -0
- package/modules/ui-design/public/brand/mark-body.svg +1 -0
- package/modules/ui-design/public/brand/mark-dark.svg +1 -0
- package/modules/ui-design/public/brand/mark-dot.svg +1 -0
- package/modules/ui-design/public/brand/mark-light.svg +1 -0
- package/modules/ui-design/public/brand/mark-mono.svg +1 -0
- package/modules/ui-design/public/brand/mark.svg +21 -0
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/release-notes.json +6 -0
- package/scripts/bongos/fitness.js +1 -2
- package/scripts/bongos/gen-brand.js +99 -0
- package/scripts/gds/gen-brand.js +7 -0
- package/src/bongos/platform-visibility-gate.js +6 -3
- package/src/bongos/prelaunch-gate.js +6 -3
- package/src/bongos/serve-internal.js +1 -0
- package/src/brand-mark.js +96 -0
- package/src/branding.js +2 -0
- package/src/hall-look.js +7 -7
- package/src/module-api.js +1 -1
- package/tests/brand_mark.mjs +195 -0
- package/tests/cloud_bongos_pack.mjs +5 -2
- package/tests/hall_loading.mjs +8 -10
- package/tests/loading_mark.mjs +7 -13
- package/tests/nav_permission_atoms.mjs +2 -1
- package/tests/raise.mjs +3 -1
- package/tests/welcome_boot.mjs +5 -2
- package/modules/raise/public/favicon.svg +0 -1
- package/modules/raise/public/logo-ink.svg +0 -1
- package/modules/raise/public/logo-night.svg +0 -1
|
@@ -559,12 +559,12 @@ main:focus { outline: none; }
|
|
|
559
559
|
width: 28px; height: 28px;
|
|
560
560
|
display: block;
|
|
561
561
|
flex-shrink: 0;
|
|
562
|
+
/* drawn from the one mark (modules/ui-design/public/brand/mark.svg, task 1005088) */
|
|
563
|
+
--mark-ink: var(--ink);
|
|
562
564
|
}
|
|
563
|
-
html[data-theme="dark"] .brand-mark__mark
|
|
564
|
-
html[data-theme="dark"] .brand-mark__mark .mp { fill: #e2e1e4; }
|
|
565
|
+
html[data-theme="dark"] .brand-mark__mark { --mark-ink: #e2e1e4; }
|
|
565
566
|
@media (prefers-color-scheme: dark) {
|
|
566
|
-
html:not([data-theme]) .brand-mark__mark
|
|
567
|
-
html:not([data-theme]) .brand-mark__mark .mp { fill: #e2e1e4; }
|
|
567
|
+
html:not([data-theme]) .brand-mark__mark { --mark-ink: #e2e1e4; }
|
|
568
568
|
}
|
|
569
569
|
/* A project's logo in the mark's place (ADR 0358): the image is the founder's, so
|
|
570
570
|
it gets a soft square, never a recolour. */
|
|
@@ -3243,9 +3243,7 @@ html[data-door="out"] #hall-main { width: 100%; }
|
|
|
3243
3243
|
background: var(--bg-card);
|
|
3244
3244
|
text-align: center;
|
|
3245
3245
|
}
|
|
3246
|
-
.landing__logo { display: block; width: 56px; height: 56px; margin: 0 auto 18px; overflow: visible; }
|
|
3247
|
-
.landing__ring { stroke: var(--ink); }
|
|
3248
|
-
.landing__planet { fill: var(--ink); }
|
|
3246
|
+
.landing__logo { display: block; width: 56px; height: 56px; margin: 0 auto 18px; overflow: visible; --mark-ink: var(--ink); }
|
|
3249
3247
|
.landing__title {
|
|
3250
3248
|
margin: 0 0 28px;
|
|
3251
3249
|
font-family: var(--font-display);
|
|
@@ -4228,7 +4226,7 @@ html[data-door="out"] #hall-main { width: 100%; }
|
|
|
4228
4226
|
}
|
|
4229
4227
|
/* the ring and the core: one ink, breathing */
|
|
4230
4228
|
.hall-loading::before {
|
|
4231
|
-
--hl-shape: url("
|
|
4229
|
+
--hl-shape: url("/modules/ui-design/public/brand/mark-body.svg");
|
|
4232
4230
|
background: color-mix(in srgb, var(--ink) 30%, var(--bg-card));
|
|
4233
4231
|
animation:
|
|
4234
4232
|
hall-loading-turn var(--hl-beat) cubic-bezier(.45, .05, .55, .95) infinite,
|
|
@@ -4236,7 +4234,7 @@ html[data-door="out"] #hall-main { width: 100%; }
|
|
|
4236
4234
|
}
|
|
4237
4235
|
/* the dot: the accent, laid exactly over the mark and turning with it */
|
|
4238
4236
|
.hall-loading::after {
|
|
4239
|
-
--hl-shape: url("
|
|
4237
|
+
--hl-shape: url("/modules/ui-design/public/brand/mark-dot.svg");
|
|
4240
4238
|
position: absolute;
|
|
4241
4239
|
top: var(--hl-pad);
|
|
4242
4240
|
left: calc(50% - var(--hl-size) / 2);
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<title>Task — {{worldName}}</title>
|
|
7
7
|
<meta name="description" content="Task details — {{worldName}}.">
|
|
8
|
-
<link rel="icon" href="
|
|
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
11
|
<link rel="stylesheet" href="/builders/style.css?v=2026-07-03-roadmap1">
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
60
60
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
61
61
|
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
62
|
-
<script src="/builders/shell.js?v=2026-11-
|
|
62
|
+
<script src="/builders/shell.js?v=2026-11-07-brand-mark"></script>
|
|
63
63
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
64
64
|
<script src="/builders/palette.js" defer></script>
|
|
65
65
|
<!-- task-detail.js still owns the #/idea/N and #/blocker/N deep-link overlay
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
|
|
6
6
|
<title>Your sky — {{worldName}}</title>
|
|
7
7
|
<meta name="description" content="Your thinking, drawn from the ledger: every thought you filed as one of five objects, in the goal that caught it, sized by the work it caused.">
|
|
8
|
-
<link rel="icon" href="
|
|
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
11
|
<!-- The faces (Manrope, JetBrains Mono) come from the branding pack's font
|
|
@@ -141,7 +141,7 @@
|
|
|
141
141
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
142
142
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
143
143
|
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
144
|
-
<script src="/builders/shell.js?v=2026-11-
|
|
144
|
+
<script src="/builders/shell.js?v=2026-11-07-brand-mark"></script>
|
|
145
145
|
<script src="/builders/palette.js" defer></script>
|
|
146
146
|
|
|
147
147
|
<script src="/builders/idea-objects.js?v=2026-09-27-split"></script>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
8
8
|
<title>Tweak a page — {{worldName}}</title>
|
|
9
9
|
<meta name="description" content="Tweak Mode's editor: every word of one page as a single document, typed over in place and saved as you go, then submitted as one batch.">
|
|
10
|
-
<link rel="icon" href="
|
|
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
13
|
<link rel="stylesheet" href="/builders/style.css?v=2026-07-02-shell1">
|
|
@@ -145,7 +145,7 @@
|
|
|
145
145
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
146
146
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
147
147
|
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
148
|
-
<script src="/builders/shell.js?v=2026-11-
|
|
148
|
+
<script src="/builders/shell.js?v=2026-11-07-brand-mark"></script>
|
|
149
149
|
<script src="/builders/palette.js" defer></script>
|
|
150
150
|
<script src="/builders/brand-holes.js?v=2026-09-29-aqfix"></script>
|
|
151
151
|
<script src="/builders/tweak-editor-lib.js?v=2026-09-29-tw27"></script>
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
<!-- The hub's origin, for the link from a guild's head in the applications queue to
|
|
9
9
|
its page on the hub (task 1002304). Empty on a vanilla instance: no link. -->
|
|
10
10
|
<meta name="hub-origin" content="{{hubOrigin}}">
|
|
11
|
-
<link rel="icon" href="
|
|
11
|
+
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
12
12
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
13
13
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
14
14
|
<link rel="stylesheet" href="/builders/style.css?v=2026-07-02-shell1">
|
|
@@ -271,7 +271,7 @@
|
|
|
271
271
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
272
272
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
273
273
|
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
274
|
-
<script src="/builders/shell.js?v=2026-11-
|
|
274
|
+
<script src="/builders/shell.js?v=2026-11-07-brand-mark"></script>
|
|
275
275
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
276
276
|
<script src="/builders/palette.js" defer></script>
|
|
277
277
|
<!-- shared component kit (window.OTBKit) — tabs, ledger, pager (task 2166). -->
|
|
@@ -75,11 +75,10 @@ html.wb-open { overflow: hidden; }
|
|
|
75
75
|
letter-spacing: -.01em; text-transform: lowercase; white-space: nowrap;
|
|
76
76
|
}
|
|
77
77
|
/* the mark's ink follows the painting: pale by night, dark by day; the moon stays salmon */
|
|
78
|
-
.
|
|
79
|
-
.wb__planet {
|
|
78
|
+
.wb__mark { --mark-ink: #e2e1e4; }
|
|
79
|
+
.wb__planet { transform-box: fill-box; transform-origin: center; }
|
|
80
80
|
.wb__moonlet { transform-box: view-box; transform-origin: 100px 100px; }
|
|
81
|
-
.wb--day .
|
|
82
|
-
.wb--day .wb__planet { fill: #17181a; }
|
|
81
|
+
.wb--day .wb__mark { --mark-ink: #17181a; }
|
|
83
82
|
.wb--lit .wb__ring { stroke-dasharray: 100; animation: wb-ring 1.5s cubic-bezier(.6, 0, .2, 1) .5s both; }
|
|
84
83
|
.wb--lit .wb__planet { animation: wb-planet 1s cubic-bezier(.3, 1.4, .5, 1) .3s both; }
|
|
85
84
|
.wb--lit .wb__moonlet { animation: wb-orbit 1.6s cubic-bezier(.25, .8, .3, 1) 1.1s both, wb-glow 3.2s ease-in-out 2.7s infinite alternate; }
|
|
@@ -57,10 +57,12 @@
|
|
|
57
57
|
// The banner is the logo, animated (task 1004953; it replaced "Working on the core of <project>"):
|
|
58
58
|
// the ring draws in, the planet settles, the moon glides into the gap and glows. A project with its
|
|
59
59
|
// own logo (theme.logo, ADR 0358) shows that instead, as the sidebar's brand mark does.
|
|
60
|
+
// The parts are referenced one by one from the one mark (task 1005088) so each can move.
|
|
61
|
+
var MARK = '/modules/ui-design/public/brand/mark.svg';
|
|
60
62
|
var MARK_SVG = '<svg class="wb__mark" viewBox="0 0 200 200" aria-hidden="true">' +
|
|
61
|
-
'<
|
|
62
|
-
'<
|
|
63
|
-
'<
|
|
63
|
+
'<use class="wb__ring" href="' + MARK + '#mark-ring"/>' +
|
|
64
|
+
'<use class="wb__planet" href="' + MARK + '#mark-disc"/>' +
|
|
65
|
+
'<use class="wb__moonlet" href="' + MARK + '#mark-dot"/></svg>';
|
|
64
66
|
function logoHtml(branding) {
|
|
65
67
|
var logo = branding && branding.theme && branding.theme.logo;
|
|
66
68
|
var mark = logo ? '<img class="wb__logo" src="' + esc(logo) + '" alt="" width="40" height="40" decoding="async">' : MARK_SVG;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<title>Tasks — {{worldName}}</title>
|
|
7
7
|
<meta name="description" content="What {{worldName}} is building right now, and what waits to be claimed.">
|
|
8
|
-
<link rel="icon" href="
|
|
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
11
|
<link rel="stylesheet" href="/builders/style.css?v=2026-07-02-shell1">
|
|
@@ -174,7 +174,7 @@
|
|
|
174
174
|
<script src="/builders/dom-utils.js?v=2026-11-05-numbers"></script>
|
|
175
175
|
<script src="/builders/shell-trail.js?v=2026-11-05-numbers"></script>
|
|
176
176
|
<script src="/builders/craft-mode.js?v=2026-11-05-goals"></script>
|
|
177
|
-
<script src="/builders/shell.js?v=2026-11-
|
|
177
|
+
<script src="/builders/shell.js?v=2026-11-07-brand-mark"></script>
|
|
178
178
|
<!-- jump palette (Ctrl/Cmd-K). Optional by design: without it the shell's slot stays hidden. -->
|
|
179
179
|
<script src="/builders/palette.js" defer></script>
|
|
180
180
|
<!-- task 1004727: the ONE karma vote control every task/idea list renders -->
|
|
@@ -97,11 +97,7 @@
|
|
|
97
97
|
<header class="shell bar">
|
|
98
98
|
<div class="barLeft">
|
|
99
99
|
<a class="barMark" id="barMark" href="/">
|
|
100
|
-
<svg class="bongosMark" viewBox="0 0 200 200" aria-hidden="true">
|
|
101
|
-
<path class="mr" d="M137 31 A78 78 0 1 0 170 66" fill="none" stroke="#17181a" stroke-width="15" stroke-linecap="round"/>
|
|
102
|
-
<circle class="mp" cx="100" cy="100" r="55" fill="#17181a"/>
|
|
103
|
-
<circle cx="156" cy="46" r="12" style="fill:var(--accent)"/>
|
|
104
|
-
</svg>
|
|
100
|
+
<svg class="bongosMark" viewBox="0 0 200 200" aria-hidden="true"><use href="/modules/ui-design/public/brand/mark.svg#mark"/></svg>
|
|
105
101
|
<span>{{productName}}</span>
|
|
106
102
|
</a>
|
|
107
103
|
</div>
|
|
@@ -576,13 +576,13 @@ p.sec-p{font-size:var(--fs-lede);font-weight:500;color:var(--ink-soft);line-heig
|
|
|
576
576
|
}
|
|
577
577
|
/* the ring and the core: one ink, breathing */
|
|
578
578
|
.loading-mark::before{
|
|
579
|
-
--lm-shape:url("
|
|
579
|
+
--lm-shape:url("/modules/ui-design/public/brand/mark-body.svg");
|
|
580
580
|
background:color-mix(in srgb,var(--ink) 30%,var(--bg-card));
|
|
581
581
|
animation:loading-mark-turn 1.6s cubic-bezier(.45,.05,.55,.95) infinite,loading-mark-breathe .8s ease-in-out infinite alternate-reverse;
|
|
582
582
|
}
|
|
583
583
|
/* the dot: the accent, laid exactly over the mark and turning with it */
|
|
584
584
|
.loading-mark::after{
|
|
585
|
-
--lm-shape:url("
|
|
585
|
+
--lm-shape:url("/modules/ui-design/public/brand/mark-dot.svg");
|
|
586
586
|
background:var(--accent);
|
|
587
587
|
}
|
|
588
588
|
.loading-mark--page{--lm-size:64px;padding:72px 0;gap:16px;}
|
|
@@ -623,11 +623,12 @@ p.sec-p{font-size:var(--fs-lede);font-weight:500;color:var(--ink-soft);line-heig
|
|
|
623
623
|
color:var(--ink);text-decoration:none;text-shadow:var(--type-halo);}
|
|
624
624
|
/* the mark: Ink and one light; its Night ink twin on a dark ground (task 1004846) */
|
|
625
625
|
.barMark svg{width:32px;height:32px;display:block;flex:none;}
|
|
626
|
-
|
|
627
|
-
|
|
626
|
+
/* drawn from the one mark (modules/ui-design/public/brand/mark.svg, task 1005088), coloured by
|
|
627
|
+
--mark-ink (the ring and planet) and --mark-dot (the moon; the accent when unset) */
|
|
628
|
+
.bongosMark{--mark-ink:var(--ink);}
|
|
629
|
+
:root[data-mode="dark"] .bongosMark{--mark-ink:#e2e1e4;}
|
|
628
630
|
@media (prefers-color-scheme: dark){
|
|
629
|
-
:root:not([data-mode="light"]) .bongosMark
|
|
630
|
-
:root:not([data-mode="light"]) .bongosMark .mp{fill:#e2e1e4;}
|
|
631
|
+
:root:not([data-mode="light"]) .bongosMark{--mark-ink:#e2e1e4;}
|
|
631
632
|
}
|
|
632
633
|
.barMark:hover{color:var(--ink);}
|
|
633
634
|
/* the two-tone focus ring on the bar's and the bands' controls (DESIGN.md
|
|
@@ -165,11 +165,7 @@
|
|
|
165
165
|
<header class="shell bar">
|
|
166
166
|
<div class="barLeft">
|
|
167
167
|
<a class="barMark" id="barMark" href="/">
|
|
168
|
-
<svg class="bongosMark" viewBox="0 0 200 200" aria-hidden="true">
|
|
169
|
-
<path class="mr" d="M137 31 A78 78 0 1 0 170 66" fill="none" stroke="#17181a" stroke-width="15" stroke-linecap="round"/>
|
|
170
|
-
<circle class="mp" cx="100" cy="100" r="55" fill="#17181a"/>
|
|
171
|
-
<circle cx="156" cy="46" r="12" style="fill:var(--accent)"/>
|
|
172
|
-
</svg>
|
|
168
|
+
<svg class="bongosMark" viewBox="0 0 200 200" aria-hidden="true"><use href="/modules/ui-design/public/brand/mark.svg#mark"/></svg>
|
|
173
169
|
<span>{{productName}}</span>
|
|
174
170
|
</a>
|
|
175
171
|
</div>
|
|
@@ -70,11 +70,7 @@
|
|
|
70
70
|
<header class="shell bar">
|
|
71
71
|
<div class="barLeft">
|
|
72
72
|
<a class="barMark" id="barMark" href="/">
|
|
73
|
-
<svg class="bongosMark" viewBox="0 0 200 200" aria-hidden="true">
|
|
74
|
-
<path class="mr" d="M137 31 A78 78 0 1 0 170 66" fill="none" stroke="#17181a" stroke-width="15" stroke-linecap="round"/>
|
|
75
|
-
<circle class="mp" cx="100" cy="100" r="55" fill="#17181a"/>
|
|
76
|
-
<circle cx="156" cy="46" r="12" style="fill:var(--accent)"/>
|
|
77
|
-
</svg>
|
|
73
|
+
<svg class="bongosMark" viewBox="0 0 200 200" aria-hidden="true"><use href="/modules/ui-design/public/brand/mark.svg#mark"/></svg>
|
|
78
74
|
<span>{{productName}}</span>
|
|
79
75
|
</a>
|
|
80
76
|
</div>
|
|
@@ -50,11 +50,7 @@
|
|
|
50
50
|
<header class="shell bar">
|
|
51
51
|
<div class="barLeft">
|
|
52
52
|
<a class="barMark" id="barMark" href="/">
|
|
53
|
-
<svg class="bongosMark" viewBox="0 0 200 200" aria-hidden="true">
|
|
54
|
-
<path class="mr" d="M137 31 A78 78 0 1 0 170 66" fill="none" stroke="#17181a" stroke-width="15" stroke-linecap="round"/>
|
|
55
|
-
<circle class="mp" cx="100" cy="100" r="55" fill="#17181a"/>
|
|
56
|
-
<circle cx="156" cy="46" r="12" style="fill:var(--accent)"/>
|
|
57
|
-
</svg>
|
|
53
|
+
<svg class="bongosMark" viewBox="0 0 200 200" aria-hidden="true"><use href="/modules/ui-design/public/brand/mark.svg#mark"/></svg>
|
|
58
54
|
<span>{{productName}}</span>
|
|
59
55
|
</a>
|
|
60
56
|
</div>
|
|
@@ -125,11 +125,7 @@
|
|
|
125
125
|
<header class="shell bar">
|
|
126
126
|
<div class="barLeft">
|
|
127
127
|
<a class="barMark" id="barMark" href="/">
|
|
128
|
-
<svg class="bongosMark" viewBox="0 0 200 200" aria-hidden="true">
|
|
129
|
-
<path class="mr" d="M137 31 A78 78 0 1 0 170 66" fill="none" stroke="#17181a" stroke-width="15" stroke-linecap="round"/>
|
|
130
|
-
<circle class="mp" cx="100" cy="100" r="55" fill="#17181a"/>
|
|
131
|
-
<circle cx="156" cy="46" r="12" style="fill:var(--accent)"/>
|
|
132
|
-
</svg>
|
|
128
|
+
<svg class="bongosMark" viewBox="0 0 200 200" aria-hidden="true"><use href="/modules/ui-design/public/brand/mark.svg#mark"/></svg>
|
|
133
129
|
<span>{{productName}}</span>
|
|
134
130
|
</a>
|
|
135
131
|
</div>
|
|
@@ -154,9 +154,10 @@ main:focus{outline:none;box-shadow:none}
|
|
|
154
154
|
color:var(--ink);text-shadow:var(--type-halo)}
|
|
155
155
|
/* the mark: Ink and one light; its Night ink twin on a dark ground (task 1004846) */
|
|
156
156
|
.barMark svg{width:32px;height:32px;display:block;flex:none}
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
157
|
+
/* drawn from the one mark (modules/ui-design/public/brand/mark.svg, task 1005088) */
|
|
158
|
+
.bongosMark{--mark-ink:var(--ink)}
|
|
159
|
+
:root[data-mode="dark"] .bongosMark{--mark-ink:#e2e1e4}
|
|
160
|
+
@media (prefers-color-scheme: dark){:root:not([data-mode="light"]) .bongosMark{--mark-ink:#e2e1e4}}
|
|
160
161
|
/* the right group is lowercase text; the OPEN trigger is underlined in the accent */
|
|
161
162
|
.trig{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0;cursor:pointer;
|
|
162
163
|
background:none;border:0;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:15px;
|
|
@@ -690,11 +691,7 @@ composition A; landing composition v3, picked by the owner 2026-08-27. No roll,
|
|
|
690
691
|
<header class="topbar bar">
|
|
691
692
|
<div class="barLeft">
|
|
692
693
|
<a class="barMark" href="/" aria-label="{{productName}}">
|
|
693
|
-
<svg class="bongosMark" viewBox="0 0 200 200" aria-hidden="true">
|
|
694
|
-
<path class="mr" d="M137 31 A78 78 0 1 0 170 66" fill="none" stroke="#17181a" stroke-width="15" stroke-linecap="round"/>
|
|
695
|
-
<circle class="mp" cx="100" cy="100" r="55" fill="#17181a"/>
|
|
696
|
-
<circle cx="156" cy="46" r="12" style="fill:var(--accent)"/>
|
|
697
|
-
</svg>
|
|
694
|
+
<svg class="bongosMark" viewBox="0 0 200 200" aria-hidden="true"><use href="/modules/ui-design/public/brand/mark.svg#mark"/></svg>
|
|
698
695
|
<span class="mark-word">{{productName}}</span>
|
|
699
696
|
</a>
|
|
700
697
|
</div>
|
|
@@ -80,11 +80,7 @@
|
|
|
80
80
|
<header class="shell bar">
|
|
81
81
|
<div class="barLeft">
|
|
82
82
|
<a class="barMark" id="barMark" href="/">
|
|
83
|
-
<svg class="bongosMark" viewBox="0 0 200 200" aria-hidden="true">
|
|
84
|
-
<path class="mr" d="M137 31 A78 78 0 1 0 170 66" fill="none" stroke="#17181a" stroke-width="15" stroke-linecap="round"/>
|
|
85
|
-
<circle class="mp" cx="100" cy="100" r="55" fill="#17181a"/>
|
|
86
|
-
<circle cx="156" cy="46" r="12" style="fill:var(--accent)"/>
|
|
87
|
-
</svg>
|
|
83
|
+
<svg class="bongosMark" viewBox="0 0 200 200" aria-hidden="true"><use href="/modules/ui-design/public/brand/mark.svg#mark"/></svg>
|
|
88
84
|
<span>{{productName}}</span>
|
|
89
85
|
</a>
|
|
90
86
|
</div>
|
|
@@ -49,11 +49,7 @@
|
|
|
49
49
|
<header class="shell bar">
|
|
50
50
|
<div class="barLeft">
|
|
51
51
|
<a class="barMark" id="barMark" href="/">
|
|
52
|
-
<svg class="bongosMark" viewBox="0 0 200 200" aria-hidden="true">
|
|
53
|
-
<path class="mr" d="M137 31 A78 78 0 1 0 170 66" fill="none" stroke="#17181a" stroke-width="15" stroke-linecap="round"/>
|
|
54
|
-
<circle class="mp" cx="100" cy="100" r="55" fill="#17181a"/>
|
|
55
|
-
<circle cx="156" cy="46" r="12" style="fill:var(--accent)"/>
|
|
56
|
-
</svg>
|
|
52
|
+
<svg class="bongosMark" viewBox="0 0 200 200" aria-hidden="true"><use href="/modules/ui-design/public/brand/mark.svg#mark"/></svg>
|
|
57
53
|
<span>{{productName}}</span>
|
|
58
54
|
</a>
|
|
59
55
|
</div>
|
|
@@ -808,11 +808,7 @@ summary{min-height:24px;padding:3px 0;}
|
|
|
808
808
|
<header class="shell bar">
|
|
809
809
|
<div class="barLeft">
|
|
810
810
|
<a class="barMark" id="barMark" href="/">
|
|
811
|
-
<svg class="bongosMark" viewBox="0 0 200 200" aria-hidden="true">
|
|
812
|
-
<path class="mr" d="M137 31 A78 78 0 1 0 170 66" fill="none" stroke="#17181a" stroke-width="15" stroke-linecap="round"/>
|
|
813
|
-
<circle class="mp" cx="100" cy="100" r="55" fill="#17181a"/>
|
|
814
|
-
<circle cx="156" cy="46" r="12" style="fill:var(--accent)"/>
|
|
815
|
-
</svg>
|
|
811
|
+
<svg class="bongosMark" viewBox="0 0 200 200" aria-hidden="true"><use href="/modules/ui-design/public/brand/mark.svg#mark"/></svg>
|
|
816
812
|
<span data-brand-product-inline>Cloud Bongos</span>
|
|
817
813
|
</a>
|
|
818
814
|
<!-- under 480 the search folds into this magnifier, which drops one
|
|
@@ -49,11 +49,7 @@
|
|
|
49
49
|
<header class="shell bar">
|
|
50
50
|
<div class="barLeft">
|
|
51
51
|
<a class="barMark" id="barMark" href="/">
|
|
52
|
-
<svg class="bongosMark" viewBox="0 0 200 200" aria-hidden="true">
|
|
53
|
-
<path class="mr" d="M137 31 A78 78 0 1 0 170 66" fill="none" stroke="#17181a" stroke-width="15" stroke-linecap="round"/>
|
|
54
|
-
<circle class="mp" cx="100" cy="100" r="55" fill="#17181a"/>
|
|
55
|
-
<circle cx="156" cy="46" r="12" style="fill:var(--accent)"/>
|
|
56
|
-
</svg>
|
|
52
|
+
<svg class="bongosMark" viewBox="0 0 200 200" aria-hidden="true"><use href="/modules/ui-design/public/brand/mark.svg#mark"/></svg>
|
|
57
53
|
<span>{{productName}}</span>
|
|
58
54
|
</a>
|
|
59
55
|
</div>
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<meta name="robots" content="noindex, nofollow">
|
|
7
7
|
<title>Cloud Bongos — Pre-seed</title>
|
|
8
|
-
<link rel="icon" href="
|
|
8
|
+
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
|
+
<link rel="apple-touch-icon" href="/modules/ui-design/public/brand/apple-touch-icon.png">
|
|
9
10
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
11
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
12
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400&family=Manrope:wght@300;400;500;600&display=swap">
|
|
@@ -16,8 +17,8 @@
|
|
|
16
17
|
<body class="gate-body">
|
|
17
18
|
<main class="gate">
|
|
18
19
|
<div class="gate__brand">
|
|
19
|
-
<img class="logo logo--light" src="
|
|
20
|
-
<img class="logo logo--dark" src="
|
|
20
|
+
<img class="logo logo--light" src="/modules/ui-design/public/brand/mark-light.svg" alt="" width="56" height="56">
|
|
21
|
+
<img class="logo logo--dark" src="/modules/ui-design/public/brand/mark-dark.svg" alt="" width="56" height="56">
|
|
21
22
|
<span class="wordmark">cloud bongos</span>
|
|
22
23
|
</div>
|
|
23
24
|
{{error}}
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<meta name="robots" content="noindex, nofollow">
|
|
7
7
|
<title>Confidentiality agreement — Cloud Bongos</title>
|
|
8
|
-
<link rel="icon" href="
|
|
8
|
+
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
|
+
<link rel="apple-touch-icon" href="/modules/ui-design/public/brand/apple-touch-icon.png">
|
|
9
10
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
11
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
12
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400&family=Manrope:wght@300;400;500;600&display=swap">
|
|
@@ -5,7 +5,8 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<meta name="robots" content="noindex, nofollow">
|
|
7
7
|
<title>Cloud Bongos — Pre-seed</title>
|
|
8
|
-
<link rel="icon" href="
|
|
8
|
+
<link rel="icon" href="/modules/ui-design/public/brand/favicon.svg" type="image/svg+xml">
|
|
9
|
+
<link rel="apple-touch-icon" href="/modules/ui-design/public/brand/apple-touch-icon.png">
|
|
9
10
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
10
11
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
11
12
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400&family=Manrope:wght@300;400;500;600&display=swap">
|
|
@@ -20,8 +21,8 @@
|
|
|
20
21
|
{{editBar}}
|
|
21
22
|
<header class="top">
|
|
22
23
|
<a class="brand" href="#top" aria-label="Cloud Bongos — back to top">
|
|
23
|
-
<img class="logo logo--light" src="
|
|
24
|
-
<img class="logo logo--dark" src="
|
|
24
|
+
<img class="logo logo--light" src="/modules/ui-design/public/brand/mark-light.svg" alt="" width="32" height="32">
|
|
25
|
+
<img class="logo logo--dark" src="/modules/ui-design/public/brand/mark-dark.svg" alt="" width="32" height="32">
|
|
25
26
|
<span class="wordmark">cloud bongos</span>
|
|
26
27
|
</a>
|
|
27
28
|
<nav class="top__actions">
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
6
6
|
<title>{{worldName}} — the public ledger</title>
|
|
7
7
|
<meta name="description" content="The public ledger of {{worldName}} — {{currency}} spent, works wrought, and the citizens who shape her stones.">
|
|
8
|
-
<link rel="icon" href="
|
|
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
11
|
<link href="https://fonts.googleapis.com/css2?family=Cinzel:wght@500;700&family=EB+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap" rel="stylesheet">
|
|
@@ -354,7 +354,7 @@ main {
|
|
|
354
354
|
}
|
|
355
355
|
/* the ring and the core: one ink, breathing */
|
|
356
356
|
.loading-mark::before {
|
|
357
|
-
--lm-shape: url("
|
|
357
|
+
--lm-shape: url("/modules/ui-design/public/brand/mark-body.svg");
|
|
358
358
|
background: color-mix(in srgb, var(--ink) 30%, var(--bg-card));
|
|
359
359
|
animation:
|
|
360
360
|
loading-mark-turn 1.6s cubic-bezier(.45, .05, .55, .95) infinite,
|
|
@@ -362,7 +362,7 @@ main {
|
|
|
362
362
|
}
|
|
363
363
|
/* the dot: the accent, laid exactly over the mark and turning with it */
|
|
364
364
|
.loading-mark::after {
|
|
365
|
-
--lm-shape: url("
|
|
365
|
+
--lm-shape: url("/modules/ui-design/public/brand/mark-dot.svg");
|
|
366
366
|
background: var(--accent);
|
|
367
367
|
}
|
|
368
368
|
@keyframes loading-mark-arrive { from { filter: opacity(0); transform: translateY(6px); } }
|
|
Binary file
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200"><style>svg{--i:#17181a;--d:#fb9569}@media (prefers-color-scheme:dark){svg{--i:#e2e1e4}}</style><path d="M137 31 A78 78 0 1 0 170 66" pathLength="100" fill="none" stroke-width="24" stroke-linecap="round" style="stroke:var(--i)"/><circle cx="100" cy="100" r="50" style="fill:var(--i)"/><circle cx="156" cy="46" r="18" style="fill:var(--d)"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" aria-hidden="true"><path d="M137 31 A78 78 0 1 0 170 66" pathLength="100" fill="none" stroke-width="15" stroke-linecap="round" style="stroke:#000000"/><circle cx="100" cy="100" r="55" style="fill:#000000"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" role="img" aria-label="logo"><path d="M137 31 A78 78 0 1 0 170 66" pathLength="100" fill="none" stroke-width="15" stroke-linecap="round" style="stroke:#e2e1e4"/><circle cx="100" cy="100" r="55" style="fill:#e2e1e4"/><circle cx="156" cy="46" r="12" style="fill:#fb9569"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" aria-hidden="true"><circle cx="156" cy="46" r="12" style="fill:#000000"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" role="img" aria-label="logo"><path d="M137 31 A78 78 0 1 0 170 66" pathLength="100" fill="none" stroke-width="15" stroke-linecap="round" style="stroke:#17181a"/><circle cx="100" cy="100" r="55" style="fill:#17181a"/><circle cx="156" cy="46" r="12" style="fill:#fb9569"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" role="img" aria-label="logo"><path d="M137 31 A78 78 0 1 0 170 66" pathLength="100" fill="none" stroke-width="15" stroke-linecap="round" style="stroke:#000000"/><circle cx="100" cy="100" r="55" style="fill:#000000"/><circle cx="156" cy="46" r="12" style="fill:#000000"/></svg>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 200 200" role="img" aria-label="mark">
|
|
2
|
+
<!-- THE Cloud Bongos mark: the one source (task 1005088). An open ring, the
|
|
3
|
+
planet in it, and the moon in the gap. Every page draws it from here:
|
|
4
|
+
- inline, by reference: an svg with viewBox 0 0 200 200 holding
|
|
5
|
+
use href="/modules/ui-design/public/brand/mark.svg#mark"
|
|
6
|
+
(the parts are #mark-ring, #mark-disc and #mark-dot, for a page that animates them);
|
|
7
|
+
- coloured by two custom properties on the referencing element: mark-ink (the ring
|
|
8
|
+
and the planet; currentColor when unset) and mark-dot (the moon; the page's
|
|
9
|
+
accent when unset), each written with the two leading dashes in CSS;
|
|
10
|
+
- server-side (the gates, a look's favicon) through src/brand-mark.js;
|
|
11
|
+
- as files (light, dark, mono, the favicon set) written beside this one by
|
|
12
|
+
scripts/bongos/gen-brand.js from the pack's colours. Never edit those by hand.
|
|
13
|
+
Keep the ids and the two custom properties: src/brand-mark.js and
|
|
14
|
+
tests/brand_mark.mjs read them. An XML comment may not hold two dashes in a row,
|
|
15
|
+
or no browser will read this file. -->
|
|
16
|
+
<g id="mark">
|
|
17
|
+
<path id="mark-ring" d="M137 31 A78 78 0 1 0 170 66" pathLength="100" fill="none" stroke-width="15" stroke-linecap="round" style="stroke:var(--mark-ink,currentColor)"/>
|
|
18
|
+
<circle id="mark-disc" cx="100" cy="100" r="55" style="fill:var(--mark-ink,currentColor)"/>
|
|
19
|
+
<circle id="mark-dot" cx="156" cy="46" r="12" style="fill:var(--mark-dot,var(--accent,currentColor))"/>
|
|
20
|
+
</g>
|
|
21
|
+
</svg>
|
package/package-lock.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bongos/core",
|
|
3
|
-
"version": "1.24.
|
|
3
|
+
"version": "1.24.49",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "@bongos/core",
|
|
9
|
-
"version": "1.24.
|
|
9
|
+
"version": "1.24.49",
|
|
10
10
|
"license": "AGPL-3.0-or-later",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"express": "^4.21.2",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bongos/core",
|
|
3
|
-
"version": "1.24.
|
|
3
|
+
"version": "1.24.49",
|
|
4
4
|
"description": "Cloud Bongos — the AI-first build platform core (GDS + platform surfaces + module system), installed as a versioned dependency (ADR 0108).",
|
|
5
5
|
"license": "AGPL-3.0-or-later",
|
|
6
6
|
"main": "src/platform-server.js",
|
package/release-notes.json
CHANGED
|
@@ -11259,5 +11259,11 @@
|
|
|
11259
11259
|
"id": "1005084",
|
|
11260
11260
|
"text": "The builders' hall now has one button and one text box style everywhere instead of eight button sizes and five box styles; main buttons are the full 46px pill with dark text on the orange, and the setup screen's save button is"
|
|
11261
11261
|
}
|
|
11262
|
+
],
|
|
11263
|
+
"1.24.49": [
|
|
11264
|
+
{
|
|
11265
|
+
"id": "1005088",
|
|
11266
|
+
"text": "The Cloud Bongos logo and the browser-tab icon now come from one file, so every page, the hall, the welcome screen, the gates and the fundraising page show exactly the same mark, and phones get a proper home-screen icon."
|
|
11267
|
+
}
|
|
11262
11268
|
]
|
|
11263
11269
|
}
|
|
@@ -574,8 +574,7 @@ const KERNEL_FILES = [
|
|
|
574
574
|
// task 1004421 (ADR 0358): branding.js lays the chosen look over the pack through this
|
|
575
575
|
// file — the same identity/config category, requiring only instance-config and node
|
|
576
576
|
// built-ins, so it joins the roster rather than reading as a kernel→domain leak.
|
|
577
|
-
'src/hall-look.js',
|
|
578
|
-
'src/build-info.js',
|
|
577
|
+
'src/hall-look.js', 'src/brand-mark.js', 'src/build-info.js', // brand-mark: the mark's one source (task 1005088), read by hall-look; same imports
|
|
579
578
|
// task 1003476 (goal 1000072): the project's stale-claim timer — host configuration
|
|
580
579
|
// a module reads rather than hardcodes, exactly the category instance-config.js and
|
|
581
580
|
// branding.js are in. The doorway (a KERNEL_FILE) re-exports it, so leaving it off
|