Third v0.4+ roadmap item. A new TopBar DiffToggle compares the canvas
against any git ref (default `main`) and decorates changed entities
with ADD / MOD / DEL outlines + badges.
- New /api/git/diff-files endpoint runs `git diff --name-status
<ref>...HEAD` and returns {added, modified, removed, renamed}.
- uiStore tracks diffVsRef + diffState; setDiffVsRef walks the
projectFiles tree once to map file paths → entity names.
- DiffToggle.jsx popover mirrors the DomainSwitcher pattern: ref
input, enable/refresh/disable, summary pills.
- TableCard renders a 2px outline + ADD/MOD/DEL badge in the palette
shared with DiffToggle (module-level DIFF_COLORS).
Edges and TableView stay un-decorated for v0.4.2 — entity-level
coverage on the primary canvas is the MVP cut.
Co-authored-by: duckcode2025 <kranthi@duckcode.ai>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>