# lang.ugrad.ai · git-style repo breakdown

| | |
|--|--|
| **Product** | Language // One Construct |
| **Canonical** | https://lang.ugrad.ai/ |
| **Monorepo** | `grok-build` |
| **HEAD (lab)** | `d48d60c` |
| **Build style** | Vanilla HTML/CSS/JS · **no** React · **no** bundler for hub |
| **Host** | Cloudflare Pages `lang-ugrad` + Worker `lang-ugrad-proxy` |
| **AI maps** | [/repo.html](https://lang.ugrad.ai/repo.html) · [/repo.json](https://lang.ugrad.ai/repo.json) · [/sitemap.json](https://lang.ugrad.ai/sitemap.json) |

---

## 1. Where to edit (source of truth)

```
experiments/memory-glass/pwa/lang/          ← hub UI + maps
experiments/memory-glass/pwa/*.html|js      ← desks, lattice, graph, stream
scripts/language/                           ← deploy + bridge + worker
experiments/memory-glass/pwa/data/language/ ← JSON contracts
```

**Deploy:** `bash scripts/language/lang-site-deploy.sh`  
→ copies into `lang-dist/` → `wrangler pages deploy … --project-name=lang-ugrad --branch=main`  
→ Worker serves `lang.ugrad.ai/*` + `/api/presence`

---

## 2. Directory tree (condensed)

See full ASCII: [`repo-tree.txt`](./repo-tree.txt) · machine: [`repo.json`](./repo.json)

```
lang/                          # hub package
├── index.html                 ★ 14.7k L · hub shell + density + construct + presence
├── lang-typebar.js|css        ★ typebar IIFE
├── lang-chrome.js|css
├── for-ai.html · install.html
├── version.json · structure.json
├── sitemap.* · robots.txt · .htaccess
└── repo.* · REPO.md           # this breakdown

pwa/ (satellites, same origin on Pages)
├── lang-chat-desk.html        ★ 7.3k L
├── lang-graph-hub.html        ★ AI section graph
├── lang-lattice.html + modules
├── lang-shadow-entity.html
├── stream-stack.html + stream-stack-core.js
├── multiband-glyph.html
└── ugrad/ · vendor/ · data/language/

scripts/language/
├── lang-site-deploy.sh
├── lang-chat-bridge.py
└── lang-ugrad-proxy/worker.js
```

---

## 3. Code map · hub `index.html`

Single-file IIFE. Major regions (search comments / function names):

| Region | What |
|--------|------|
| CSS density / construct-bar / live-presence / mix | Layout system |
| `measureWorkArea` · `detectDensity` · `applySmartScale` · `applyDensity` | Smart scaling |
| `PERF` | high/med/low · Safari safeguard · cadence |
| `initGlyphField` | Decorative field (OFF by default) |
| seats · `zoneOf` · `orderSeatsForMix` · `paintHeat` | LIVE MIX R1–R3 |
| `bw*` · `renderBandwidthPanel` | Bandwidth pool |
| `setConstructOpen` · peers/tools/desk | ONE-row collapse |
| `initPresence` · `__fcLangPresence` | LIVE N · collab M |
| peer-modal · room · stream-compose | 3-pane ops |
| `paintHeat` · pin rail · turns · world translate | Work area |
| boot walk-modal v3 | Start \| Map \| Tools \| More |
| typebar mount | `LangTypebar.mount` |

### Runtime globals (hub)

```
window.__fcLangDensity
window.__fcLangPerf
window.__fcLangBuild
window.__fcLangLandingSeats
window.__fcLangBandwidth
window.__fcStenoLab
window.__fcLangStreamCompose
window.__fcStreamStack
window.__fcLangSections      // construct | hideAll | showAll
window.__fcLangPresence      // snapshot | setName
window.LangTypebar
```

---

## 4. Code map · other packages

| File | Lines (approx) | Role |
|------|----------------|------|
| `lang-typebar.js` | 4448 | SEND/RECV lanes, TYPE tiers, paste images, fanout BC |
| `lang-chat-desk.html` | 7323 | Full session desk + keyboard boot |
| `lang-lattice.html` | 3271 | Mesh / bloch / echarts composer |
| `lang-graph-hub.html` | 2329 | Section graph · probe · traceroute · governance |
| `stream-stack-core.js` | 987 | PIP/SPLIT/BLEND flayer API |
| `lang-ugrad-proxy/worker.js` | ~180 | Domain proxy + presence roster |
| `lang-chat-bridge.py` | — | Optional AI backend |

---

## 5. Data contracts (served live)

| URL path | File |
|----------|------|
| `/version.json` | build stamp |
| `/structure.json` | stack + density + globals |
| `/sitemap.json` | AI routing map |
| `/repo.json` | **this repo breakdown (machine)** |
| `/data/language/manifest.json` | surfaces |
| `/data/language/site-ops-map.json` | hops / leverage |
| `/llms-language.txt` | LLM prose contract |

---

## 6. Signal / collab

```
typebar SEND → BroadcastChannel("fc-language-streams") → RECV / turns / mix
presence beat → BC("fc-lang-presence") + POST /api/presence → LIVE pill
```

---

## 7. Stack (languages)

| Layer | Tech |
|-------|------|
| Markup | HTML5 |
| Style | CSS3 custom properties (`--den*`, `data-density`) |
| Logic | ES5-ish browser JS (IIFE) |
| Optional AI | Python 3 bridge |
| Deploy | bash + wrangler |
| Edge | CF Pages + Worker |

---

## 8. Analyze with Grok

```
1. GET https://lang.ugrad.ai/repo.json
2. GET https://lang.ugrad.ai/repo-tree.txt
3. GET https://lang.ugrad.ai/structure.json
4. GET https://lang.ugrad.ai/sitemap.json
5. Open hub; inspect window.__fcLang* and LangTypebar
```
