How eduardd76/rfc-visual works
rfc-visual turns an RFC number or RFC-editor URL into a browsable explanation: users search or open an RFC page, then inspect its status/relations, lineage, text, and—when available—an interactive protocol visual. The repository also supports machine-generated visual drafts with quote validation and repair. The graph covers the sampled page and rendering calls plus README-documented generator behavior; several modules are indexed but unsampled, so their internal wiring is intentionally not inferred.
Main entry points: [slug]/page.tsx RFC page · app/page.tsx Search landing · load.ts Index loading · rfc-visuals.tsx Visual presentation
Components 28
RFC Web Experience
- Search landing
src/app/page.tsx - RFC page
src/app/rfc/[slug]/page.tsx - RFC status header
src/components/rfc-header.tsx - RFC relations
src/components/rfc-relations.tsx - RFC text
src/components/rfc-text.tsx - RFC search UI
src/components/rfc-search.tsx - Lineage graph view
src/components/lineage-graph.tsx
RFC Data and Discovery
- Index loading
src/rfc/load.ts - Index parsing
src/rfc/parse-index.ts - Search logic
src/rfc/search.ts - Canonical RFC paths
src/rfc/canonical.ts - Lineage model
src/rfc/lineage.ts
Protocol Visuals
- Visual registry
src/visuals/registry.ts - Hand-built protocol visuals
src/visuals/rfc4271.ts - Visual compilation
src/visuals/compile.ts - Visual presentation
src/components/rfc-visuals.tsx - Mermaid renderer
src/components/mermaid-diagram.tsx - Diagram viewport
src/hooks/use-mermaid-viewport.ts - Pointer gestures
src/hooks/use-diagram-pointer-gestures.ts - Diagram helpers
src/components/mermaid-diagram-helpers.ts - Visual validator
src/visuals/validate.ts
Visual Draft Generation
- Draft scheduling
src/generator/queue.ts - Model requests
src/generator/openrouter.ts - Draft parsing
src/generator/parse.ts - Quote validation and pruning
src/generator/prune.ts
Other components
- RFC reader
- RFC Editor
- OpenRouter
Connections 33
- RFC reader → Search landing: opens
README.md - RFC reader → RFC page: opens RFC
README.md - Search landing → RFC search UI: renders
src/app/page.tsx - Search landing → Visual registry: lists visuals
src/app/page.tsx - Search landing → Canonical RFC paths: links RFCs
src/app/page.tsx - RFC search UI → Search logic: queries
- Search logic → Index loading: uses index
- Index loading → Index parsing: parses data
- RFC page → Index loading: loads entries
src/app/rfc/[slug]/page.tsx - RFC page → Visual registry: selects visual
src/app/rfc/[slug]/page.tsx - RFC page → RFC status header: renders
src/app/rfc/[slug]/page.tsx - RFC page → RFC relations: renders
src/app/rfc/[slug]/page.tsx - RFC page → RFC text: renders
src/app/rfc/[slug]/page.tsx - RFC page → Lineage model: builds graph data
src/app/rfc/[slug]/page.tsx - RFC page → Lineage graph view: renders
src/app/rfc/[slug]/page.tsx - Lineage model → Canonical RFC paths: links RFC nodes
src/rfc/lineage.ts - RFC page → Canonical RFC paths: resolves paths
- Visual registry → Hand-built protocol visuals: provides models
- RFC page → Visual presentation: renders visual
src/app/rfc/[slug]/page.tsx - Visual presentation → Visual compilation: formats diagrams
src/components/rfc-visuals.tsx - Visual presentation → Mermaid renderer: renders charts
src/components/rfc-visuals.tsx - Mermaid renderer → Diagram viewport: uses viewport
- Diagram viewport → Pointer gestures: handles gestures
src/hooks/use-mermaid-viewport.ts - Pointer gestures → Diagram helpers: uses geometry
src/hooks/use-diagram-pointer-gestures.ts - Diagram viewport → Diagram helpers: uses geometry
src/hooks/use-mermaid-viewport.ts - RFC Editor → Index loading: supplies RFC data
README.md - Draft scheduling → Model requests: schedules requests
README.md - Model requests → OpenRouter: requests drafts
README.md - Model requests → Draft parsing: returns output
- Draft parsing → Quote validation and pruning: passes draft
- Quote validation and pruning → Visual validator: checks quotes
src/generator/prune.ts - Quote validation and pruning → RFC Editor: checks against text
README.md - Visual validator → Draft scheduling: retries failures
README.md