@h-rig/product-ad-website 0.0.6-alpha.283

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.
Files changed (38) hide show
  1. package/README.md +3 -0
  2. package/package.json +52 -0
  3. package/site/assets/favicon.svg +1 -0
  4. package/site/assets/og-card.png +0 -0
  5. package/site/assets/rig.css +199 -0
  6. package/site/assets/rig.js +66 -0
  7. package/site/assets/search-index.json +1 -0
  8. package/site/assets/site.css +46 -0
  9. package/site/assets/site.js +510 -0
  10. package/site/cli/index.html +88 -0
  11. package/site/config/index.html +256 -0
  12. package/site/docs/agent-tools/index.html +129 -0
  13. package/site/docs/architecture/index.html +42 -0
  14. package/site/docs/capabilities/index.html +84 -0
  15. package/site/docs/entities/index.html +68 -0
  16. package/site/docs/environment/index.html +62 -0
  17. package/site/docs/faq/index.html +17 -0
  18. package/site/docs/fleet-irc/index.html +44 -0
  19. package/site/docs/gate/index.html +128 -0
  20. package/site/docs/getting-started/index.html +50 -0
  21. package/site/docs/glossary/index.html +31 -0
  22. package/site/docs/index.html +68 -0
  23. package/site/docs/operator/index.html +49 -0
  24. package/site/docs/packages/index.html +36 -0
  25. package/site/docs/pi-extensions/index.html +15 -0
  26. package/site/docs/recipes/index.html +28 -0
  27. package/site/docs/runs/index.html +35 -0
  28. package/site/docs/security/index.html +29 -0
  29. package/site/docs/server/index.html +27 -0
  30. package/site/docs/swarm-commander/index.html +41 -0
  31. package/site/docs/task-sources/index.html +129 -0
  32. package/site/docs/troubleshooting/index.html +23 -0
  33. package/site/docs/validators/index.html +177 -0
  34. package/site/index.html +1653 -0
  35. package/site/plugins/examples/index.html +419 -0
  36. package/site/plugins/index.html +193 -0
  37. package/site/skills/index.html +140 -0
  38. package/site/variants/deck/index.html +1 -0
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # @h-rig/product-ad-website
2
+
3
+ Immutable Rig release web assets.
package/package.json ADDED
@@ -0,0 +1,52 @@
1
+ {
2
+ "name": "@h-rig/product-ad-website",
3
+ "version": "0.0.6-alpha.283",
4
+ "description": "Immutable Rig release assets for product-ad-website.",
5
+ "license": "MIT",
6
+ "files": [
7
+ "site"
8
+ ],
9
+ "rigRelease": {
10
+ "gitSha": "80f7971ffc6d54bb63652921ade58c4a3b0c9f77",
11
+ "assetKind": "product-ad-website",
12
+ "siteSha256": "2879406bb509958135e991d4e4469c71b15f2882f5eb1ca2d7703f4d512434ec",
13
+ "files": {
14
+ "assets/favicon.svg": "98206ce65d671b76975d8e3cf01390b026e0d642aca3613a2ccda84ba428eba2",
15
+ "assets/og-card.png": "fd4fa77362e3281e7dd485cbd3b6e8b1db22f93ede073d91ebf59101889e6df0",
16
+ "assets/rig.css": "fdce086f6e084c2bbaefd4d623bbc34e66854d2c1b9b70fc04862d698b54fb13",
17
+ "assets/rig.js": "23e7d0bf84dffd1eed602aef18ba11e765c86f885587b0997737dc2c944705dc",
18
+ "assets/search-index.json": "a7be00338ba484952978757f9728114d44e4a83605392a70d1381a4a8f2cdcd1",
19
+ "assets/site.css": "ce9b668b0eebfd360ca9fd65edb379476e445dcc122109f3fc4f0b17f403a189",
20
+ "assets/site.js": "da47f931a4af349a67b32dcb11e782503d6f7b72316e162bbf4885aab0344c1d",
21
+ "cli/index.html": "b62dfdfae91952c66a40c045c7eacec0ef2c72caa8addcfe0ebd539119726508",
22
+ "config/index.html": "b59c9182ade5cfec304debdfd0c93975a516524205011f322f79899253f792ba",
23
+ "docs/agent-tools/index.html": "cfacb4ed9f77e9350eea684ae6cd6eb5b3c6a17bd0da5657a34130a7634ecf58",
24
+ "docs/architecture/index.html": "9e361843c56e53ed448d06144383fa5d670cccdfbea90fd3dfe2ef4ae5c532f1",
25
+ "docs/capabilities/index.html": "cc473f57d83d5ed57678317b1e1036803e9ee4ed20e7d8b40241b90a226c4f83",
26
+ "docs/entities/index.html": "c7c39a3fbec5396ae36c045fdf02e3b9295fdf609567642927fbd3c64b48cb33",
27
+ "docs/environment/index.html": "0435a61541279e607213a5ddc0617d35341abcae260cb6de697d4daffea3a1e4",
28
+ "docs/faq/index.html": "3b79374b62efe60b94f0884c39019337b9b554abb41dffd24ca3b8c52dd9528c",
29
+ "docs/fleet-irc/index.html": "cc1be5dccb6f5b68d511e278eb4e0cafa9b5686322d8bba3c3988d34f7937785",
30
+ "docs/gate/index.html": "afc3dc402fc56fe8f8538946ca3cfbbca3eb5fe8148f9e0ff25be1bac5cde24d",
31
+ "docs/getting-started/index.html": "5fa42fcc3eabf3007e4ccbbc0c4097167d7a9e0abefc8fda136ec10727236264",
32
+ "docs/glossary/index.html": "d046368780e735f7916aef52081059088b2fa4600eb63e96898811ec0c9a918c",
33
+ "docs/index.html": "6e3587cdbc01c4de42699e9c30fc0832585131b6add81021aac2fefefd2f6384",
34
+ "docs/operator/index.html": "3b1e5bdccce0dedf6dded543d5b9b029eb881132f319e16680cbdf55a69ce64b",
35
+ "docs/packages/index.html": "f9169c43882c9ff4733d48fc03e2599d1c55c232048e1fc87b05886969d98c8f",
36
+ "docs/pi-extensions/index.html": "8a751db709c87721add2bf82206a177ee904d9b915a520b9c38e36e2ad6e3ea3",
37
+ "docs/recipes/index.html": "23e7ee1bfa939ffc89e17965ddb667cb896026331b0984251c351f9f97c4edd4",
38
+ "docs/runs/index.html": "8b5a3bcdd1f5092b20a401d5873c6cf0c5e70e5a833b7ba49d850835bce21888",
39
+ "docs/security/index.html": "8c709cec465bdf518a2643215f0a9c7f34d4615754c3be049199f9c837dd82c3",
40
+ "docs/server/index.html": "1d26e87115fa04efd1662f88bb0d9b13e1a490b5f5aef12d927992f046d15291",
41
+ "docs/swarm-commander/index.html": "4f9a384699b8cc01bd492a935196df472c5d83488495e2da2e221b414dabdf01",
42
+ "docs/task-sources/index.html": "53fd280f001c19fb2e4f2af1162786c630485ec7ed757d1c353acc6459a89d8d",
43
+ "docs/troubleshooting/index.html": "4aae71e36689dbc518f9439721e86f9db85e0893cbdebc26a0c06161defd6a3e",
44
+ "docs/validators/index.html": "f93d4b11756a15ad0d88ae724cf7056e3cab51f52b6712a05912a3c37f2ebc09",
45
+ "index.html": "154ccafb1295b296d41a4528cad05abae429e23045e5f7a006f43f4654cbb9c3",
46
+ "plugins/examples/index.html": "49ac243f6b2977a33e074cb79f8fa06eeb5369fcf997a35bcf9b34c0dfefc6ed",
47
+ "plugins/index.html": "fa36bf0fa307ea7a97ce90242c07df78907c07cc04b9b5aee2afe397020b4552",
48
+ "skills/index.html": "4cbee7f30a05a0bcfbbd74026c60c22a7ec929fde7cd1327ce90ba85570a7363",
49
+ "variants/deck/index.html": "be9b4ade333a9cba94914ee66d5d6413961b13ab8fbe44f76345fb3218e0137d"
50
+ }
51
+ }
52
+ }
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><rect x="4" y="4" width="24" height="24" rx="6" fill="#ccff4d"/><rect x="12" y="12" width="8" height="8" rx="2" fill="#070809"/></svg>
Binary file
@@ -0,0 +1,199 @@
1
+
2
+ @import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');
3
+ :root{
4
+ --bg:#070809;--bg-2:#0b0c0e;--panel:#0d0e11;--panel-2:#101115;
5
+ --line:rgba(255,255,255,.07);--line-2:rgba(255,255,255,.13);
6
+ --ink:#f2f3f6;--ink-2:#aeb0ba;--ink-3:#6c6e79;--ink-4:#44464f;
7
+ --ac:#ccff4d; /* v6 electric lime (home-matched) */
8
+ --ac-dim:#a9d63f;
9
+ --ac-2:#56d8ff; /* v6 cyan */
10
+ --mono:'JetBrains Mono',ui-monospace,monospace;
11
+ --disp:'Space Grotesk',system-ui,sans-serif;
12
+ --body:'Space Grotesk',system-ui,sans-serif;
13
+ --maxw:1340px;
14
+ }
15
+ *{box-sizing:border-box}html{scroll-behavior:smooth}
16
+ body{margin:0;background:var(--bg);color:var(--ink-2);font-family:var(--body);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
17
+ /* abstract atmosphere — soft out-of-focus blooms, no grid/lines/furniture */
18
+ body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
19
+ background:
20
+ radial-gradient(46% 36% at 84% 4%,rgba(204,255,77,.09),transparent 70%),
21
+ radial-gradient(44% 40% at 10% 18%,rgba(86,216,255,.05),transparent 72%),
22
+ radial-gradient(58% 50% at 62% 110%,rgba(204,255,77,.04),transparent 70%);
23
+ filter:blur(10px)}
24
+ a{color:var(--ink);text-decoration:none;transition:color .15s}
25
+ a:hover{color:var(--ac)}
26
+ code,pre,kbd{font-family:var(--mono)}
27
+ ::selection{background:var(--ac);color:#070809}
28
+ .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
29
+
30
+ /* ---------- nav: small, targeted, recessive ---------- */
31
+ .nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(16px);background:rgba(6,6,7,.72);border-bottom:1px solid var(--line)}
32
+ .nav-in{max-width:var(--maxw);margin:0 auto;padding:16px 28px;display:flex;align-items:center;gap:32px}
33
+ .brand{font-family:var(--disp);font-weight:600;font-size:15px;letter-spacing:.02em;color:var(--ink);display:flex;align-items:center;gap:2px}
34
+ .brand .blk{color:var(--ink)}
35
+ .brand .mk{display:inline-block;width:8px;height:8px;background:var(--ac);border-radius:2px;box-shadow:0 0 10px var(--ac);margin-right:8px;vertical-align:middle;animation:pulse 2.4s ease-in-out infinite}
36
+ @keyframes pulse{50%{opacity:.45;transform:scale(.82)}}
37
+ .brand .mark{color:var(--ac);animation:blink 1.4s steps(1) infinite}
38
+ @keyframes blink{50%{opacity:0}}
39
+ .nav-links{display:flex;gap:24px;flex-wrap:wrap;margin-left:auto;align-items:center}
40
+ .nav-links a{font-size:13px;color:var(--ink-3);padding:2px 0;letter-spacing:.01em;transition:color .15s;position:relative}
41
+ .nav-links a:hover{color:var(--ink)}
42
+ .nav-links a.active{color:var(--ink)}
43
+ .nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--ac)}
44
+ .nav-links a.ext{color:var(--ink-4)}
45
+ .nav-links a.live{color:var(--ink-3)}
46
+ .nav-links a.live::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--ac);margin-right:6px;vertical-align:middle}
47
+ .burger{display:none}
48
+
49
+ /* ---------- type ---------- */
50
+ h1,h2,h3,h4{font-family:var(--disp);line-height:1.05;letter-spacing:-.02em;margin:0;color:var(--ink);font-weight:600}
51
+ .eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
52
+ .slash{color:var(--ac)}
53
+
54
+ /* ---------- hero ---------- */
55
+ .hero{position:relative;padding:120px 0 96px;border-bottom:1px solid var(--line)}
56
+ .hero .wrap{position:relative;z-index:2}
57
+ .hero-tag{font-family:var(--mono);font-size:13px;color:var(--ink-3);margin-bottom:30px;letter-spacing:.02em}
58
+ .jackin{display:inline-block;font-family:var(--mono);font-size:clamp(13px,1.5vw,15px);color:var(--ink-3);margin-bottom:30px;letter-spacing:.04em}
59
+ .jackin .cur{color:var(--ac);animation:blink 1.4s steps(1) infinite}
60
+ .hero h1{font-size:clamp(56px,11vw,150px);font-weight:700;margin:0 0 6px;letter-spacing:-.045em;line-height:.94;color:var(--ink)}
61
+ .hero h1 .ln2{display:block}
62
+ .hero h1 .grad{color:var(--ac)}
63
+ .hero-sub{font-size:clamp(18px,2.2vw,23px);color:var(--ink-2);max-width:560px;margin:34px 0 0;line-height:1.5;font-weight:400}
64
+ .hero-sub b{color:var(--ink);font-weight:500}.hero-sub .dim{color:var(--ink-3)}
65
+
66
+ /* ---------- install ---------- */
67
+ .install{margin-top:40px;max-width:640px}
68
+ .tabs{display:none}
69
+ .cmd{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--line-2);border-radius:8px;padding:16px 20px;font-family:var(--mono)}
70
+ .cmd .pr{color:var(--ac)}
71
+ .cmd code{color:var(--ink-2);font-size:14px;flex:1;overflow-x:auto;white-space:nowrap}
72
+ .cmd .cp{margin-left:auto;border:none;background:transparent;color:var(--ink-4);font-family:var(--mono);font-size:11px;padding:4px 8px;cursor:pointer;transition:.15s;flex:none;letter-spacing:.04em}
73
+ .cmd .cp:hover{color:var(--ac)}
74
+
75
+ /* ---------- buttons ---------- */
76
+ .btn-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:36px;align-items:center}
77
+ .btn{font-size:14px;padding:13px 24px;border-radius:8px;border:1px solid var(--line-2);color:var(--ink-2);transition:.15s;display:inline-flex;gap:8px;align-items:center}
78
+ .btn:hover{border-color:var(--ink-3);color:var(--ink)}
79
+ .btn.pri{background:var(--ac);color:#070809;border-color:var(--ac);font-weight:600}
80
+ .btn.pri:hover{box-shadow:0 8px 30px rgba(204,255,77,.28);transform:translateY(-1px)}
81
+
82
+ /* ---------- sections ---------- */
83
+ section{padding:110px 0;border-bottom:1px solid var(--line)}
84
+ .sec-head{margin-bottom:60px;max-width:680px}
85
+ .sec-head h2{font-size:clamp(32px,5vw,56px);font-weight:600;margin:18px 0 0;letter-spacing:-.03em}
86
+ .sec-head p{color:var(--ink-3);font-size:18px;margin:18px 0 0;line-height:1.55}
87
+ .frow{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;margin:72px 0}
88
+ .frow.rev{direction:rtl}.frow.rev>*{direction:ltr}
89
+ .frow h3{font-size:clamp(24px,3vw,34px);font-weight:600;margin-bottom:18px;letter-spacing:-.02em}
90
+ .frow p{color:var(--ink-3);font-size:17px;margin:0 0 14px;line-height:1.6}.frow p b{color:var(--ink-2)}
91
+
92
+ /* panels — flat, quiet, no brackets */
93
+ .demo{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}
94
+ .demo-bar{display:flex;align-items:center;gap:10px;padding:13px 18px;border-bottom:1px solid var(--line)}
95
+ .demo-bar .dot{display:none}
96
+ .demo-bar .t{font-family:var(--mono);font-size:12px;color:var(--ink-4);letter-spacing:.02em}
97
+ .demo-body{padding:22px;font-family:var(--mono);font-size:13px;line-height:1.9}
98
+ .demo-body .pr{color:var(--ac)}.demo-body .cmt{color:var(--ink-4)}.demo-body .ok{color:var(--ac)}
99
+ .demo-body .cy{color:var(--ac-2)}.demo-body .yl{color:var(--ac)}.demo-body .mg{color:#ff6ba8}.demo-body .dim{color:var(--ink-4)}
100
+
101
+ /* loop strip — quiet pills */
102
+ .loop{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-start;margin-top:0}
103
+ .loop .node,.loop a.node{font-family:var(--mono);font-size:12.5px;padding:8px 14px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--ink-3);white-space:nowrap;text-decoration:none;transition:.15s}
104
+ .loop a.node:hover{border-color:var(--ink-3);color:var(--ink)}
105
+ .loop .node.hot{border-color:var(--ac);color:var(--ac)}
106
+ .loop .arr{color:var(--ink-4)}
107
+
108
+ /* cards — flat, hairline, restrained */
109
+ .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
110
+ .card{position:relative;display:block;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:26px;transition:.15s}
111
+ .card:hover{border-color:var(--ink-4);color:inherit;background:var(--panel-2)}
112
+ .card .ic{font-family:var(--mono);font-size:12px;color:var(--ink-3);letter-spacing:.08em}
113
+ .card h4{font-size:18px;margin:12px 0 8px;font-weight:600;color:var(--ink)}
114
+ .card p{color:var(--ink-3);font-size:14px;margin:0}
115
+ .card.pkg{padding:20px 24px}
116
+ .card.pkg .nm{font-family:var(--mono);color:var(--ink-2);font-size:14px}
117
+ .card.pkg:hover .nm{color:var(--ac)}
118
+
119
+ /* code */
120
+ pre.code{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:22px;overflow-x:auto;font-size:13.5px;line-height:1.75;color:var(--ink-2);margin:22px 0}
121
+ pre.code .k{color:#ff6ba8}pre.code .s{color:var(--ac)}pre.code .c{color:var(--ink-4)}pre.code .f{color:var(--ac-2)}pre.code .p{color:var(--ink-3)}
122
+ kbd{background:var(--panel-2);border:1px solid var(--line-2);border-radius:5px;padding:2px 7px;font-size:12px;color:var(--ink-2)}
123
+
124
+ /* tables */
125
+ table.t{width:100%;border-collapse:collapse;margin:24px 0;font-size:14px}
126
+ table.t th{text-align:left;font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);padding:13px 14px;border-bottom:1px solid var(--line-2);font-weight:500}
127
+ table.t td{padding:13px 14px;border-bottom:1px solid var(--line);color:var(--ink-3);vertical-align:top}
128
+ table.t td:first-child{color:var(--ink-2);font-family:var(--mono);font-size:13px;white-space:nowrap}
129
+ table.t code{color:var(--ac)}
130
+
131
+ /* docs layout */
132
+ .docwrap{display:grid;grid-template-columns:220px 1fr;gap:64px;max-width:var(--maxw);margin:0 auto;padding:64px 28px}
133
+ .sidebar{position:sticky;top:84px;align-self:start;max-height:calc(100vh - 110px);overflow-y:auto}
134
+ .sidebar .grp{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);margin:26px 0 12px}
135
+ .sidebar a{display:block;font-size:14px;color:var(--ink-3);padding:7px 0;transition:.15s}
136
+ .sidebar a:hover{color:var(--ink)}
137
+ .sidebar a.active{color:var(--ac)}
138
+ .doc{min-width:0}
139
+ .doc h1{font-size:clamp(36px,5vw,52px);font-weight:700;margin-bottom:10px;letter-spacing:-.035em;color:var(--ink)}
140
+ .doc .lede{color:var(--ink-3);font-size:19px;margin:10px 0 44px;max-width:680px;line-height:1.5}
141
+ .doc h2{font-size:27px;font-weight:600;margin:56px 0 16px;letter-spacing:-.02em;color:var(--ink)}
142
+ .doc h3{font-size:19px;font-weight:600;margin:30px 0 10px;color:var(--ink)}
143
+ .doc h3 .ns{color:var(--ac);font-family:var(--mono);font-size:16px}
144
+ .doc p{color:var(--ink-2);margin:14px 0}
145
+ .doc ul{color:var(--ink-3);padding-left:20px}.doc li{margin:9px 0}.doc li b{color:var(--ink-2)}
146
+ .doc .note{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:18px 22px;margin:24px 0;font-size:14.5px;color:var(--ink-3)}
147
+ .doc .note b{color:var(--ac)}
148
+
149
+ /* footer */
150
+ footer{padding:72px 0 90px;border-top:1px solid var(--line)}
151
+ .foot{display:flex;flex-wrap:wrap;gap:48px;justify-content:space-between;align-items:flex-start}
152
+ .foot .col h5{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);margin:0 0 16px;font-weight:500}
153
+ .foot .col a{display:block;color:var(--ink-3);font-size:14px;padding:5px 0;transition:.15s}.foot .col a:hover{color:var(--ink)}
154
+ .foot .sig{font-family:var(--mono);font-size:12px;color:var(--ink-4);max-width:280px;line-height:1.7}.foot .sig .blk{color:var(--ink-3)}
155
+
156
+ @media(max-width:980px){.frow,.frow.rev{grid-template-columns:1fr;direction:ltr}.docwrap{grid-template-columns:1fr}.sidebar{position:static;max-height:none;border-bottom:1px solid var(--line);padding-bottom:18px}
157
+ .nav-links{gap:16px}.nav-links a.ext{display:none}}
158
+
159
+ /* docs ambient field — quiet, low-density, same family as home scenes but readable */
160
+ #docfield{position:fixed;inset:0;width:100vw;height:100vh;z-index:-1;pointer-events:none;opacity:.5}
161
+
162
+ /* ---------- docs landing: journey map ---------- */
163
+ .jpath{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:34px 0 10px;font-family:var(--mono);font-size:12.5px}
164
+ .jpath .jn{padding:9px 15px;border:1px solid var(--line-2);border-radius:7px;color:var(--ink-2);background:var(--panel);transition:.15s;white-space:nowrap}
165
+ .jpath a.jn:hover{border-color:var(--ac);color:var(--ac);transform:translateY(-1px)}
166
+ .jpath .ja{color:var(--ink-4)}
167
+ .jgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:30px 0}
168
+ @media(max-width:760px){.jgrid{grid-template-columns:1fr}}
169
+ .jcard{position:relative;display:block;color:inherit;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:26px 28px;transition:.18s;overflow:hidden}
170
+ .jcard::after{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--ac);transform:scaleY(0);transform-origin:top;transition:transform .25s}
171
+ .jcard:hover{border-color:var(--ink-4);background:var(--panel-2);transform:translateY(-2px)}
172
+ .jcard:hover::after{transform:scaleY(1)}
173
+ .jcard .jno{font-family:var(--mono);font-size:11.5px;color:var(--ink-4);letter-spacing:.1em}
174
+ .jcard:hover .jno{color:var(--ac)}
175
+ .jcard h3{font-size:19px;margin:10px 0 8px;font-weight:600;color:var(--ink)}
176
+ .jcard p{color:var(--ink-3);font-size:14.5px;margin:0;line-height:1.55}
177
+ .jcard .jcmd{display:inline-block;margin-top:14px;font-family:var(--mono);font-size:12px;color:var(--ac-dim)}
178
+
179
+ /* ---------- prev/next cross-links at the bottom of a doc page ---------- */
180
+ .nextnav{display:flex;gap:14px;flex-wrap:wrap;margin:64px 0 0;border-top:1px solid var(--line);padding-top:28px}
181
+ .nextnav a{flex:1;min-width:220px;display:block;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px 22px;transition:.18s}
182
+ .nextnav a:hover{border-color:var(--ink-4);background:var(--panel-2);transform:translateY(-2px)}
183
+ .nextnav .dir{font-family:var(--mono);font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-4)}
184
+ .nextnav .ttl{display:block;color:var(--ink);font-size:15.5px;margin-top:6px;font-weight:500}
185
+ .nextnav a:hover .ttl{color:var(--ac)}
186
+
187
+ /* ---------- terminal mock helpers (operator guide etc.) ---------- */
188
+ .demo-body .w{color:var(--ink)}
189
+ .demo-body .spin{color:var(--ac);display:inline-block;width:1ch}
190
+ .demo-body .capln .k{color:var(--ac-2);display:inline-block;min-width:12ch}
191
+ .demo-body .capbx{display:block;border-left:1px solid rgba(204,255,77,.35);margin:6px 0;padding-left:14px}
192
+
193
+ /* ---------- micro-interactions ---------- */
194
+ .card:hover{transform:translateY(-2px)}
195
+ .sidebar a{position:relative}
196
+ .sidebar a:hover{padding-left:4px}
197
+ .sidebar a,.card,.btn{will-change:transform}
198
+ .doc h2{scroll-margin-top:90px}
199
+ .doc h3{scroll-margin-top:90px}
@@ -0,0 +1,66 @@
1
+
2
+ /* Themed scenes for pages ADDED after the original field shipped.
3
+ STANDING RULE (Alex, 2026-06-10): every NEW section/page ships with its own
4
+ NEW dedicated themed canvas scene, added here + a theme entry in
5
+ scripts/site-build.ts. Existing pages keep the original drone-lane field. */
6
+ (function(){
7
+ window.__rigThemedScene=function(cv,theme){
8
+ var ctx=cv.getContext('2d'),W,H,DPR=Math.min(devicePixelRatio||1,2),t=0,sy=0;
9
+ var L=[204,255,77],C=[86,216,255];
10
+ function size(){W=cv.clientWidth;H=cv.clientHeight;cv.width=W*DPR;cv.height=H*DPR;ctx.setTransform(DPR,0,0,DPR,0,0);}
11
+ addEventListener('resize',size);addEventListener('scroll',function(){sy=scrollY;},{passive:true});
12
+ function rgba(c,a){return 'rgba('+c[0]+','+c[1]+','+c[2]+','+a+')';}
13
+ function dot(x,y,r,c,a){ctx.fillStyle=rgba(c,a);ctx.beginPath();ctx.arc(x,y,r,0,7);ctx.fill();}
14
+ function glow(x,y,r,c,a){dot(x,y,r,c,a);dot(x,y,r*3,c,a*.12);}
15
+ function line(ax,ay,bx,by,c,a){ctx.strokeStyle=rgba(c,a);ctx.lineWidth=1;ctx.beginPath();ctx.moveTo(ax,ay);ctx.lineTo(bx,by);ctx.stroke();}
16
+ var P=[];function pool(n,mk){P=[];for(var i=0;i<n;i++)P.push(mk(i));}
17
+ var S={
18
+ layers:{init:function(){pool(4,function(i){return{d:.25+i*.25};});},frame:function(){for(var i=0;i<P.length;i++){var p=P[i],y=H*(.1+i*.09)+Math.sin(t*.0009+i)*6-sy*.03*p.d,ins=W*.06*(P.length-i);ctx.strokeStyle=rgba(i%2?C:L,.07);ctx.strokeRect(ins,y,W-ins*2,30+i*8);glow(ins,y,1.6,i%2?C:L,.25);}}},
19
+ multiroot:{init:function(){pool(4,function(i){return{a:i/4*6.28+.6,n:4+i%3};});},frame:function(){var hx=W*.5,hy=H*.24;glow(hx,hy,3.4,L,.4+.15*Math.sin(t*.04));for(var i=0;i<P.length;i++){var p=P[i],rx=hx+Math.cos(p.a+t*.0012)*W*.3,ry=hy+Math.sin(p.a+t*.0012)*H*.13;line(hx,hy,rx,ry,C,.08);glow(rx,ry,2,C,.3);for(var k=0;k<p.n;k++){var sa=k/p.n*6.28+t*.004;glow(rx+Math.cos(sa)*16,ry+Math.sin(sa)*10,1,L,.2);}}}},
20
+ shield:{init:function(){pool(0,function(){return{};});},frame:function(){var cx=W*.5,cy=H*.26;for(var r=1;r<=4;r++){var rr=r*34+Math.sin(t*.02-r)*4;ctx.beginPath();for(var k=0;k<=6;k++){var a=k/6*6.28+t*.001;var px=cx+Math.cos(a)*rr*1.6,py=cy+Math.sin(a)*rr*.6;k?ctx.lineTo(px,py):ctx.moveTo(px,py);}ctx.strokeStyle=rgba(r%2?C:L,.1-r*.015);ctx.stroke();}glow(cx,cy,2.4,L,.35);}},
21
+ signal:{init:function(){},frame:function(){var mY=H*.26,res=Math.min(1,.25+(t*.25%600)/420);ctx.beginPath();for(var x=0;x<W;x+=6){var n=(Math.random()-.5)*46*(1-res),w=Math.sin(x*.012+t*.02)*12*res,y=mY+n+w;x?ctx.lineTo(x,y):ctx.moveTo(x,y);}ctx.strokeStyle=rgba(res>.92?L:C,.16+res*.12);ctx.lineWidth=1.2;ctx.stroke();}},
22
+ feeds:{init:function(){pool(28,function(i){return{s:i%4,p:Math.random(),v:.0015+Math.random()*.0025};});},frame:function(){for(var i=0;i<P.length;i++){var p=P[i];p.p+=p.v;if(p.p>1)p.p=0;var s0=H*(.1+p.s*.09),x=p.p*W,y=s0+(H*.26-s0)*Math.pow(p.p,2)+Math.sin(t*.002+i)*3;glow(x,y,1.4,p.s%2?C:L,.1+p.p*.3);}}},
23
+ rails:{init:function(){pool(20,function(i){return{p:Math.random(),r:i%3,v:.002+Math.random()*.002};});},frame:function(){for(var r=0;r<3;r++){var ry=H*(.14+r*.09);line(0,ry,W,ry,C,.04);for(var c=1;c<4;c++)glow(W*c/4,ry,1.8,L,.18);}for(var i=0;i<P.length;i++){var p=P[i];p.p=(p.p+p.v)%1;glow(p.p*W,H*(.14+p.r*.09),1.4,L,.12+.3*Math.abs(Math.sin(p.p*12.56)));}}},
24
+ steps:{init:function(){},frame:function(){var on=Math.floor(t*.01)%8;for(var i=0;i<6;i++){var x=W*(.12+i*.15),y=H*.22+Math.sin(t*.0012+i)*6;ctx.strokeStyle=rgba(i<=on?L:C,i<=on?.3:.08);ctx.strokeRect(x-13,y-9,26,18);if(i<5)line(x+13,y,x+W*.15-13,y,C,.05);}}},
25
+ constellation:{init:function(){pool(22,function(){return{x:Math.random(),y:.08+Math.random()*.34,w:Math.random()*6.28};});},frame:function(){for(var i=0;i<P.length;i++){var p=P[i],x=p.x*W,y=p.y*H;glow(x,y,1.2,i%6?C:L,.1+.18*Math.abs(Math.sin(t*.01+p.w)));for(var j=i+1;j<P.length;j++){var q=P[j],dx=(q.x-p.x)*W,dy=(q.y-p.y)*H;if(dx*dx+dy*dy<5200)line(x,y,q.x*W,q.y*H,C,.025);}}}},
26
+ ripple:{init:function(){pool(5,function(i){return{x:.15+Math.random()*.7,y:.12+Math.random()*.25,ph:i*110};});},frame:function(){for(var i=0;i<P.length;i++){var p=P[i],r=((t+p.ph)%240)*.5,a=Math.max(0,.2-r*.0017);ctx.strokeStyle=rgba(i%2?L:C,a);ctx.beginPath();ctx.arc(p.x*W,p.y*H,r,0,7);ctx.stroke();glow(p.x*W,p.y*H,1.4,L,.18);}}},
27
+ // capability matrix — a lattice of cells that a scan wave lights lime as it sweeps
28
+ capabilities:{init:function(){pool(18,function(i){return{c:i%6,r:(i/6)|0,lit:0};});},frame:function(){var cols=6,x0=W*.1,x1=W*.9,y0=H*.12,gy=H*.07,wave=(t*.045)%(cols+4)-2;for(var i=0;i<P.length;i++){var p=P[i],cx=x0+(x1-x0)*(p.c/(cols-1)),cy=y0+gy*p.r,d=Math.abs(p.c-wave),col=(p.c+p.r)%5===0?C:L;p.lit+=((d<.85?1:0)-p.lit)*.16;ctx.strokeStyle=rgba(col,.06+.22*p.lit);ctx.lineWidth=1;ctx.strokeRect(cx-15,cy-10,30,20);if(p.lit>.04){ctx.fillStyle=rgba(col,.05*p.lit);ctx.fillRect(cx-15,cy-10,30,20);glow(cx,cy,1.4,col,.2+.4*p.lit);}else{dot(cx,cy,1,col,.12);}}}},
29
+ // entity chain — task -> run -> worktree -> PR -> done, with a packet that recolors per stage
30
+ entities:{init:function(){pool(5,function(i){return{x:.12+i*.18};});},frame:function(){var y=H*.2,hues=[[120,124,134],C,[170,210,120],[255,200,90],L];for(var i=0;i<P.length-1;i++)line(P[i].x*W,y,P[i+1].x*W,y,C,.05);for(var i=0;i<P.length;i++){var pl=.5+.5*Math.sin(t*.04+i);ctx.strokeStyle=rgba(i===P.length-1?L:C,.12);ctx.beginPath();ctx.arc(P[i].x*W,y,6,0,7);ctx.stroke();glow(P[i].x*W,y,2,i===P.length-1?L:C,.18+.18*pl);}var fp=(t*.004)%1,seg=Math.min(P.length-2,(fp*(P.length-1))|0),loc=(fp*(P.length-1))-seg,fx=(P[seg].x+(P[seg+1].x-P[seg].x)*loc)*W;glow(fx,y,2.2,hues[seg],.6);}},
31
+ // env stream — falling key=value glyph columns, restrained matrix-rain
32
+ env:{init:function(){pool(22,function(i){return{x:.06+(i/22)*.88,y:Math.random(),v:.0018+Math.random()*.0034,len:4+((Math.random()*5)|0),hue:i%4===0?C:L};});},frame:function(){for(var i=0;i<P.length;i++){var p=P[i];p.y+=p.v;if(p.y>1.15)p.y=-.12;var x=p.x*W,head=p.y*H*.42+H*.05;for(var k=0;k<p.len;k++){var yy=head-k*7;if(yy<0)continue;dot(x,yy,1,p.hue,(k===0?.5:.16)*(1-k/p.len));}if(head>0&&head<H*.5)glow(x,head,1.2,p.hue,.3);}}},
33
+ // plugin lab — package crates wired into one host bus
34
+ pluginlab:{init:function(){pool(9,function(i){return{a:(i/3)|0,b:i%3,p:Math.random()};});},frame:function(){var cx=W*.5,cy=H*.24;glow(cx,cy,2.4,L,.34);for(var i=0;i<P.length;i++){var p=P[i],x=W*(.18+p.b*.32),y=H*(.12+p.a*.07),col=p.a===1?L:C,lit=.5+.5*Math.sin(t*.018+i);ctx.strokeStyle=rgba(col,.07+.12*lit);ctx.strokeRect(x-22,y-12,44,24);line(x,y,cx,cy,col,.02+.03*lit);glow(x,y,1.5,col,.18+.2*lit);}}},
35
+ // agent tools — op cells lit by a typed dispatch scan
36
+ toolgrid:{init:function(){pool(30,function(i){return{c:i%10,r:(i/10)|0};});},frame:function(){var wave=(t*.055)%12;for(var i=0;i<P.length;i++){var p=P[i],x=W*(.08+p.c*.09),y=H*(.12+p.r*.08),d=Math.abs(p.c-wave),col=p.r%2?C:L,a=.06+(d<1?.35*(1-d):0);ctx.strokeStyle=rgba(col,a);ctx.strokeRect(x-13,y-8,26,16);if(d<.9)glow(x,y,1.5,col,.35);}}}
37
+ };
38
+ var sc=S[theme];if(!sc){return;}
39
+ size();sc.init&&sc.init();
40
+ if(matchMedia('(prefers-reduced-motion: reduce)').matches){t=400;sc.frame();return;}
41
+ var run=true;document.addEventListener('visibilitychange',function(){run=!document.hidden;if(run)requestAnimationFrame(lp);});
42
+ function lp(){if(!run)return;t++;ctx.clearRect(0,0,W,H);sc.frame();requestAnimationFrame(lp);}
43
+ lp();
44
+ };
45
+ })();
46
+
47
+ /* docs ambient orchestration field — quiet drone-lanes, same family as home, low density */
48
+ (function(){
49
+ var cv=document.getElementById('docfield'); if(!cv) return;
50
+ var th=document.body&&document.body.dataset.docTheme; if(th&&window.__rigThemedScene){window.__rigThemedScene(cv,th);return;}
51
+ var ctx=cv.getContext('2d'),W,H,DPR=Math.min(devicePixelRatio||1,2);
52
+ function size(){W=cv.clientWidth;H=cv.clientHeight;cv.width=W*DPR;cv.height=H*DPR;ctx.setTransform(DPR,0,0,DPR,0,0);}
53
+ addEventListener('resize',size);
54
+ var AC=[204,255,77],C2=[86,216,255],nodes=[],drones=[],t=0,sy=0;
55
+ addEventListener('scroll',function(){sy=scrollY;},{passive:true});
56
+ function init(){size();nodes=[];var N=6;for(var i=0;i<N;i++)nodes.push({bx:.08+.84*(i/(N-1)),by:.18+.12*Math.sin(i*1.3)});drones=[];for(var k=0;k<24;k++)spawn(true);}
57
+ function spawn(r){drones.push({seg:0,p:r?Math.random():0,spd:.0011+Math.random()*.0019,off:(Math.random()-.5)*40,sz:1+Math.random()*1.7,hue:Math.random()<.22?C2:AC,a:.12+Math.random()*.32});}
58
+ function np(i){var n=nodes[i];return{x:n.bx*W,y:n.by*H+Math.sin(t*.0006+i)*10 - sy*.02*(1-i/nodes.length)};}
59
+ function frame(){t++;ctx.clearRect(0,0,W,H);
60
+ ctx.lineWidth=1;
61
+ for(var i=0;i<nodes.length-1;i++){var a=np(i),b=np(i+1),g=ctx.createLinearGradient(a.x,a.y,b.x,b.y);g.addColorStop(0,'rgba(204,255,77,.06)');g.addColorStop(1,'rgba(86,216,255,.025)');ctx.strokeStyle=g;ctx.beginPath();ctx.moveTo(a.x,a.y);ctx.quadraticCurveTo((a.x+b.x)/2,(a.y+b.y)/2-26,b.x,b.y);ctx.stroke();}
62
+ for(var i=0;i<nodes.length;i++){var p=np(i),pl=.5+.5*Math.sin(t*.04+i);ctx.fillStyle='rgba(204,255,77,'+(.28*pl)+')';ctx.beginPath();ctx.arc(p.x,p.y,1.8,0,7);ctx.fill();}
63
+ for(var k=drones.length-1;k>=0;k--){var dr=drones[k];dr.p+=dr.spd;if(dr.p>=1){dr.seg++;dr.p=0;if(dr.seg>=nodes.length-1){drones.splice(k,1);spawn(0);continue;}}var a=np(dr.seg),b=np(dr.seg+1),mx=(a.x+b.x)/2,my=(a.y+b.y)/2-26,u=dr.p,iu=1-u;var x=iu*iu*a.x+2*iu*u*mx+u*u*b.x,y=iu*iu*a.y+2*iu*u*my+u*u*b.y+Math.sin(u*Math.PI)*dr.off*.3,c=dr.hue;ctx.fillStyle='rgba('+c[0]+','+c[1]+','+c[2]+','+dr.a+')';ctx.beginPath();ctx.arc(x,y,dr.sz,0,7);ctx.fill();ctx.fillStyle='rgba('+c[0]+','+c[1]+','+c[2]+','+(dr.a*.12)+')';ctx.beginPath();ctx.arc(x,y,dr.sz*3,0,7);ctx.fill();}
64
+ requestAnimationFrame(frame);}
65
+ init();frame();
66
+ })();