← EnergyViewProductverbetering na v280 — status en bewijslast
Aanvulling 3 november 2026: zie de gerichte rapportreview voor gecorrigeerde documenten, bronlabels en nieuwe meetresultaten. Onderstaande browser- en testcijfers beschrijven de oorspronkelijke v281-levering.
Dit is een gefaseerde verbetering, geen bewezen 9/10 of 10/10. De gewone instellingen en vindbaarheid zijn verbeterd; uitgebreide analyseformulieren, volledige browseracceptatie en het geheugenbudget zijn nog niet afgerond.
Scorekaart zonder verzonnen cijfers
| Dimensie | Voor | Na / bewijs | Nog open |
|---|
| Rekenkern | 201 tests; bestaande golden | Geen rekenregel of tarief gewijzigd; golden-referentie ongewijzigd | Nieuw investeringsmodel pas na akkoord |
| Engineering | lint 738, types 492 | lint 737, types 490; nul nieuwe meldingen | Grote bestaande baseline verder terugbrengen |
| Gebruiksgemak | Algemene instellingen: 18 uitklappers, 6 genest, diepte 2 | 6 onderwerpen, 0 uitklappers in algemene instellingen; korte veldnamen en uitleg | Gas/uitgebreide analyse nog niet volledig uniform; 10 seconden niet met mensen gemeten |
| Beheer | Voorstellen niet opgenomen in builds | Hashgebonden expliciete goedkeuring; dezelfde input voor drie builds; offline fixtuurtest | Echte GitHub-rechten/Action/merge niet getest |
| Snelheid | Aankoopplan eerder ongeveer 1 GiB piek-RSS | Geen versnelling of geheugendaling geclaimd | <50 ms, mobiel, Lighthouse en een lager geheugenbudget niet bewezen |
| Vertrouwen | Versheid vooral bij bronnen | Publicatiemaand en actualiteit zichtbaar; scope zichtbaar; risico- en bronnennotitie | Juridische vrijgave promotiebron en framingbesluit |
| Rapport | Bestaand window.print-pad | Eigen print-HTML, elektriciteit/gas, geanonimiseerd offerteblad, bedragen uit schermobjecten | Completere investeringsdata en gegarandeerde bandbreedtes; Chrome-PDF nog niet lokaal gemeten |
Per werkstroom
1. Algemene instellingen: zes onderwerpen, bestaande IDs/handlers behouden, veldstatus en reset voor echte voorkeuren, globale afwijkingenteller. Eigen metingen/postcode hebben geen verzonnen standaard. Maximaal zes gewone prijsvelden per pagina. Uitgebreide analyse- en gasformulieren hebben nog niet overal hetzelfde model; zie de grenzen en verhuistabel. 2. Woning: blijvende samenvatting, openen vóór eerste resultaat, warmtepomp als vierde apparaat. De volledige woningeditor blijft bestaan. 3. Rapport: lokale HTML-preview en print; geen PDF-runtimebibliotheek of rapportdienst. Gas en elektriciteit gebruiken hun eigen berekende objecten; geen tweede prijsberekening. Tests bewijzen exacte bedragen/rangorde en scheiding van energiesoorten. Geen naam/adres/EAN. Standaard alle secties toegankelijk; tier-indeling niet gekozen. Bestaande printfunctie behouden. 4. Browser: aparte CI-workflow en reproduceerbare harness toegevoegd. Lokale Chromium-download leverde afgebroken bestanden; de harness gaf daarom exitcode 2 en not-measured. De volledige geautomatiseerde browserrun is niet als geslaagd geteld. Chrome via de beschikbare previewbrowser is voor handmatige controles gebruikt. Extra analyses hebben een stopactie via de bestaande workerpool. Het stopgedrag van elk zwaar onderzoek is nog niet in een echte volledige jaartest bevestigd. Geen geheugenoptimalisatie uitgevoerd zonder profielbewijs. 5. Data: voorstellen worden pas buildinput na expliciete approval.json, aan manifest en genormaliseerde bestanden gebonden. Ongeldige of gewijzigde bestanden stoppen de build. Geen nieuwe dataset in deze release geactiveerd. Versheid staat bij alle schermen en in rapporten. Harde curvecontrole blijft. 6. Investeringen: concreet ontwerp en illustratie, zonder wijziging aan investmentModel of golden-referentie. 7. Onderhoud: kleine type-/escapeverbeteringen, één begrippenlijst, 31 historische dagrapporten naar docs/history met bijgewerkte Markdownlinks. Runtime-flowadapter behouden: er is geen gemeten CLS-bewijs dat een bouwtijdverhuizing het risico van deze wijziging rechtvaardigt. 8. Veiligheid: expliciete style-src/img-src; bestaande luchtfoto-origin behouden. Geen framingkeuze opgelegd. Bestaande parent/referrer/nonce-controle behouden. npm audit: 5 matige ontwikkelafhankelijkheden, 0 hoog/kritiek; geen blinde downgrade. API-fouttests blijven onderdeel van npm test. 9. Inhoud: scope, actualiteit, begrippenlijst, bronrisico's en opties en vijfpersoonstest. Heffingen niet opeens als onafhankelijk gecontroleerd gelabeld. Geen juridische of commerciële keuze namens eigenaar.
Rapportvoorbeelden en visuele controle
Synthetische voorbeelden; geen persoonlijke resultaten of marktadvies. HTML: node scripts/ux/report-fixture.mjs --write. Voorbeelden werden offline met WeasyPrint 70 naar PDF gezet, met een fetcher waarbij iedere netwerkaanvraag faalt. Dit is geen Chromium-printmeting. Na renderen zijn alle zes rapportpagina's visueel gecontroleerd, plus het offerteblad. PDF-tekst is doorzoekbaar en lettertypes zijn ingebed. Geen claim van formele PDF/UA-conformiteit zonder onafhankelijke validator.
| Voorbeeld | Pagina's | Grootte | Formaat |
|---|
| Oorspronkelijk energierapport | 6 | 45.772 bytes bij herhaling met WeasyPrint 70.0 / DejaVu | A4, SVG en tekst |
| Oorspronkelijk offerteblad | 1 | 12.566 bytes bij dezelfde herhaling | A4, alleen postcode |
Dit zijn lokale rendererbestanden, geen garanties voor de downloadgrootte. De metadata van de eerder aangeboden downloads bevestigt 105.185 en 42.966 bytes. Bewaren/publiceren kan extra bestandsmetadata toevoegen. De exacte nieuwe bestanden en gebruikte methode staan in de gerichte review en het manifest.
De browserpreview toonde dezelfde topcontracten en bedragen uit het scherm, met centnotatie in het rapport. De test vergelijkt de onderliggende bedragen, niet de op hele euro's afgeronde schermtekst. Niet-berekende bandbreedtes en terugverdientijden worden expliciet als ontbrekend vermeld.
Reproduceren
npm ci
npm test
npm run perf:golden
npm run lint
npm run typecheck
npm run format:check
npm run build:ha
npm run build:pages
npm run build:worker
npx playwright install chromium
npm run ux:browser
De laatste volledige controle slaagde met 205/205 tests. Lint en typecheck hebben geen nieuwe meldingen. De golden-controle wordt afzonderlijk vermeld. Benchmarktijden uit een losse golden-run zijn geen voor/na-benchmark; ze worden niet als snelheidswinst gepresenteerd.
Beslissingen van de eigenaar
1. Oude curve: harde weigering houden of expliciete coulance (voorstel t/m dag 5 in Brussel, met zichtbare waarschuwing)? Tot akkoord ongewijzigd. 2. Investeringsmodel: percentages, betekenis jaarlijkse daling, levensduur en definitie van terugverdienen. Voorbeelden zijn geen gekozen standaard. 3. Framing: eigen build, expliciete HA-origins of brede compatibiliteit behouden? 4. Promoties: schriftelijke toestemming/API-overeenkomst of een andere bronroute? 5. Rapportsecties: alle toegankelijk laten; eventuele basis/uitgebreid-benaming expliciet bepalen. Er is niets afgeschermd.
Aanvullende handmatige browsermetingen
Werkelijk uitgevoerd in Chrome, met dezelfde app in een frame van 360 en 1280 CSS-pixels. Geen CPU-/netwerkthrottling en geen echt mobiel besturingssysteem.
| Scherm | 360 px: axe | 1280 px: axe | Overloop | Kleine tekst (<14 px) |
|---|
| Gegevens | 0 | 0 | geen | 0 |
| Contract | 0 | 0 | geen | 0 |
| Resultaat | 0 | 0 | geen | 0 |
Inclusief kleurcontrast (wcag2a/aa). Een aantal ruwe meetbestanden staat in browser-evidence/. Dit bewijst deze gecontroleerde toestanden, niet alle combinaties of alle geavanceerde formulieren. Individueel herstellen van “Zonder kortingen” is op scherm getest; teller en veldstatus keren terug naar Standaard. In de handmatige flow waren drie selectie-/navigatieklikken nodig na de invoer van postcode en jaarverbruik: invoermethode, contractstap, resultaat. Daarna is ook de bestandsroute op scherm doorlopen: een synthetisch bestand met 35.040 metingen blijft na import bij Je gegevens; contractselectie en resultaat volgen pas via de expliciete knoppen. Een lopende achtergrondanalyse is gestopt; de bestaande contractbedragen bleven zichtbaar. Niet iedere afzonderlijke zware onderzoeksmodule is hiermee getest.
De instellingen zijn als browserbeeld bewaard. De gevraagde volledige reeks losse screenshots is niet compleet: de crop/full-page-screenshotroute liep herhaaldelijk vast. De 360-pixel-layout is wel zichtbaar in het testframe.
De bouwstap levert ook lokale installatie- en documentatiepagina's; geen externe Markdown-renderdienst. Hierdoor bevat de Worker meer statische documentatiebytes. De invloed daarvan op een koude start is niet gemeten.
Definitieve financiële controle
De golden-referentie is niet aangepast. Alle acht scenario's hebben een exact numeriek verschil van nul, met dezelfde rangorde en identifiers: electricity-single, electricity-dual, pv-single, pv-dual, dynamic-ev-battery, gas, battery-study, purchase-plan. Zie golden-differences-v281.json. De volledige suite telt 205 geslaagde tests.
Er is geen vijfvoudige voor/na-prestatievergelijking voor een optimalisatie in deze levering: er is geen rekenoptimalisatie uitgevoerd of snelheidswinst geclaimd. De losse golden-run liet bij aankoopplannen nog circa 1 GiB piek-RSS zien; het gevraagde lagere geheugenbudget is niet behaald. Throttled Web Vitals, Lighthouse en <50 ms zijn nog niet bewezen.