# buuh (choo v8) — branch notes > Naming note: this work now ships publicly as **buuh**, a friendly fork > under the `uhhm` org on project.uhhm.no, with packages scoped > `@uhhm/*` (scoped so npm's per-scope registry routing works — and so > we never squat upstream's names on any registry). The docs below use > both names; "v8" refers to this modernization effort either way. The > upstream RFC stays drafted in `docs/upstream-rfc-draft.md` if this > ever goes home. This branch is the working tree for the v8 modernization effort. The v7 code at the repo root is untouched and stays authoritative until 8.0.0 ships; everything new lives under `packages/`. ## Layout - `packages/core` — `@uhhm/buuh`: the Choo class, same API as choo v7 (`use`/`route`/`start`/`mount`/`toString`/`emit`), ported to ESM. The nano* internals are consolidated into `lib/` as attributed ports: - `lib/bus.js` ← nanobus 4.5.0 - `lib/router.js` ← nanorouter 4.0.0 + wayfarer 7.0.1 (+ trie) - `lib/cache.js` ← choo component/cache.js + nanolru 1.0.0 - `lib/raf.js` ← nanoraf 3.1.0, `lib/href.js` ← nanohref 3.1.0 - `lib/timing.js` ← nanotiming 7.3.1 (unified on global `performance`) - `lib/dom.js` ← document-ready 2.0.1 + scroll-to-anchor 1.0.0 - `lib/query.js` — nanoquery replaced by `URLSearchParams` - `packages/html` — `@uhhm/buuh-html`: the rendering package. - `server.js` — server-side tagged template (← nanohtml 1.10.0 server, transform branches removed; pure runtime) - `browser.js` — runtime-only cached template tag: each template literal is parsed once (WeakMap keyed on its strings array) into a