mirror of
https://github.com/hanzo-docs/docs.git
synced 2026-10-24 20:09:02 +00:00
The two UI packages are adapters over different headless primitive libraries: base-ui wraps @base-ui/react, radix-ui wraps @radix-ui/*. They are meant to be alternatives. Every app here had been pulling from both. Each package builds its own React contexts, so a provider from one is invisible to a consumer from the other. insights-docs, pulsar-docs and zen-docs mounted RootProvider and the CSS preset from base-ui but took DocsLayout and the MDX map from radix-ui, so the layout's search trigger read radix's SearchContext default -- enabled:false, setOpenSearch a no-op. Search was dead on those three sites and nothing said so. apps/docs was consistent in its app code (layout, provider, MDX map, CSS all base-ui) but 28 hand-written MDX pages and the two resolveAlias entries reached for radix Callout, Card, Files and Tabs, which loaded the whole second library alongside the first. Tabs was the visible cost: the nested-tabs check compares against the context of its own copy, so a radix Tab inside a base-ui Tabs could not see its parent and drew a second frame. Every generated page already imported base-ui tabs. Callout, Card and Files are byte-identical across the two packages, so this moves no pixels; Tabs gains the nesting the rest of the site has. Nothing in apps/ imports docs-ui now, and its dependency entry goes with it. The registry generator still names both -- it publishes both.
Pulsar Documentation
Documentation site for Pulsar — threshold ML-DSA-65, the NIST MPTC submission package by Lux Industries.
Built with Hanzo Docs.
Development
pnpm install
pnpm --filter=pulsar-docs dev # http://localhost:3008
pnpm --filter=pulsar-docs build # static export to ./out
Structure
apps/pulsar-docs/
├── app/ Next.js app directory
│ ├── (home)/ Landing page
│ └── docs/ Documentation pages
├── content/docs/ MDX content
│ ├── index.mdx
│ ├── getting-started.mdx
│ ├── protocol/ 2-round threshold, FIPS 204, DKG, parameters
│ ├── proofs/ EasyCrypt, Lean bridge, axiom inventory, extraction
│ ├── reference/ API, KAT, interop
│ ├── security.mdx
│ ├── nist-mptc.mdx
│ ├── postmortem.mdx
│ └── changelog.mdx
├── lib/ Utilities
└── source.config.ts MDX configuration (KaTeX wired)
Source of truth
Content is authored from ~/work/lux/pulsar/main (README, EasyCrypt README, Lean ↔ EC bridge, byte-walk roadmaps, BLOCKERS, CHANGELOG, SUBMISSION, SECURITY). Math is rendered with KaTeX.