@bongos/core 1.19.726 → 1.19.727
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 +176 -491
- package/.devcontainer/Dockerfile +1 -1
- package/.devcontainer/devcontainer.json +2 -2
- package/.devcontainer/healthcheck.sh +1 -1
- package/.devcontainer/init-firewall.sh +1 -1
- package/.devcontainer/post-create.sh +2 -2
- package/.env.local.example +1 -1
- package/Dockerfile +1 -1
- package/docs/copy-inventory.md +1 -1
- package/docs/copy-registry.json +9 -9
- package/docs/module-api-changelog.md +2 -0
- package/docs/recipes/devbox-app-release.md +4 -4
- package/modules/dev-box/app/scripts/dmgbuild-settings.py +5 -5
- package/modules/dev-box/app/scripts/gen-brand.js +1 -1
- package/modules/dev-box/app/src/brand.js +1 -1
- package/modules/dev-box/app/test/unit.mjs +16 -16
- package/modules/dev-box/box-access.js +1 -1
- package/modules/dev-box/routes/box.js +1 -1
- package/modules/discord/discord-approvals.js +1 -1
- package/modules/grading/grader-model.js +1 -1
- package/modules/grading/grader-prompt.js +1 -1
- package/modules/grading/grader-workers/quality.js +1 -1
- package/modules/hall-ui/module.json +1 -1
- package/modules/hall-ui/public/brand-apply.js +1 -1
- package/modules/hall-ui/public/shell.js +1 -1
- package/modules/hall-ui/public/work.js +1 -1
- package/modules/lifecycle/conflict-resolve.js +1 -1
- package/modules/lifecycle/db-analytics.js +1 -1
- package/modules/lifecycle/routes/analytics.js +1 -1
- package/modules/onboarding/approval-broadcast.js +1 -1
- package/modules/onboarding/onboarding.js +1 -1
- package/modules/provisioning/tests/liveness.mjs +1 -1
- package/modules/public-landing/public/index.html +1 -1
- package/modules/public-landing/public/projects-floor.states.json +2 -2
- package/modules/public-landing/public/projects.probes.json +4 -4
- package/modules/public-landing/public/projects.states.json +2 -2
- package/modules/status-ui/module.json +1 -1
- package/modules/status-ui/public/status.js +4 -4
- package/modules/status-ui/public/style.css +1 -1
- package/modules/ui-design/kit/fixtures/cost-summary.json +1 -1
- package/modules/ui-design/kit/fixtures/featured-hub.json +1 -1
- package/modules/ui-design/kit/fixtures/featured.json +1 -1
- package/modules/ui-design/kit/fixtures/leaderboard.json +1 -1
- package/modules/ui-design/kit/fixtures/my-projects.json +1 -1
- package/modules/ui-design/kit/fixtures/progress.json +1 -1
- package/modules/ui-design/kit/fixtures/recent-shipped.json +1 -1
- package/package-lock.json +2 -2
- package/package.json +1 -1
- package/scripts/cron/style_guide_audit.sh +1 -1
- package/scripts/discord/lib.js +1 -1
- package/scripts/discord/post.js +1 -1
- package/scripts/gds/audit-authorship.sh +1 -1
- package/scripts/gds/audit-replay.sh +29 -2
- package/scripts/gds/audit-ships.js +1 -1
- package/scripts/gds/backfill-sessions.js +2 -2
- package/scripts/gds/cf-tunnel.js +4 -4
- package/scripts/gds/claude-materialize.js +2 -2
- package/scripts/gds/cli-lib.js +6 -6
- package/scripts/gds/cutover-codemod.js +1 -1
- package/scripts/gds/dev-lib.js +2 -2
- package/scripts/gds/diagnose-achievements.js +2 -2
- package/scripts/gds/fitness-checks-identity.js +6 -4
- package/scripts/gds/gen-diagrams.js +1 -1
- package/scripts/gds/leak-scan-allowlist.js +293 -0
- package/scripts/gds/learning-capture.js +1 -1
- package/scripts/gds/linkify-refs.js +2 -2
- package/scripts/gds/local-preview-lib.js +1 -1
- package/scripts/gds/mirror-lineage-check.js +1 -1
- package/scripts/gds/mirror-redact.js +17 -2
- package/scripts/gds/newcomer-floor.templates.json +1 -1
- package/scripts/gds/package-core.js +18 -1
- package/scripts/gds/paste-token.js +1 -1
- package/scripts/gds/provision-units.js +2 -2
- package/scripts/gds/publish-manifest.js +15 -0
- package/scripts/gds/repo-metrics.js +1 -1
- package/scripts/gds/sandbox-stage.js +1 -1
- package/scripts/gds/seed-bongos-coreB-tranche1-tasks.js +1 -1
- package/scripts/gds/seed-bongos-coreB-tranche2-tasks.js +1 -1
- package/scripts/gds/seed-bongos-goal-hierarchy-tasks.js +1 -1
- package/scripts/gds/seed-bongos-tasks.js +2 -2
- package/scripts/gds/seed-gds-v4-tasks.js +1 -1
- package/scripts/gds/seed-medusa-tasks.js +10 -10
- package/scripts/gds/seed-module-upstreaming.js +1 -1
- package/scripts/gds/seed-productization-tasks.js +6 -6
- package/scripts/gds/seed-provisioning-tasks.js +2 -2
- package/scripts/gds/seed-staging.sh +19 -6
- package/scripts/gds/ship-deploy-target.js +1 -1
- package/scripts/gds/ship-flow.js +1 -1
- package/scripts/gds/smoke-gds.js +1 -1
- package/scripts/status-probe.mjs +2 -2
- package/src/bongos/auth-discord.js +2 -2
- package/src/bongos/live-channel.js +1 -1
- package/src/bongos/pool.js +1 -1
- package/src/bongos/routes/auth.js +11 -11
- package/src/bongos/routes/security.js +1 -1
- package/src/bongos/routes.js +1 -1
- package/src/branding.js +1 -1
- package/src/devbox-downloads.js +1 -1
- package/src/instance-config.js +2 -2
- package/src/module-api.js +1 -1
- package/src/module-loader/provenance.js +2 -2
- package/tests/art_stage.mjs +2 -2
- package/tests/auth_anthropic_identity.mjs +1 -1
- package/tests/auth_duplicate_cookie.mjs +1 -1
- package/tests/auth_error_brand.mjs +1 -1
- package/tests/auth_inactive_builder.mjs +1 -1
- package/tests/backup_cli.mjs +4 -4
- package/tests/bongos_box_connect.mjs +2 -2
- package/tests/bongos_downloads.mjs +2 -2
- package/tests/bongos_login.mjs +5 -5
- package/tests/box_connect_e2e.mjs +2 -2
- package/tests/box_dns_repoint.mjs +10 -10
- package/tests/box_host_keys.mjs +1 -1
- package/tests/box_onboard.mjs +9 -9
- package/tests/box_scope_session.mjs +1 -1
- package/tests/box_terminal_ssrf.mjs +7 -7
- package/tests/boxes.mjs +9 -9
- package/tests/branding.mjs +2 -2
- package/tests/bump_version.mjs +2 -2
- package/tests/cf_tunnel.mjs +40 -40
- package/tests/cli_token_reissue.mjs +7 -7
- package/tests/cloud_bongos_pack.mjs +1 -1
- package/tests/currency_label.mjs +8 -8
- package/tests/dev_lib.mjs +4 -4
- package/tests/devbox_dmg_backdrop.mjs +1 -1
- package/tests/devbox_downloads.mjs +2 -2
- package/tests/devbox_icons.mjs +1 -1
- package/tests/discord_approvals.mjs +1 -1
- package/tests/discord_oauth.mjs +2 -2
- package/tests/executed_closure.mjs +6 -1
- package/tests/first_admin_bootstrap.mjs +1 -1
- package/tests/gate_approvals.mjs +5 -5
- package/tests/grade_aggregates_unavailable.mjs +1 -1
- package/tests/hook_user_agents.mjs +2 -2
- package/tests/init.mjs +6 -6
- package/tests/instance_config.mjs +1 -1
- package/tests/instance_manifest.mjs +5 -5
- package/tests/instance_mismatch_guard.mjs +13 -13
- package/tests/leak_scan_allowlist.mjs +94 -0
- package/tests/migrate_root_resolution.mjs +4 -4
- package/tests/mirror_redact.mjs +28 -4
- package/tests/module_catalog.mjs +5 -5
- package/tests/module_submissions.mjs +3 -3
- package/tests/package_core.mjs +1 -1
- package/tests/parallel-load.mjs +6 -6
- package/tests/projects_hub.mjs +2 -2
- package/tests/provision.mjs +50 -50
- package/tests/provisioning_github_app_routes.mjs +1 -1
- package/tests/provisioning_onboard_mode.mjs +2 -2
- package/tests/publish_reconciler.mjs +4 -4
- package/tests/sandbox_stage.mjs +1 -1
- package/tests/scrubber_corpus.mjs +3 -3
- package/tests/search_isolation.mjs +1 -1
- package/tests/session_records.mjs +1 -1
- package/tests/ship_card.mjs +6 -6
- package/tests/ship_ci_deploy.mjs +1 -1
- package/tests/single_host_hall.mjs +9 -9
- package/tests/smoke_preflight.mjs +1 -1
- package/tests/smoke_target.mjs +1 -1
- package/tests/status-probe.mjs +1 -1
- package/tests/status_mirror_sync.mjs +1 -1
- package/docs/adr/0004-amazonprimea-name-and-trademark-acceptance.md +0 -45
- package/docs/design/mocks/_schemes.css +0 -604
- package/docs/design/mocks/component-sheet.html +0 -428
- package/docs/design/mocks/hall/_tokens.css +0 -370
- package/docs/design/mocks/hall/board/v1.html +0 -846
- package/docs/design/mocks/hall/board/v2.html +0 -858
- package/docs/design/mocks/hall/board/v3.html +0 -884
- package/docs/design/mocks/hall/goals/v1.html +0 -1212
- package/docs/design/mocks/hall/goals/v2.html +0 -1192
- package/docs/design/mocks/hall/goals/v3.html +0 -1205
- package/docs/design/mocks/hall/hall-sheet.html +0 -244
- package/docs/design/mocks/hall/reading/v1.html +0 -1125
- package/docs/design/mocks/hall/reading/v2.html +0 -1177
- package/docs/design/mocks/hall/reading/v3.html +0 -1150
- package/docs/design/mocks/hall/settings/v1.html +0 -1238
- package/docs/design/mocks/hall/settings/v2.html +0 -1235
- package/docs/design/mocks/hall/settings/v3.html +0 -1299
- package/docs/design/mocks/hall/task/v1.html +0 -633
- package/docs/design/mocks/hall/task/v2.html +0 -646
- package/docs/design/mocks/hall/task/v3.html +0 -647
- package/docs/design/mocks/hub/assets/r3-space-deepfield-half.jpg +0 -0
- package/docs/design/mocks/hub/assets/r3-space-deepfield-half.jpg.json +0 -13
- package/docs/design/mocks/hub/assets/r3-space-dust-half.jpg +0 -0
- package/docs/design/mocks/hub/assets/r3-space-dust-half.jpg.json +0 -13
- package/docs/design/mocks/hub/assets/r3-space-nebula-half.jpg +0 -0
- package/docs/design/mocks/hub/assets/r3-space-nebula-half.jpg.json +0 -13
- package/docs/design/mocks/hub/assets/r3-space-starfield-half.jpg +0 -0
- package/docs/design/mocks/hub/assets/r3-space-starfield-half.jpg.json +0 -13
- package/docs/design/mocks/hub/hub-sheet.html +0 -192
- package/docs/design/mocks/hub/mine.html +0 -465
- package/docs/design/mocks/hub/picker.html +0 -421
- package/docs/design/mocks/hub/planets.html +0 -356
- package/docs/design/mocks/hub/v1.html +0 -1209
- package/docs/design/mocks/hub/v2.html +0 -1257
- package/docs/design/mocks/hub/v3.html +0 -1496
- package/docs/design/mocks/hub/wizard.html +0 -421
- package/docs/design/mocks/landing/landing-sheet.html +0 -131
- package/docs/design/mocks/landing/v1.html +0 -956
- package/docs/design/mocks/landing/v2.html +0 -708
- package/docs/design/mocks/landing/v3.html +0 -911
- package/docs/design/mocks/landing-page-mock.html +0 -687
- package/docs/design/mocks/landing-palettes.html +0 -103
- package/docs/design/mocks/projects-hub-mock.html +0 -991
- package/docs/design/mocks/projects-hub-variants.html +0 -146
- package/docs/design/mocks/projects-page-mock.html +0 -167
- package/docs/design/mocks/world/blue-hud/_tokens.css +0 -246
- package/docs/design/mocks/world/blue-hud/hall.html +0 -595
- package/docs/design/mocks/world/blue-hud/landing.html +0 -424
- package/docs/design/mocks/world/blue-hud/status.html +0 -410
- package/docs/design/mocks/world/chrome-blobs/_tokens.css +0 -479
- package/docs/design/mocks/world/chrome-blobs/hall.html +0 -553
- package/docs/design/mocks/world/chrome-blobs/landing-b.html +0 -581
- package/docs/design/mocks/world/chrome-blobs/landing.html +0 -328
- package/docs/design/mocks/world/chrome-blobs/status.html +0 -416
- package/docs/design/mocks/world/natgeo-editorial/_tokens.css +0 -377
- package/docs/design/mocks/world/natgeo-editorial/hall.html +0 -649
- package/docs/design/mocks/world/natgeo-editorial/landing-b.html +0 -743
- package/docs/design/mocks/world/natgeo-editorial/landing.html +0 -475
- package/docs/design/mocks/world/natgeo-editorial/status.html +0 -437
- package/docs/design/mocks/world/organic-cards/_tokens.css +0 -462
- package/docs/design/mocks/world/organic-cards/hall.html +0 -625
- package/docs/design/mocks/world/organic-cards/landing-b.html +0 -736
- package/docs/design/mocks/world/organic-cards/landing.html +0 -420
- package/docs/design/mocks/world/organic-cards/status.html +0 -458
- package/docs/design/mocks/world/world-sheet.html +0 -156
|
@@ -1,465 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en" data-mode="dark">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6
|
-
<title>Your projects and the manage page, in the world</title>
|
|
7
|
-
<link rel="icon" href="data:,">
|
|
8
|
-
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
9
|
-
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
10
|
-
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400&family=Manrope:wght@300;400;500;600&display=swap">
|
|
11
|
-
<link rel="stylesheet" href="../../../../modules/public-landing/public/assets/cosmos.css">
|
|
12
|
-
<style>
|
|
13
|
-
body{
|
|
14
|
-
/* The composition round for task 1003345 (docs/design/projects-hub-direction-v2.md §14). cosmos.css
|
|
15
|
-
carries the hub's contract, the planets (their crops and materials) and the fixed status
|
|
16
|
-
vocabulary; this sheet adds only the two views' composition in the world's grammar. Dark only
|
|
17
|
-
(ADR 0204). Every colour is a token. */
|
|
18
|
-
--orb-shadow:opacity(1);
|
|
19
|
-
}
|
|
20
|
-
/* ── the planet, docked on a row: the sky's object, relative instead of absolute ── */
|
|
21
|
-
.mock .worldOrb{position:relative;left:auto;top:auto;transform:none;display:block;cursor:default;}
|
|
22
|
-
.mock .worldOrb .disc{display:block;margin:0;}
|
|
23
|
-
.mock .worldOrb.ghost{opacity:.4;filter:saturate(.2);}
|
|
24
|
-
.mock .worldOrb.ashen{filter:saturate(.3) brightness(.78);}
|
|
25
|
-
.mock .worldOrb.dim{filter:saturate(.55) brightness(.92);}
|
|
26
|
-
|
|
27
|
-
/* ── the view: a column, a lowercase display title, one hairline field, hairline pills ── */
|
|
28
|
-
.view{max-width:1180px;margin:0 auto;padding:34px var(--gutter) 60px;}
|
|
29
|
-
.vHead{display:flex;align-items:baseline;gap:18px;flex-wrap:wrap;margin:0 0 6px;}
|
|
30
|
-
.vTitle{font-family:var(--font-display);font-weight:300;font-size:clamp(28px,3.4vw,44px);letter-spacing:-.035em;line-height:1.04;text-transform:lowercase;color:var(--ink);margin:0;}
|
|
31
|
-
.vCount{font-family:var(--label-face);font-size:var(--label-size);letter-spacing:var(--label-space);text-transform:uppercase;color:var(--ink-faint);}
|
|
32
|
-
.vLede{font-size:15.5px;line-height:1.5;color:var(--ink-soft);max-width:62ch;margin:0 0 22px;}
|
|
33
|
-
.hairField{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--rule);padding:10px 0;max-width:520px;}
|
|
34
|
-
.hairField svg{width:18px;height:18px;stroke:var(--ink-faint);fill:none;stroke-width:1.6;flex:none;}
|
|
35
|
-
.hairField input{flex:1;min-width:0;background:none;border:0;font-family:var(--font-body);font-size:15.5px;color:var(--ink);padding:4px 0;}
|
|
36
|
-
.hairField input::placeholder{color:var(--ink-faint);}
|
|
37
|
-
.hairField input:focus{outline:none;}
|
|
38
|
-
.hairField:focus-within{border-bottom-color:var(--ink);}
|
|
39
|
-
.hairField .count{font-family:var(--label-face);font-size:var(--label-size);letter-spacing:var(--label-space);text-transform:uppercase;color:var(--ink-faint);}
|
|
40
|
-
.toolRow{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin:16px 0 8px;}
|
|
41
|
-
.hpills{display:flex;gap:8px;flex-wrap:wrap;}
|
|
42
|
-
.hpill{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 15px;border:1px solid var(--rule);border-radius:var(--radius-pill);background:none;font-family:var(--font-body);font-size:14.5px;color:var(--ink-soft);cursor:pointer;text-transform:lowercase;}
|
|
43
|
-
.hpill:hover{border-color:var(--ink-faint);color:var(--ink);}
|
|
44
|
-
.hpill[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink);}
|
|
45
|
-
.hpill .n{font-family:var(--label-face);font-size:var(--label-size);letter-spacing:var(--label-space);}
|
|
46
|
-
.hpill:not([aria-pressed="true"]) .n{color:var(--ink-faint);}
|
|
47
|
-
|
|
48
|
-
/* ── v1 · the ledger row: planet · name and chip · the facts · the rail · the doors ── */
|
|
49
|
-
.rows{list-style:none;margin:0;padding:0;}
|
|
50
|
-
.mrow{display:grid;grid-template-columns:72px minmax(200px,1.2fr) 1.3fr minmax(230px,1fr) auto;gap:22px;align-items:center;padding:22px 0;border-top:1px solid var(--rule-soft);}
|
|
51
|
-
.rows .mrow:last-child{border-bottom:1px solid var(--rule-soft);}
|
|
52
|
-
.mrow.gone .mname{color:var(--ink-soft);}
|
|
53
|
-
.who{display:grid;gap:8px;justify-items:start;min-width:0;}
|
|
54
|
-
.who .chip{white-space:normal;line-height:1.3;}
|
|
55
|
-
.mname{font-family:var(--font-body);font-weight:500;font-size:17px;letter-spacing:-.015em;color:var(--ink);}
|
|
56
|
-
.facts{display:grid;gap:5px;min-width:0;}
|
|
57
|
-
.fact{font-family:var(--label-face);font-size:var(--label-size);letter-spacing:var(--label-space);text-transform:uppercase;color:var(--ink-faint);overflow-wrap:anywhere;}
|
|
58
|
-
.fact a,.fact code{font-family:var(--font-mono);font-size:12.5px;letter-spacing:0;text-transform:none;color:var(--ink-soft);text-decoration:none;background:none;padding:0;}
|
|
59
|
-
.fact a,.ledger .v a,.backRow a{display:inline-block;padding:3px 0;min-height:24px;line-height:18px;}
|
|
60
|
-
.fact a:hover{color:var(--ink);text-decoration:underline;}
|
|
61
|
-
.fact.err{color:var(--err);text-transform:none;letter-spacing:0;font-family:var(--font-body);font-size:13.5px;line-height:1.45;}
|
|
62
|
-
.fact.soft{color:var(--ink-soft);text-transform:none;letter-spacing:0;font-family:var(--font-body);font-size:13.5px;line-height:1.45;}
|
|
63
|
-
/* the lifecycle rail, the strip's replacement: three hairlines, a 7px dot, one lit step (DESIGN.md) */
|
|
64
|
-
.rail{display:grid;grid-template-columns:repeat(3,1fr);gap:0 10px;list-style:none;margin:0;padding:0;}
|
|
65
|
-
.rail li{position:relative;border-top:1px solid var(--rule);padding:12px 0 0;font-family:var(--label-face);font-size:var(--label-size);letter-spacing:var(--label-space);text-transform:uppercase;color:var(--ink-faint);line-height:1.3;}
|
|
66
|
-
.rail li::before{content:"";position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;border:1px solid var(--rule);background:var(--bg);}
|
|
67
|
-
.rail li.done{border-top-color:var(--ink-soft);color:var(--ink-soft);}
|
|
68
|
-
.rail li.done::before{background:var(--ink-soft);border-color:var(--ink-soft);}
|
|
69
|
-
.rail li.now{border-top-color:var(--accent);color:var(--ink);}
|
|
70
|
-
.rail li.now::before{background:var(--accent);border-color:var(--accent);outline:4px solid color-mix(in srgb,var(--accent) 22%,transparent);}
|
|
71
|
-
/* verification states keep the world's fixed vocabulary: live is green, a wind-down is neutral */
|
|
72
|
-
.rail.isLive li.done{border-top-color:var(--ok);color:var(--ok);}
|
|
73
|
-
.rail.isLive li.done::before{background:var(--ok);border-color:var(--ok);}
|
|
74
|
-
.rail.flowDown li.now{border-top-color:var(--ink-soft);color:var(--ink-soft);}
|
|
75
|
-
.rail.flowDown li.now::before{background:var(--ink-soft);border-color:var(--ink-soft);outline:none;}
|
|
76
|
-
.railNote{grid-column:1/-1;margin:8px 0 0;font-family:var(--font-body);font-size:13px;line-height:1.45;color:var(--ink-soft);}
|
|
77
|
-
.railWrap{display:grid;gap:0;}
|
|
78
|
-
/* the doors: hairline pills, the accent only on the one that acts; the ender stays on the error ink */
|
|
79
|
-
.doors{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
|
|
80
|
-
.door{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 18px;border:1px solid var(--rule);border-radius:var(--radius-pill);background:none;font-family:var(--font-body);font-size:14.5px;color:var(--ink);text-transform:lowercase;text-decoration:none;cursor:pointer;white-space:nowrap;}
|
|
81
|
-
.door:hover{border-color:var(--ink-faint);}
|
|
82
|
-
.door.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-on);font-weight:500;}
|
|
83
|
-
.door.primary:hover{background:color-mix(in srgb,var(--accent) 88%,var(--ink));}
|
|
84
|
-
.door.danger{border-color:color-mix(in srgb,var(--err) 45%,transparent);color:var(--err);}
|
|
85
|
-
.door.danger:hover{border-color:var(--err);}
|
|
86
|
-
|
|
87
|
-
/* ── the every-project table, in the ledger row's grammar (task 1003356): the
|
|
88
|
-
SAME tracks the mine row lays (72px planet, then 1.1fr 1.3fr 1fr 232px), the
|
|
89
|
-
facts as label-face lines, the module list where the mine row draws its rail,
|
|
90
|
-
and at most two doors. No header row, no cell borders: the sort left the
|
|
91
|
-
column head and became a hairline pill group, the mine view's own control. ── */
|
|
92
|
-
.tblSort{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:16px 0 8px;}
|
|
93
|
-
.tblSort .sLbl{font-family:var(--label-face);font-size:var(--label-size);letter-spacing:var(--label-space);text-transform:uppercase;color:var(--ink-faint);margin-right:6px;}
|
|
94
|
-
.tblSort .dir{font-family:var(--label-face);font-size:var(--label-size);letter-spacing:var(--label-space);}
|
|
95
|
-
.trows{list-style:none;margin:8px 0 0;padding:0;}
|
|
96
|
-
.trow{display:grid;grid-template-columns:72px minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,1fr) 232px;grid-template-areas:"orb who facts runs doors" "orb who tag runs doors";gap:0 22px;align-items:center;padding:22px 0;border-top:1px solid var(--rule-soft);}
|
|
97
|
-
.trow>.worldOrb{grid-area:orb;}
|
|
98
|
-
.trow .tWho{grid-area:who;}
|
|
99
|
-
.trow .facts{grid-area:facts;align-self:end;}
|
|
100
|
-
.trow .ptag{grid-area:tag;align-self:start;margin:5px 0 0;font-size:13.5px;font-weight:400;line-height:1.45;color:var(--ink-soft);}
|
|
101
|
-
.trow .runs{grid-area:runs;}
|
|
102
|
-
.trow .doors{grid-area:doors;}
|
|
103
|
-
.trows .trow:last-child{border-bottom:1px solid var(--rule-soft);}
|
|
104
|
-
.tWho{display:grid;gap:8px;justify-items:start;align-content:center;min-width:0;}
|
|
105
|
-
.tWho .mname{font-family:var(--font-body);font-weight:500;font-size:17px;letter-spacing:-.015em;color:var(--ink);}
|
|
106
|
-
.tWho .chip{white-space:normal;line-height:1.3;}
|
|
107
|
-
.trow .runs{display:grid;gap:6px;min-width:0;}
|
|
108
|
-
.trow .runs .rLbl{font-family:var(--label-face);font-size:var(--label-size);letter-spacing:var(--label-space);text-transform:uppercase;color:var(--ink-faint);}
|
|
109
|
-
.trow .tags{display:flex;gap:6px;flex-wrap:wrap;}
|
|
110
|
-
.trow .tags span{font-family:var(--font-mono);font-size:10.5px;padding:2px 8px;border-radius:999px;border:1px solid var(--rule);color:var(--ink-faint);white-space:nowrap;}
|
|
111
|
-
.trow .pill{display:inline-block;font-family:var(--label-face);font-size:var(--label-size);letter-spacing:var(--label-space);text-transform:uppercase;padding:3px 9px;border-radius:999px;border:1px solid var(--rule);color:var(--ink-faint);}
|
|
112
|
-
.trow .typeTag{font-family:var(--font-mono);font-size:10.5px;font-weight:500;color:var(--ink-soft);border:1px solid var(--rule);border-radius:999px;padding:2px 9px;}
|
|
113
|
-
.rowHall{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--rule);border-radius:var(--radius-pill);color:var(--ink-soft);}
|
|
114
|
-
.rowHall svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;}
|
|
115
|
-
.rowHall:hover{border-color:var(--ink-faint);color:var(--ink);}
|
|
116
|
-
|
|
117
|
-
/* ── v2 · the poster row: the planet large, the name in the display voice, the rail full width ── */
|
|
118
|
-
.prow{display:grid;grid-template-columns:132px 1fr auto;gap:0 28px;align-items:start;padding:30px 0;border-top:1px solid var(--rule-soft);}
|
|
119
|
-
.prow .pname{font-family:var(--font-display);font-weight:300;font-size:30px;letter-spacing:-.035em;line-height:1.04;text-transform:lowercase;color:var(--ink);margin:0 0 8px;}
|
|
120
|
-
.prow .facts{margin-top:10px;}
|
|
121
|
-
.prow .railWrap{grid-column:2/4;margin-top:18px;}
|
|
122
|
-
/* ── v3 · the shelf: two up, the planet above the name ── */
|
|
123
|
-
.shelf{display:grid;grid-template-columns:repeat(2,1fr);gap:0 36px;}
|
|
124
|
-
.shelfCell{display:grid;gap:12px;justify-items:start;padding:26px 0;border-top:1px solid var(--rule-soft);}
|
|
125
|
-
.shelfCell .mname{font-size:19px;}
|
|
126
|
-
|
|
127
|
-
/* ── the manage page ── */
|
|
128
|
-
.backRow{font-family:var(--label-face);font-size:var(--label-size);letter-spacing:var(--label-space);text-transform:uppercase;}
|
|
129
|
-
.backRow a{color:var(--ink-faint);text-decoration:none;}
|
|
130
|
-
.backRow a:hover{color:var(--ink);}
|
|
131
|
-
.mHead{display:grid;grid-template-columns:auto 1fr;gap:0 26px;align-items:center;padding:22px 0 8px;}
|
|
132
|
-
.mHead .titleRow{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;}
|
|
133
|
-
.ledger{display:grid;grid-template-columns:172px 1fr;gap:0 22px;margin:14px 0 0;}
|
|
134
|
-
.ledger > *{border-top:1px solid var(--rule-soft);padding:13px 0;}
|
|
135
|
-
.ledger .k{font-family:var(--label-face);font-size:var(--label-size);letter-spacing:var(--label-space);text-transform:uppercase;color:var(--ink-faint);padding-top:16px;}
|
|
136
|
-
.ledger .v{font-size:15px;line-height:1.5;color:var(--ink);}
|
|
137
|
-
.ledger .v a,.ledger .v code{font-family:var(--font-mono);font-size:13.5px;color:var(--ink-soft);text-decoration:none;background:none;padding:0;}
|
|
138
|
-
.ledger .v a:hover{color:var(--ink);text-decoration:underline;}
|
|
139
|
-
.ledger .v small{display:block;font-size:13px;color:var(--ink-soft);}
|
|
140
|
-
.mSec{border-top:1px solid var(--rule);padding:30px 0 34px;display:grid;grid-template-columns:minmax(200px,300px) 1fr;gap:0 40px;}
|
|
141
|
-
.mSec h2{font-family:var(--font-display);font-weight:300;font-size:clamp(22px,2.4vw,28px);letter-spacing:-.03em;line-height:1.08;text-transform:lowercase;color:var(--ink);margin:0 0 8px;}
|
|
142
|
-
.mSec .why{font-size:13.5px;line-height:1.5;color:var(--ink-faint);max-width:34ch;margin:0;}
|
|
143
|
-
.mSec .body{display:grid;gap:16px;align-content:start;}
|
|
144
|
-
.mSec .body p{margin:0;font-size:15px;line-height:1.5;color:var(--ink-soft);max-width:62ch;}
|
|
145
|
-
/* a choice: hairline-separated cells, the chosen one carries the dot and the ink */
|
|
146
|
-
.choice{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}
|
|
147
|
-
.choice label{display:grid;gap:6px;padding:16px 18px 18px;border-left:1px solid var(--rule-soft);cursor:pointer;color:var(--ink-soft);}
|
|
148
|
-
.choice label:first-child{border-left:0;padding-left:0;}
|
|
149
|
-
.choice .ch{display:flex;align-items:center;gap:10px;font-family:var(--font-body);font-weight:500;font-size:15px;color:var(--ink);}
|
|
150
|
-
.choice .ch::before{content:"";width:7px;height:7px;border-radius:50%;border:1px solid var(--rule);background:var(--bg);flex:none;}
|
|
151
|
-
.choice label.on .ch::before{background:var(--accent);border-color:var(--accent);outline:4px solid color-mix(in srgb,var(--accent) 22%,transparent);}
|
|
152
|
-
.choice .cb{font-size:13px;line-height:1.45;color:var(--ink-faint);}
|
|
153
|
-
.choice input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
|
|
154
|
-
.runs{font-family:var(--label-face);font-size:var(--label-size);letter-spacing:var(--label-space);text-transform:uppercase;color:var(--ink-faint);}
|
|
155
|
-
.runs b{color:var(--ok);font-weight:400;}
|
|
156
|
-
/* the planet row: the settings slot the picker takes (task 1003347) */
|
|
157
|
-
.planetRow{display:grid;grid-template-columns:96px 1fr;gap:22px;align-items:center;}
|
|
158
|
-
.swatches{display:flex;gap:10px;}
|
|
159
|
-
.sw{width:26px;height:26px;border-radius:50%;border:1px solid var(--rule);background:var(--sw);}
|
|
160
|
-
.sw.on{outline:1px solid var(--ink);outline-offset:3px;}
|
|
161
|
-
.typed{display:grid;gap:10px;max-width:440px;}
|
|
162
|
-
.typed .hairField{max-width:none;}
|
|
163
|
-
|
|
164
|
-
/* ── the empty band: the Projects band's grammar, one door ── */
|
|
165
|
-
.band{background:var(--bg-card);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:58px var(--gutter) 62px;display:grid;gap:14px;justify-items:start;}
|
|
166
|
-
.band h2{font-family:var(--font-display);font-weight:300;font-size:clamp(30px,4vw,48px);letter-spacing:-.035em;line-height:1.02;text-transform:lowercase;color:var(--ink);margin:0;max-width:16ch;}
|
|
167
|
-
.band p{margin:0 0 8px;font-size:16px;line-height:1.5;color:var(--ink-soft);max-width:52ch;}
|
|
168
|
-
|
|
169
|
-
/* ── the sheet furniture ── */
|
|
170
|
-
.sheet{padding:34px var(--gutter) 60px;max-width:1180px;margin:0 auto;}
|
|
171
|
-
.sheet h2{font-family:var(--font-display);font-weight:300;font-size:clamp(26px,3.1vw,42px);letter-spacing:-.035em;line-height:1.06;color:var(--ink);margin:0 0 6px;}
|
|
172
|
-
.sheet > p{font-size:15.5px;line-height:1.5;color:var(--ink-soft);max-width:62ch;margin:0 0 26px;}
|
|
173
|
-
.rowLabel{font-family:var(--label-face);font-size:var(--label-size);letter-spacing:var(--label-space);text-transform:uppercase;color:var(--ink-faint);padding:18px 0 12px;border-top:1px solid var(--rule-soft);margin-top:30px;}
|
|
174
|
-
section[data-state]{display:none;}
|
|
175
|
-
body[data-state="list"] section[data-state="list"],
|
|
176
|
-
body[data-state="cards"] section[data-state="cards"],
|
|
177
|
-
body[data-state="manage"] section[data-state="manage"],
|
|
178
|
-
body[data-state="empty"] section[data-state="empty"]{display:block;}
|
|
179
|
-
body[data-state="table"] section[data-state="table"]{display:block;}
|
|
180
|
-
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;}
|
|
181
|
-
.skip{position:absolute;left:12px;top:-60px;background:var(--bg-card);color:var(--ink);padding:11px 18px;border-radius:999px;}
|
|
182
|
-
.skip:focus{top:12px;}
|
|
183
|
-
.bar{height:var(--top-h);display:flex;align-items:center;padding:0 var(--gutter);border-bottom:1px solid var(--rule);font-family:var(--font-body);font-weight:500;font-size:17px;letter-spacing:-.015em;color:var(--ink);}
|
|
184
|
-
.mock .foot{padding:18px var(--gutter);font-size:14px;color:var(--ink-soft);text-align:center;}
|
|
185
|
-
a:focus-visible,button:focus-visible,label:focus-within{outline:2px solid var(--accent);outline-offset:3px;}
|
|
186
|
-
|
|
187
|
-
@media (max-width:900px){
|
|
188
|
-
.mrow{grid-template-columns:56px 1fr;gap:14px 16px;padding:20px 0;}
|
|
189
|
-
.mrow .worldOrb{--d:56px;}
|
|
190
|
-
.mrow .facts,.mrow .railWrap,.mrow .doors{grid-column:1/-1;}
|
|
191
|
-
.doors{justify-content:flex-start;}
|
|
192
|
-
.prow{grid-template-columns:88px 1fr;}
|
|
193
|
-
.prow .doors{grid-column:1/-1;justify-content:flex-start;margin-top:16px;}
|
|
194
|
-
.prow .railWrap{grid-column:1/-1;}
|
|
195
|
-
.shelf{grid-template-columns:1fr;}
|
|
196
|
-
.mHead{grid-template-columns:1fr;gap:14px;}
|
|
197
|
-
.ledger{grid-template-columns:1fr;gap:0;}
|
|
198
|
-
.ledger .k{border-top:1px solid var(--rule-soft);padding-bottom:0;}
|
|
199
|
-
.ledger .v{border-top:0;padding-top:6px;}
|
|
200
|
-
.mSec{grid-template-columns:1fr;gap:14px;}
|
|
201
|
-
.choice{grid-template-columns:1fr;}
|
|
202
|
-
.choice label{border-left:0;padding-left:0;border-top:1px solid var(--rule-soft);}
|
|
203
|
-
.choice label:first-child{border-top:0;}
|
|
204
|
-
.planetRow{grid-template-columns:72px 1fr;}
|
|
205
|
-
.trow{grid-template-columns:56px 1fr;gap:14px 16px;padding:20px 0;}
|
|
206
|
-
.trow .worldOrb{--d:56px;}
|
|
207
|
-
.trow{grid-template-areas:"orb who" "tag tag" "facts facts" "runs runs" "doors doors";}
|
|
208
|
-
}
|
|
209
|
-
</style>
|
|
210
|
-
</head>
|
|
211
|
-
<body class="mock" data-state="list">
|
|
212
|
-
<!--
|
|
213
|
-
Your projects and the manage page, the composition round (task 1003345, goal 1000080).
|
|
214
|
-
?state=list the mine view, v1 "the ledger": planet, name and chip, the facts, the rail, the doors, per row
|
|
215
|
-
?state=cards the three row treatments side by side: v1 the ledger, v2 the poster row, v3 the shelf
|
|
216
|
-
?state=manage the manage page: the ledger of facts, the rail, the doors, hairline sections, the planet slot
|
|
217
|
-
?state=empty the mine view with no projects: a band of the Projects band's grammar
|
|
218
|
-
?state=table the every-project table (task 1003356) in the SAME ledger grammar: the masthead,
|
|
219
|
-
the sort as hairline pills, one row per project on the mine row's tracks
|
|
220
|
-
-->
|
|
221
|
-
<a class="skip" href="#main">Skip to content</a>
|
|
222
|
-
<header class="bar">Cloud Bongos</header>
|
|
223
|
-
<main id="main">
|
|
224
|
-
<h1 class="vh">Your projects and the manage page</h1>
|
|
225
|
-
|
|
226
|
-
<section data-state="list">
|
|
227
|
-
<div class="view">
|
|
228
|
-
<div class="vHead"><h2 class="vTitle">your projects</h2><span class="vCount">4 projects</span></div>
|
|
229
|
-
<p class="vLede">Every project you own: what it is, whether it is answering, and the controls that matter. Each row says what the platform last verified, and when.</p>
|
|
230
|
-
<div class="toolRow">
|
|
231
|
-
<label class="hairField"><svg viewBox="0 0 24 24" aria-hidden="true"><circle cx="11" cy="11" r="7"/><path d="M20 20l-3.5-3.5"/></svg><input type="text" placeholder="Search your projects by name, repo or address" aria-label="Search your projects"><span class="count">4</span></label>
|
|
232
|
-
<div class="hpills" role="group" aria-label="Filter by state">
|
|
233
|
-
<button type="button" class="hpill" aria-pressed="true">all <span class="n">4</span></button>
|
|
234
|
-
<button type="button" class="hpill" aria-pressed="false">live <span class="n">1</span></button>
|
|
235
|
-
<button type="button" class="hpill" aria-pressed="false">needs you <span class="n">1</span></button>
|
|
236
|
-
<button type="button" class="hpill" aria-pressed="false">working <span class="n">1</span></button>
|
|
237
|
-
<button type="button" class="hpill" aria-pressed="false">torn down <span class="n">1</span></button>
|
|
238
|
-
</div>
|
|
239
|
-
</div>
|
|
240
|
-
<ul class="rows">
|
|
241
|
-
<li class="mrow">
|
|
242
|
-
<span class="worldOrb" data-shape="pair" data-material="gold" data-style="wash" style="--acc:var(--terracotta);--d:64px"><span class="disc"></span></span>
|
|
243
|
-
<div class="who"><span class="mname">demo</span><span class="chip live"><span class="cdot"></span>live <span class="rec">checked 3m ago</span></span></div>
|
|
244
|
-
<div class="facts"><span class="fact">repo <a href="#">builder/demo</a></span><span class="fact">shared server</span><span class="fact">answering at <a href="#">demo.cloudbongos.com</a></span></div>
|
|
245
|
-
<div class="railWrap"><ul class="rail isLive"><li class="done">Request filed</li><li class="done">Standing it up</li><li class="done">Live</li></ul><p class="railNote">Up and answering since 1 Aug.</p></div>
|
|
246
|
-
<div class="doors"><a class="door" href="#">open site</a><a class="door" href="#">manage</a><button type="button" class="door danger">tear it down</button></div>
|
|
247
|
-
</li>
|
|
248
|
-
<li class="mrow">
|
|
249
|
-
<span class="worldOrb dim" data-shape="blob" data-material="frost" data-style="wash" style="--acc:var(--sea);--d:64px"><span class="disc"></span></span>
|
|
250
|
-
<div class="who"><span class="mname">harbor</span><span class="chip busy"><span class="cdot"></span>standing up</span></div>
|
|
251
|
-
<div class="facts"><span class="fact">repo <a href="#">builder/harbor</a></span><span class="fact">its own server</span><span class="fact soft">No address yet. It gets one once the instance is live.</span></div>
|
|
252
|
-
<div class="railWrap"><ul class="rail"><li class="done">Request filed</li><li class="now">Standing it up</li><li>Live</li></ul><p class="railNote">The platform is building it. This page updates on its own.</p></div>
|
|
253
|
-
<div class="doors"><a class="door" href="#">manage</a><button type="button" class="door danger">tear it down</button></div>
|
|
254
|
-
</li>
|
|
255
|
-
<li class="mrow">
|
|
256
|
-
<span class="worldOrb ashen" data-shape="bead" data-material="obsidian" data-style="tint" style="--acc:var(--gold-soft);--d:64px"><span class="disc"></span></span>
|
|
257
|
-
<div class="who"><span class="mname">tidepool</span><span class="chip bad"><span class="cdot"></span>snagged <span class="rec">since 28 Aug</span></span></div>
|
|
258
|
-
<div class="facts"><span class="fact">repo <a href="#">builder/tidepool</a></span><span class="fact">shared server, adopted repo</span><span class="fact err">The deploy could not read the repository: it is private, and the deploy key only reads public ones.</span></div>
|
|
259
|
-
<div class="railWrap"><ul class="rail"><li class="done">Request filed</li><li class="now">Standing it up</li><li>Live</li></ul><p class="railNote">Stopped here. Fix the cause, then try again.</p></div>
|
|
260
|
-
<div class="doors"><a class="door" href="#">manage</a><button type="button" class="door primary">try again</button><button type="button" class="door danger">tear it down</button></div>
|
|
261
|
-
</li>
|
|
262
|
-
<li class="mrow gone">
|
|
263
|
-
<span class="worldOrb ghost" data-shape="blob" data-material="chrome" data-style="tint" style="--acc:var(--sun-lit);--d:64px"><span class="disc"></span></span>
|
|
264
|
-
<div class="who"><span class="mname">old-lantern</span><span class="chip calm"><span class="cdot"></span>torn down <span class="rec">15 Aug</span></span></div>
|
|
265
|
-
<div class="facts"><span class="fact">repo <a href="#">builder/old-lantern</a></span><span class="fact">shared server</span><span class="fact soft">Its address, <code>old-lantern.cloudbongos.com</code>, stays reserved for this project.</span></div>
|
|
266
|
-
<div class="railWrap"><ul class="rail flowDown"><li class="done">Teardown queued</li><li class="done">Winding down</li><li class="now">Torn down</li></ul><p class="railNote">The repository is still yours, and its database is kept. Bringing it back takes one click.</p></div>
|
|
267
|
-
<div class="doors"><a class="door" href="#">manage</a><button type="button" class="door primary">bring it back</button></div>
|
|
268
|
-
</li>
|
|
269
|
-
</ul>
|
|
270
|
-
</div>
|
|
271
|
-
</section>
|
|
272
|
-
|
|
273
|
-
<section data-state="cards" class="sheet">
|
|
274
|
-
<h2>Three rows, one project</h2>
|
|
275
|
-
<p>The same live project in the three treatments. v1 keeps the row to the height of its planet and lines the facts up as a ledger; v2 gives the name the display voice and the rail the full width; v3 puts two projects side by side under their planets.</p>
|
|
276
|
-
<div class="rowLabel">v1, the ledger row (the list above)</div>
|
|
277
|
-
<ul class="rows">
|
|
278
|
-
<li class="mrow">
|
|
279
|
-
<span class="worldOrb" data-shape="pair" data-material="gold" data-style="wash" style="--acc:var(--terracotta);--d:64px"><span class="disc"></span></span>
|
|
280
|
-
<div class="who"><span class="mname">demo</span><span class="chip live"><span class="cdot"></span>live <span class="rec">checked 3m ago</span></span></div>
|
|
281
|
-
<div class="facts"><span class="fact">repo <a href="#">builder/demo</a></span><span class="fact">shared server</span><span class="fact">answering at <a href="#">demo.cloudbongos.com</a></span></div>
|
|
282
|
-
<div class="railWrap"><ul class="rail isLive"><li class="done">Request filed</li><li class="done">Standing it up</li><li class="done">Live</li></ul><p class="railNote">Up and answering since 1 Aug.</p></div>
|
|
283
|
-
<div class="doors"><a class="door" href="#">open site</a><a class="door" href="#">manage</a><button type="button" class="door danger">tear it down</button></div>
|
|
284
|
-
</li>
|
|
285
|
-
</ul>
|
|
286
|
-
<div class="rowLabel">v2, the poster row</div>
|
|
287
|
-
<div class="prow">
|
|
288
|
-
<span class="worldOrb" data-shape="pair" data-material="gold" data-style="wash" style="--acc:var(--terracotta);--d:112px"><span class="disc"></span></span>
|
|
289
|
-
<div>
|
|
290
|
-
<h3 class="pname">demo</h3>
|
|
291
|
-
<span class="chip live"><span class="cdot"></span>live <span class="rec">checked 3m ago</span></span>
|
|
292
|
-
<div class="facts"><span class="fact">repo <a href="#">builder/demo</a>, shared server</span><span class="fact">answering at <a href="#">demo.cloudbongos.com</a></span></div>
|
|
293
|
-
</div>
|
|
294
|
-
<div class="doors"><a class="door" href="#">open site</a><a class="door" href="#">manage</a><button type="button" class="door danger">tear it down</button></div>
|
|
295
|
-
<div class="railWrap"><ul class="rail isLive"><li class="done">Request filed</li><li class="done">Standing it up</li><li class="done">Live</li></ul><p class="railNote">Up and answering since 1 Aug.</p></div>
|
|
296
|
-
</div>
|
|
297
|
-
<div class="rowLabel">v3, the shelf</div>
|
|
298
|
-
<div class="shelf">
|
|
299
|
-
<div class="shelfCell">
|
|
300
|
-
<span class="worldOrb" data-shape="pair" data-material="gold" data-style="wash" style="--acc:var(--terracotta);--d:88px"><span class="disc"></span></span>
|
|
301
|
-
<span class="mname">demo</span>
|
|
302
|
-
<span class="chip live"><span class="cdot"></span>live <span class="rec">checked 3m ago</span></span>
|
|
303
|
-
<div class="facts"><span class="fact">repo <a href="#">builder/demo</a>, shared server</span><span class="fact">answering at <a href="#">demo.cloudbongos.com</a></span></div>
|
|
304
|
-
<div class="doors"><a class="door" href="#">open site</a><a class="door" href="#">manage</a></div>
|
|
305
|
-
</div>
|
|
306
|
-
<div class="shelfCell">
|
|
307
|
-
<span class="worldOrb dim" data-shape="blob" data-material="frost" data-style="wash" style="--acc:var(--sea);--d:88px"><span class="disc"></span></span>
|
|
308
|
-
<span class="mname">harbor</span>
|
|
309
|
-
<span class="chip busy"><span class="cdot"></span>standing up</span>
|
|
310
|
-
<div class="facts"><span class="fact">repo <a href="#">builder/harbor</a>, its own server</span><span class="fact soft">No address yet.</span></div>
|
|
311
|
-
<div class="doors"><a class="door" href="#">manage</a></div>
|
|
312
|
-
</div>
|
|
313
|
-
</div>
|
|
314
|
-
</section>
|
|
315
|
-
|
|
316
|
-
<section data-state="manage">
|
|
317
|
-
<div class="view">
|
|
318
|
-
<p class="backRow"><a href="#">your projects</a></p>
|
|
319
|
-
<div class="mHead">
|
|
320
|
-
<span class="worldOrb" data-shape="pair" data-material="gold" data-style="wash" style="--acc:var(--terracotta);--d:96px"><span class="disc"></span></span>
|
|
321
|
-
<div>
|
|
322
|
-
<div class="titleRow"><h2 class="vTitle">demo</h2><span class="chip live"><span class="cdot"></span>live <span class="rec">checked 3m ago</span></span></div>
|
|
323
|
-
<p class="vLede" style="margin:8px 0 0">Its address, its repository, what the platform last verified about it, and the controls you have today.</p>
|
|
324
|
-
</div>
|
|
325
|
-
</div>
|
|
326
|
-
<div class="ledger">
|
|
327
|
-
<span class="k">repository</span><span class="v"><a href="#">builder/demo</a></span>
|
|
328
|
-
<span class="k">server</span><span class="v">shared server</span>
|
|
329
|
-
<span class="k">address</span><span class="v">Answering at <a href="#">demo.cloudbongos.com</a><small>last answered 3 minutes ago</small></span>
|
|
330
|
-
<span class="k">created</span><span class="v">1 Aug 2026</span>
|
|
331
|
-
<span class="k">planet</span><span class="v">the bongo pair in brushed gold, washed terracotta<small>chosen by the walk. Pick your own below.</small></span>
|
|
332
|
-
</div>
|
|
333
|
-
<div class="railWrap" style="margin:22px 0 0;max-width:520px"><ul class="rail isLive"><li class="done">Request filed</li><li class="done">Standing it up</li><li class="done">Live</li></ul><p class="railNote">Up and answering since 1 Aug.</p></div>
|
|
334
|
-
<div class="doors" style="justify-content:flex-start;margin:22px 0 34px"><a class="door" href="#">open site</a><button type="button" class="door">restart it</button></div>
|
|
335
|
-
|
|
336
|
-
<div class="mSec">
|
|
337
|
-
<div><h2>repository visibility</h2><p class="why">Read from GitHub with your own credential. Public today; the private direction waits for the private-repo deploy fix.</p></div>
|
|
338
|
-
<div class="body">
|
|
339
|
-
<div class="choice">
|
|
340
|
-
<label class="on"><span class="ch">Public</span><span class="cb">Anyone can read the code on GitHub.</span></label>
|
|
341
|
-
<label><span class="ch">Private</span><span class="cb">Not yet: the deploy key only reads public repositories.</span></label>
|
|
342
|
-
</div>
|
|
343
|
-
</div>
|
|
344
|
-
</div>
|
|
345
|
-
<div class="mSec">
|
|
346
|
-
<div><h2>who can see it</h2><p class="why">The platform's request. What the project runs is read back from its own manifest.</p></div>
|
|
347
|
-
<div class="body">
|
|
348
|
-
<div class="choice">
|
|
349
|
-
<label class="on"><span class="ch">Everyone</span><span class="cb">Anyone can open this project's pages. Signing in is only needed to take part.</span></label>
|
|
350
|
-
<label><span class="ch">Only signed-in members</span><span class="cb">Visitors meet a sign-in door first. The project's pages open only to people signed in to it.</span></label>
|
|
351
|
-
</div>
|
|
352
|
-
<p class="runs">runs <b>everyone</b>, read from the project 2m ago</p>
|
|
353
|
-
</div>
|
|
354
|
-
</div>
|
|
355
|
-
<div class="mSec">
|
|
356
|
-
<div><h2>how people join</h2><p class="why">The membership door. A change reaches the live project by the restart the runner performs.</p></div>
|
|
357
|
-
<div class="body">
|
|
358
|
-
<div class="choice">
|
|
359
|
-
<label class="on"><span class="ch">Anyone can join</span><span class="cb">Whoever signs in with GitHub becomes a member right away, at the newcomer rank.</span></label>
|
|
360
|
-
<label><span class="ch">Apply to join</span><span class="cb">People ask to join from the project's hall; you approve each one, then they sign in.</span></label>
|
|
361
|
-
<label><span class="ch">Invite only</span><span class="cb">No one can apply. You invite people by GitHub username from the hall.</span></label>
|
|
362
|
-
</div>
|
|
363
|
-
<p class="runs">runs <b>anyone can join</b>, read from the project 2m ago</p>
|
|
364
|
-
</div>
|
|
365
|
-
</div>
|
|
366
|
-
<div class="mSec">
|
|
367
|
-
<div><h2>its planet</h2><p class="why">How this project shows on the sky, in your list and on its card. The choice lands here next (task 1003347).</p></div>
|
|
368
|
-
<div class="body">
|
|
369
|
-
<div class="planetRow">
|
|
370
|
-
<span class="worldOrb" data-shape="pair" data-material="gold" data-style="wash" style="--acc:var(--terracotta);--d:88px"><span class="disc"></span></span>
|
|
371
|
-
<div class="typed">
|
|
372
|
-
<span class="fact">material: brushed gold, washed</span>
|
|
373
|
-
<div class="swatches" aria-label="Colour"><span class="sw" style="--sw:var(--sea)"></span><span class="sw on" style="--sw:var(--terracotta)"></span><span class="sw" style="--sw:var(--gold-soft)"></span><span class="sw" style="--sw:var(--sun-lit)"></span><span class="sw" style="--sw:var(--accent)"></span></div>
|
|
374
|
-
<p style="margin:0;font-size:13.5px;color:var(--ink-faint)">Material, style and colour, and the card's backdrop, become your own choice here.</p>
|
|
375
|
-
</div>
|
|
376
|
-
</div>
|
|
377
|
-
</div>
|
|
378
|
-
</div>
|
|
379
|
-
<div class="mSec">
|
|
380
|
-
<div><h2>take it offline</h2><p class="why">Stops the server and its nightly backups. It stays in your list, marked torn down, and the repository is untouched.</p></div>
|
|
381
|
-
<div class="body">
|
|
382
|
-
<div class="typed">
|
|
383
|
-
<label class="hairField"><input type="text" placeholder="Type the project's name to confirm" aria-label="Type the project's name to confirm"></label>
|
|
384
|
-
<div class="doors" style="justify-content:flex-start"><button type="button" class="door danger">tear it down</button></div>
|
|
385
|
-
</div>
|
|
386
|
-
</div>
|
|
387
|
-
</div>
|
|
388
|
-
</div>
|
|
389
|
-
</section>
|
|
390
|
-
|
|
391
|
-
<section data-state="table">
|
|
392
|
-
<div class="view">
|
|
393
|
-
<div class="tblMast">
|
|
394
|
-
<h2 class="tblTitle">every project</h2>
|
|
395
|
-
<span class="mastObj" aria-hidden="true"></span>
|
|
396
|
-
</div>
|
|
397
|
-
<div class="tblSort" role="group" aria-label="Sort the projects">
|
|
398
|
-
<span class="sLbl">sort</span>
|
|
399
|
-
<button type="button" class="hpill" aria-pressed="true">name <span class="dir">a to z</span></button>
|
|
400
|
-
<button type="button" class="hpill" aria-pressed="false">builders</button>
|
|
401
|
-
</div>
|
|
402
|
-
<ul class="trows">
|
|
403
|
-
<li class="trow">
|
|
404
|
-
<span class="worldOrb" data-shape="pair" data-material="chrome" data-style="plain" style="--acc:var(--accent);--d:64px"><span class="disc"></span></span>
|
|
405
|
-
<div class="tWho"><span class="mname">Cloud Bongos</span><span class="pill">this platform</span><span class="chip calm"><span class="cdot"></span>not checked</span></div>
|
|
406
|
-
<span class="ptag">the AI-first build platform this map is drawn on.</span><div class="facts"><span class="fact">9 builders</span><span class="fact">30+ shipped in 30 days</span><span class="fact">listed 12 jul 2026</span></div>
|
|
407
|
-
<div class="runs"><span class="rLbl">runs</span><span class="tags"><span>core</span></span></div>
|
|
408
|
-
<div class="doors"><a class="door" href="#">view</a><a class="rowHall" href="#" aria-label="Builders' hall" title="Builders' hall"><svg viewBox="0 0 20 20" aria-hidden="true"><path d="M2.8 7.4 10 3.5l7.2 3.9"/><path d="M5.2 8.8v5.6M10 8.8v5.6M14.8 8.8v5.6"/><path d="M3.4 16.3h13.2"/></svg></a></div>
|
|
409
|
-
</li>
|
|
410
|
-
<li class="trow">
|
|
411
|
-
<span class="worldOrb" data-shape="bead" data-material="chrome" data-style="wash" style="--acc:var(--terracotta);--d:64px"><span class="disc"></span></span>
|
|
412
|
-
<div class="tWho"><span class="mname">Off the Boats</span><span class="pill">you build here</span><span class="chip calm"><span class="cdot"></span>not checked</span></div>
|
|
413
|
-
<span class="ptag">A singular shop, and a broader videogame in a persistent ancient Greek world.</span><div class="facts"><span class="fact"><span class="typeTag">Game</span></span><span class="fact">11 builders</span><span class="fact">0 shipped in 30 days</span><span class="fact">listed 15 jul 2026</span></div>
|
|
414
|
-
<div class="runs"><span class="rLbl">runs</span><span class="tags"><span>art-pipeline</span><span>character-anim</span><span>demo</span><span>+1</span></span></div>
|
|
415
|
-
<div class="doors"><a class="door" href="#">view</a><a class="rowHall" href="#" aria-label="Builders' hall" title="Builders' hall"><svg viewBox="0 0 20 20" aria-hidden="true"><path d="M2.8 7.4 10 3.5l7.2 3.9"/><path d="M5.2 8.8v5.6M10 8.8v5.6M14.8 8.8v5.6"/><path d="M3.4 16.3h13.2"/></svg></a></div>
|
|
416
|
-
</li>
|
|
417
|
-
<li class="trow">
|
|
418
|
-
<span class="worldOrb" data-shape="pair" data-material="obsidian" data-style="tint" style="--acc:var(--sea);--d:64px"><span class="disc"></span></span>
|
|
419
|
-
<div class="tWho"><span class="mname">Demo</span><span class="pill">yours</span><span class="chip live"><span class="cdot"></span>live <span class="rec">checked 3m ago</span></span></div>
|
|
420
|
-
<span class="ptag">A live demo instance on Cloud Bongos.</span><div class="facts"><span class="fact">type not declared</span><span class="fact">builders not known</span><span class="fact">listed 14 jul 2026</span></div>
|
|
421
|
-
<div class="runs"><span class="rLbl">runs</span><span class="fact">not known</span></div>
|
|
422
|
-
<div class="doors"><a class="door" href="#">view</a></div>
|
|
423
|
-
</li>
|
|
424
|
-
<li class="trow">
|
|
425
|
-
<span class="worldOrb" data-shape="blob" data-material="frost" data-style="wash" style="--acc:var(--gold-soft);--d:64px"><span class="disc"></span></span>
|
|
426
|
-
<div class="tWho"><span class="mname">Emersonian Circles</span><span class="chip calm"><span class="cdot"></span>not checked</span></div>
|
|
427
|
-
<span class="ptag">An independent project built on Cloud Bongos.</span><div class="facts"><span class="fact">type not declared</span><span class="fact">1 builder</span><span class="fact">30+ shipped in 30 days</span><span class="fact">listed 25 jul 2026</span></div>
|
|
428
|
-
<div class="runs"><span class="rLbl">runs</span><span class="tags"><span>core</span></span></div>
|
|
429
|
-
<div class="doors"><a class="door" href="#">view</a></div>
|
|
430
|
-
</li>
|
|
431
|
-
<li class="trow">
|
|
432
|
-
<span class="worldOrb" data-shape="blob" data-material="chrome" data-style="tint" style="--acc:var(--sun-lit);--d:64px"><span class="disc"></span></span>
|
|
433
|
-
<div class="tWho"><span class="mname">Tidewater</span><span class="chip calm"><span class="cdot"></span>not checked</span></div>
|
|
434
|
-
<span class="ptag">A project that has declared nothing yet.</span><div class="facts"><span class="fact">type not declared</span><span class="fact">builders not known</span><span class="fact">listed 20 jul 2026</span></div>
|
|
435
|
-
<div class="runs"><span class="rLbl">runs</span><span class="fact">not known</span></div>
|
|
436
|
-
<div class="doors"><a class="door" href="#">view</a></div>
|
|
437
|
-
</li>
|
|
438
|
-
</ul>
|
|
439
|
-
<p class="vLede" role="status" style="margin-top:22px">Sorted by name, A to Z.</p>
|
|
440
|
-
</div>
|
|
441
|
-
</section>
|
|
442
|
-
|
|
443
|
-
<section data-state="empty">
|
|
444
|
-
<div class="view">
|
|
445
|
-
<div class="vHead"><h2 class="vTitle">your projects</h2></div>
|
|
446
|
-
</div>
|
|
447
|
-
<div class="band">
|
|
448
|
-
<h2>nothing of yours in this sky yet</h2>
|
|
449
|
-
<p>Name a project, pick a home for its code, and it gets an address of its own here. It shows up in this list the moment you file it.</p>
|
|
450
|
-
<a class="door primary" href="#">create your first project</a>
|
|
451
|
-
</div>
|
|
452
|
-
</section>
|
|
453
|
-
</main>
|
|
454
|
-
<footer class="foot">A composition sheet for task 1003345. Nothing here is served.</footer>
|
|
455
|
-
<script>
|
|
456
|
-
/* The mock's state contract: read ?state= once, apply one state (list | cards | manage | empty).
|
|
457
|
-
No motion in script; nothing is built here. */
|
|
458
|
-
(function () {
|
|
459
|
-
var state = new URLSearchParams(location.search || location.hash.slice(1) || (window.__Q || '')).get('state') || 'list';
|
|
460
|
-
if (['list', 'cards', 'manage', 'empty', 'table'].indexOf(state) === -1) state = 'list';
|
|
461
|
-
document.body.setAttribute('data-state', state);
|
|
462
|
-
})();
|
|
463
|
-
</script>
|
|
464
|
-
</body>
|
|
465
|
-
</html>
|