arc: z-order in the slice engine + gitops collapse tune (shard and cluster nests)

This commit is contained in:
2026-08-17 14:28:45 +10:00
parent 7a82fca26e
commit c0b9359e27
5 changed files with 22 additions and 4 deletions
+1
View File
@@ -365,6 +365,7 @@ body:not(.fx) .bench{display:none}
d.className = "slab";
d.style.backgroundImage = "url(" + u.flat.src + ")";
d.style.clipPath = "polygon(" + p.points.map(q => q[0] + "% " + q[1] + "%").join(",") + ")";
if (p.z) d.style.zIndex = String(p.z);
u.scene.appendChild(d);
return d;
});
+10 -4
View File
@@ -6,6 +6,7 @@
"name": "repo",
"title": "The repository",
"blurb": "Desired state lives here. The deploy button is a git commit; the audit log is git log.",
"z": 3,
"points": [
[
13.7,
@@ -147,6 +148,7 @@
"name": "engine",
"title": "ArgoCD",
"blurb": "Watches repo + path + revision, compares desired against actual, and syncs the difference.",
"z": 5,
"points": [
[
48.29,
@@ -288,6 +290,7 @@
"name": "sheets",
"title": "Rendered manifests",
"blurb": "What the repo's charts and manifests render to - build artefacts nobody hand-edits.",
"z": 2,
"points": [
[
39.57,
@@ -397,6 +400,7 @@
"name": "cluster",
"title": "The cluster",
"blurb": "Actual state. It pulls its own future - no CI system holds a credential that can touch it.",
"z": 1,
"points": [
[
52.8,
@@ -535,13 +539,14 @@
73.22
]
],
"dx": -20.96,
"dy": -19.23
"dx": -16.01,
"dy": -14.69
},
{
"name": "shard",
"title": "Drift",
"blurb": "A hand-edited live object. selfHeal puts it back; what leaves git leaves the cluster.",
"z": 4,
"points": [
[
80.04,
@@ -660,13 +665,14 @@
94.73
]
],
"dx": -27.99,
"dy": -32.13
"dx": -13.61,
"dy": -15.62
},
{
"name": "vault",
"title": "The vault",
"blurb": "Azure Key Vault in the worked example. Git carries the reference; the vault carries the value. Never absorbed into the pipeline.",
"z": 6,
"points": [
[
56.07,
+4
View File
@@ -6,6 +6,7 @@
"name": "press",
"title": "The chart",
"blurb": "A function with holes - the template owns every structural decision, and renders whatever fills it.",
"z": 0,
"points": [
[
28.09,
@@ -155,6 +156,7 @@
"name": "contexts",
"title": "Values contexts",
"blurb": "One small file per cluster - names, addresses, sizes. The cluster's whole voice, values only.",
"z": 0,
"points": [
[
24.11,
@@ -280,6 +282,7 @@
"name": "renders",
"title": "The renders",
"blurb": "Same framework, different numbers - one function, many clusters. Review the render, not just the template.",
"z": 0,
"points": [
[
54.4,
@@ -373,6 +376,7 @@
"name": "gate",
"title": "The schema gate",
"blurb": "values.schema.json + required: a context missing a value fails at render time, in the pipeline.",
"z": 0,
"points": [
[
52.58,
+6
View File
@@ -6,6 +6,7 @@
"name": "image",
"title": "The image",
"blurb": "Course I's layers, shipped as one unit - the thing whose name we must say precisely.",
"z": 0,
"points": [
[
8.03,
@@ -107,6 +108,7 @@
"name": "registry",
"title": "Upstream registry",
"blurb": "The managed registry CI pushes to - Azure Container Registry in the worked example.",
"z": 0,
"points": [
[
31.21,
@@ -216,6 +218,7 @@
"name": "mirror",
"title": "The mirror",
"blurb": "zot, a pull-through cache: the fleet asks it, it asks upstream once, everything after is local.",
"z": 0,
"points": [
[
48.51,
@@ -305,6 +308,7 @@
"name": "core",
"title": "The node",
"blurb": "Pulls local. Boot, reschedule and recovery all lean on the mirror being there.",
"z": 0,
"points": [
[
75.83,
@@ -430,6 +434,7 @@
"name": "tag",
"title": "The tag",
"blurb": "A promise - a mutable pointer anyone with push rights can move, and nothing records that it moved.",
"z": 0,
"points": [
[
26.2,
@@ -539,6 +544,7 @@
"name": "digest",
"title": "The digest",
"blurb": "A fact - sha256 of the content. Same bytes, same digest, forever. The digest does the pulling.",
"z": 0,
"points": [
[
49.82,