dog/WEAVE emit + scope-bitset + large-file cap
Port the rendering surface onto dog/WEAVE (DOG-003): WEAVEEmitDiff (windowed), WEAVEEmitFull (whole-file), WEAVEEmitMerged (conflict framing), all over an index-bitset scope instead of WEAVEsetfn callbacks. Wire the 16 MiB cap + coarse large-file fallback here, folding DIFF-007. Output stays HUNK records via the existing renderers. Gates on DOG-003.
WEAVEsetfn in_from/in_to callbacks + a per-call decode;
WEAVEEmitFull carves a fixed 65536-tok buffer that overflows (DIFF-007).
commits[] indices (a rev closure), so thecallbacks collapse to array-membership tests.
Emit{Diff,Full,Merged} take u32cs from/to (or group sets); same hunk
URIs / navver / scheme as today (DIFF-003/DIFF-004 preserved).
emit and REPORT it (a capped status row), never silently empty (DIFF-007).
HUNKu8sFeedOut); side bits rewritteneq/in/rm at emit. Byte-parity with current diff/blame/merged where uncapped.
weave_overlay_syntax (re-tokenize hunk text for tags; the weavestores none). Flush-before-overflow guards become cap-driven, not fixed.
WEAVEEmitMerged keeps the byte-equality group collapse (foster/cherryre-absorption is not a real conflict).
WEAVEEmitDiff/EmitFull/EmitMerged over u32cs index scopes.capped report row.