projectkeeper 0.0.0-stage → 1.0.0
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/CHANGELOG.md +56 -0
- package/LICENSE +21 -0
- package/README.md +283 -2
- package/README.zh-CN.md +285 -0
- package/THIRD_PARTY_NOTICES.md +53 -0
- package/bin/pk.mjs +6 -0
- package/bin/postinstall.mjs +5 -0
- package/bin/strip-types.mjs +28 -0
- package/package.json +68 -4
- package/patches/README.md +111 -0
- package/patches/pi-ai-0.85.0.ts +122 -0
- package/patches/pi-ai-0.87.1.ts +122 -0
- package/scripts/apply-pi-streaming-patch.ts +86 -0
- package/skills/clerk/coverage/SKILL.md +35 -0
- package/skills/clerk/cross-check/SKILL.md +118 -0
- package/skills/clerk/deepen-dispatch/SKILL.md +69 -0
- package/skills/clerk/lane-follow-up/SKILL.md +94 -0
- package/skills/clerk/lane-plan/SKILL.md +107 -0
- package/skills/clerk/lane-slot/SKILL.md +113 -0
- package/skills/clerk/lane-topic/SKILL.md +116 -0
- package/skills/clerk/orientation/SKILL.md +160 -0
- package/skills/clerk/reconcile/SKILL.md +77 -0
- package/skills/clerk/skeleton-dispatch/SKILL.md +43 -0
- package/skills/clerk/spot-check/SKILL.md +52 -0
- package/skills/clerk/synthesis/SKILL.md +65 -0
- package/skills/table-follow-up/SKILL.md +42 -0
- package/src/cli.ts +319 -0
- package/src/codemap/README.md +13 -0
- package/src/codemap/engines.ts +102 -0
- package/src/codemap/facts.ts +504 -0
- package/src/context/agent-entry.ts +232 -0
- package/src/context/ask.ts +97 -0
- package/src/context/assemble.ts +1058 -0
- package/src/context/code-source.ts +103 -0
- package/src/context/k-briefs.ts +114 -0
- package/src/context/lineage.ts +100 -0
- package/src/context/object-brief.ts +300 -0
- package/src/context/owner-words.ts +191 -0
- package/src/context/pack-fixture.ts +342 -0
- package/src/context/project-rules.ts +160 -0
- package/src/intake/intake.ts +392 -0
- package/src/intake/material-rules.ts +166 -0
- package/src/intake/removal.ts +316 -0
- package/src/intake/skipped.ts +72 -0
- package/src/keeper/adjustment.ts +565 -0
- package/src/keeper/bounds/boundary.ts +509 -0
- package/src/keeper/bounds/command.ts +1665 -0
- package/src/keeper/bounds/paths.ts +164 -0
- package/src/keeper/bounds/reads.ts +718 -0
- package/src/keeper/bounds/shell-write-guard.ts +521 -0
- package/src/keeper/capabilities.ts +136 -0
- package/src/keeper/clerk-steps.ts +151 -0
- package/src/keeper/clerk-tools.ts +1424 -0
- package/src/keeper/conversation.ts +253 -0
- package/src/keeper/evidence.ts +662 -0
- package/src/keeper/fake-provider.ts +132 -0
- package/src/keeper/held.ts +15 -0
- package/src/keeper/history-tools.ts +163 -0
- package/src/keeper/jobs/answering.ts +53 -0
- package/src/keeper/key-check.ts +105 -0
- package/src/keeper/ledger-tools.ts +295 -0
- package/src/keeper/link-check.ts +185 -0
- package/src/keeper/merge.ts +260 -0
- package/src/keeper/note-origin.ts +56 -0
- package/src/keeper/numbers-check.ts +102 -0
- package/src/keeper/open-in-pi.ts +57 -0
- package/src/keeper/organize/absence.ts +266 -0
- package/src/keeper/organize/carried-on.ts +214 -0
- package/src/keeper/organize/clerk-coverage.ts +293 -0
- package/src/keeper/organize/clerk-prompts.ts +132 -0
- package/src/keeper/organize/clerk.ts +1395 -0
- package/src/keeper/organize/coverage-gate.ts +19 -0
- package/src/keeper/organize/coverage-tools.ts +765 -0
- package/src/keeper/organize/entries.ts +153 -0
- package/src/keeper/organize/entry-gate.ts +289 -0
- package/src/keeper/organize/fill-tools.ts +718 -0
- package/src/keeper/organize/follow-up.ts +280 -0
- package/src/keeper/organize/generation-check.ts +504 -0
- package/src/keeper/organize/graph.ts +230 -0
- package/src/keeper/organize/lane-tools.ts +289 -0
- package/src/keeper/organize/looked-tools.ts +54 -0
- package/src/keeper/organize/materials.ts +243 -0
- package/src/keeper/organize/owner-lines.ts +493 -0
- package/src/keeper/organize/place-tools.ts +216 -0
- package/src/keeper/organize/placement-inference.ts +1045 -0
- package/src/keeper/organize/placement-time.ts +320 -0
- package/src/keeper/organize/placing.ts +821 -0
- package/src/keeper/organize/positioning.ts +33 -0
- package/src/keeper/organize/readiness.ts +47 -0
- package/src/keeper/organize/reading.ts +401 -0
- package/src/keeper/organize/round-blocks.ts +65 -0
- package/src/keeper/organize/round-news.ts +164 -0
- package/src/keeper/organize/round-open.ts +586 -0
- package/src/keeper/organize/schedule-state.ts +39 -0
- package/src/keeper/organize/schedule.ts +137 -0
- package/src/keeper/organize/service.ts +409 -0
- package/src/keeper/organize/skills.ts +116 -0
- package/src/keeper/organize/slots.ts +85 -0
- package/src/keeper/organize/stage-gate.ts +175 -0
- package/src/keeper/organize/stage-tools.ts +471 -0
- package/src/keeper/organize/standing-notes.ts +141 -0
- package/src/keeper/organize/table-follow-up.ts +330 -0
- package/src/keeper/organize/takeover-clerk.ts +832 -0
- package/src/keeper/organize/takeover-state.ts +103 -0
- package/src/keeper/organize/takeover.ts +216 -0
- package/src/keeper/organize/update-pending.ts +535 -0
- package/src/keeper/organize/workbench-placement.ts +92 -0
- package/src/keeper/own-keys.ts +114 -0
- package/src/keeper/owner-text.ts +165 -0
- package/src/keeper/project-folder.ts +334 -0
- package/src/keeper/prompts.ts +101 -0
- package/src/keeper/references.ts +177 -0
- package/src/keeper/relook/compose.ts +120 -0
- package/src/keeper/relook/prompts.ts +36 -0
- package/src/keeper/roles.ts +259 -0
- package/src/keeper/round-tools.ts +227 -0
- package/src/keeper/route.ts +148 -0
- package/src/keeper/rules.ts +97 -0
- package/src/keeper/runtime.ts +1858 -0
- package/src/keeper/scope-tools.ts +194 -0
- package/src/keeper/sendback-text.ts +83 -0
- package/src/keeper/step-timing.ts +207 -0
- package/src/keeper/testing/clerk-script.ts +212 -0
- package/src/keeper/testing/streaming-arguments.ts +57 -0
- package/src/keeper/tools.ts +2340 -0
- package/src/keeper/utterance-tools.ts +64 -0
- package/src/keeper/verbatim.ts +397 -0
- package/src/ledger/adapters.ts +186 -0
- package/src/ledger/arrangements.ts +257 -0
- package/src/ledger/blame.ts +58 -0
- package/src/ledger/code-engine-child.ts +69 -0
- package/src/ledger/code-engine.ts +548 -0
- package/src/ledger/code.ts +607 -0
- package/src/ledger/docs.ts +294 -0
- package/src/ledger/git-read.ts +321 -0
- package/src/ledger/index.ts +1850 -0
- package/src/ledger/item-range.ts +16 -0
- package/src/ledger/lines.ts +328 -0
- package/src/ledger/numbering.ts +269 -0
- package/src/ledger/ranges.ts +74 -0
- package/src/ledger/rebuild-worker.ts +15 -0
- package/src/ledger/rebuild.ts +387 -0
- package/src/ledger/repo-scan.ts +181 -0
- package/src/ledger/schema.ts +450 -0
- package/src/ledger/sessions.ts +134 -0
- package/src/ledger/text-scan.ts +466 -0
- package/src/ledger/time.ts +185 -0
- package/src/ledger/ts-symbols.ts +180 -0
- package/src/ledger/views.ts +377 -0
- package/src/mcp/server.ts +127 -0
- package/src/mcp/tools.ts +187 -0
- package/src/model/ids.ts +23 -0
- package/src/model/k-types.ts +912 -0
- package/src/model/time.ts +85 -0
- package/src/model/types.ts +1382 -0
- package/src/model/views-k.ts +707 -0
- package/src/model/vocab.ts +269 -0
- package/src/process/analysis.ts +79 -0
- package/src/process/breakpoint-candidates.ts +383 -0
- package/src/process/breakpoints.ts +746 -0
- package/src/process/claim-check.ts +295 -0
- package/src/process/delivery-links.ts +52 -0
- package/src/process/facts.ts +487 -0
- package/src/process/generations.ts +138 -0
- package/src/process/index.ts +243 -0
- package/src/process/integration.ts +128 -0
- package/src/process/placement.ts +107 -0
- package/src/process/plan.ts +276 -0
- package/src/process/sendbacks.ts +244 -0
- package/src/process/text.ts +185 -0
- package/src/process/units.ts +543 -0
- package/src/process/unnumbered.ts +431 -0
- package/src/process/work.ts +884 -0
- package/src/scope/candidates.ts +86 -0
- package/src/scope/decisions.ts +229 -0
- package/src/scope/discover.ts +741 -0
- package/src/scope/ignore.ts +126 -0
- package/src/scope/ignored-place.ts +93 -0
- package/src/scope/skip.ts +161 -0
- package/src/scope/toolchain.ts +180 -0
- package/src/scope/worktree.ts +187 -0
- package/src/server/api.ts +549 -0
- package/src/server/app.ts +595 -0
- package/src/server/drafts-api.ts +170 -0
- package/src/server/folders-api.ts +243 -0
- package/src/server/graph-view.ts +639 -0
- package/src/server/http.ts +224 -0
- package/src/server/k-agent-api.ts +56 -0
- package/src/server/k-rounds-d99.ts +91 -0
- package/src/server/k-views.ts +405 -0
- package/src/server/keeper-page.ts +446 -0
- package/src/server/keys-api.ts +239 -0
- package/src/server/project-folder-api.ts +104 -0
- package/src/server/vendor.ts +14 -0
- package/src/server/workbench-content.ts +561 -0
- package/src/sources/anchor.ts +129 -0
- package/src/sources/files.ts +267 -0
- package/src/sources/gitobs.ts +41 -0
- package/src/sources/history.ts +231 -0
- package/src/sources/scan-worker.ts +10 -0
- package/src/sources/sessions/locate.ts +292 -0
- package/src/sources/sessions/read.ts +346 -0
- package/src/sources/sessions/scope.ts +42 -0
- package/src/sources/sessions/utterances.ts +223 -0
- package/src/sources/watch.ts +215 -0
- package/src/store/json-file.ts +50 -0
- package/src/store/paths.ts +39 -0
- package/src/store/project-store.ts +295 -0
- package/src/store/versions.ts +172 -0
- package/src/store/workspace.ts +216 -0
- package/src/table/check.ts +333 -0
- package/src/table/follow-up-tools.ts +30 -0
- package/src/table/follow-up.ts +344 -0
- package/src/table/import.ts +610 -0
- package/src/table/project-home.ts +61 -0
- package/src/table/sessions.ts +168 -0
- package/src/table/takeover.ts +483 -0
- package/src/util/git-check.ts +29 -0
- package/src/util/git.ts +411 -0
- package/src/util/own-ts.ts +15 -0
- package/src/util/paths.ts +225 -0
- package/template/FILLING-IN.md +148 -0
- package/template/examples/papertrail.json +747 -0
- package/template/projectkeeper.schema.json +1001 -0
- package/ui/app.js +1135 -0
- package/ui/failures.js +82 -0
- package/ui/flyout.js +120 -0
- package/ui/folder-chooser.js +264 -0
- package/ui/glossary.js +156 -0
- package/ui/graph-fit.js +157 -0
- package/ui/graph-material.js +61 -0
- package/ui/graph-palette.js +109 -0
- package/ui/graph-tools.js +62 -0
- package/ui/graph.js +1712 -0
- package/ui/index.html +31 -0
- package/ui/k/code-view.js +230 -0
- package/ui/k/draft-view.js +93 -0
- package/ui/k/k-views.css +224 -0
- package/ui/k/round-tree.js +450 -0
- package/ui/k/scope-k.js +159 -0
- package/ui/k-data.js +118 -0
- package/ui/k-fold.js +106 -0
- package/ui/k-process.css +302 -0
- package/ui/k-process.js +934 -0
- package/ui/keeper-activity.js +175 -0
- package/ui/keeper-view.js +801 -0
- package/ui/keeper.css +101 -0
- package/ui/key-order.js +62 -0
- package/ui/list-fold.js +67 -0
- package/ui/markdown.d.ts +21 -0
- package/ui/markdown.js +472 -0
- package/ui/placement.d.ts +92 -0
- package/ui/placement.js +445 -0
- package/ui/popover-place.d.ts +16 -0
- package/ui/popover-place.js +89 -0
- package/ui/popover.js +198 -0
- package/ui/project-folder.js +37 -0
- package/ui/shell-state.js +40 -0
- package/ui/strip-rows.js +171 -0
- package/ui/styles.css +492 -0
- package/ui/theme-pick.js +36 -0
- package/ui/theme.js +74 -0
- package/ui/themes/LICENSE.md +13 -0
- package/ui/themes/README.md +44 -0
- package/ui/themes/TOKENS.md +291 -0
- package/ui/themes/a1/board.css +1557 -0
- package/ui/themes/a1/pk.css +392 -0
- package/ui/themes/b1/board.css +1163 -0
- package/ui/themes/b1/pk.css +218 -0
- package/ui/themes/d2/board.css +518 -0
- package/ui/themes/d2/pk.css +243 -0
- package/ui/themes/guard.css +73 -0
- package/ui/themes/i1/board.css +776 -0
- package/ui/themes/i1/pk.css +223 -0
- package/ui/themes/manifest.json +13 -0
- package/ui/views.js +2796 -0
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
/* ───────────────────────────────────────────────────────────────────
|
|
2
|
+
* i1 · Task Console — ProjectKeeper's layer (Spec §6.16; CKC-09 AC-41; the UI line's V3)
|
|
3
|
+
*
|
|
4
|
+
* board.css beside this file is the owner's, frozen: not a byte of it changes. This file is loaded after it and gives
|
|
5
|
+
* every `--pk-*` token of ui/styles.css (the contract in ../TOKENS.md) a value the board already has — its tokens where
|
|
6
|
+
* they exist, its own literals where they do not — and then the parts the board never had (a segmented control, a
|
|
7
|
+
* conversation, a graph). No colour, shadow or radius that is not in board.css. The whole file can be taken away and
|
|
8
|
+
* the factory look is back.
|
|
9
|
+
*
|
|
10
|
+
* The master (WorkflowKeeper's D87): everything is made after i1's card — the machined panel: chamfer + brushed
|
|
11
|
+
* hairlines on a --card face, a --line frame, --bezel-chunk's hard lip and deep drop. The popover, the docked Keeper,
|
|
12
|
+
* the dialog, a note card, the open row of the bottom strip and the tooltip are that card. Section heads and strip
|
|
13
|
+
* column heads are its bin header (.rootHead: brushed shelf, amber top edge). Segmented controls are its tray tiles in
|
|
14
|
+
* a groove. The four layers: ground (--bg with the blueprint grid) < section (--panel) < card (--card) < control
|
|
15
|
+
* (--raise, lit amber when on).
|
|
16
|
+
* ─────────────────────────────────────────────────────────────────── */
|
|
17
|
+
|
|
18
|
+
:root {
|
|
19
|
+
/* ── Surfaces and lines: the chassis ladder, page < panel < card < raised part; the well sinks below the page ── */
|
|
20
|
+
--pk-ground: var(--bg);
|
|
21
|
+
--pk-rail: var(--panel);
|
|
22
|
+
--pk-surface: var(--card);
|
|
23
|
+
--pk-raised: var(--raise);
|
|
24
|
+
--pk-line: var(--line-hi);
|
|
25
|
+
--pk-line-soft: var(--line);
|
|
26
|
+
--pk-line-strong: #4a4032;
|
|
27
|
+
--pk-scrim: rgba(0,0,0,.6);
|
|
28
|
+
|
|
29
|
+
/* ── Text, four steps: readings and titles, body, secondary, faint ── */
|
|
30
|
+
--pk-text-strong: var(--tx0);
|
|
31
|
+
--pk-text: var(--tx1);
|
|
32
|
+
--pk-text-muted: #a89a83;
|
|
33
|
+
--pk-text-faint: var(--tx2);
|
|
34
|
+
|
|
35
|
+
/* ── The signal: fluorescent amber, only on what is lit ── */
|
|
36
|
+
--pk-accent: var(--amber);
|
|
37
|
+
--pk-accent-bg: #443414;
|
|
38
|
+
--pk-accent-hi: var(--amber-mid);
|
|
39
|
+
--pk-on-accent: var(--bg);
|
|
40
|
+
--pk-accent-soft: #241c10;
|
|
41
|
+
--pk-flash: #57481f;
|
|
42
|
+
--pk-star: var(--amber);
|
|
43
|
+
|
|
44
|
+
/* ── The other families ── */
|
|
45
|
+
--pk-green: var(--green); --pk-green-bg: #1d3a29; --pk-green-ln: var(--green-dim);
|
|
46
|
+
--pk-blue: var(--blue); --pk-blue-bg: #1e3a4a;
|
|
47
|
+
--pk-red: var(--red); --pk-red-bg: #3a1a16; --pk-red-ln: var(--red-dim);
|
|
48
|
+
--pk-purple: var(--plum); --pk-purple-bg: #2a2033;
|
|
49
|
+
|
|
50
|
+
/* ── Selection ── */
|
|
51
|
+
--pk-sel-bg: var(--raise);
|
|
52
|
+
|
|
53
|
+
/* ── Fonts: the board's own; the π mark in the console's monospace ── */
|
|
54
|
+
--pk-font-body: 12.5px/1.55 "Segoe UI","Microsoft YaHei UI","Microsoft YaHei",system-ui,sans-serif;
|
|
55
|
+
--pk-font-ui: "Segoe UI","Microsoft YaHei UI","Microsoft YaHei",system-ui,sans-serif;
|
|
56
|
+
--pk-font-mono: ui-monospace, Consolas, monospace;
|
|
57
|
+
--pk-font-display: ui-monospace, Consolas, monospace;
|
|
58
|
+
|
|
59
|
+
/* ── Radii: machined, tight ── */
|
|
60
|
+
--pk-radius: 6px;
|
|
61
|
+
--pk-radius-sm: 4px;
|
|
62
|
+
--pk-radius-xs: 2px;
|
|
63
|
+
--pk-radius-panel: 4px;
|
|
64
|
+
--pk-radius-pill: 999px;
|
|
65
|
+
|
|
66
|
+
/* ── Shadows ── */
|
|
67
|
+
--pk-shadow-float: 0 10px 28px rgba(0,0,0,.55);
|
|
68
|
+
--pk-shadow-window: var(--bezel-chunk), 0 10px 28px rgba(0,0,0,.55);
|
|
69
|
+
--pk-shadow-raised: var(--bezel-raise);
|
|
70
|
+
|
|
71
|
+
/* ── The card (the master): the machined panel ── */
|
|
72
|
+
--pk-card-bg: var(--card);
|
|
73
|
+
--pk-card-texture: var(--card-chamfer), var(--card-brush);
|
|
74
|
+
--pk-card-border: var(--line);
|
|
75
|
+
--pk-card-shadow: var(--bezel-chunk);
|
|
76
|
+
--pk-card-radius: 4px;
|
|
77
|
+
--pk-card-text: var(--tx1);
|
|
78
|
+
--pk-card-line: var(--line-hi);
|
|
79
|
+
--pk-card-hover-border: var(--amber-dim);
|
|
80
|
+
--pk-card-foot-bg: var(--well);
|
|
81
|
+
--pk-card-head-bg: var(--raise);
|
|
82
|
+
|
|
83
|
+
/* ── A section (a panel), and its head (the bin header: brushed shelf, amber top edge, cool highlight) ── */
|
|
84
|
+
--pk-section-bg: var(--panel);
|
|
85
|
+
--pk-section-border: var(--line);
|
|
86
|
+
--pk-section-radius: 8px;
|
|
87
|
+
--pk-section-shadow: var(--bezel), 0 2px 8px rgba(0,0,0,.35);
|
|
88
|
+
--pk-head-bg: #1a1713;
|
|
89
|
+
--pk-head-texture: repeating-linear-gradient(90deg, rgba(255,240,214,.02) 0 1px, transparent 1px 3px), linear-gradient(180deg, rgba(212,226,244,.05), rgba(212,226,244,0) 3px);
|
|
90
|
+
--pk-head-border: var(--line-hi);
|
|
91
|
+
--pk-head-shadow: inset 0 2px 0 var(--amber-dim), var(--bezel);
|
|
92
|
+
--pk-head-text: var(--tx0);
|
|
93
|
+
|
|
94
|
+
/* ── Controls: the toolbar's raised parts; pressed and lit when on ── */
|
|
95
|
+
--pk-control-bg: var(--raise);
|
|
96
|
+
--pk-control-texture: linear-gradient(180deg, var(--raise), var(--panel));
|
|
97
|
+
--pk-control-border: var(--line-hi);
|
|
98
|
+
--pk-control-shadow: var(--bezel-raise);
|
|
99
|
+
--pk-control-radius: 4px;
|
|
100
|
+
--pk-control-hover-bg: var(--raise);
|
|
101
|
+
--pk-control-hover-border: var(--amber-dim);
|
|
102
|
+
--pk-control-on: var(--panel);
|
|
103
|
+
--pk-control-on-text: var(--amber);
|
|
104
|
+
--pk-control-on-shadow: var(--bezel-press);
|
|
105
|
+
|
|
106
|
+
/* ── The sunken well: inputs, the composer, quoted sources, code ── */
|
|
107
|
+
--pk-well-bg: var(--well);
|
|
108
|
+
--pk-well-border: var(--line);
|
|
109
|
+
--pk-well-shadow: var(--bezel-groove);
|
|
110
|
+
--pk-code-bg: var(--well);
|
|
111
|
+
|
|
112
|
+
/* ── The conversation: the owner's words on the amber-tinted panel (WorkflowKeeper's D87) ── */
|
|
113
|
+
--pk-msg-user-bg: #241c10;
|
|
114
|
+
--pk-msg-user-border: #4a4029;
|
|
115
|
+
|
|
116
|
+
/* ── The graph (Spec §6.3; D53): i1's own four, checked — Plan / Work item 42.0 normal, 38.7 protan, 32.1 deutan ── */
|
|
117
|
+
--pk-graph-bg: transparent; /* the blueprint grid of the ground shows through */
|
|
118
|
+
--pk-graph-intent: var(--blue);
|
|
119
|
+
--pk-graph-plan: var(--plum);
|
|
120
|
+
--pk-graph-work: var(--green);
|
|
121
|
+
--pk-graph-reality: var(--amber);
|
|
122
|
+
--pk-graph-node-bg: var(--card);
|
|
123
|
+
--pk-graph-node-text: var(--tx0);
|
|
124
|
+
--pk-graph-node-kind: var(--tx1); /* the kind in the body colour; the object's colour stays on its edges */
|
|
125
|
+
--pk-graph-node-muted: #a89a83;
|
|
126
|
+
--pk-graph-node-faint: var(--tx2);
|
|
127
|
+
/* the card's material, lent to the objects: the parts of --bezel-chunk, --card-brush and its hard lip */
|
|
128
|
+
--pk-graph-node-chamfer: rgba(212,226,244,.12);
|
|
129
|
+
--pk-graph-node-shade: rgba(0,0,0,.58);
|
|
130
|
+
--pk-graph-node-brush: rgba(255,240,214,.013);
|
|
131
|
+
--pk-graph-node-lip: #080706;
|
|
132
|
+
--pk-graph-node-shadow: rgba(0,0,0,.42);
|
|
133
|
+
--pk-graph-edge: var(--tx3);
|
|
134
|
+
--pk-graph-edge-other: var(--tx2);
|
|
135
|
+
--pk-graph-edge-related: var(--tx1);
|
|
136
|
+
--pk-graph-edge-lit: var(--tx0);
|
|
137
|
+
--pk-graph-edge-selected: var(--blue);
|
|
138
|
+
--pk-graph-questioned: var(--amber);
|
|
139
|
+
--pk-graph-label-bg: var(--well);
|
|
140
|
+
--pk-graph-chip-bg: var(--well);
|
|
141
|
+
--pk-graph-chip-border: var(--line-hi);
|
|
142
|
+
--pk-graph-selection: var(--tx0);
|
|
143
|
+
--pk-graph-focus: var(--amber);
|
|
144
|
+
--pk-graph-diff-added: var(--green);
|
|
145
|
+
--pk-graph-diff-changed: var(--amber);
|
|
146
|
+
--pk-graph-diff-removed: var(--red);
|
|
147
|
+
--pk-graph-replaced: var(--tx4);
|
|
148
|
+
--pk-graph-danger: var(--red);
|
|
149
|
+
--pk-graph-group-bg: var(--raise);
|
|
150
|
+
--pk-graph-group-border: var(--line-hi);
|
|
151
|
+
--pk-graph-group-back: var(--card);
|
|
152
|
+
--pk-graph-group-back-border: var(--line);
|
|
153
|
+
--pk-graph-group-chip: var(--well);
|
|
154
|
+
--pk-graph-mark-star: var(--tx0);
|
|
155
|
+
--pk-graph-mark-flag: var(--amber);
|
|
156
|
+
--pk-graph-mark-note: var(--tx0);
|
|
157
|
+
--pk-graph-mark-ask: var(--amber);
|
|
158
|
+
--pk-graph-mark-pending: var(--blue);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/* ── The ground: the board's body, restated from the tokens so this file is the one source ── */
|
|
162
|
+
body {
|
|
163
|
+
color: var(--pk-text);
|
|
164
|
+
font: var(--pk-font-body);
|
|
165
|
+
background:
|
|
166
|
+
radial-gradient(1400px 500px at 50% -240px, rgba(255,180,100,.045), transparent 70%),
|
|
167
|
+
repeating-linear-gradient(0deg, transparent 0 31px, rgba(255,200,120,.022) 31px 32px),
|
|
168
|
+
repeating-linear-gradient(90deg, transparent 0 31px, rgba(255,200,120,.022) 31px 32px),
|
|
169
|
+
var(--pk-ground);
|
|
170
|
+
}
|
|
171
|
+
input[type="checkbox"] { accent-color: var(--amber); }
|
|
172
|
+
|
|
173
|
+
/* ── Classes board.css and the workbench both use: the guard put the metrics back; the colours are set here ── */
|
|
174
|
+
.empty { color: var(--pk-text-muted); }
|
|
175
|
+
.empty h2 { color: var(--pk-text-strong); }
|
|
176
|
+
|
|
177
|
+
/* ── The chassis top plate: the top bar, as the board's page head ── */
|
|
178
|
+
.topbar { background: var(--panel); box-shadow: 0 1px 0 rgba(255,240,214,.03) inset, 0 3px 10px rgba(0,0,0,.4); }
|
|
179
|
+
|
|
180
|
+
/* ── Titles: readings in --tx0 with the board's engraved shadow ── */
|
|
181
|
+
.page-head h1, .dialog-head h2, .popover-title, .more-title, .keeper-head .title, .brand, .walk-title, .full-head h2 { color: var(--pk-text-strong); text-shadow: 0 1px 0 rgba(0,0,0,.5); }
|
|
182
|
+
.crumb strong { color: var(--pk-text-strong); }
|
|
183
|
+
|
|
184
|
+
/* ── Segmented controls after the tray tiles: a groove (.slotRow) holding raised tiles (.slot); the one that is on is
|
|
185
|
+
pressed in and lit amber. Only paint changes: the tiles keep their size and the row its height. ── */
|
|
186
|
+
.segmented { background: #0a0908; background-image: none; box-shadow: var(--bezel-well); border-color: var(--line); }
|
|
187
|
+
.segmented button { background: var(--card); color: var(--tx2); box-shadow: var(--bezel), 0 0 0 1px var(--line); background-image: var(--card-brush); }
|
|
188
|
+
.segmented button:hover:not(:disabled) { color: var(--tx1); }
|
|
189
|
+
.segmented button.active { background: var(--panel); background-image: none; color: var(--amber); text-shadow: var(--led-glow); box-shadow: var(--bezel-press); }
|
|
190
|
+
.segmented button:disabled { color: var(--tx4); }
|
|
191
|
+
.graph-float .segmented { background: #0a0908; }
|
|
192
|
+
|
|
193
|
+
/* ── The card's port strip at the foot of the popover (.box:has(.attach) .attach), and the row that opens in the strip ── */
|
|
194
|
+
.popover-foot { box-shadow: var(--bezel-well); }
|
|
195
|
+
.strip-row.open > .item { background-image: var(--card-chamfer); box-shadow: inset 0 -1px 0 var(--hair); }
|
|
196
|
+
|
|
197
|
+
/* ── Buttons: the toolbar labels; lit on hover ── */
|
|
198
|
+
.btn:hover:not(:disabled), .search-trigger:hover, .coverage-pill:hover { color: var(--tx0); }
|
|
199
|
+
.btn.active { text-shadow: var(--led-glow); }
|
|
200
|
+
.read-mark.alert { text-shadow: var(--led-glow); }
|
|
201
|
+
.btn.primary { background-image: none; text-shadow: none; }
|
|
202
|
+
|
|
203
|
+
/* ── The rail: the view list and the outline, on the panel ── */
|
|
204
|
+
.nav-item.active { box-shadow: inset 2px 0 0 var(--amber); }
|
|
205
|
+
.outline .ol-area.sel, .outline .ol-work.sel { text-shadow: var(--led-glow); }
|
|
206
|
+
|
|
207
|
+
/* ── Tags and marks: the board's badges (a bezel on a tinted face) ── */
|
|
208
|
+
.tag { box-shadow: var(--bezel); }
|
|
209
|
+
.mk { box-shadow: var(--bezel); }
|
|
210
|
+
|
|
211
|
+
/* ── The Keeper's pill: the dock's raised part with an amber edge ── */
|
|
212
|
+
.dock-pill { background-image: var(--card-chamfer), var(--card-brush); }
|
|
213
|
+
.dock-robot.on { text-shadow: var(--led-glow); }
|
|
214
|
+
|
|
215
|
+
/* ── The bottom strip's column heads carry the bin header's amber edge like the section heads; its rows stay flat ── */
|
|
216
|
+
.strip { border-top-color: var(--line-hi); }
|
|
217
|
+
|
|
218
|
+
/* ── Fold boxes and the walkthrough spine take the panel; the timeline's dots the raised part ── */
|
|
219
|
+
.tl-event:before { background: var(--tx3); }
|
|
220
|
+
.tl-event.sel:before { background: var(--amber); box-shadow: var(--led-glow); }
|
|
221
|
+
|
|
222
|
+
/* ── Scrollbars: thin, the raised part's tone ── */
|
|
223
|
+
main, .rail, .keeper-stream, .popover-body, .flyout, .strip .items, .dialog-body { scrollbar-color: var(--line-hi) transparent; }
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"about": "The four owner-reviewed WorkflowKeeper themes. Each board.css is a byte-for-byte copy of the frozen original and is never edited here; ProjectKeeper's own layer for a theme lives beside it. See README.md.",
|
|
3
|
+
"source": "WorkflowKeeper, app/themes/<id>/board.css",
|
|
4
|
+
"sourceCommit": "6756fe2",
|
|
5
|
+
"copied": "2026-09-21",
|
|
6
|
+
"default": "a1",
|
|
7
|
+
"themes": [
|
|
8
|
+
{ "id": "a1", "name": "Walnut Workshop", "file": "a1/board.css", "bytes": 60502, "sha256": "2a76684350724f7a00134888a4fac4bd5948450e2b169c1b493844a182ade2e2" },
|
|
9
|
+
{ "id": "b1", "name": "Peacock & Brass", "file": "b1/board.css", "bytes": 34595, "sha256": "88c2ff0d29ee870f5b0a52234881d7e732c1405232c7b5e68a22309ea2012d0d" },
|
|
10
|
+
{ "id": "d2", "name": "Warm Clay", "file": "d2/board.css", "bytes": 36715, "sha256": "66ac7baadff3cc022b5d4cb4389bd0a062653b69a45ead089d2870bd4b113778" },
|
|
11
|
+
{ "id": "i1", "name": "Task Console", "file": "i1/board.css", "bytes": 41711, "sha256": "359e44c7473d837ddae5e7a467d5282d27a5c1a130dd68e2137b4fcf64ca7931" }
|
|
12
|
+
]
|
|
13
|
+
}
|