From 5e7dd882f413d86018e6940d7ccea4378f49ba90 Mon Sep 17 00:00:00 2001
From: Dominique Devereaux <90852374+ibloud@users.noreply.github.com>
Date: Thu, 17 Sep 2026 18:30:22 -0500
Subject: [PATCH 1/2] Add retro public-network training landing page
---
docs/index.html | 68 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 68 insertions(+)
create mode 100644 docs/index.html
diff --git a/docs/index.html b/docs/index.html
new file mode 100644
index 0000000..8df45d0
--- /dev/null
+++ b/docs/index.html
@@ -0,0 +1,68 @@
+
+
+
+
+
+
+LOPTR LAB // CREATIVE DEVELOPMENT NETWORK
+
+
+
+
+
+
+
+ FIELD BRIEF 001
+ CREATIVE ACCESSIBILITY
+ Give creatives accessible, low-risk ways to experiment with techniques they might otherwise be unable to explore.
+
+ LIMITATION → ADAPTATION → EXPERIMENT → CREATION → SHARE
+
+
+
+
+
+ TRANSMISSION 001 // WHAT IS THIS?
+ This training network is a practical on-ramp for people who want to make creative tools, adaptations, assets, and documented techniques.
+ The TypeScript exercise is one training instrument—not the definition of the program.
+ READ THE FULL FIELD MANUAL
+
+
+ CURRENT ASSIGNMENT
+ VEILED DOMINION
+ Systems exercise · TypeScript · Jest
+ STATUS PROTOTYPE TRAINING SURFACE OUTPUT CODE + NOTES + TEST EVIDENCE ACCESSIBILITY DESIGN CONSTRAINT THROUGHOUT
+ OPEN TRAINING REPOSITORY ↗
+
+
+ NEXT OBJECTIVE
+ MAKE SOMETHING USEFUL
+ Build something that helps an independent artist, a community, or another creator cross a barrier.
+ OPEN THE ACCESSIBILITY PATH
+
+
+ FIELD REPORT // CONNECTION
+ FROM CREATOR TO ADVOCATE
+ Document what you made, explain the barrier and adaptation, then identify people who can test, use, improve, integrate, or share it.
+ OPEN CONNECTION PROTOCOL
+
+
+
+
+ TRANSMISSION // VIOLET'S REVENGE
+ WOULD YOU LIKE TO KNOW MORE?
+ The network is designed as a public-information terminal: serious about craft, slightly theatrical about the mission, and explicit that participation is voluntary.
+ NO CERTIFICATE REQUIRED. MAKE SOMETHING. SHARE WHAT YOU LEARNED.
+
+
+
+ LOPTR LAB // CREATIVE DEVELOPMENT NETWORK
+ ACCESSIBILITY IS A DESIGN CONSTRAINT, NOT A FINAL MODULE.
+
+
+
From c7e665f275c66be5862c15bd278dc99729bbe7b8 Mon Sep 17 00:00:00 2001
From: Dominique Devereaux <90852374+ibloud@users.noreply.github.com>
Date: Thu, 17 Sep 2026 18:30:25 -0500
Subject: [PATCH 2/2] Add accessible retro public-network training theme
---
docs/training.css | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
create mode 100644 docs/training.css
diff --git a/docs/training.css b/docs/training.css
new file mode 100644
index 0000000..439b751
--- /dev/null
+++ b/docs/training.css
@@ -0,0 +1,34 @@
+:root{--paper:#eee9dc;--ink:#151515;--blue:#173d62;--orange:#d66b20;--line:#1b2731}
+*{box-sizing:border-box}
+html{font-family:Arial,Helvetica,sans-serif;background:var(--paper);color:var(--ink)}
+body{margin:0;min-height:100vh;background:linear-gradient(rgba(0,0,0,.025) 1px,transparent 1px),var(--paper);background-size:100% 4px}
+.scanlines{position:fixed;inset:0;pointer-events:none;opacity:.08;background:repeating-linear-gradient(0deg,transparent 0,transparent 2px,#111 3px);z-index:5}
+.masthead,main,footer{max-width:1100px;margin:auto}
+.masthead{padding:2rem 1.25rem 1rem;border-left:8px solid var(--blue);border-right:8px solid var(--blue)}
+.serial,.eyebrow,.panel-head,.statusbar,footer{font:700 .72rem/1.4 "Courier New",monospace;letter-spacing:.08em}
+.serial{color:var(--blue)}
+h1{font:900 clamp(2.5rem,8vw,6rem)/.9 Impact,"Arial Narrow",sans-serif;letter-spacing:.03em;margin:.5rem 0 0}
+.subtitle{font:800 clamp(1rem,3vw,1.7rem)/1 "Arial Narrow",Arial,sans-serif;letter-spacing:.18em;margin:.5rem 0 1.25rem}
+.statusbar{display:flex;gap:1rem;flex-wrap:wrap;border-block:2px solid var(--ink);padding:.65rem 0}
+.statusbar span:first-child{color:var(--orange)}
+main{padding:1rem 1.25rem 3rem}
+.brief{border:3px solid var(--ink);padding:1.5rem;background:#f5f0e4;box-shadow:8px 8px 0 var(--blue)}
+h2{font:900 clamp(1.8rem,5vw,3.5rem)/1 Impact,"Arial Narrow",sans-serif;margin:.25rem 0 .75rem}
+.lead{font-size:1.2rem;max-width:760px}
+.path{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;margin-top:1.25rem;font:800 .85rem "Courier New",monospace}
+.path span{border:2px solid var(--ink);padding:.45rem .55rem;background:#fff}
+.path b{color:var(--orange)}
+.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem}
+.panel{border:2px solid var(--line);padding:1.2rem;background:rgba(255,255,255,.35);min-height:240px}
+.panel-head{color:var(--blue);border-bottom:1px solid var(--line);padding-bottom:.5rem}
+h3{font:900 1.5rem "Arial Narrow",Arial,sans-serif;letter-spacing:.05em}
+dl{font:700 .75rem "Courier New",monospace;display:grid;grid-template-columns:110px 1fr;gap:.4rem;margin:1rem 0}
+dt{color:var(--orange)}dd{margin:0}
+.button{display:inline-block;border:2px solid var(--ink);padding:.65rem .8rem;color:var(--ink);text-decoration:none;font:800 .72rem "Courier New",monospace;background:#fff}
+.button:hover,.button:focus{background:var(--blue);color:#fff}
+.violet{margin-top:2rem;background:var(--blue);color:#fff;padding:1.5rem;border:3px solid var(--ink)}
+.violet .eyebrow{color:#f3b36c}.directive{font:900 1.2rem/1.4 "Courier New",monospace;color:#f3b36c}
+footer{padding:1.5rem 1.25rem;border-top:3px solid var(--ink);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}
+@media(max-width:700px){.grid{grid-template-columns:1fr}.masthead{border-width:4px}.path b{display:none}.path{display:grid;grid-template-columns:1fr 1fr}.path span{width:max-content}}
+@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.scanlines{display:none}}
+@media(prefers-contrast:more){.panel,.brief,.violet,.button{border-width:3px}}