2.7 KiB
2.7 KiB
Phase 4: BBS Polish and Live Content - Context
Gathered: 2026-02-28 Status: Ready for planning
## Phase BoundaryAdd the BBS aesthetic differentiators and live filesystem watching that make the experience feel like a real BBS. Specifically: ANSI art splash screen on the index page, file timestamps and size in the status bar, a vault-wide directory listing, and live content auto-refresh when files change on disk.
## Implementation DecisionsANSI art splash screen
- Art loaded from a vault file named
splash.txtin the vault root - Colorful ANSI art style using the CGA palette — multi-color block characters
- If
splash.txtis missing, show index.md normally — graceful degradation, no fallback banner - Splash is rendered above index.md content (header + content below it)
Timestamp & page metadata
- Last-modified timestamp displayed in the status bar (not inline in content)
- BBS-style format: "Last modified: Feb 25, 2026"
- Also show file size alongside timestamp, e.g. "Last modified: Feb 25, 2026 | 2.4 KB"
- Status bar layout: left = breadcrumb, right = metadata + keyboard hints
Directory listing
- Accessed via a special
[[Directory]]wiki-link (not a keyboard shortcut) - Tree view display showing folder hierarchy with indentation
- Entries show name only — no timestamps or sizes in the listing itself
- Entries are navigable using existing Tab-cycle link model (Tab between entries, Enter to open)
- Directory is a virtual page that participates in navigation history
Live reload
- Silent refresh — no visual indicator, content updates seamlessly
- Scroll position preserved on refresh — user stays where they are
- Watch scope: current file + vault directory (detect new/removed files for directory listing)
- Short debounce (~300ms) to avoid flickering from rapid saves
Claude's Discretion
- ANSI art parsing implementation (how to interpret color codes from splash.txt)
- Exact status bar spacing and truncation strategy when terminal is narrow
- Tree view indentation characters and styling
- notify crate configuration and event filtering
- Debounce implementation details
- splash.txt uses colorful ANSI art in the CGA palette tradition — think classic BBS login screens with block characters
- Directory listing uses the same Tab-cycle navigation model already built in Phase 3 — entries behave like links
- The Directory link is a magic wiki-link that the vault resolver recognizes specially (not a real file)
None — discussion stayed within phase scope
Phase: 04-bbs-polish-and-live-content Context gathered: 2026-02-28