69bf4393fb3f6c75654f5ca35186258d76bbe78d
Generated in-browser with fflate, so export works offline. mimetype is stored first and uncompressed as the ODS spec requires. Also adds datasetMonthSpan to the domain views layer, which determines the month range an export should cover: from the fold start through the latest month touched by any month record or purchase slice, including future finance-plan slices. Widened the mimetype-header test's byte slice from 64 to 96 bytes: the zip local-file header for "mimetype" is 38 bytes and ODS_MIMETYPE is 46 characters, so 64 bytes could never contain the full string regardless of implementation.
budget2.0
New version of budget page, vibecoded.
Languages
TypeScript
98.3%
CSS
1.4%
HTML
0.2%