docs(04): capture phase context

This commit is contained in:
2026-02-28 23:23:58 +01:00
parent 17afa969e8
commit b8b13828fd
@@ -0,0 +1,69 @@
# Phase 4: BBS Polish and Live Content - Context
**Gathered:** 2026-02-28
**Status:** Ready for planning
<domain>
## 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.
</domain>
<decisions>
## 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
</decisions>
<specifics>
## 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)
</specifics>
<deferred>
## Deferred Ideas
None — discussion stayed within phase scope
</deferred>
---
*Phase: 04-bbs-polish-and-live-content*
*Context gathered: 2026-02-28*