diff --git a/.planning/phases/04-bbs-polish-and-live-content/04-CONTEXT.md b/.planning/phases/04-bbs-polish-and-live-content/04-CONTEXT.md new file mode 100644 index 0000000..c0438cd --- /dev/null +++ b/.planning/phases/04-bbs-polish-and-live-content/04-CONTEXT.md @@ -0,0 +1,69 @@ +# Phase 4: BBS Polish and Live Content - Context + +**Gathered:** 2026-02-28 +**Status:** Ready for planning + + +## Phase Boundary + +Add 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 Decisions + +### ANSI art splash screen +- Art loaded from a vault file named `splash.txt` in the vault root +- Colorful ANSI art style using the CGA palette — multi-color block characters +- If `splash.txt` is 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 + + + + +## Specific Ideas + +- 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) + + + + +## Deferred Ideas + +None — discussion stayed within phase scope + + + +--- + +*Phase: 04-bbs-polish-and-live-content* +*Context gathered: 2026-02-28*