← EnergyView

Fase 2 — laadstructuur

De eager JS-graaf omvat 139 bronbestanden en circa 1,20 MB ruwe JS. De gebundelde startmodule is circa 474 kB, circa 158 kB bij lokale gzip-compressie. Dat is één startmodule met modulepreload; de vijf analyseworkers blijven afzonderlijke gebundelde entrypoints. SheetJS blijft uitsluitend bij Excel-import nodig. Alle JS/CSS/datasets die de app laadt hebben gehashte namen onder assets/ en Cache-Control: public, max-age=31536000, immutable. index.html blijft no-cache. Stabiele HA- en workerloaders en de oude publieke JSON-URL's blijven voor compatibiliteit bestaan en worden hergevalideerd; zij zijn geen immutable URL's.

Stroomgegevens en vooruitblik starten parallel. Gasprijzen/gemeenten worden pas geladen voor gasgebruik of gasafhankelijk advies. Gelijktijdige aanvragers delen één promise. Een opgeslagen gasbestand wordt bij opt-out niet actief en veroorzaakt dan ook geen tariefaanvraag.

De HA-build gebruikt dezelfde opgesplitste historie als Pages: de canonieke 18 MB data.json wordt als circa 1,99 MB startbestand geleverd; eerdere maanden komen op aanvraag. Hashnamen voegen alleen padmetadata toe; alle tariefregels zijn exact gelijk. Zowel oude history/URL's als gehashte bestanden resolven vanaf de app-pagina, ook onder /local/energyview/.

Validatie: 178/178 tests; bron-golden en een golden-run met de werkelijk gebouwde reportworker slagen voor alle acht oorspronkelijke scenario's. De bundled-assets- test controleert workerpaden, caching en alle tariefmaanden. deployment-source controleert herhaalbare builds. Geen investering, kandidaat of rekenregel is verwijderd. Een achtergebleven ./dist-import in een bestaande child-process-test is naar de canonieke ./src-module aangepast; dezelfde 650 differentiële EV-cases en de volledige jaarcontrole blijven vereist.

Echte browser: de gebundelde invoerpagina opent en het gas-tabblad laadt na een klik. Geen claim over FCP, TTI of throttling: perf:browser kon Chromium niet starten (executable ontbreekt). De externe browserbesturing bood geen Performance- API voor een vervangende meting. Ook een echte HA-installatie is niet beschikbaar; paden en beide kaartnamen zijn via tests gecontroleerd. De gzip/Brotli-cijfers in assets-before.json en assets-phase-2.json zijn lokale schattingen, geen over een mobiel netwerk gemeten overdracht. Rekenprestatiecijfers worden pas in fase 3 geïnterpreteerd; de browser blijft lokaal rekenen.