- Switched render outputs from byte arrays to base64 strings across native and TypeScript surfaces. - Updated `RenderedFrame` and FFI declarations so `data` is a base64 string and `chars` are exposed. - Added `SnapcompactSerializeOptions` with truncation, head/tail ratio and tool/arg/call limits. - Tracked dim-marker state in rendering, reopening spans across chunk boundaries and stripping markers.