Release notes

Release notes

Productupdates en nieuwe functies van ViewEnvision 3.

0.0.12-alpha

Interne alpha van ViewEnvision 3 met officiële GG/RHG/RLG-lijnen, adaptieve y-assen, betrouwbaardere grafieknavigatie, snellere meetdatalading en herstelde CIW-rapportages.

Deze interne prerelease bundelt de wijzigingen sinds 0.0.11-alpha. De nadruk ligt op betrouwbaar analyseren tijdens pannen en zoomen: zichtbare meetdata blijft staan terwijl ontbrekende perioden worden aangevuld, kalenderperioden behouden hun betekenis en de y-as volgt de werkelijk zichtbare waarden. Grondwaterreferenties komen voortaan rechtstreeks uit de live API en CIW-rapportages tonen weer overstortevents.

Highlights

  • Toon officiële GG-, RHG- en RLG-waarden uit de live API als afzonderlijk schakelbare grondwaterlijnen.
  • Laat de y-as automatisch meegroeien met de zichtbare meetwaarden en referentielijnen, of zet het bereik bewust vast.
  • Pan en zoom betrouwbaarder door dagen, maanden en jaren zonder dat geladen meetdata of de gekozen grafiekperiode verspringt.
  • Behoud zelfgekozen zoomperioden en volledige kalenderperioden tijdens verdere navigatie, ook rond zomer- en wintertijd.
  • Vergelijk meetpunten met duidelijkere selectiebediening en een gedeeld y-asbereik per grootheid en eenheid.
  • Bekijk CIW-overstortevents weer in de rapportage en gebruik de beschikbare CSV- en XLSX-export.

Grondwaterlijnen

  • Grondwatergrafieken gebruiken GG, RHG en RLG uit de live API. Deze vooraf berekende waarden veranderen niet met de gekozen grafiekperiode.
  • De drie officiële lijnen staan bij een nieuwe sessie standaard uit en kunnen afzonderlijk via de legenda worden ingeschakeld.
  • Wanneer de API een waarde niet levert, verschijnt de bijbehorende lijn niet. De grafiek berekent geen lokale vervanging meer.

Vergelijken van meetpunten

  • De meetnetverkenner gebruikt herkenbare plus- en minknoppen om meetpunten aan de vergelijking toe te voegen of eruit te verwijderen.
  • Badges maken onderscheid tussen een conceptselectie en de opgeslagen vergelijking. Bij de selectielimiet worden verdere toevoegingen uitgeschakeld.
  • De vergelijkingslade toont meetpuntnaam, code en locatie in dezelfde hiërarchie als de meetnetverkenner en biedt alleen acties die in de actuele context relevant zijn.
  • Wijzigingen annuleren herstelt de opgeslagen vergelijking. Bladeren naar een ander meetpunt houdt de opgeslagen selectie beschikbaar.
  • Grafieken in het 2×2-raster en onder elkaar gebruiken per grootheid en eenheid hetzelfde y-asbereik, zodat verschillen tussen meetpunten eerlijker te vergelijken zijn.

Grafieknavigatie en kalenderperioden

  • Automatische periodesynchronisatie wacht totdat pannen of scrollen is afgerond. Pannen behoudt daardoor het actieve tijdniveau en uitzoomen naar maand of jaar blijft mogelijk.
  • Snelle muisframes worden gebundeld zonder het onderscheid tussen gebruikersinput en de interne snap-animatie te verliezen. De bereikpreview verdwijnt weer na loslaten en de dashboardperiode wordt pas na een afgeronde interactie bijgewerkt.
  • Een zelfgekozen periode uit Zoomperiode blijft bij pannen exact even lang en wordt niet teruggebracht naar een vast dag-, week-, maand- of jaarniveau.
  • Een volledige kalenderperiode blijft een datumrange. Een selectie zoals 1 juni tot en met 31 juli krijgt na pannen geen onverwachte tijden.
  • Volledige oktobermaanden tonen weer weekmarkeringen; het extra uur bij de wintertijdwissel beïnvloedt de asindeling niet meer.
  • KNMI-neerslag houdt aangrenzende perioden en een veilig uitzoomniveau tijdelijk gereed. Neerslagstaven blijven daardoor beter beschikbaar tijdens pannen en uitzoomen.
  • De grafiekbediening groepeert periode-, legenda- en exportacties consistenter en toont het label Legenda niet meer dubbel.
  • Kaartknoppen en samengestelde knopgroepen gebruiken weer gelijke onderlinge afstanden.

Y-as en zichtbare waarden

  • De y-as bepaalt het bereik standaard uit alle zichtbare meetreeksen en ingeschakelde referentielijnen.
  • Waarden buiten de zichtbare grafiekperiode bepalen de schaal niet langer. Ingeschakelde referentielijnen blijven wel meetellen.
  • Kleine waardeveranderingen behouden het huidige bereik; een betekenisvolle wijziging wordt kort geanimeerd.
  • Via Grafiekweergave kan het automatische bereik worden vastgezet. De keuze staat ook bij de centrale grafiekinstellingen.
  • Een geplande y-asupdate uit een pointerinteractie wordt geannuleerd zodra een volledige periode-update begint. Daardoor verdwijnt de korte canvasflits die na slepen kon optreden.

Meetdatalading en betrouwbaarheid

  • Naar een oudere periode pannen haalt ontbrekende meetdata ook op wanneer de API alleen een voorlopige beschikbaarheidsgrens kent.
  • Een mislukte aanvulling stopt na één automatische herstelpoging en toont daarna een duidelijke actie om opnieuw te proberen.
  • Een ongewijzigde grafiekperiode start niet opnieuw het voorladen van buurperioden. De laadmelding verdwijnt zodra het geplande werk is afgerond.
  • Meetdata die tijdens pannen of scrollzoomen binnenkomt behoudt de nieuwste zichtbare grafiekperiode. Een oudere interne zoomstand kan nieuwe reeksen niet meer buiten beeld filteren.
  • Bij uitzoomen van meerdere maanden naar een volledig jaar blijven reeds zichtbare maandblokken staan terwijl ontbrekende maanden worden samengevoegd.
  • Het actieve jaarvenster mag tijdelijk boven het zachte geheugenbudget uitkomen om zichtbare data te beschermen. Zodra het venster kleiner wordt, kan de cache buiten beeld weer opruimen.
  • Gelijktijdig afgeronde meetdatablokken en snelle pan- en zoomupdates worden gebundeld. Een wijziging in alleen de laadstatus start geen nieuwe grafiekrender.
  • Een defecte apparaatcache wordt na de eerste fout voor de huidige browsersessie overgeslagen, zodat de live route beschikbaar blijft zonder herhaalde opslagfouten.
  • Herstelbare cache- en workerproblemen vallen terug op de canonieke verwerking en worden niet langer stil genegeerd. Een onherstelbare verwerkingsfout blijft zichtbaar in plaats van een laadactie onbeperkt te laten hangen.

Rapportages

  • CIW-rapportages laden weer gegevens uit de live API. Overstortevents worden opnieuw getoond en CSV- en XLSX-export blijven beschikbaar.

Bekende beperkingen

  • Snelle tijdnavigatie, automatische periodesynchronisatie en lokale meetdataopslag blijven optionele instellingen en staan bij nieuwe gebruikers standaard uit.
  • Een groot actief jaarvenster kan tijdelijk meer browsergeheugen gebruiken om te voorkomen dat zichtbare meetdata tijdens het aanvullen verdwijnt.
  • Ontbrekende officiële GG-, RHG- of RLG-waarden worden niet lokaal geschat; zonder API-waarde verschijnt de betreffende lijn niet.

0.0.11-alpha

Interne alpha van ViewEnvision 3 met accountinzage, centrale instellingen, vergelijking van meerdere meetpunten, snellere grafieknavigatie en PDF/PNG-export.

Deze interne prerelease maakt het dashboard persoonlijker en geschikter voor analyse over meerdere meetpunten. Accountgegevens en rechten zijn inzichtelijk, dashboardvoorkeuren staan op één plek en meetpunten kunnen samen worden bekeken in grafiek, tabel, kaart en export. Grafieken bieden daarnaast meer controle over tijd, referentiehoogtes, hulplijnen, legenda en annotaties.

Highlights

  • Bekijk profielgegevens, organisatie-informatie en concrete lees-, schrijf- en metadatarechten per meetnet op de nieuwe accountpagina.
  • Beheer dashboardvoorkeuren centraal via Instellingen voor weergave, grafiek, kaart en dataopslag.
  • Vergelijk maximaal acht meetpunten in één gecombineerde grafiek, een 2×2-raster of grafieken onder elkaar.
  • Stel een vergelijking samen via zoeken, de meetnetverkenner of selectie op de kaart en pas de volgorde later aan.
  • Navigeer sneller door grafiekperioden met duidelijke snapping, een bereikpreview en optionele automatische synchronisatie met de dashboardperiode.
  • Analyseer hoogtemetingen ten opzichte van NAP, maaiveld of de bovenkant van het meetpunt wanneer de benodigde referentiegegevens beschikbaar zijn.
  • Voeg maximaal vijf eigen horizontale hulplijnen toe en beheer vaste referentielijnen rechtstreeks vanuit de legenda.
  • Download de actuele grafiek als liggende A4-PDF of PNG, inclusief de zichtbare periode, reeksen, referentielijnen en annotaties.

Account en instellingen

  • Het gebruikersmenu bevat een directe route naar Account en naar de centrale instellingen.
  • De accountpagina toont naam, e-mailadres, rol, beschikbare organisatiegegevens, de gekoppelde platformbeheerder en rechten per meetnet zonder rechten af te leiden uit alleen een rollenlabel.
  • Alleen mogelijkheden die het actuele account en de aangesloten omgeving werkelijk ondersteunen worden als beschikbaar getoond. Niet-beschikbare profiel- of beheeracties zijn herkenbaar uitgeschakeld.
  • Een nieuwe login vervangt de vorige sessie volledig; accountgegevens blijven verborgen zodra de gebruiker is uitgelogd.
  • Onder Weergave staan onder meer kleuraccent, achtergrond, tabeldichtheid en tijdzone.
  • Onder Grafiek staan hoogtereferentie, vergelijkingsindeling, snapping, snelle tijdnavigatie, buurvensters, automatische periodesynchronisatie en KNMI-neerslag.
  • Onder Kaart staan kaartweergave, ondergrond, labels, gebouwen, terrein en beschikbare PDOK-lagen.
  • Onder Data & prestaties kan meetdata optioneel op het apparaat worden opgeslagen, kan de opslag worden bekeken en kan opgeslagen meetdata gericht worden verwijderd.
  • Bestaande kaart- en vergelijkingsvoorkeuren worden meegenomen naar de nieuwe instellingen.
  • Het gebruikersmenu houdt Modus als snelle keuze voor systeem, licht en donker; de overige voorkeuren staan voortaan onder Instellingen.

Meerdere meetpunten vergelijken

  • Een vergelijking kan worden opgebouwd vanuit zoeken, de kaart, rechthoek- of vrije-vormselectie en de dashboardcontext.
  • Het actieve meetpunt blijft het punt waarop wordt ingezoomd; de gekozen vergelijking en volgorde blijven daarbij behouden.
  • De vergelijkingslade ondersteunt toevoegen, verwijderen, herordenen, toepassen en bewaren zonder onverwachte wijzigingen aan de huidige selectie.
  • De kaart kan langs de geselecteerde meetpunten navigeren en behoudt de juiste focus bij tab- en kaartweergavewissels.
  • Grafiek, kaart, tabel en export gebruiken dezelfde meetpuntvolgorde en kleuren.
  • De gecombineerde grafiek blijft volledig interactief. Het 2×2-raster en de weergave onder elkaar bieden rustigere alternatieven voor visuele vergelijking.
  • PDF-export volgt de gekozen vergelijkingsindeling; PNG kan ook per afzonderlijke meetpuntgrafiek worden gedownload.

Grafiekperioden en navigatie

  • Snelle tijdnavigatie kan alleen de zichtbare grafiekperiode laden en desgewenst het vorige en volgende venster voorbereiden.
  • Tijdens slepen en scrollen toont de grafiek het bereik dat na loslaten wordt gekozen.
  • Een kleine sleepbeweging keert zichtbaar terug; een bewuste beweging gaat naar het aangrenzende tijdblok. Shift biedt fijnere stappen en Option vrije navigatie.
  • Eén scrollbeweging wisselt één tijdniveau, zodat trackpadmomentum niet meerdere niveaus overslaat.
  • Maand- en jaarweergaven kunnen over kalender- en jaargrenzen worden verschoven, ook wanneer de nieuwe periode nog wordt geladen.
  • Zoomperiode blijft een exacte handmatige selectie en wordt niet door de snapping voor pannen of scrollen overschreven.
  • Automatische periodesynchronisatie wijzigt het dashboard pas nadat de grafiekinteractie is afgerond en blijft standaard uitgeschakeld.
  • Ontbrekende delen in een grafiekperiode worden opnieuw aangevuld zodra de data beschikbaar komt, zonder dat voorladen onbeperkt doorloopt.
  • De grafiek blijft tijdens achtergrondladen en periodewissels zichtbaar. Meldingen over laden of verouderde gegevens staan in dezelfde compacte zwevende melding als de bedieningstips en veroorzaken geen layoutverspringing.
  • De korte terugkeeranimatie is sneller en kan direct door een nieuwe interactie worden onderbroken.

Hoogtes, referentielijnen en hulplijnen

  • Hoogtereeksen kunnen worden getoond in m NAP, m t.o.v. maaiveld of m t.o.v. bovenkant meetpunt wanneer de benodigde referentie voor de hele periode beschikbaar is.
  • Historische wijzigingen in maaiveld of bovenkant meetpunt worden binnen dezelfde grafiekperiode gevolgd.
  • Een meetpunt zonder volledige referentiedekking valt voor die grafiek terug op NAP zonder de opgeslagen voorkeur te overschrijven.
  • Grondwatergrafieken kunnen RHG en RLG als afzonderlijk schakelbare referentielijnen tonen; rioleringsgrafieken krijgen deze lijnen niet.
  • De lijn Bovenkant filter volgt de actuele en historische buis-, diepte- en filtergegevens.
  • Gebruikers kunnen maximaal vijf eigen hulplijnen toevoegen met naam, waarde, referentie, kleur en lijnstijl.
  • Hulplijnen kunnen worden vastgelegd ten opzichte van NAP, maaiveld of de bovenkant van het meetpunt en blijven correct staan bij een andere y-asreferentie.
  • Meetreeksen, vaste referentielijnen en eigen hulplijnen zijn afzonderlijk gegroepeerd in de legenda.
  • De grafiektooltip toont een gedeelde hoogtereferentie eenmaal bovenaan. KNMI-neerslag staat per tijdstip op één compacte regel.

Legenda, annotaties en export

  • Reeksnamen en checkboxes regelen dezelfde zichtbaarheid in grafiek en tabel; het kleuricoon opent uitsluitend de kleurenkiezer.
  • L opent en sluit de legenda. Als de legenda met het toetsenbord is geopend, schakelen 1 tot en met 9 de eerste negen legenda-items.
  • Annotaties wijzigen en verwijderen gebeurt via een compacte dropdown naast de grafiekbediening.
  • Een puntannotatie gebruikt exact het aangeklikte meettijdstip en toont een kleurstip bij iedere beschikbare reeks.
  • PDF- en PNG-export gebruiken de actuele zoom, zichtbare reeksen, annotaties en referentielijnen.
  • PDF-export voegt beschikbare context toe, waaronder meetnet, meetpunt, periode, tijdzone en exportdatum.
  • Export gebruikt een vaste lichte rapportweergave en verwerkt de grafiek lokaal in de browser.

Fixes en betrouwbaarheid

  • De grafiek flasht niet meer naar een lege of afwijkende laadweergave wanneer nieuwe perioden of ontbrekende delen worden geladen.
  • Snelle vervolginteracties kunnen geen verouderde grafiekperiode of eerder laadresultaat meer publiceren.
  • Pannen behoudt het actieve tijdniveau en scrollen springt niet door meerdere niveaus heen.
  • Terugzoomen over een jaargrens en een volledige jaarweergave verschuiven werken ook voordat alle meetdata aanwezig is.
  • Gaten door gedeeltelijk geladen perioden blijven herkenbaar en kunnen later worden aangevuld.
  • Wisselen van hoogtereferentie verplaatst meetwaarden en bijbehorende lijnen samen, zonder andere grootheden te veranderen.
  • Referentie- en hulplijnen worden niet dubbel getekend wanneer meerdere reeksen dezelfde as gebruiken.
  • Tooltip, grafiek, tabel en export blijven dezelfde reeksnamen, kleuren en zichtbaarheid gebruiken.

Bekende beperkingen

  • Organisatiebreed gebruikersbeheer, wachtwoordbeheer en sommige profielwijzigingen blijven uitgeschakeld wanneer de aangesloten omgeving daarvoor geen werkende rechten of gegevens biedt.
  • Opgeslagen vergelijkingen zijn nog niet permanent of via een gedeelde link beschikbaar.
  • Snelle tijdnavigatie, automatische periodesynchronisatie en lokale meetdataopslag zijn optionele instellingen en staan bij nieuwe gebruikers standaard uit.
  • Wanneer geen officiële RHG- of RLG-waarden beschikbaar zijn, gebruikt deze alpha voorlopig een lokale indicatie op basis van voldoende meetwaarden. Gebruik deze indicatie nog niet als hydrologisch eindresultaat.

0.0.10-alpha

Interne alpha van ViewEnvision 3 met KNMI-neerslag, een canonieke meetdatapijplijn, optionele apparaatcache, betrouwbare grafiekextrema, snellere LOD-interactie, MapLibre en adaptieve meetdatachunks.

Deze interne prerelease bundelt alle wijzigingen sinds 0.0.9-alpha. KNMI-neerslag kan nu per uur of dag naast de meetreeksen worden getoond, met een gekozen nabijgelegen KNMI-locatie en voor de lopende dag een afzonderlijk gemeten en kort vooruitkijkend segment. Daarnaast ligt de nadruk op een beheersbare offline-first meetdata-hot-path: één canonieke bron voor grafiek, tabel en export, een optionele apparaatcache met expliciet beheer, compacte workerverwerking, betrouwbare hoogste en laagste grafiekwaarden, aantoonbaar snellere LOD-interactie en veilige cancellation. Previewmetingen maken de performancegate controleerbaar. MapLibre is nu de standaardkaart; Leaflet blijft tijdelijk beschikbaar als legacy-renderer. De dataplane, apparaatcache en experimentele grafiek-LOD blijven afzonderlijk instelbaar en standaard uit. Het directe readpad en de volledige grafiekweergave blijven altijd beschikbaar als rollback.

Highlights

  • De dashboardworkspace is rustiger en consistenter: Overzicht, Alarmen en Operationeel scrollen binnen hun eigen kaart terwijl de dashboardheader en tabs zichtbaar blijven.
  • De vijf workspace-tabs gebruiken nu rechtstreeks de content-body: zonder dubbele buitenkaart of extra rand/padding. De kaart benut daarbij de volledige beschikbare werkruimte, terwijl de overige tabs hun eigen, consistente contentpadding houden.
  • Hoverbare dashboardkaarten — waaronder alarmen, alarmgrenzen, meetpuntgegevens, foto's, onderhoud en de kaartpopover — gebruiken weer dezelfde subtiele primaire hoveraccenten.
  • Overzichtwidgets gebruiken één compacte navigatiebalk onderaan. De grafiek- en fotowidget combineren daar hun periode- of fotonavigatie met de tabactie; op desktop verschijnt de groep rustig bij hover en op touch blijft zij bereikbaar.
  • De fotowidget op Overzicht ondersteunt weer een vloeiende sleep- en snapinteractie tussen foto's; de pijlen gebruiken dezelfde overgang.
  • De alarmwidget op Overzicht toont één alarmmelding per keer, met een rustige teller en bladerpijlen. Alleen meldingen binnen de actieve workspaceperiode zijn zichtbaar; alarmhistorie en alarmgrenzen blijven als totaal beschikbaar.
  • De alarmtab is vereenvoudigd tot de rechtstreeks opgehaalde alarmmeldingen en alarmgrenzen. De afgeleide statuskaart op basis van explorer-variabelen is verwijderd.
  • Lege, laad- en foutmeldingen in de overzichtwidgets staan subtiel gecentreerd in de widget in plaats van in losse kaarten. De stationfotobrontekst en overbodige onderhoudshoogte zijn verwijderd.
  • De vijf statusindicatoren staan op desktop naast de tabnavigatie en blijven op mobiel uit beeld totdat een meetpunt is geselecteerd. Positieve statussen gebruiken de globale primaire kleur; waarschuwingen en fouten blijven onderscheidend.
  • De periodepicker houdt op desktop een vaste, gecentreerde breedte, vult op mobiel de beschikbare ruimte en toont altijd een compacte vijfjaarscontext rond de actieve selectie. Historische jaren blijven via toetsenbordnavigatie bereikbaar; bereikselectie kan naast Shift nu ook met de kleine plusactie bij een tweede periode.
  • De grafieklegenda houdt zichtbaarheid en gerenderde lijn gelijk. Zowel de reeksnaam als de checkbox schakelt de reeks aan of uit; uitsluitend het kleuricoon opent de kleurenkiezer. Het nieuwe menu Weergave biedt standaard snapping en een y-asreferentie voor de waarde ten opzichte van NAP, maaiveld of de bovenkant van het meetpunt wanneer die hoogte beschikbaar is.
  • De vaste reekskleuren volgen overal dezelfde paletvolgorde: in de grafiek, op de overzichtwidgets en in de kaartpopup. Naast het palet is er een compacte Custom-actie met een dashboardeigen kleurmodal en hex-invoer; de gekozen customkleur blijft herkenbaar op het Custom-symbool en een vaste paletkeuze herstelt de regenboogweergave.
  • De tijdzonekeuze staat naast Precieze periode en biedt UTC plus de relevante Europese civiele tijdzones, met Midden-Europese tijd (Amsterdam/Brussel) als standaard.
  • Een geopend meetnetsubmenu selecteert nu ook het meetnet; meetnetselectie behoudt een geopend submenu en deselectie sluit het weer.
  • De overzichtkaart animeert weer naar de geselecteerde locatie. Meetnetten gebruiken standaard de vaste kleurenvolgorde uit de reekspicker, cyclisch herhaald; gebruikers kunnen de meetnetkleur via het zijbalkicoon kiezen en zien die direct terug op beide kaarten, de sidebar en de contextbadge.
  • MapLibre ondersteunt nu ook draaien met multitouch-trackpads. De kaartlagen- en navigatieknoppen delen één uitgelijnde controlgroep, tooltips blijven niet hangen en de eerste selectiezoom wacht op de definitieve kaartgrootte voor een correcte focuspositie.
  • Tekst in tabellen breekt standaard af zonder layoutoverloop en krijgt alleen bij daadwerkelijk afkappen een tooltip met de volledige waarde.
  • Lokale demoafbeeldingen blijven strikt beperkt tot demo-meetpunten. In API-modus verschijnt geen lokaal locatiebeeld wanneer de API geen bruikbare foto teruggeeft.
  • KNMI-neerslag is beschikbaar als uur- en dagstaven. De applicatie kiest automatisch de dichtstbijzijnde locatie of laat de gebruiker een van de vijf dichtstbijzijnde KNMI-locaties vastzetten.
  • Grafiek, legenda, tabel en kolomselector delen voortaan dezelfde reekszichtbaarheid. Bij actieve KNMI-neerslag staat alleen de gekozen KNMI-locatie als kolom in de tabel; andere beschikbare reeksen blijven uitgeschakeld beschikbaar om bewust toe te voegen.
  • Dataplane cache & workers kan vanuit Weergave worden ingeschakeld en blijft standaard uitgeschakeld.
  • Met de dataplane uit gebruikt een meetwaarderange precies één directe live read, zonder IndexedDB- of workerwerk.
  • Met de dataplane aan worden compacte ruwe meetchunks lokaal opgeslagen en via een versioned workercontract verwerkt.
  • Op dit apparaat opslaan beheert de nieuwe opt-in apparaatcache afzonderlijk van de dataplane- en grafiekinstellingen.
  • Grafiek, tabel, CSV en XLSX gebruiken nu in alle leesmodi dezelfde canonieke meetdataset, inclusief verificatie- en referentielijnmetadata.
  • 30d is de nieuwe standaard maximale chunkgrootte. Ranges tot en met 31 dagen blijven één exacte read en worden niet tot een maandchunk uitgebreid.
  • Langere ranges worden zonder gaten, overlap of data buiten de gekozen periode verdeeld. Twee tot vier requests worden binnen één parallelle wave gebalanceerd; grotere aantallen gebruiken stabiele maximale chunks plus een exacte rest.
  • MapLibre is de standaardkaart voor gebruikers zonder opgeslagen keuze. Een bestaande Leaflet-keuze blijft behouden en Leaflet blijft selecteerbaar als legacy-optie.
  • Experimentele grafiek-LOD kan los worden ingeschakeld. De volledige reeks blijft eigenaar voor tooltip, tabel en export; alleen de canvasrender wordt op de zichtbare pixelresolutie geprojecteerd.
  • Hoogste en laagste meetwaarden blijven nu betrouwbaar zichtbaar met zowel LOD uit als aan. De volledige render gebruikt geen verborgen ECharts-downsampling meer; de LOD-projectie bewaart extrema expliciet.
  • Zoomen en pannen met LOD hergebruikt gebufferde projecties en reeds gemapte grafiekseries. In de gecontroleerde previewmeting daalde dezelfde paninteractie gemiddeld met 53,5%, zonder long tasks of scheduling delays boven 50 ms.
  • Grafieken behouden de volledige opgevraagde meetreeks. Bij iedere zoom wordt de renderresolutie opnieuw vanuit die volledige reeks opgebouwd, zonder dubbel toegepaste zoomrange, verspringende lijnen of verdwijnende meetpunten bij een nauwe selectie.
  • Oud fetch-, worker- en chartwerk wordt bij snelle station-, periode-, tab- of strategiewissels geannuleerd of genegeerd.
  • Developer mode kan op preview een privacy-beperkte meetrun van maximaal vijf minuten uitvoeren en automatisch afronden voor vergelijkbare performanceanalyse.
  • De workspace heeft onder de geavanceerde periodekeuze een subtiele tijdzone-instelling. Grafiek, rangepicker, exacte invoer, tabel, rapportage en kalender-snapping tonen en gebruiken voortaan dezelfde IANA-tijdzone zonder de gekozen UTC-instants te veranderen.

KNMI-neerslag

  • Neerslag kan als intervalstaven per uur of per dag naast de bestaande meetreeksen worden getoond en gebruikt een eigen mm-as. Grafieken ondersteunen daarbij maximaal vier assen voor verschillende grootheden en eenheden.
  • De beschikbare KNMI-locaties worden dynamisch opgehaald. Automatisch wordt de dichtstbijzijnde locatie gebruikt; in Grafiekweergave kan de gebruiker een van de vijf dichtstbijzijnde locaties kiezen en deze keuze lokaal vastzetten of weer resetten.
  • Historische dagen gebruiken gevalideerde dagwaarden. Recente perioden worden alleen uit aantoonbaar complete uur- of tienminutenintervallen opgebouwd; ontbrekende intervallen worden niet als nul behandeld.
  • De lopende dag toont de werkelijk gemeten neerslag uit complete intervallen als voorlopig segment. Een operationele radarnowcast kan daarboven maximaal twee uur vooruit als gearceerd segment Verwacht binnen forecast-horizon tonen. Het niet afgedekte restant van de dag krijgt geen schatting.
  • Nieuwe waarnemingen laten het gemeten segment groeien en vervangen overlappende forecastintervallen zonder dubbeltelling. Bij ontbrekende, verlopen of mislukte forecast blijft uitsluitend het gemeten segment zichtbaar.
  • De forecast wordt op de gekozen neerslaglocatie uit de dichtstbijzijnde 1×1-kilometerradargridcel bemonsterd en kan daardoor ruimtelijk afwijken van de stationsmeting. Tooltip, tabel en export tonen gemeten en voorspelde hoeveelheid, horizon, bron en actualiteit afzonderlijk.
  • Gemeten en voorspelde neerslag vormen samen één logische grafieklaag. De kleurenkiezer past de basiskleur van de volledige laag aan; lichtere dekking en arcering houden voorlopige metingen en forecast ook zonder kleurverschil herkenbaar.
  • De meettabel toont bij ingeschakelde KNMI-neerslag uitsluitend de gekozen KNMI-locatie als neerslagkolom. Reeksnamen, legenda-checkboxes en tabelkolommen gebruiken dezelfde zichtbaarheid, zodat aan- en uitzetten in iedere weergave direct overeenkomt.

Tijdzones en periodekeuze

  • UTC/Unix-instants zijn nu de enige canonieke interne tijdsvorm; datum-only routewaarden worden bij binnenkomst expliciet met de actieve tijdzone gecanonicaliseerd.
  • Eén frameworkvrije tijdzonelaag beheert IANA-validatie, wandklok-naar-Unix, Unix-naar-wandklok, DST-disambiguatie en kalenderstappen.
  • De lokale gebruikersvoorkeur ondersteunt UTC en relevante Europese civiele tijdzones; niet-zichtbare uitbreidingsopties blijven buiten de interface. Een expliciete resolver legt gebruiker > meetpunt > organisatie > standaard vast zodat object- en organisatietijdzones later zonder nieuwe conversiepaden kunnen worden toegevoegd.
  • Wisselen van tijdzone behoudt de exacte geselecteerde instants en rendert workspace, invoervelden, grafiekas, grafiektooltips, annotaties, tabel en CIW-rapportage opnieuw in de gekozen zone.
  • Dag-, week- en maandticks en brush-snapping gebruiken kalenderstappen in de actieve zone. Daardoor blijven lokale middernacht en weekgrenzen correct over 23- en 25-uurs DST-dagen.
  • Grafiek-naar-workspace bewaart exacte ISO-instants voor precieze subdagselecties en vertaalt gesnapte dag-, week- en maandselecties centraal naar dezelfde inclusieve kalenderperiode als de workspace-picker.

Dataplane, cache en workers

  • Measurement chunks hebben expliciete contract-, cacheformat-, strategie- en policyversies.
  • Cachekeys bevatten netwerk, meetpunt, parameters, resolutie, exacte range, chunkstrategie, chunkpolicy en planmode.
  • De IndexedDB-adapter hergebruikt één verbinding en ondersteunt gebatchte reads, writes en deletes.
  • Oude of incompatibele cacheentries worden genegeerd; storagefouten vallen veilig terug op live data.
  • De cache bewaart compacte ruwe kolomdata in plaats van volledige herhaalde VenvChartInput-objectgraphs.
  • Timestamps, waarden, validitylagen en verificatielagen gebruiken typed arrays in cache- en workercontracten.
  • Workertransport draagt clone-safe kolomdata over en houdt correlatie, cancellation, dispose en workerfailure expliciet bij.
  • Een incompatibele of falende worker valt terug op de begrensde main-threadprocessor zonder stale workerresultaat te publiceren.
  • Cachehits kunnen direct worden getoond terwijl een refresh loopt; inhoudelijk gelijke refreshdata veroorzaakt geen tweede chartupdate.
  • Cache- en workerdependencies blijven volledig buiten het directe dataplanepad.

Canonieke meetdatapijplijn en freshness

  • API-normalisatie levert één versioned meetdataset op voor zowel directe als gecachte reads.
  • Dezelfde gemeenschappelijke verwerking bouwt daarna de grafiek, tabel, CSV en XLSX. Een cache- of workerroute heeft geen eigen inhoudelijke mapping meer.
  • Reeksidentiteit, tijdsvolgorde, raw-, corrected- en approvedwaarden, nulls, gaps, verificatieflags en referentie- en hulplijnen blijven in alle modi gelijk.
  • Annotaties blijven buiten de persistente measurementcache en worden via het bestaande live decoratiepad toegevoegd.
  • Directe reads, cold cache, fresh warm cache, stale refresh, storagefailure en workerfailure zijn door dezelfde pariteitsmatrix afgedekt.
  • Een transportneutraal freshnesscontract ondersteunt een opaque revision wanneer de API die kan leveren. Zolang dat signaal ontbreekt, gebruikt de applicatie een begrensde TTL-/revalidatiefallback zonder een toekomstig API-veld te verzinnen.
  • Een veranderde of onbekende revision kan veilig verversen; een bewezen ongewijzigde revision mag de lokale dataset hergebruiken.

Apparaatcache en lokaal beheer

  • De versioned apparaatcache is opt-in, staat standaard uit en wordt pas lazy geopend wanneer opslag daadwerkelijk wordt gebruikt.
  • Met Op dit apparaat opslaan uit opent de directe modus geen IndexedDB en start zij geen measurement-worker.
  • Uitschakelen van de instelling verwijdert bestaande lokale meetdata niet automatisch.
  • Het menu toont het browseropslaggebruik in bytes of MB wanneer de browser dit kan rapporteren.
  • Opgeslagen meetdata verwijderen annuleert lopend meetwerk, wist memory state en IndexedDB-data, controleert via read-after-delete dat nul entries overblijven en sluit daarna de verbinding.
  • Storage-, quota- en workerfouten vallen veilig terug op dezelfde canonieke live verwerking; de apparaatcache is nooit de source of truth.

Adaptieve chunkplanning

  • De beschikbare maximale chunkgroottes zijn 7, 14 en 30 vaste dagen en gebruiken geen kalendermaanden.
  • De standaard is 30 dagen voor gebruikers zonder opgeslagen voorkeur. Bestaande 7- of 14-daagse keuzes blijven behouden.
  • Ranges van 1, 7, 30 en 31 dagen gebruiken met de dataplane aan één exact API-verzoek.
  • Een range van 32 dagen wordt met de 30-daagse strategie verdeeld als 16 + 16 dagen.
  • Een range van 61 hele dagen wordt verdeeld als 20 + 20 + 21 dagen.
  • Een range van 91 hele dagen wordt verdeeld als 22 + 23 + 23 + 23 dagen.
  • Een range van 121 dagen gebruikt 30 + 30 + 30 + 30 + 1 dagen, zodat vijf requests niet kunstmatig over twee tragere gelijke waves worden verdeeld.
  • Een range van 365 dagen gebruikt twaalf chunks van 30 dagen en één exacte rest van 5 dagen.
  • Niet-hele-dagranges worden op hele seconden verdeeld; gebalanceerde segmenten verschillen maximaal één seconde.
  • Policy adaptive-balanced-v1 is onderdeel van orchestration identity, cachemetadata, cachekey en datasetsignature.

Grafiekresponsiviteit

  • De gedeelde chart-inputowner dedupliceert loads binnen dezelfde dataplanestand en strategie, maar hergebruikt nooit resultaat over een toggle- of policygrens.
  • Iedere chartcontext houdt maximaal één actuele fetch-, worker- en chartcyclus aan.
  • Verborgen chartconsumers slaan ECharts-update en resize over.
  • Tabterugkeer hergebruikt ongewijzigde data en viewport zonder een nieuwe chartinitialisatie.
  • Grafiek, tabel en export gebruiken dezelfde volledige brondata en delen dezelfde actieve range.
  • De grafiek draagt alle opgevraagde meetpunten aan ECharts over. Met LOD uit gebruikt ECharts geen eigen sampling, zodat zeldzame hoogste en laagste waarden niet door een tweede, vendorgestuurde reductiestap kunnen verdwijnen.
  • Met LOD aan gebruikt alleen de expliciete workerprojectie extrema- en gap-aware selectie op schermresolutie; er worden vooraf geen meetpunten uit de canonieke bron verwijderd.
  • Bij lokaal zoomen wordt eerst de zichtbare tijdsrange gekozen en daarna opnieuw voor het canvas gesampled. Daardoor komt steeds meer van de oorspronkelijke nauwkeurigheid in beeld naarmate verder wordt ingezoomd.
  • De hoverkaart toont iedere logische meetreeks precies eenmaal, ook wanneer geverifieerde en ongeverifieerde waarden intern in aparte renderlagen staan.
  • Lijnen hebben geen permanente markeringen op hun begin- of eindpunt; een compacte cirkel markeert alleen het actuele hoverpunt.
  • ECharts hergebruikt gemapte seriesdata per datasetsignature en viewportbucket.
  • Stabiele updates gebruiken incrementele setOption-updates; structurele wijzigingen vervangen alleen de relevante series.
  • Grote waarde- en tijdsranges blijven iteratief en vermijden argument-spread of onbeperkte diepe materialisatie.
  • Overzichtwidgets stellen grafiekwerk uit totdat hun host meetbaar en zichtbaar is.

Experimentele grafiek-LOD en zoomprecisie

  • De afzonderlijke Experimentele grafiek-LOD-instelling staat standaard uit en verandert de apparaatcache- of dataplane-instelling niet.
  • Een versioned worker bouwt gap-aware multiresolutieprojecties uit gekloonde typed-arraykolommen; de volledige bron blijft intact en overdraagbaar naar alle niet-renderconsumers.
  • De projectie-identiteit bevat datasetsignature, zichtbare tijdsrange, plotbreedte en policyversie, zodat resultaten niet over een gewijzigde grafiekcontext worden hergebruikt.
  • Actief zoomen gebruikt een passende bestaande pyramideresolutie; na zoom-idle wordt een exacte projectie opnieuw uit de volledige workerbron berekend.
  • Een interactiebuffer met overscan, schaalhysterese en randbewaking voorkomt dat kleine panbewegingen dezelfde projectie voortdurend opnieuw materialiseren.
  • Opeenvolgende datazoom-events worden samengevoegd tot maximaal één LOD-update per animation frame; de exacte workerprojectie volgt pas na een korte interactiepauze.
  • De LOD-hot-path hergebruikt reeds gemapte serietemplates en werkt tijdens interactie alleen projectiedata, assen en het tijdgrid bij. De volledige chart-option-mapper draait daardoor niet meer bij iedere pan- of zoomupdate.
  • Eerste en laatste zichtbare punten, minima, maxima, null- en gapgrenzen en verificatiestatusovergangen blijven behouden.
  • Ook gedeeltelijk zichtbare eerste en laatste pyramide-buckets leveren hun extrema en statusovergangen, zodat lijnen tussen actieve zoom en idle niet verspringen.
  • Gladde reeksen worden tot het zichtbare puntenbudget aangevuld, met minimaal twee punten per horizontale pixel wanneer de bron daarvoor voldoende detail bevat.
  • ECharts houdt het volledig geladen tijdsdomein vast terwijl dataZoom alleen het zichtbare venster bepaalt. De zichtbare range wordt daardoor niet meer dubbel toegepast.
  • Een geldige nauwe brushselectie valt terug op de exacte gebruikersrange wanneer grove assnapping beide grenzen op hetzelfde tijdstip zou plaatsen.
  • Tooltip lookup, tabel, CSV en XLSX blijven altijd de volledige bron gebruiken; uitschakelen herstelt onmiddellijk de volledige canvasrender.
  • LOD aan- en uitschakelen werkt direct op de actieve grafiek; een pagina-herlaad, stationwissel of tabwissel is niet nodig.

Cancellation en consistente weergaven

  • Station-, periode-, tab-, toggle- en strategiewissels krijgen een eigen loadidentity.
  • Een nieuw verzoek breekt ouder fetch- en workerwerk af en voorkomt dat een oude cachehit of workerresponse de huidige grafiek overschrijft.
  • Grafiek en tabel gebruiken dezelfde geclipte measurementbron en periodegrenzen.
  • Kaart- en meetwidgets delen dezelfde selectiecontext zonder extra chart- of fetchcyclus.
  • Ongeldige of niet-eindige coordinaten worden aan zowel de MapLibre- als Leaflet-vendorgrens geweigerd.
  • De overzichtkaart houdt geselecteerde meetpunten correct in focus zonder onnodige rendererremount.

Previewmetingen en performancebewijs

  • Developer mode start op preview een begrensde PerformanceRun-v1 met zichtbare countdown en automatische afronding na maximaal vijf minuten.
  • De run meet onder meer tab-to-paint, station- en rangewissels, long tasks, API/cache, measurement mapping, workerverwerking en afzonderlijke ECharts-stappen.
  • Hoogfrequente duurmetingen worden begrensd gesampled; request-, cache- en chunkcounters blijven exact.
  • Meetruns bevatten geen meetnet-, meetpunt-, query-, cachekey- of foutteksten en gebruiken alleen lokale scenarioslots en protocolmetadata voor vergelijkbaarheid.
  • Voltooide runs worden op preview maximaal veertien dagen bewaard en via een beveiligde serverroute opgehaald.
  • De CI-selector recent-human kan recente voltooide menselijke runs analyseren zonder opnieuw te bouwen of deployen.
  • De analyzer weigert vergelijkingen bij commitverschil, protocolverschil, ontbrekende stappen of gedropte kritieke metrics.
  • Vier vergelijkbare Chrome-runs op previewcommit 724c78d zijn in beide volgordes uitgevoerd: eerst LOD uit/aan en daarna LOD aan/uit. De gemiddelde tijd voor acht identieke panbewegingen daalde van 5024,5 ms naar 2334 ms, een reductie van 53,5% die niet door laadvolgorde of opwarming werd verklaard.
  • Beide LOD-runs hadden nul long tasks en nul scheduling-delay-samples boven 50 ms. De LOD option-mapping daalde van maximaal 117,4 ms naar 6,1 ms doordat gemapte serietemplates worden hergebruikt.

MapLibre standaard en Leaflet legacy

  • MapLibre is de centrale applicatie- en Nuxt-configfallback voor nieuwe of onbesliste gebruikers.
  • Een geldige deploymentoverride blijft mogelijk.
  • Een lokaal opgeslagen MapLibre- of Leaflet-keuze blijft voorrang houden op de deploymentdefault.
  • Leaflet blijft volledig selecteerbaar via Weergave → Kaartengine en wordt niet automatisch verwijderd of overschreven.
  • De kaartadaptergrens blijft vendoronafhankelijk voor componenten en application-code.

Fixes en betrouwbaarheid

  • Navigeren met [ en ] behoudt nu ook buiten de periodepicker de volledige lengte van meerjarige en meermaandse selecties.
  • Bij het openen van de periodepicker is de kleine plusactie direct beschikbaar bij hover op de actieve maand- of weekrij; eerst opnieuw selecteren is niet meer nodig.
  • Fouten bij het opslaan van alarmgrenzen worden per variabele teruggekoppeld met de beschikbare API-details. Geslaagde writes worden teruggelezen, terwijl ontbrekende API-ondersteuning niet langer als een algemene opslagfout wordt verhuld.
  • De grafiekhover toont iedere logische reeks weer eenmaal en blijft werken over geverifieerde en ongeverifieerde renderlagen.
  • Hoogste en laagste waarden vallen niet meer weg door ECharts-sampling, ongeacht of de experimentele LOD-feature aan of uit staat.
  • LOD-pannen en -zoomen blokkeren de main thread niet meer met een volledige option-remap per interactie-update.
  • Kolomgebaseerde chartpunten behouden hun arraysemantiek bij mapping en projectie, zonder onbedoelde objectmaterialisatie in de hot path.
  • Zoomprojecties verkleinen het geladen ECharts-domein niet meer een tweede keer.
  • Herhaald zoomen of scrollen laat de meetlijnen niet meer verdwijnen door een ingeklapte gesnapte periode.
  • Lijnen veranderen niet meer na de korte overgang van actieve naar idle LOD-projectie doordat rand-bucketkenmerken behouden blijven.
  • De zichtbare reeks houdt voldoende detail om meerdere bronpunten per horizontale pixel te tonen wanneer verder wordt ingezoomd.
  • Snelle station-, range-, tab-, dataplane- en LOD-wissels kunnen geen verouderde fetch-, cache-, worker- of projectieresultaten meer publiceren.
  • De meettabel en grafiek blijven op dezelfde geclipte tijdsrange en canonieke dataset gebaseerd.
  • Een exacte workspaceperiode van 06:00–18:00Z wordt in Amsterdam nu overal als 08:00–20:00 getoond, in plaats van 06:00–18:00 in de picker naast 08:00–20:00 in de grafiek.
  • Lokale datum/tijdinvoer krijgt niet langer ten onrechte een Z-suffix; de gekozen wandkloktijd wordt eerst via de actieve IANA-zone naar één UTC-instant omgerekend.
  • Een grafiekzoom van 1 maart 00:00 tot de exclusieve grens 1 april 00:00 wordt nu als de inclusieve workspaceperiode 1–31 maart herkend. Daardoor toont de knop weer maart 2026, wordt maart actief in de modal en verschuiven vorige/volgende en in-/uitzoomen niet meer een uur over de zomertijdgrens.

Validatie

  • De measurementpariteitsmatrix dekt directe, cold, warm, stale-refresh-, storagefailure- en workerfailurepaden voor grafiek, tabel, CSV en XLSX.
  • Cachebeheer is afgedekt voor lazy open, policyversies, opslagstatistieken, cancellation en read-after-delete.
  • LOD-tests dekken extrema, gaps, statusovergangen, puntenbudget, interactiebuffer, templatehergebruik, stale-resultaten, rollback, volledige bronownership en nauwe zoomranges.
  • Previewtelemetrie is afgedekt voor privacyreductie, uploadbudget, opslag, retentie, automatische afronding, selectie en vergelijkbaarheidsvalidatie.
  • De volledige lokale gate is uitgevoerd met lint, 562 VENV-tests, typecheck en productiebuild.

0.0.9-alpha

Interne alpha van ViewEnvision 3 met live API referentielijnen, alarmen, verificatielagen, uitgebreidere annotatiebediening, MapLibre-kaarten, fullscreen foto's, themakleuren en compactere meetpuntmetadata.

Deze interne prerelease bundelt de wijzigingen sinds 0.0.8-alpha. De nadruk ligt op de meetgrafieken, alarmworkflow, operationele metadata en kaartlaag: referentielijnen uit de live API, geverifieerde en ongeverifieerde meetwaarden in dezelfde lijn, betere annotatiebediening, live alarmhistorie en alarmgrenzen, een experimentele MapLibre-renderer, compactere metadata in overzicht- en kaartwidgets en duidelijkere statusinformatie rond meetpunten.

Highlights

  • Grafieken tonen nu referentielijnen uit de live API, inclusief labels en kleuren die aansluiten op de bijbehorende meetreeks.
  • Geverifieerde data blijft leidend in grafieken; ongeverifieerde data wordt als dunnere laag zichtbaar waar dat nodig is.
  • Grafiektooltips tonen datakwaliteit met iconen voor geverifieerd, afwijkend of niet volledig geverifieerd.
  • De grafiek, tabel, zoomperiode en annotaties gebruiken dezelfde Amsterdam-tijdinterpretatie, zodat maand- en dagselecties niet meer twee uur verschuiven tussen weergaven.
  • Meetreeksen met echte meetwaarden worden nu consequent gebruikt voor grafiek, legenda, tabel en annotatiekeuze; lege reeksen verdwijnen uit deze gebruikersflows.
  • Grote live meetwaarderanges blijven stack-safe bij de y-asberekening; de ECharts-adapter gebruikt geen argument-spread meer over alle waarden.
  • Alarmen hebben een eigen workflow met live alarmhistorie, alarmgrenzen en een overzichtwidget die alarmdata apart van de technische meetpuntstatus samenvat.
  • Alarmgrenzen kunnen nu vanuit de alarmen tab worden toegevoegd of gewijzigd en via de interne alarmendpoint worden opgeslagen.
  • Overzicht- en kaartwidgets tonen datakwaliteit en annotaties als compacte widgeticonen in plaats van per waarde in de popup.
  • Annotatie-indicatoren tellen alleen annotaties binnen de zichtbare periode van de grafiekwidget.
  • Annotaties kunnen in de grafiek consistenter worden aangemaakt, getoond, verborgen en voorzien van rijkere hoverinformatie.
  • De kaartpopup gebruikt dezelfde compacte status-, datakwaliteit-, annotatie-, laatste-meting- en batterijindicatoren als de overzichtwidgets.
  • De kaart kan nu wisselen tussen Leaflet en de experimentele MapLibre-renderer via het gebruikersmenu.
  • MapLibre ondersteunt een eenvoudiger laagmodel met Light/Dark, Kaart/Satelliet, labels, 3D gebouwen, 3D ondergrond, PDOK-overlaygroepen, betere navigatiecontrols, gesloten attribution en kantelen/draaien met modifier-scroll zonder ongewenste zoom.
  • De operationeel tab toont gebruikersgerichte meetpuntmetadata, foto's en onderhoud eerst; technische endpointtabellen staan achter developer mode.
  • De fotomodule gebruikt een hoofdfoto met subfotogrid en PhotoSwipe voor fullscreen bekijken.
  • Actieve workspace-tabs, tijdsrange-opties en themaswatches volgen nu de gekozen primaire themakleur.
  • De meetnetverkenner gebruikt weer uitsluitend de metadata uit de eerste explorer API-call voor lijstlabels en locatienummers.
  • De demo-data bevat referentielijnen, verificatielagen, ontbrekende geverifieerde segmenten, alarmdata, foto's en annotaties om deze states lokaal te kunnen controleren.

Grafieken en widgets

  • Referentielijnen worden als gestippelde horizontale lijnen in de hoofdgrafiek en compacte widgets getoond.
  • Sensorhoogte-referentielijnen worden als diepte onder de bovenkant van het meetpunt geïnterpreteerd in plaats van als absolute NAP-waarde.
  • Labels van referentielijnen staan bij voorkeur rechts en vermijden overlap met andere lijnen of labels.
  • Wanneer meerdere referentielijnen op dezelfde waarde liggen, worden ze licht versprongen zodat kleuren zichtbaar blijven.
  • De kleuren van lijnen, referentielijnen en legenda zijn gelijkgetrokken.
  • Compacte widgettooltips gebruiken weer ECharts-containment, zodat de popup de cursor beter ontwijkt.
  • De y-as range wordt iteratief bepaald, zodat meermaandelijkse live ranges niet meer kunnen falen op Maximum call stack size exceeded.
  • De y-as range neemt referentielijnen mee, zodat ingestelde grens- en referentiewaarden niet buiten beeld vallen.
  • Grafiektooltips blijven binnen de grafiekhost en vervangen hun inhoud correct bij hover op annotatie- en referentielijnlabels.
  • Hoverinformatie op annotaties en referentielijnen wordt alleen via de labels getoond, niet via de lijnen of ranges zelf.
  • Referentielijnlabels blijven horizontaal, terwijl annotatielabels verticaal worden weergegeven en binnen de grafiek blijven.
  • Dark mode gebruikt duidelijkere y-aslijnen, beter leesbare aslabels, subtielere annotatieranges en beter leesbare referentie- en annotatielabels.

Datakwaliteit

  • Geverifieerde en ongeverifieerde meetwaarden kunnen samen in dezelfde reeks worden weergegeven.
  • De geverifieerde waarde is de hoofdwaarde; ongeverifieerde waarden vullen ontbrekende of afwijkende delen subtieler aan.
  • Datakwaliteit wordt geaggregeerd per widget: groen wanneer alles geverifieerd is, oranje bij afwijkingen en grijs wanneer niet alles geverifieerd is.
  • Datakwaliteit- en annotatietooltips in de overzichtsgrafiek gebruiken dezelfde inverted glass-styling als de rest van het dashboard.
  • Statuslabels in tabel, sidebar, header en kaartpopup gebruiken de meetpuntstatus uit de API als gebruikersgericht label, los van alarmkleur of alarmhistorie.

Annotaties

  • De annotatietoolbar heeft aparte acties voor annotatie tekenen, teksten tonen of verbergen en annotaties beheren.
  • De grafiektoolbar gebruikt dashboardtooltips in plaats van browsertooltips; annotaties en zoomgebied tonen ook hun keyboardshortcuts (A) en (Z).
  • De tekst-toggle gebruikt een doorgestreept comment-icoon wanneer annotatieteksten op de grafiek verborgen zijn.
  • Puntannotaties kunnen nu overal op de grafiek worden geplaatst wanneer annotatie toevoegen actief is, niet alleen exact op een lijn.
  • Puntannotatielijnen worden als dotted lijn getoond.
  • Puntannotaties gebruiken het geklikte moment op de tijdas, ook wanneer er geen meetwaarde exact onder de cursor ligt.
  • Annotatielabels gebruiken de kleur van de bijbehorende meetreeks en worden begrensd zodat ze niet buiten de grafiek vallen.
  • Hover op een annotatielabel toont de annotatietijd en de bijbehorende meetreekswaarden in de bestaande grafiektooltip.
  • Hoverinformatie op annotaties wrapt langere titels en toont reeks- en verificatiecontext rustiger naast de waarden.
  • Het annotatiemodal gebruikt een horizontale, wrapbare reekskeuze in plaats van een dropdown.
  • Het annotatiemodal toont geen bestaande annotaties meer tijdens toevoegen en laat punt/range en tijden pas bewerken via de editactie in de header.
  • In de demo-omgeving kan het annotatiemodal geopend worden; opslaan blijft disabled wanneer de demo-data niet schrijfbaar is.

Overzicht en kaart

  • De overzichtheader bevat nu de meetnet-, meetpunt- en locatiechips die eerder in de applicatieheader stonden.
  • De overzichtheader blijft zichtbaar zonder geselecteerde context en toont dan de globale meetnet- en meetpuntchips.
  • Bij meetnetcontext toont de overzichtheader eerst het meetnetlabel en daarna het aantal meetpunten.
  • De lege-state meldingen in de meetdata- en operationeelwidgets tonen geen dubbele scope-aantallen meer.
  • Widgetknoppen, annotatie-indicatoren en datakwaliteit-indicatoren zijn strakker uitgelijnd.
  • De statuskolom in de overzichtstabel gebruikt compacte labels met dezelfde iconen als de widgets.
  • Laatste meting, batterij en status zijn uit de headerlabels gehaald en dichter bij de relevante widgets geplaatst.
  • De widgetrij houdt een vaste hoogte, ook bij wisselende foto's of ontbrekende grafiekdata.
  • De overzichtwidgetindicatoren zijn herbruikbaar gemaakt en worden ook in de kaartpopup gebruikt.
  • De kaartpopup toont status, datakwaliteit, annotaties, laatste meting en batterij op één compacte rij.
  • De annotatie-indicator toont ook in de kaartpopup een badge met het aantal annotaties.
  • De kleine grafiekpreview in de kaartpopup verbergt zijn eigen datakwaliteit- en annotatiebadges wanneer dezelfde indicatoren erboven staan.
  • De kaart- en operationeel-widgets tonen hun scope-statusindicatoren ook wanneer alleen een meetnet actief is.
  • Grafiekwidgetindicatoren volgen de workspace scope en verdwijnen wanneer een meetpunt wordt gesloten.
  • De notificatie bij wisselen van meetpunt is tijdelijk verwijderd om de dashboardflow rustiger te houden.
  • De alarmwidget op de overzichtstab kleurt mee met alarmdata uit alarmhistorie en alarmgrenzen, niet met de algemene meetpuntstatus.
  • Kaartlabels en hovertooltips gebruiken de alt_name van het meetpunt.
  • In Leaflet blijft het label van het geselecteerde meetpunt zichtbaar naast de marker, terwijl de tooltip alleen bij hover verschijnt.

Kaartlagen en MapLibre

  • De kaart-rendererkeuze is verplaatst naar het gebruikersmenu onder Weergave.
  • MapLibre gebruikt nu productgerichte laagkeuzes in plaats van technische stijlnamen: Light, Dark, Kaart en Satelliet.
  • Light gebruikt OpenFreeMap Bright; Dark gebruikt OpenFreeMap Fiord.
  • Liberty en Colorful zijn uit de kaartlagenmodal verwijderd.
  • Satelliet gebruikt de bestaande PDOK luchtfoto als rasterondergrond binnen Nederland en een wereldwijde open imagery fallback buiten Nederland.
  • De wereldwijde satellietlaag blijft als basis zichtbaar; de Nederlandse luchtfoto-overlay wordt pas getoond wanneer de huidige kaartviewport volledig binnen de dekking en het juiste zoomniveau valt.
  • Dark mode past MapLibre raster paint properties toe op satellietbeelden, zodat luchtfoto's donkerder, minder verzadigd en contrastrijker aansluiten op de rest van de dark UI.
  • Wisselen tussen light, dark en system mode past automatisch de passende MapLibre-basislaag toe.
  • De overzichtkaart gebruikt dezelfde gekozen MapLibre-basislaag als de kaarttab.
  • De overzichtkaart gebruikt nu ook dezelfde MapLibre-satelliet-, labels-, gebouwen- en 3D-ondergrondkeuze als de kaarttab.
  • PDOK-lagen zijn gegroepeerd als omgeving, water en bodem en bescherming.
  • Binnen iedere PDOK-groep kan nog maar één laag tegelijk actief zijn, zodat overlays beter leesbaar blijven.
  • Bebouwing is uit de groep Omgeving gehaald en staat nu als aparte Gebouwen optie.
  • Labels, Gebouwen en 3D ondergrond zijn onafhankelijke opties onder de MapLibre-ondergrondkeuze.
  • De labeloptie toont naast plaatsnamen ook transport- en waterweglagen boven satellietbeelden.
  • De label-, transport- en gebouwenlagen volgen de gekozen light/dark mode en worden map-georiënteerd boven satelliet en terrain geplaatst waar MapLibre dat ondersteunt.
  • De gebouwenoptie gebruikt MapLibre fill-extrusions op de beschikbare vector-buildinglaag, zodat gebouwen met de kaart meekantelen.
  • De 3D-weergave houdt gebouwen langer zichtbaar bij kantelen en pannen door ruimere pitch- en tile-cache-instellingen.
  • 3D ondergrond activeert MapLibre terrain op basis van AWS Terrarium raster-dem tiles; AHN terrain voor Nederland blijft een vervolgstap.
  • Bij selectie van een meetpunt gebruikt MapLibre in 3D-scenes een aparte camera-focus met behouden bearing, expliciete pitch, offset en viewport-correctie, zodat het punt na zoomen zichtbaar naast de kaartpopup blijft.
  • MapLibre-zoom-, oriëntatie-, perspectief- en kaartlaagknoppen gebruiken dezelfde horizontale glass-stijl als de Leaflet-controls.
  • Het kaartlagenpaneel sluit wanneer de gebruiker buiten het paneel op de kaart klikt.
  • De kaartlagenknop en MapLibre-controls gebruiken dashboardtooltips met de relevante keyboardmodifiers.
  • MapLibre-attribution start gesloten en toont alleen het informatie-icoon totdat de gebruiker de attribution opent.
  • De attributionbox blijft zichtbaar op de kaarttab, maar is verborgen in de overzichtwidget.
  • MapLibre-locatietooltips gebruiken hetzelfde glass-effect als de Leaflet-tooltips, inclusief callout arrows.
  • De grote geselecteerde-locatiecirkel is uit de MapLibre-renderer verwijderd.
  • Kleine locatiecirkels worden in MapLibre in 3D-ruimte geprojecteerd, zodat ze meekantelen met de kaart.
  • De oriëntatieknop gebruikt nu een compasicoon; de perspectiefknop gebruikt een rotate-3d-achtig icoon.
  • Echte 3D BAG als dedicated Nederlandse gebouwendatabron en hoogtebewuste plaatsing op AHN-terrain blijven vervolgwerk wanneer geschikte vector-, extrusion- en terrainbronnen beschikbaar zijn.

Thema en navigatie

  • Actieve workspace-tabs gebruiken de geselecteerde primaire themakleur.
  • Actieve opties in de tijdsrange-modal gebruiken dezelfde primaire themakleur.
  • De primaire themakleurkiezer toont voor iedere kleur de juiste swatch-dot.
  • Het gebruikersmenu gebruikt Weergave als verzamelplek voor theme, appearance, table density en kaart-rendererkeuze.
  • De achtergrondkleurkiezer heet nu Background in plaats van het technische Neutral.
  • Appearance en table density staan nu onder Weergave, zodat alle visuele voorkeuren bij elkaar staan.
  • Background-swatches gebruiken donkere palettekleuren die beter overeenkomen met het gekozen dark-mode achtergrondthema.
  • Headerchips voor meetnet en locatie gebruiken in dark mode een donkerdere achtergrondmix.
  • Tooltip-surfaces voor dashboardacties, overzichtwidgets en kaartpopupindicatoren gebruiken dezelfde inverted glass-styling.

API en demo-data

  • De alarmendpoints voor alarmhistorie en alarmgrenzen zijn via de interne data-adapter beschikbaar gemaakt en gekoppeld aan de alarmen tab.
  • De overzichtwidget gebruikt dezelfde alarmdata om meetpunten met aandacht, historie, grenswaarden en laatste melding samen te vatten.
  • Operationele metadata volgt de veldvolgorde van de beschikbare endpoints en wordt in endpointtabellen gegroepeerd wanneer developer mode actief is.
  • Developer mode toont geen grote handmetingentabel meer in de operationele endpointinformatie, omdat die zonder virtual scrolling te zwaar is voor betrouwbare rendering.
  • De annotatie-endpoint ondersteunt demo-fixtures, zodat lokale demo-grafieken dezelfde annotatieflow kunnen gebruiken.
  • Alarmgrensupdates lopen via dezelfde interne alarmcontractlaag als de alarmhistorie en alarmgrenzen.
  • Fixture chart-input neemt variabele-annotaties mee, zodat demo-widgets annotatie-indicatoren tonen zonder live API.
  • De publieke demo-snapshot is uitgebreid met nieuwe API-data voor referentielijnen, verificatielagen, alarmen, foto's en annotaties.
  • Gebruikersgerichte meldingen noemen geen technische bronnamen meer zoals API, fixtures of fallbackdata.

Fixes

  • De grafiek faalt niet meer op grote meetwaarderanges met Maximum call stack size exceeded.
  • Maandselecties beginnen in grafiek en tabel op dezelfde lokale kalendergrens.
  • Periodeknoppen en periode-shortcuts verschuiven de huidige range met dezelfde lengte, ook bij ranges van meerdere maanden of enkele uren.
  • Annotaties landen niet meer op een verkeerd moment wanneer op een lege plek in de grafiek wordt geklikt.
  • Lege meetreeksen verschijnen niet meer als tabelkolom, legendaitem of annotatiekeuze.
  • Label-hover in de grafiek wordt niet meer direct overschreven door de standaard ECharts-waardetooltip.
  • Tooltips bij annotatie- en referentielijnlabels blijven beter horizontaal en verticaal binnen de grafiekhost.
  • Sensorhoogte staat niet meer onderin de grafiek wanneer de API een diepte vanaf bovenkant meetpunt levert.
  • CIW-rapportages verdelen titel/periode en meta-informatie rustiger in een 1/3-2/3 verhouding.
  • De hoofdfoto in de operationeel tab gebruikt cover-cropping met dezelfde afgeronde hoeken als de thumbnails.
  • Het thumbnailgrid in de operationeel tab lijnt horizontaal gelijk met de hoofdfoto uit.
  • De kaartpopup en overzichtwidgets gebruiken dezelfde indicatorcomponenten, zodat iconen, badges en tooltips niet meer uit elkaar lopen.
  • Meetpuntstatus wordt niet meer afgeleid van alarmkleur in sidebar, overzichtstab, statusiconen of kaartpopup.
  • Sidebarlabels en locatienummers worden niet meer overschreven door stationdetail-hydratatie.
  • Sidebar, header, kaartpopup en Leaflet-kaartlabels gebruiken consistente meetpuntvelden: alt_name voor de naam en adres- of straatvelden voor locatiecontext.
  • Herbruikbare widgetindicatoren plaatsen hun absolute positie weer correct bovenop kaart- en operationeel-widgets.
  • Leaflet toont de selectie niet meer als automatisch geopende tooltip, waardoor kaartlabel en hovertooltip elkaar minder in de weg zitten.
  • MapLibre-controlknoppen houden geen actieve buttonstate meer vast na een eenmalige actie.
  • Het openen en sluiten van het kaartlagenpaneel laat geen controltooltip hangen en breekt latere tooltip-hover niet.
  • MapLibre zoomt bij actieve gebouwen of 3D ondergrond weer naar het geselecteerde meetpunt, zodat het punt na selectie in beeld blijft.
  • Modifier-scroll voor MapLibre-kantelen en -draaien triggert geen vertraagde zoom meer bij het loslaten van de modifier.
  • De kaartpopup en overzichtwidgets divergeren minder doordat status- en indicatoriconen uit dezelfde componenten komen.

Validatie

  • Regressietests zijn uitgebreid voor referentielijnen, verificatielagen, stack-safe grote value ranges, tijdzonegrenzen, reekszichtbaarheid, annotatie-endpoints, fixture-annotaties, annotatie-interactie, tooltipgedrag, widgetmetadata, alarmdata, foto's, datakwaliteit, themakleuren, kaartpopupindicatoren, explorer-hydratatie, scope-indicatoren, Leaflet-labels, MapLibre-configuratie, MapLibre Light/Dark en Kaart/Satelliet, satelliet-dark paint, satellietdekking, labels/transportlagen, 3D gebouwen, 3D ondergrond, 3D selectie-focus, PDOK-laaggroepen, overzichtheaderchips en previewdeploygedrag.

0.0.8-alpha

Interne alpha van ViewEnvision 3 met voorspelbaardere grafiektijdassen, snappende zoomselecties, betere periodebediening, duidelijkere dashboardnavigatie, meeteenheden in previews en previewdeploys voor non-draft PR-updates.

Deze interne prerelease bundelt de wijzigingen sinds 0.0.7-alpha. De nadruk ligt op preciezer werken in de grafiek tab en op een duidelijker dashboard: tijdasintervallen volgen nu herkenbare kalenderresoluties, zoomselecties snappen voorspelbaar op zichtbare rasterlijnen, periode- en shortcutbediening is verder aangescherpt en meetnet-, locatie- en meetstatusinformatie is consistenter zichtbaar.

Highlights

  • De grafiek gebruikt nu kalenderlogische x-asintervallen voor jaren, maanden, weken, dagen, uren, minuten en seconden.
  • Rasterlijnen en x-aslabels bewegen mee met pannen en blijven gekoppeld aan dezelfde tijdsintervallen.
  • Zoomselecties in de grafiek snappen standaard op de zichtbare tijdresolutie en tonen tijdens het tekenen al de gesnapte selectie.
  • Shift en Alt/Option werken als modifiers tijdens het tekenen van een zoomgebied.
  • Y-aslabels tonen de meeteenheid onder de waarde, zodat waarde en unit sterker bij elkaar horen.
  • De periodepopover ondersteunt Shift + klik om een range binnen dezelfde rij te selecteren.
  • Grafiektools voor zoomgebied en annotatiegebied hebben sneltoetsen gekregen en staan in het shortcutoverzicht.
  • Grafiektoolbaracties zijn gegroepeerd rond zoomperiode en annotaties, met duidelijkere iconen, labels en disabled states.
  • Tabel- en previewweergaven tonen meeteenheden consistenter zonder de meetwaarden zelf te vervuilen.
  • De sidebar gebruikt statusiconen per meetpunt en subtiele netwerkaccenten voor selectie en headerlabels.
  • Previewdeploys draaien nu bij elke update van een non-draft PR, niet alleen wanneer een PR naar ready-for-review gaat.

Grafiek en Tijdas

  • Bij een jaar in beeld blijft de x-as op maanden totdat de zichtbare range klein genoeg is om naar weken te gaan.
  • Bij een maand in beeld worden weekgrenzen getoond; onvolledige weken aan het begin of einde van de range blijven zichtbaar als kortere stukken.
  • Bij een week in beeld wordt naar dagen gegaan, bij een dag naar uren en pas bij kortere ranges naar minuten of seconden.
  • De eerdere tussenresoluties met losse dag-maandlabels zijn verwijderd, zodat de tijdas niet onverwacht naar een te fijne resolutie springt.
  • X-aslabels worden door de eigen tijdgrid opgebouwd in plaats van door ECharts automatisch te laten herschikken tijdens pannen.
  • Dag- en jaartallabels worden alleen opnieuw getoond wanneer de dag of het jaar daadwerkelijk wisselt.
  • Tooltipdatums in de grafiek zijn menselijk leesbaar gemaakt en tonen seconden alleen wanneer de zichtbare resolutie dat nodig maakt.
  • Meetwaarden in grafiektooltips tonen nu ook de unit van de reeks.

Zoomgebied en Snapping

  • De zoomgebied-tool snapt standaard naar de dichtstbijzijnde rasterlijn van de zichtbare tijdasresolutie.
  • Tijdens het tekenen wordt de selectiepreview direct aangepast naar het bereik waarop de selectie zal snappen.
  • Shift tijdens tekenen gebruikt een fijnere snapresolutie dan de zichtbare gridlijnen.
  • Alt/Option tijdens tekenen schakelt snapping uit, zodat het exacte getekende bereik wordt gebruikt.
  • Snapping wordt begrensd op de geladen datarange en vergroot een selectie niet onnodig naar een veel grotere periode.
  • De modifierstatus wordt via documentevents bijgehouden, zodat modifiers ook betrouwbaar werken wanneer ECharts de oorspronkelijke pointerevent niet volledig doorgeeft.

Periodebediening

  • De periodepopover behoudt bij weekselecties de gekozen context van jaar en maand, ook rond jaargrenzen zoals week 1.
  • Weekdagen bij een gekozen week tonen nu de echte dagen van die week in plaats van een verkeerde maandrange.
  • Shift + klik selecteert een bereik binnen dezelfde rij, bijvoorbeeld meerdere jaren, maanden, weken of dagen.
  • Bij range-selectie blijven de relevante bovenliggende jaar- en maandknoppen correct geselecteerd.
  • De sectie voor handmatige datum- en tijdinvoer heet nu Precieze periode (geavanceerd) en staat links uitgelijnd naast het klokicoon.
  • Rechtsboven in de periodepopover staat een helpicoon met korte tips voor klikken, Shift + klik, periode-shortcuts, toepassen en sluiten.
  • De helptekst opent pas bij hover op het helpicoon en is geschikt gemaakt voor meerdere regels tekst.
  • De helptekst gebruikt kleinere, beter passende kbd-labels, zodat de tooltip leesbaar blijft.

Shortcuts en Help

  • z activeert het tekenen van een zoomgebied in de grafiek tab.
  • a activeert het tekenen van een annotatiegebied in de grafiek tab.
  • Het shortcutoverzicht is opnieuw geordend naar context, tijd, werkruimte en grafiek.
  • Het shortcutoverzicht gebruikt bredere, beter scanbare groepen met korte toelichtingen per groep.
  • Grafiekmodifierkeys voor snappen en exact tekenen staan nu in de grafiekgroep van het shortcutoverzicht.
  • Keyboardzoom voor de dashboardperiode is begrensd tot 1 uur als kleinste standaardstap; verder inzoomen blijft mogelijk via de grafiek zelf.
  • De sidebar-collapseknop toont nu een tooltip met de Command+B-shortcut om de zijbalk te sluiten.

Y-as en Grafieklabels

  • De y-as toont units onder iedere waarde in plaats van als losse titel boven de as.
  • Units zijn kleiner en lichter dan de waarden.
  • Waarden en units zijn onderling gecentreerd en hebben extra marge tot de grafiekas.
  • Deze opbouw bereidt de grafiek beter voor op meerdere y-assen met verschillende meeteenheden.

Grafiektoolbar en Contextacties

  • De grafiektoolbar heeft aparte knopgroepen voor Zoomperiode en Annotatie.
  • Zoomperiode gebruikt een zichtbare tekstknop voor tekenen en icon-only acties voor de zichtbare grafiekperiode toepassen op het dashboard of terugzetten naar de dashboardperiode.
  • De toepassen- en terugzetacties zijn allebei disabled wanneer de grafiekperiode al gelijk is aan de dashboardperiode.
  • Annotaties hebben een tekstknop voor het tekenen van een annotatiegebied en een aparte icon-only actie om annotaties te wijzigen of verwijderen.
  • De overzichtstab gebruikt nu dezelfde compacte headerstijl als de metingen tab voor contextnavigatie.
  • Contextacties op de overzichtstab zijn rechts uitgelijnd, hebben dezelfde hoogte als de metingen toolbar en gebruiken duidelijkere labels voor teruggaan naar meetnet of meetpunt sluiten.

Tabellen en Meetwaarde-previews

  • Tabelheaders zijn los boven de virtuele tabel geplaatst, zodat kolombreedtes blijven kloppen zonder units in iedere cel te herhalen.
  • Meeteenheden staan in de tabelheader en niet meer achter iedere tabelwaarde.
  • Meetwaarde-widgets op de kaartpopover en overzichtstab tonen nu de unit naast de waarde.
  • Units in meetwaarde-previews volgen de kleur van de bijbehorende waarde en gebruiken geen extra bold gewicht.
  • Mini-grafiektooltips tonen nu een menselijke datum- en tijdheader boven de waarden.
  • Mini-grafiektooltips blijven beter binnen het tekengebied en gebruiken hetzelfde glass effect als andere dashboardtooltips.

Kaart, Sidebar en Headerstatus

  • De kaartpreview op de overzichtstab centreert de geselecteerde locatie zonder de popup-offset die alleen op de kaarttab nodig is.
  • Meetpunten in de sidebar gebruiken nu één map-pin-statusicoon in plaats van losse iconen en statuspunten.
  • De geselecteerde meetpuntrij gebruikt een subtiele linkerborder in de netwerkkleur in plaats van een volledige actieve omlijning.
  • De meetnetverkenner gebruikt minder horizontale marge, terwijl de scrollbar uiterst rechts in de sidebar blijft.
  • Meetnet- en locatiechips in de dashboardheader tonen de netwerkkleur nu duidelijker via icoon, achtergrond en rand.
  • De chip voor laatste meting krijgt een freshness-kleur op basis van het verzendinterval en valt terug op het meetinterval wanneer er geen verzendinterval is.

Previewdeploy en Validatie

  • De CI-build en previewdeploy draaien voor iedere non-draft PR-update, inclusief opened, synchronize, reopened en ready-for-review.
  • De README beschrijft deze previewdeploy-trigger nu expliciet.
  • Regressietests zijn uitgebreid voor tijdasresoluties, brush snapping, modifierkeys, y-aslabels, periodepicker-range-selectie, shortcuthelp, previewdeploycontracten, tabelunits, previewtooltips, sidebarstatus en dashboardheaderaccenten.

0.0.7-alpha

Interne alpha van ViewEnvision 3 met verfijnde dashboardnavigatie, betrouwbaardere mobiele interacties, betere kaartpopups, stationfoto's, grafiekannotaties en compactere meetpuntinformatie.

Deze interne prerelease bundelt de wijzigingen sinds 0.0.6-alpha. De nadruk ligt op het dagelijkse gebruik van de dashboardworkspace: sneller wisselen van periode, betrouwbaarder swipen op mobiel, duidelijkere kaart- en overzichtsinformatie, grafiekannotaties en een robuustere fotoweergave.

Highlights

  • De periodekiezer is vervangen door een hiërarchische draft-flow voor jaar, maand, week, dag en precieze periode.
  • Overzichtwidgets voor metingen en foto's ondersteunen nu expliciet swipe-, trackpad- en pijlbediening.
  • De kaartpopup toont meer operationele context, inclusief compacte meetgrafiek, laatste meting, batterijstatus en sensoren.
  • Meetpuntcodes gebruiken waar mogelijk klantnummers in plaats van interne Koenders-codes.
  • Tabellen in dashboardkaarten gebruiken vaste kolombreedtes en houden horizontale overflow binnen de kaart.
  • Stationfoto's gebruiken een gedeelde gallery met thumbnails, carouselnavigatie en fullscreen viewer.
  • Grafieken ondersteunen annotaties op reeksen, inclusief range-annotaties en puntannotaties.
  • Dashboardbediening, tooltips, hover-acties en map controls zijn visueel consistenter gemaakt.

Periodebediening en shortcuts

  • De periodepopover werkt nu met een draft die pas na Toepassen de workspaceperiode wijzigt.
  • Jaar-, maand-, week- en dagselectie zijn tegelijk zichtbaar, met actieve en toekomstige perioden duidelijk gemarkeerd.
  • Een geselecteerde dag, week of maand kan opnieuw worden aangeklikt om naar een hoger periode-niveau terug te gaan.
  • Precieze datum- en tijdvelden staan achter een uitklapbare sectie, zodat de standaardflow compact blijft.
  • Periode-shortcuts werken consistenter met [ en ], plus zoom- en resettoetsen.
  • De t-shortcut opent en sluit de periodepopover; Escape sluit de popover of shortcuthelp.
  • De dashboardsidebar kan met Cmd/Ctrl+B worden geopend of ingeklapt.

Overzicht en mobiele interactie

  • De overzichtskaarten hebben een gedeelde hoverstijl gekregen met glass blur en actieknoppen die op desktop pas bij hover of focus verschijnen.
  • Op touch-apparaten blijven de widgets geschikt voor directe swipe-interactie zonder dat hoverlagen de bediening blokkeren.
  • De metingenpreview ondersteunt horizontale swipe en trackpad-scroll om naar vorige of volgende periode te gaan.
  • De operationele preview ondersteunt swipe en trackpad-scroll door meerdere stationfoto's.
  • Afbeeldingen in swipegebieden blokkeren de gesture niet meer via native draggedrag.
  • Swipefeedback toont kort of de actie naar vorige of volgende periode of foto gaat.
  • De overzichtstabel heeft vaste kolombreedtes en mobiele horizontale scroll blijft binnen de geselecteerde kaart.

Kaart en popover

  • Map selectiegedrag is gecentraliseerd, zodat markerselectie, achtergrondklik, popup sluiten en tooltip sluiten voorspelbaarder samenwerken.
  • Bij selectie wordt de kaart met een mobiel- of desktopafhankelijke offset gefocust, zodat de popup de marker minder snel afdekt.
  • De kaartpopup bevat nu een kleine metingenwidget tussen de meta-informatie en de sensorenlijst.
  • Sensorwaarden in de kaartpopup zijn gesplitst in waarde en unit, met dezelfde visuele hiërarchie als labels en tijdstippen.
  • Laatste meting wordt in datum en tijd verdeeld en batterijstatus krijgt een expliciet statuslabel.
  • De zoomcontrols staan linksboven naast de layer button en gebruiken dezelfde glass-stijl.
  • PDOK/Leaflet controls en layerknoppen hebben een rustigere transparante styling.

Meetpunten, status en labels

  • De dashboardheader toont klantgerichte stationcodes en kortere stationnamen wanneer de live API die informatie biedt.
  • Headerbadges tonen alleen de kernwaarde en gebruiken appbrede glass tooltips voor extra context.
  • Laatste meting wordt relatief getoond waar dat helpt, met absolute tijd in tooltipcontext.
  • Status in de overzichtstabel gebruikt hetzelfde activity-icoon als de header.
  • Status- en batterijlabels in de overzichtstabel zijn visueel gelijkgetrokken.
  • Batterijstatus gebruikt expliciete 12V-banden voor Goed, Let op, Laag, Kritiek en Onbekend.
  • Alarm- en stationinformatierijen gebruiken klantnummers waar beschikbaar.

Foto's en operationele workspace

  • De fotoweergave is samengebracht in een gedeelde VenvWorkspacePhotoGallery.
  • De operationele tab gebruikt dezelfde gallery in compacte vorm, zodat thumbnails binnen de kaart wrappen en de layout niet breder wordt dan de kaart.
  • De fototab gebruikt dezelfde gallery fullscreen, inclusief carouselpijlen, dots en thumbnailselectie.
  • Demo-meetpunten gebruiken lokale demofoto's zonder live API-fotoprobe.
  • Live API-foto's blijven zichtbaar wanneer metadata beschikbaar is; fout- en lege staten zijn behouden.
  • De operationele workspace houdt stationinfo, foto's, datakwaliteit en onderhoud duidelijker gescheiden.

Metingen en grafiekbediening

  • De grafiektoolbar houdt Apply to workspace range als losse tekstbutton, visueel gelijk aan de zoom- en resetknoppen ernaast.
  • De apply-button gebruikt dezelfde kleur, border en hoogte als de naastliggende button group.
  • Vanuit de grafiek kan een annotatietool worden geactiveerd om een annotatiegebied te slepen of een puntannotatie te plaatsen door op de lijn te klikken; de aangeklikte reeks wordt in het modal voorgeselecteerd.
  • Bestaande annotaties worden in de hoofdgrafiek getoond, kunnen per reeks worden beheerd en ondersteunen wijzigen of verwijderen.
  • Compacte grafiekwidgets tonen geen annotatievlakken in de mini-grafiek, maar geven wel met een icoon aan dat er annotaties in de periode aanwezig zijn.
  • De grafiekpreview toont hoverwaarden compacter en laat labels minder snel met controls botsen.
  • De ECharts-adapter ondersteunt preview-hoverwaarden en blijft de volledige grafiekbediening gescheiden houden van overviewmodules.
  • Data table en grafiek blijven dezelfde chart-input owner gebruiken.

Onderhoudbaarheid en validatie

  • Kaartfocus, achtergrondinteractie en selectiegedrag zijn naar een smallere map-interaction composable en application helpers verplaatst.
  • Internal API-contracten accepteren nu klantcodevelden, genormaliseerde stationdetailvariabelen en system-info uit stationdetailresponses.
  • De annotatie-API ondersteunt lezen, toevoegen, wijzigen en verwijderen via de internal API-adapter, inclusief puntannotaties met gelijke begin- en eindtijd.
  • Photo request planning slaat live probes over voor publieke demo-fixtures.
  • Regressietests zijn uitgebreid voor periodepicker, shortcuts, overview-swipes, kaartgedrag, API-contracten, fotoflow en grafiektoolbar.
  • De dashboard-UI houdt transport- en vendorlogica achter bestaande application-, port- en adaptergrenzen.

0.0.6-alpha

Zesde alpha van ViewEnvision 3 met live API read-through cache, CIW-overstortrapportage, robuustere fotomigratie, compactere CI en een rustiger configureerbaar dashboard.

Deze prerelease bundelt de wijzigingen sinds 0.0.5-alpha. De nadruk ligt op betrouwbaardere live API-dataflows, betere operationele rapportage, een gecontroleerde fotomigratieroute en een eenvoudiger dashboard dat later beter als configureerbare moduleomgeving kan groeien.

Highlights

  • Live API-reads lopen verder via expliciete capability boundaries, request planning, genormaliseerde read models en read-through caching.
  • Meetdata kan eerder worden geladen, ook wanneer stationdetail of beschikbaarheidsinformatie nog niet volledig gehydrateerd is.
  • CIW-overstortrapportage is toegevoegd en gekoppeld aan de interne overflow-API en demo-fixtures.
  • Fotomigratie gebruikt de VENV3 API en S3-configuratie strakker, met runtime-authenticatie en public-read uploads.
  • Preview- en CI-builds zijn goedkoper gemaakt door PR-builds en deployruns scherper te beperken.
  • Het dashboardoverzicht bestaat uit eenvoudiger modules voor kaart, metingen, alarmen en operationele context.
  • Dashboardheader, periodebediening, sidebar, kaartpopups en full-screen werkruimtes zijn visueel rustiger en compacter gemaakt.

Live API en cache

  • De live API-client gebruikt contract-first parsers voor networks, stationdetail, timeseries, foto metadata en overflowdata.
  • Read-through cache orchestration bewaart metadata en meetchunks achter smalle ports, zodat UI en application code geen storage- of transportdetails hoeven te kennen.
  • Capability gaps worden expliciet gemodelleerd, waaronder ontbrekende revisiesignalen, maximale perioden en optionele endpointondersteuning.
  • Measurement request planning houdt rekening met beschikbare stationseries, tijdsrangegrenzen en API-bronkeuze zonder live reads onnodig te blokkeren.
  • Foutafhandeling voor timeseries is aangescherpt voor timeouts, parserfouten, oversized queries en veilige technische context.

CIW en operationele rapportage

  • De nieuwe CIW-report view combineert stationmetadata, overstortmetadata en events tot een exporteerbaar rapportmodel.
  • De interne overflow-route ondersteunt zowel publieke demo-fixtures als live API-data.
  • Demo-snapshots bevatten nu representatieve overflowdata, zodat rapportage ook zonder live backend controleerbaar blijft.
  • De rapportage gebruikt expliciete station- en periodepaden, zodat de scope van operationele exports voorspelbaar blijft.

Foto's en migratie

  • De fotomigratie is afgestemd op VENV3 API-filters en hex-id bestandsnamen.
  • Public photo URLs worden vanuit S3-configuratie opgebouwd in plaats van uit impliciete padlogica.
  • Runtime VENV3-authenticatie is verplicht gemaakt voor migratie-acties.
  • Uploads worden public-read geplaatst, zodat de dashboardweergave API-foto's direct kan tonen wanneer metadata beschikbaar is.
  • AppV2-fotometadata vereist expliciete authenticatie en gebruikt documentatie voor de v2 API als referentiepunt.

Dashboard UX

  • Het overzicht toont nu simpele modulekaarten: kaart, metingen, alarmen en operationeel.
  • De kaartmodule gebruikt Leaflet als volledige card-achtergrond en kan vanuit de preview de actieve workspace-selectie wijzigen.
  • De metingenmodule laadt data lazy voor het geselecteerde meetpunt en de actieve periode, met een nette melding bij meerdere meetpunten in scope.
  • De operationele module toont een locatiebeeld als volledige card-achtergrond en houdt alleen de belangrijkste actie zichtbaar.
  • Floating widgetbuttons zijn consistenter gemaakt met iconen, transparantie en backdrop blur.
  • De scopebanner is vervangen door een tijdelijke floating notificatie die alleen verschijnt wanneer de scope wijzigt.
  • De dashboardheader toont selectie-informatie met duidelijkere labels en meer ademruimte.
  • Periodebediening heeft vorige/volgende knoppen gekregen die aansluiten op de actieve schaal, zoals maand of week.
  • De notificatieknop is tijdelijk verborgen totdat de functionaliteit beschikbaar is.
  • Sidebarzoekveld en gebruikersmenu staan onderin met voldoende mobiele ruimte boven de tabbar.
  • De sidebar gebruikt compactere padding en subtielere statusindicatoren voor meetnetten en meetpunten.
  • Full-screen werkruimtes zoals kaart en grafiek vullen de beschikbare ruimte, maar behouden ondermarge op desktop en mobiel.

Kaart en meetgrafiek

  • De kaartpopup is versimpeld: laatste meting, batterij en sensoren blijven zichtbaar; minder relevante labels zijn verwijderd.
  • De kaartfooter met tabknoppen is verwijderd omdat deze weinig extra waarde bood.
  • De overzichtskaart verbergt de Leaflet-attributie in de modulevariant.
  • De ECharts-preview toont alleen de grafiekvorm zonder labels, assen of waarden.
  • De chartadapter ondersteunt nu compacte sparkline-opties voor dashboardmodules naast de volledige meetgrafiek.

Onderhoudbaarheid en validatie

  • Dashboardgedrag voor overviewmodules, full-screen spacing, periodebediening, shortcuts, mapselectie en operationele workflow is met tests vastgelegd.
  • API-capabilities, internal API-contracten, CIW-report mapping, demo-snapshot coverage en cachedataflows hebben aanvullende regressietests gekregen.
  • De build- en previewworkflow is beperkt tot de relevante PR- en deploymomenten, zodat CI minder onnodig werk doet.

0.0.5-alpha

Vijfde alpha van ViewEnvision 3 met vijf dashboardworkflows, Pinia-route-sync, keyboard shortcuts, PDOK kaartlagen, interactieve homepage-graphics, duidelijkere modulegrenzen, betere fotostate en XLSX-export.

Deze release legt de vijfde alpha van ViewEnvision 3 vast. De versie bundelt een stevigere dashboardstructuur, schonere VENV-modulegrenzen en praktische verbeteringen voor kaartlagen, Data, foto's, sneltoetsen, homepage-presentatie, previewdeploys en onderhoudbaarheid.

Highlights

  • Het dashboard gebruikt nu vijf canonical workflows: Overzicht, Kaart, Metingen, Alarmen en Operationeel.
  • Dashboardselectie, actieve workflow en periode worden via Pinia-state en routequery-sync beheerd.
  • Dashboardnavigatie ondersteunt nu sneltoetsen voor workflow, context en periode.
  • Overzicht is opnieuw ingericht als samenvattende startview in plaats van als detailtabel.
  • De kaart ondersteunt PDOK-contextlagen voor percelen, panden en luchtfoto's, met behoud van de standaard Leaflet-layerbediening.
  • De homepage gebruikt nu lazy client-only demo-graphics voor kaart en metingen in plaats van een statische productplaat alleen.
  • De Data-tabel ondersteunt naast CSV-export nu ook XLSX-export.
  • CSV-export bevat een Excel-separatorregel, zodat Nederlandse Excel-installaties de kolommen betrouwbaarder openen.
  • De fotoflow heeft eigen metadata-state gekregen, waardoor viewerstate, fotometadata en mediafallbacks beter gescheiden zijn.
  • De dashboardcode is opgesplitst naar productgerichte lagen voor dashboard, metingen, kaart, alarmen en operations.
  • Legacy chart-runtime, chart-spike en blogoppervlak zijn uit de actieve app verwijderd.
  • Previewdeploys zijn robuuster gemaakt door Docker-builds te serialiseren en previewdeploys aan branch merge commits te koppelen.

Dashboardworkflows

  • De oude losse tabnamen zijn vervangen door vijf hoofdworkflows: overzicht, kaart, metingen, alarmen en operationeel.
  • Metingen bundelt grafiek- en tabelgebruik rond dezelfde meetdata-context.
  • Alarmen en Operationeel hebben duidelijkere labels, ordening en actiegerichte workspace-indeling gekregen.
  • Overzicht toont workflowkaarten, meetnetsamenvattingen en meetpuntsamenvattingen als ingang naar de detailworkflows.
  • Mobiele navigatie naar Overzicht is hersteld, zodat de nieuwe workflowstructuur ook op kleinere schermen bereikbaar blijft.

Selectie en route-sync

  • De viewport-state is verplaatst naar een Pinia-store voor zichtbare dashboardstate.
  • Route-hydration en route-updates zijn expliciet gemaakt in app/application/dashboard/route-sync.ts.
  • Selectiecontext ondersteunt nu route-owned single selection en compare selection zonder die verantwoordelijkheden door elkaar te trekken.
  • Ongeldige of verouderde tabquery's vallen terug naar Overzicht.
  • De standaardperiode blijft de laatste drie maanden en gaat correct om met korte maanduiteinden.

Sneltoetsen en periodebediening

  • Het dashboard heeft centrale sneltoetsen gekregen voor workflowwissels, contextnavigatie en tijdsperiodebediening.
  • Contextnavigatie maakt onderscheid tussen focus verplaatsen en route-selectie toepassen, zodat boomnavigatie voorspelbaar blijft.
  • Horizontale contextnavigatie kan naar ouder- en kinditems bewegen en past selectie alleen toe wanneer dat bedoeld is.
  • Periode-shortcuts ondersteunen schalen, kalenderpresets, range-shifts en zoomacties.
  • Geselecteerde chart-ranges kunnen expliciet als workspace-periode worden toegepast.
  • Range-labels, maandselecties en shortcut-helpgroepen zijn verfijnd voor duidelijkere interactie.

Kaart en geo-context

  • De Kaart-workflow heeft PDOK-contextlagen gekregen voor kadastrale percelen, BAG-panden en actuele luchtfoto's.
  • PDOK-lagen zijn ondergebracht achter map- en API-adapters, zodat UI, domainmodellen en externe transportvormen gescheiden blijven.
  • De same-origin Nitro-route /api/pdok/geo-context haalt geo-context op zonder dat dashboardcomponenten direct PDOK-contracten hoeven te kennen.
  • De standaard kaartlaagbediening blijft beschikbaar naast de nieuwe overlaylagen.
  • De statusworkspace toont beschikbare geo-context als extra operationele context bij de geselecteerde meetlocatie.

Data en export

  • De Data-tabel heeft XLSX-export gekregen voor gebruikers die meetdata direct in Excel willen openen.
  • CSV-export schrijft een sep=, directive mee, zodat Excel de export consistenter als gescheiden kolommen interpreteert.
  • Kolomzichtbaarheid blijft afgedekt met aanvullende tests.
  • Chart-input, periode- en meetwaardenaamgeving zijn verduidelijkt, zodat grafiek en tabel makkelijker vanuit dezelfde meetcontext te onderhouden zijn.

Foto's en media

  • Foto-metadata is ondergebracht in een eigen composable.
  • De fotoflow maakt scherper onderscheid tussen echte API-foto's, metadata en fallbackmedia.
  • Metadatafoto's tonen API-positielabels zonder dat componenten raw property parsing hoeven te doen.
  • Media-URL- en fallbacklogica is compacter gemaakt in de operations-infrastructuur.

Architectuur en onderhoudbaarheid

  • Dashboardcode is opgesplitst naar dashboard, measurements, map, alarms, operations, ports en infrastructure.
  • Importgrenzen voor dashboardmodules zijn met tests vastgelegd.
  • PDOK geo-context gebruikt eigen domainmodellen, API-contracten, map-adapters en portuitbreidingen in plaats van directe vendorlogica in de UI.
  • De legacy/custom chart runtime en chart-engine spike zijn verwijderd; ECharts blijft de actieve chartadapter.
  • App-level venv-core namen zijn verder opgeschoond, terwijl compatibele serverroutes, fixtures en media-URLs blijven bestaan.
  • Interne API-adapternamen, explorerselectie, workspace rows, chart periods en displayhelpers zijn hernoemd naar duidelijkere domeintermen.
  • Self-explanatory UI-comments zijn verwijderd om de code beter leesbaar te houden.

Content en productie

  • De homepage toont een nieuwe platform-screenshot naast lazy geladen kaart- en meetgrafiekdemo's.
  • De demo-graphics houden Leaflet en ECharts geisoleerd in client-only componenten, zodat prerendering stabiel blijft.
  • Het publieke blogoppervlak is verwijderd uit routes, contentcollecties en navigatie.
  • De Unovis-homepage dependency is verwijderd.
  • Preview Docker-builds worden geserialiseerd om builddruk te verlagen.
  • Previewdeploys draaien alleen op de bedoelde branch merge commits.
  • De read-API Docker-build gebruikt minder geheugendruk.

Documentatie en validatie

  • Agentinstructies zijn uitgebreid met human-readable code guidance.
  • De dashboard target architecture audit is toegevoegd.
  • Architectuurdocumentatie benoemt scherper wat al stabiel is, wat tijdelijk blijft en waar Track 7 API-contractwerk nog los van UI-vervolgwerk staat.
  • Tests bewaken de nieuwe dashboardimportgrenzen, architectuur-readiness, content-surface cleanup, previewdeployconfiguratie, viewport-state, shortcuts, homepage-graphics, PDOK geo-context, kaartlagen, chart-hot-path en workspace-media.

0.0.4-alpha

Vierde alpha van ViewEnvision 3 met robuustere timeseries, lokale grafiekinteractie, gedeelde Data-input, snellere tabellen, filters en CSV-export.

Deze release richt zich op het dagelijks werken met meetdata: betrouwbaardere timeseries, betere foutmeldingen, lokale grafiekinteractie en een Data-tabel die grotere datasets beter aankan. De release bevat ook de huidige branchwijziging voor robuustere productieconfiguratie van de interne VENV API.

Highlights

  • Timeseries kunnen ontbrekende ruwe meetwaarden verwerken zonder timestamps of reeksen uit lijn te trekken.
  • Grafiekfouten zijn duidelijker gescheiden tussen gebruikersmelding en technische diagnose.
  • ECharts is de standaard grafiekroute geworden en ondersteunt lokale pan, zoom en selectiezoom.
  • Grafiek en tabel delen dezelfde Data-input, waardoor dubbele loads en stale updates worden verminderd.
  • De Data-tabel is sneller en stabieler bij grotere datasets.
  • Tabelgebruikers krijgen kolomkeuze, bereikfilters en CSV-export voor de actieve tabelcontext.
  • Leaflet wordt niet meer via lokale vendored assets geladen, maar via de package dependency.
  • Productieconfiguratie voor de interne API is robuuster gemaakt, inclusief veilige timeout-normalisatie.

Timeseries en foutdiagnose

  • Timeseries met null in ruwe waarden blijven bruikbaar en behandelen ontbrekende metingen als ontbrekende data, niet als nul.
  • Grafiek en tabel houden timestamps en waarden index-aligned wanneer meetwaarden ontbreken.
  • Frontendfouten voor timeseries maken beter onderscheid tussen geen data, te grote query, timeout, backendfout, ongeldige historische data en onbekende fout.
  • Serverroutes voegen correlation diagnostics toe, zodat browserfouten, BFF-logs en upstream calls beter aan elkaar te koppelen zijn.
  • Timeout- en parserfouten worden omgezet naar veiligere gebruikersmeldingen met technische context voor debugging.

Grafiekinteractie

  • ECharts is standaard geselecteerd voor dashboardgrafieken.
  • Lokale pan en zoom werken op de tijdas zonder automatisch de globale dashboardperiode te wijzigen.
  • Selectiezoom is beschikbaar via expliciete chart-controls.
  • Reset brengt de lokale chart-range terug naar de actieve globale dashboardrange.
  • Axis ticks, brush zoom, toolboxgedrag en inside zoom zijn verfijnd zodat grote en ingezoomde grafieken rustiger blijven.
  • Loading- en statusstates rond grafieken zijn vereenvoudigd en consistenter gemaakt.

Gedeelde Data-input

  • De Data-view heeft een cachecontract gekregen, zodat grafiek en tabel dezelfde chart-input kunnen delen.
  • Chart-input eigenaarschap is gecentraliseerd om dubbele live loads en stale updates te verminderen.
  • Grafiek en tabel gebruiken dezelfde ready-, loading- en errorcontext.
  • Fixturedata en live API-data blijven gescheiden in de Data-input owner.

Data-tabel

  • Tabelrijen worden lineair gemapt in plaats van per cel door reeksen te zoeken.
  • Grote datasets worden begrensd voordat zware mapping start.
  • Virtuele rijen en een loading overlay maken de tabel beter bruikbaar bij grotere meetreeksen.
  • De maximale tabelgrootte is expliciet overridable wanneer de gebruiker bewust verder wil.
  • De tabel kan meetwaardekolommen tonen of verbergen, terwijl de timestampkolom zichtbaar blijft.
  • Bereikfilters ondersteunen min, max, min+max en AND/OR-modus.
  • CSV-export gebruikt de gefilterde tabelcontext en zichtbare kolommen.
  • Een herstelwijziging zorgt dat filters en export na de revert van een eerdere tabelstack weer beschikbaar blijven.

Productie en tooling

  • Leaflet-assets komen uit de package dependency in plaats van uit public/vendor/leaflet.
  • De canonical Outline MCP-ingang en agentleesvolgorde zijn aangescherpt.
  • Lege optionele productie-env waarden worden bij deploy niet als lege variabelen bewaard, maar verwijderd zodat defaults kunnen gelden.
  • De interne VENV API timeout valt terug op de standaard wanneer configuratie ontbreekt, leeg of ongeldig is.
  • Geldige numerieke timeoutwaarden blijven ondersteund voor expliciete omgevingsconfiguratie.

Validatie

  • Tests zijn uitgebreid voor null raw timeseries, foutnormalisatie, correlation IDs en interne API-configuratie.
  • ECharts-interactie en chart-statusgedrag hebben aanvullende testdekking.
  • Data-view cache, gedeelde chart-input, tabelmapping, limieten, filters, kolomzichtbaarheid en CSV-export zijn met VENV-tests afgedekt.
  • De wijziging verkleint de kans dat een productie-deploy succesvol lijkt maar daarna vastloopt door een lege timeoutvariabele.

0.0.3-alpha

Derde alpha van ViewEnvision 3 met rijkere stationinformatie, meetpuntdetails, KPI-velden en betrouwbaardere preview- en dashboardstates.

Deze release vult de dashboardcontext verder aan met informatie uit de live VENV API. Waar de vorige release vooral de Data- en grafiekbasis neerzette, richt deze release zich op duidelijkere stationdetails, meetpuntinformatie, KPI's en betrouwbaardere states in de applicatieshell.

Highlights

  • Stationdetails tonen meer informatie uit de interne VENV API.
  • Adres- en locatiegegevens zijn als expliciet contract toegevoegd.
  • Meetpuntvelden zijn toegevoegd en zichtbaar gemaakt in de werkruimte.
  • KPI-velden zijn toegevoegd aan contracten en dashboardpresentatie.
  • Preview-runs kunnen handmatig en via ready-status betrouwbaarder worden gestart.
  • De dashboardtoolbar blijft op mobiel rustiger wanneer er geen relevante acties zijn.

Locatie en stationdetails

  • De explorer-contracten bevatten expliciete velden voor locatieadres en objectinformatie.
  • Stationpanelen tonen meer context zonder raw API-shapes direct in UI-componenten te gebruiken.
  • Locatiegegevens worden als application-model aangeboden, zodat de UI dichter bij gebruikersbegrippen blijft.
  • Ontbrekende locatievelden leiden tot rustige lege states in plaats van losse technische waarden.

Meetpuntinformatie

  • Meetpuntcontracten bevatten meer velden voor details uit de VENV API.
  • De status- en werkruimteweergaven tonen meetpuntinformatie compacter en consistenter.
  • Gebruikers krijgen meer houvast bij het herkennen van het gekozen station of meetpunt.
  • Detailvelden blijven gescheiden van fixture- en API-shapes, zodat latere API-wijzigingen beter op te vangen zijn.

KPI's

  • KPI-velden zijn toegevoegd aan de contract- en applicatielaag.
  • De werkruimte kan kernwaarden bij een station duidelijker samenvatten.
  • KPI-rijen en annotaties worden opgebouwd uit genormaliseerde data.
  • Ontbrekende KPI-data blijft zichtbaar als ontbrekende context, niet als fout in de interface.

Preview en shellgedrag

  • Preview-workflows kunnen handmatig en via ready-status worden gestart.
  • De lege dashboardtoolbar wordt op mobiel verborgen wanneer er geen zinvolle chart-controls zijn.
  • Lege states in de werkruimte zijn aangescherpt, zodat gebruikers beter zien wat er nog gekozen of geladen moet worden.
  • Deze release wijzigt de basisopbouw van de Data-tabel of grafiekinteractie niet; die horen bij de omliggende Data-releases.

Validatie

  • Contracttests zijn uitgebreid voor de nieuwe station-, meetpunt- en KPI-velden.
  • De dashboardweergaven zijn aangepast om de extra velden zonder raw API-koppeling te gebruiken.
  • Preview- en CI-wijzigingen zijn gericht op betrouwbaarder lokaal en remote controleren.

0.0.2-alpha

Tweede alpha van ViewEnvision 3 met ECharts, centrale tijdkeuze, stationgrafieken, View-as navigatie en een eerste Data-tabel.

Deze release maakt de Data-weergave van ViewEnvision 3 bruikbaarder voor het vergelijken en controleren van meetreeksen. De nadruk ligt op langere tijdvensters, een nieuwe grafiekengine, stationbrede grafieken en een eerste tabelweergave naast de grafiek.

Highlights

  • ECharts is toegevoegd als grafiekengine naast de bestaande custom grafiek.
  • Gebruikers kunnen wisselen tussen grafiekengines terwijl dezelfde chart-input contractgrens behouden blijft.
  • Tijdselectie is centraal gemaakt in de dashboardstate en beschikbaar via een compacte range picker in de header.
  • Stationgrafieken tonen alle beschikbare meetreeksen van het gekozen station in een gezamenlijke grafiek.
  • De dashboardnavigatie volgt het View-as model met Overzicht, Kaart, Data, Status, Foto's, Onderhoud en Alarmen.
  • De Data-weergave bevat een eerste tabel voor dezelfde meetdata die de grafiek gebruikt.

Grafiekengine

  • ECharts ondersteunt de bestaande genormaliseerde chart-input, zodat grafiekdata niet rechtstreeks uit runtime- of API-shapes hoeft te komen.
  • Wisselen tussen custom grafiek en ECharts is stabieler gemaakt bij stationwissels, enginewissels en prerendering.
  • Periodegrenzen worden genormaliseerd naar Unix-seconden, zodat lijnen, tooltips en x-as labels dezelfde tijdschaal gebruiken.
  • Ontbrekende of gedeeltelijke meetdata laat beschikbare reeksen zichtbaar blijven in plaats van de grafiek vast te laten lopen.
  • De publieke app en chart-route zijn robuuster gemaakt voor prerendering.

Tijdvensters en dashboardstate

  • De actieve periode is verplaatst naar centrale viewport-state.
  • De range picker staat in de dashboardheader en werkt dichter bij de context waarin grafieken worden bekeken.
  • Dashboardstate bewaart selectie, tijdvenster en tabcontext via een duidelijke facade.
  • De hot path voor grafiekgebruik is uitgebreid met checks voor range-wijzigingen en grotere datasets.

Stationreeksen

  • Bij een gekozen station worden alle beschikbare meetreeksen voorbereid voor dezelfde grafiek.
  • De meetreeksselectie is niet langer een losse navigatie-as in de sidebar.
  • De chart orchestration-laag kan meerdere station- of reeksselecties samenbrengen voor toekomstige vergelijkingsflows.
  • Loading-, lege en gedeeltelijke datastates zijn explicieter gemaakt.

Dashboardnavigatie

  • De hoofdtab Tabel is hernoemd naar Overzicht.
  • De hoofdtab Grafiek is vervangen door Data.
  • Kaart blijft een hoofdview naast Overzicht en Data.
  • Grafiek en Tabel zijn nu weergaven binnen Data in plaats van aparte hoofdviews.
  • Status, Foto's, Onderhoud en Alarmen blijven beschikbaar als hoofdviews.
  • De cookie consent banner is uit de dashboardlayout gehaald, zodat die de applicatieshell niet meer onderbreekt.

Tabelweergave voor meetdata

  • Data bevat een eerste tabelweergave naast de grafiekweergave.
  • De tabel gebruikt dezelfde chart-input als de grafiek.
  • Meetreeksen worden als kolommen getoond en tijdstippen als rijen.
  • Contextinformatie zoals station, netwerk, periode en ontbrekende data blijft zichtbaar rond de tabel.
  • De tabelweergave helpt om ruwe meetpunten te controleren zonder de grafiekengine te verlaten.

Documentatie en stabiliteit

  • De UX-, navigatie- en state-architectuur is vastgelegd als referentie voor vervolgwerk.
  • De ECharts proof of concept is gedocumenteerd, inclusief adaptergrenzen en contractkeuzes.
  • Tests zijn uitgebreid rond chart contracts, ECharts mapping, viewport-state, orchestration en dashboard hot path.

0.0.1-alpha

Eerste alpha van ViewEnvision 3 met website, login, dashboard, meetnetverkenner, kaart, grafiek, foto's, status, tabellen, onderhoud en alarmen.

Deze eerste alpha zet de basis van ViewEnvision 3 neer: een publieke website met login en een dashboard waarin gebruikers meetnetten, meetpunten en meetdata kunnen bekijken. De nadruk ligt op een werkende applicatieshell, herkenbare dashboardonderdelen en de eerste aansluiting op live VENV API-data naast de publieke demo.

Highlights

  • Vernieuwde ViewEnvision 3 website met duidelijke ingangen naar dashboard, login en release notes.
  • Dashboard voor meetnetten en meetpunten met verkenner, kaart, grafiek, foto's, status, tabellen, onderhoud en alarmen.
  • Login met een ViewEnvision-account, inclusief sessiegebonden dashboarddata wanneer live API-configuratie actief is.
  • Publieke demo blijft beschikbaar wanneer er nog geen login of live API-sessie actief is.
  • Kaart, grafiek en statusweergaven gebruiken een eerste contract-first opbouw achter de schermen.
  • Mobiele navigatie en dashboardtabbar zijn ingericht voor dagelijks gebruik op kleinere schermen.

Platform en toegang

  • De homepage introduceert ViewEnvision 3 als platform voor inzicht in buitenruimtes, meetnetten en infrastructuur.
  • Bezoekers kunnen vanuit de website rechtstreeks naar dashboard of login.
  • De login toont na aanmelden hoeveel meetpunten beschikbaar zijn voor het account.
  • Preview- en productieconfiguratie zijn voorbereid om live API-data in de shell te gebruiken.
  • Release notes worden via Nuxt Content gerenderd, zodat productwijzigingen onderdeel van dezelfde applicatie blijven.

Meetnetten verkennen

  • De verkenner toont beschikbare meetnetten, meetpunten en hun status.
  • Meetnetten en meetpunten zijn via een duidelijke lijst te openen.
  • De gekozen context blijft behouden wanneer gebruikers tussen dashboardonderdelen wisselen.
  • De command search blijft enkelvoudig en helpt om snel naar onderdelen en meetpunten te springen.
  • De sidebar is opgeschoond zodat reeksselectie niet meer als losse boomlaag in de verkenner domineert.

Kaart

  • Meetpunten worden op de kaart weergegeven en volgen de selectie vanuit de verkenner.
  • Het kaartvenster toont een compact informatiepaneel met status, laatste meting en snelle acties.
  • Kaartselectie is verbeterd voor desktop en mobiel, inclusief betere positionering rond popovers en de mobiele tabbar.
  • Foto-preview en stationacties blijven vanuit de kaart bereikbaar.
  • De kaart is achter een adaptergrens geplaatst, zodat Leaflet niet rechtstreeks door de hele UI lekt.

Grafiek en live data

  • Het grafiekonderdeel toont meetwaarden voor de gekozen meetcontext.
  • De chart adapter gebruikt render input in plaats van raw data rechtstreeks in de component te verwerken.
  • Live API chartdata kan worden gerenderd met station- en variabelekeys uit de API.
  • Als live timeseries-variabelen ontbreken, probeert de grafiek terug te vallen op beschikbare variabelen.
  • Fixturegrafieken blijven beschikbaar voor demo- en ontwikkelscenario's.

Foto's en status

  • Beschikbare foto's worden in een overzichtelijk raster getoond.
  • Live API-foto's zijn als primaire route voorbereid voor previewgebruik.
  • Het statusoverzicht toont relevante informatie over locatie, communicatie, voeding, metingen en kwaliteit.
  • De status- en lege states zijn aangescherpt zodat gebruikers duidelijker zien welke selectie of data nog ontbreekt.
  • Onderhoud en alarmen blijven als aparte dashboardonderdelen beschikbaar.

Tabellen en mobiel gebruik

  • Tabellen tonen meetnetten, meetpunten en detailinformatie in een sorteerbare weergave.
  • Vanuit tabellen kunnen gebruikers doorklikken naar de relevante meetnet- of meetpuntcontext.
  • Dashboardtabellen ondersteunen drilldown en basiszichtbaarheid per kolom.
  • Op mobiel staan de belangrijkste dashboardonderdelen onderin beeld.
  • Mobiele menu's, kaartselectie en gebruikersmenu's zijn aangepast aan de beschikbare schermruimte.