Release notes

Release notes

Productupdates en nieuwe functies van ViewEnvision 3.

0.0.14-alpha

Grondwatergrafieken met instelbare ondervlakken, eigen regenstations en uitgebreid publiek zoeken.

Deze alpha maakt grondwater en neerslag gemakkelijker samen te lezen, met dezelfde standaardweergave in het publieke en gemeentelijke portaal.

Website

  • De homepagina beschrijft de werkelijke ViewEnvision-functies voor kaart, tijdreeksen, vergelijken en operationele meetpuntinformatie. Tijdelijke voorbeeldgrafieken, voorbeeldkaarten, verzonnen klantquotes en het niet-werkende nieuwsbriefveld zijn verwijderd.
  • Echte opnamen uit het publieke portal tonen het overzicht, de 3D-kaart en de grondwatergrafiek. De verschillen tussen publieke inzage en de gemeentelijke werkruimte staan voortaan rechtstreeks op de homepagina.
  • Knoppen voor publieke inzage openen voortaan rechtstreeks publiek.viewenvision.nl.

Grondwater en legenda

  • Grondwatermeetpunten krijgen automatisch blauwe waterlijnen met een zacht ondervlak. Maaiveld heeft een groene lijn met een zandkleurig vlak eronder.
  • GG, RHG en RLG zijn direct zichtbaar wanneer de bron deze waarden levert. Verschillende lijnstijlen en kleuren houden de referenties herkenbaar; deze lijnen krijgen standaard geen vulling.
  • Zet per meetreeks, referentielijn of hulplijn een ondervlak aan in de bestaande compacte kleurpopup. Het vlak volgt de lijnkleur als lichte tint, of gebruikt een afzonderlijk gekozen kleur.
  • Lijn en ondervlak gebruiken hetzelfde kleurenpalet en dezelfde volledige kleurkiezer. Volg lijnkleur verbergt de afzonderlijke vlakkeuze; schakel dit uit voor lichte themakleuren of een eigen kleur.
  • Maaiveldvlakken blijven tijdens slepen en zoomen zichtbaar en vullen direct het nieuw zichtbare deel, zonder te wachten op het laden van meetdata. Historische wijzigingen behouden hun eigen geldigheidsperiode.
  • Ondervlakken lopen naar de onderkant van de grafiek, ook bij negatieve NAP-waarden. De bestaande referentiewissel naar maaiveld blijft beschikbaar.
  • Kies of eenheden bij iedere y-aswaarde staan of eenmaal bovenaan. Nieuwe grafiekvoorkeuren starten in m t.o.v. maaiveld wanneer die hoogte beschikbaar is en vallen anders terug op NAP. In beide weergaven wissel je direct bij de as tussen NAP, maaiveld en bovenkant meetpunt.
  • Compacte grafieken op Overzicht en de kaart gebruiken dezelfde vlakrichting en kleuren. Waarnemingen net buiten beeld blijven beschikbaar, zodat lijnen en vlakken bij zoomen tot aan de beeldrand doorlopen.

Neerslag en bronkeuze

  • Neerslag staat voor nieuwe voorkeuren standaard aan, samengevat per dag en uitgelijnd op het maaiveld. Een eigen resolutie, plaatsing of uitgeschakelde laag blijft als lokale keuze bewaard.
  • Eigen neerslagmetingen in millimeters worden als intervalkolommen weergegeven. KNMI en eigen stations gebruiken lichtblauw en tonen aansluitende intervallen zonder kunstmatige witruimte. Ontbrekende meetintervallen blijven herkenbaar.
  • Regenkolommen worden na interactie in één tekenronde bijgewerkt; het stapsgewijs opbouwen is verwijderd. Dagtotalen van eigen stations hergebruiken daggrenzen en al geladen reeksen, zodat interactie minder herberekening vraagt. Kolommen die de beeldrand kruisen blijven zichtbaar.
  • De automatische bronkeuze vergelijkt eigen en KNMI-stations op afstand tot het primaire meetpunt. Kies desgewenst Voorkeur eigen stations of Voorkeur KNMI-stations.
  • Kies een eigen regenstation met het regenicoon in de meetnetverkenner. Het station wordt als neerslagbron vastgezet; het primaire meetpunt blijft staan en de regenreeks wordt niet als extra vergelijkingsmeetpunt toegevoegd.
  • Wissel een getoonde neerslagbron ook direct vanuit de legenda. Aanzetten, bronvoorkeur en verdere toelichting blijven bij Grafiekweergave.
  • Zet neerslagkolommen desgewenst Op het maaiveld. De nul van de neerslagas sluit dan aan op de maaiveldhoogte; de hoogtewaarden en millimeters veranderen niet. Bij vergelijken vanaf verschillende maaiveldhoogtes wisselt deze optie naar t.o.v. maaiveld, zodat ieder meetpunt zijn eigen grondniveau als nul gebruikt. Neerslag is ook beschikbaar in de losse vergelijkingsgrafieken.
  • Een handmatige bronkeuze blijft vastgezet totdat Automatisch wordt gekozen. De bronvermelding onderscheidt eigen metingen van KNMI en radarverwachting.
  • Uur- en dagtotalen van eigen stations tellen beschikbare volledige meetintervallen op. Ontbrekende waarden worden niet als nul ingevuld of geschat. Radarverwachtingen blijven afzonderlijk herkenbaar bij de KNMI-bron.

Zoeken en publieke weergave

  • Beide portals starten standaard in de lichte weergave. De publieke portal heeft een vaste lichte weergave en een zoekfunctie; in de gemeenteportal blijven Donker en Systeem optioneel beschikbaar.
  • Zoek op meetpuntnaam, systeemnummer, klantcode, gemeentelijk peilbuisnummer, BRO-code, adres, postcode, meetnet, meettype en beschikbare vaste kenmerken. Alle woorden in de zoekopdracht moeten overeenkomen; een specifiek peilbuisnummer levert geen lijst met ongeveer gelijke nummers op.
  • Standaardbediening zoals sluiten en zoekmeldingen gebruikt nu eveneens de Nederlandse interfacevertaling.
  • Ontbrekende meetpunttypes en zoekkenmerken worden op de achtergrond aangevuld. Eigen regenstations zijn daardoor te kiezen zonder ze eerst afzonderlijk te openen.
  • De zoekfunctie gebruikt uitsluitend gegevens die binnen de bestaande account- of publieke scope beschikbaar zijn. De publieke portal behoudt uitsluitend leesrechten.
  • Nieuwe annotaties zijn standaard Intern. Bij toevoegen en wijzigen kies je duidelijk tussen Intern en Publiek; bestaande annotaties zonder expliciete zichtbaarheid blijven intern. Het publieksportal ontvangt uitsluitend annotaties die expliciet als publiek zijn opgeslagen, ook wanneer annotaties al in meetpunt- of verkennerdata zijn opgenomen.
  • De publieke start- en meetpuntweergave gebruiken geldige landmarks, tabelrelaties, toegankelijke namen en toetsenbordbediening. Actieve navigatie, lege widgets en compacte bediening hebben een vast AA-contrast; tijdelijke popuprelaties worden alleen aan hulpsoftware doorgegeven zolang hun doel bestaat. De automatische WCAG 2.2 AA- en Lighthouse-controles vormen voortaan een vaste releasepoort naast de handmatige controle.

Instellingen en aanvullende fixes

  • Op desktop staan in de gemeenteportal apparaatopslag, grafiek-LOD, dynamisch laden, voorladen van buurperioden en het volgen van de grafiekperiode standaard aan. Tablet behoudt vergelijken, grafiek-LOD en doorscrollen, met opslag en voorladen standaard uit. Telefoon opent een lichtere weergave zonder vergelijken, met opslag, LOD, doorscrollen en voorladen standaard uit. Instelbare voorkeuren worden per apparaatprofiel bewaard; bestaande desktopkeuzes blijven behouden. De publieke portal gebruikt deze uitgebreide functies niet.
  • Alleen een Super Beheerder ziet de bediening om een performancemeting te starten. Een meting start nooit automatisch; ook het opslaan ervan controleert de beheerdersrol.
  • Grafiekexports vermelden nu de juiste eigen of KNMI-neerslagbron.
  • Alarmverzoeken sturen de gekozen periode door met de parameternamen van de huidige API-implementatie.
  • Naar een meetpunt zoomen houdt rekening met de doelzoom en de popupbreedte. De eerste selectie vanuit een meetnet blijft daardoor in beeld, ook op smallere schermen; oude cameracorrecties kunnen een nieuwe selectie niet meer terugzetten.
  • Kaarten corrigeren een punt buiten beeld in de juiste richting. De overzichtwidget houdt de geselecteerde locatie centraal.
  • Het menu Kaartlagen blijft ook op mobiel boven de meetpuntkaart zichtbaar en bedienbaar.
  • Een al geselecteerd meetnet uitklappen wist de selectie niet meer en houdt de mobiele meetnetverkenner open.
  • Meetpunten zonder foto houden een leesbare titel, adresregel en sluitknop in de kaartpopup.
  • Grondwaterinfographics op Overzicht laden hun gekoppelde BRO-bron ook wanneer de kaart nog niet is geopend.
  • Een expliciete KNMI-melding dat een station geen metingen in de periode heeft, wordt als ontbrekende data getoond. De regenbron blijft vanuit de legenda te wisselen; ontbrekende regen wordt niet als nul weergegeven.
  • Aslabels overlappen niet op lage mobiele grafieken. De neerslagas behoudt daarbij de zichtbare nul op het maaiveld.
  • Bij pannen en zoomen verdwijnt de oude meetwaardetooltip, zodat een datum uit de vorige periode niet boven de nieuwe grafiek blijft staan.
  • De grafiekhulp noemt Ctrl + scrollen wanneer snelle tijdnavigatie uitstaat, zoals in het publieke portaal.
  • Een afgeronde achtergrondaanvulling ruimt de laadmelding ook op in grafiekwidgets op Overzicht en de kaart.
  • Op kleine schermen staan titel en periodekeuze onder elkaar. De meetnetverkenner blijft open bij het uitklappen van een meetnet en sluit na het kiezen van een locatie; de mobiele zijbalk heeft Nederlandse toegankelijkheidslabels.

Kaart en selectie

  • Het enige meetnet klapt bij het openen van het dashboard automatisch uit. Zelf in- en uitklappen blijft mogelijk.
  • Alleen Super Beheerders zien het teammenu linksboven. Andere gebruikers zien het VENV-logo. De zoekknop houdt ook in het publieke portaal ruimte tot de onderrand.
  • Kaartgereedschap staat in de volgorde kaartlagen, navigatie en selectie. Het publieke portaal toont dezelfde eerste twee groepen zonder lege tussenruimte.
  • Perspectief en gebouwen gebruiken dezelfde kanteling. Perspectief aan zet gebouwen aan; uit zet gebouwen en eventuele terreinkanteling uit. Een meetpunt wordt in perspectief twee zoomniveaus dichterbij geopend.
  • De meetpuntkaart benut de beschikbare hoogte met een afzonderlijk scrollbaar informatiegedeelte. Op telefoons blijft boven de kaartinformatie een deel van de kaart vrij.
  • De meetpuntkaart groepeert beschikbare RHG-, GG- en RLG-bronwaarden met eenheden en uitleg, gevolgd door grafiek en boorprofiel. De laatste metingen en meettijd staan daaronder. Ontbrekende kengetallen worden niet geschat.
  • De selectiedrawer volgt de werkelijke zijbalkbreedte en past naast de meetpuntkaart. Als die ruimte ontbreekt, krijgt de geopende selectie tijdelijk voorrang. Ingeklapt blijven het aantal meetpunten, de vergelijkknop en de bladerknoppen zichtbaar. In- en uitklappen en de positiewissel tussen werkruimtes verlopen vloeiend, zonder de grote afgeronde flits.
  • Klik op een selectierij om de meetreeks van dat meetpunt te bekijken. De vergelijking blijft bewaard; verslepen en verwijderen houden eigen knoppen.
  • Na doorscrollen wordt een gedeeltelijke vergelijking niet meer als volledig geladen periode geregistreerd. Ontbrekende periodes blijven daardoor opvraagbaar. De tooltip vermeldt een ontbrekende meting binnen een reeks expliciet.
  • Grafiekhulp, sleepvoorvertoning en laadmeldingen delen één statuslabel. Tijdens slepen krijgt de doelperiode voorrang; tekst, kleur en breedte passen zich aan de status aan. Minder beweging wordt gerespecteerd.

Leesbaarheid en dagelijkse bediening

  • Referentielabels krijgen een rustige, uitgelijnde weergave met vaste tussenruimte. Vrijwel samenvallende opschriften worden gegroepeerd; de lijnen en exacte bronhoogtes blijven afzonderlijk behouden. Kleine widgets gebruiken korte namen en geven maaiveld, GG, RHG en RLG voorrang wanneer de ruimte beperkt is.
  • Alleen de labels openen de referentiegegevens. Boven de referentielijnen blijft de tooltip met meetwaarden beschikbaar, ook wanneer dezelfde grafiek annotaties bevat.
  • Grafiekhints blijven zichtbaar zolang geen laadmelding, waarschuwing of interactievoorschouw voorrang heeft. Dubbele locatietitels op het canvas zijn verwijderd, ook uit grafiekexports.
  • Een vaste y-as waarschuwt rechtsboven wanneer meetwaarden buiten beeld vallen. As aanpassen brengt ze met een korte overgang in beeld en behoudt de vergrendeling. Automatisch schalen wacht totdat slepen, scrollen en de horizontale afronding klaar zijn, en gebruikt daarna dezelfde overgang. Minder beweging wordt gerespecteerd.
  • Overzicht toont op brede schermen in de gemeenteportal eerst de dubbele kaarttegel, alarmen en een foto; in de publieksportal vervalt de alarmtegel en gebruikt de kaart drie kolommen. Daaronder staat de grafiek over drie kolommen naast een afzonderlijke meetpuntvisualisatie. De meetpuntentabel gebruikt de volledige breedte en toont alle meetpunten van het actieve meetnet. De zichtbare filterbalk boven de tabel filtert op status, actualiteit en batterij en past zich aan smalle schermen aan; een meetnetwissel wist die filters. Op laptopformaat blijven vier kolommen beschikbaar; smallere schermen krijgen twee of één kolom. De overbodige meetnet- en locatiechips zijn verwijderd.
  • Op Operationeel staan foto's onder de meetpuntgegevens. De regenvisualisatie vult ook de achtergrond naast de tekening. De grafiek in de kaartpopup krijgt meer hoogte, vergelijkbaar met de meetpuntvisualisatie.
  • Meetpunten zonder foto tonen ook op Overzicht een duidelijke melding in de fototegel.
  • Op smalle kaarten houdt de meetpuntpopup ruimte vrij voor de ingeklapte selectiedrawer, zodat vergelijken en bladeren bereikbaar blijven.
  • Lange grafiekmeldingen krijgen op mobiel een eigen regel met tekstomloop en bedekken de eenheidskeuze niet. Korte hints benutten hun natuurlijke breedte en krimpen niet door de tekstmeting.
  • Grafiek, meetwaardetabel en rapportage gebruiken dezelfde compacte exportknop in de werkbalk.
  • Zoekresultaten tonen het adres en aanvullende kenmerken waarop de zoekopdracht overeenkomt. Exacte overeenkomsten krijgen voorrang; huisnummers matchen niet meer op losse cijfers binnen coördinaten. Meetpunten, meetnetten en navigatie/instellingen staan in afzonderlijke groepen met een snelle categoriekeuze waar van toepassing.
  • De ingeklapte zijbalk toont een volledige blauwe V en opent een compacte meetnetverkenner met dezelfde selectiebediening. Zoeken en het gebruikersmenu blijven bereikbaar. Het aantal meetnetten en meetpunten gebruikt het juiste enkelvoud.
  • Het publieke portaal start standaard met perspectief en gebouwen; het gemeenteportaal start vlak. Een eigen keuze blijft bewaard per portaal. Gebouwen aan- en uitzetten past ook de kanteling aan; meetpunten worden in perspectief dichterbij geopend, inclusief de overzichtkaart.
  • De meetnetentabel toont leesbare alarmstatussen in plaats van interne kleurnamen.
  • Bij een verlopen persoonlijke sessie verschijnt een modal met Opnieuw inloggen. Meetpunt en periode blijven behouden; na inloggen worden gegevens opnieuw geladen. Mislukte schrijfacties worden niet automatisch herhaald. Publieke bezoekers en gewone toegangsweigeringen krijgen deze sessiemelding niet.
  • De mobiele grafiekbalk gebruikt compacte pictogramknoppen voor annotaties, zoom en export, met toegankelijke namen en behoud van alle functies.
  • Perspectief wisselt strikt tussen vlak zonder gebouwen en gekanteld met gebouwen. Positie, zoom en kanteling worden samen afgerond, zodat opnieuw centreren of snel klikken geen extra tussenstand veroorzaakt.
  • Zonder opgegeven periode opent het dashboard het huidige kalenderjaar, volgens de gekozen tijdzone. Een expliciet gekozen periode blijft behouden.
  • Onder Instellingen → Grafiek → Referentielijnen in widgets kies je de zichtbare lijntypen voor Overzicht en de kaart. Maaiveld, bovenkant meetpunt en beschikbare GG/RHG/RLG blijven standaard zichtbaar; filter- en sensorhoogte staan standaard uit. De volledige grafiek behoudt zijn eigen legenda.
  • De sectie Bodemlagen is ingeklapt zodra een BRO-boorbeschrijving gekoppeld is, met broncode en afstand direct zichtbaar. Zonder koppeling opent de sectie automatisch; uitklappen toont de kandidaten en de ontkoppelactie.
  • Het dichtstbijzijnde leesbare bodemprofiel wordt automatisch gekoppeld tot en met 500 meter. Een expliciete GMW–BHR-relatie heeft voorrang. Ruimtelijk gekoppelde lagen blijven herkenbaar als nabij profiel; bestaande handmatige keuzes blijven behouden.
  • Bij een meetpuntwissel worden oude bodemprofielkandidaten direct leeggemaakt, zodat ze tijdens het laden niet aan het nieuwe meetpunt gekoppeld kunnen worden.

Stabiliteit en compacte vergelijking

  • Een asanimatie met neerslag op maaiveld kon bij het kruisen van nul een extreem aantal aslabels berekenen en Chrome laten vastlopen. De regenwaarde blijft nu begrensd en aslabels worden altijd in een klein, begrensd aantal opgebouwd.
  • Bij het wisselen of verbergen van meetreeksen worden oude tooltipverwijzingen opgeruimd, zodat de hover niet naar een verwijderde reeks verwijst.
  • Losse vergelijkingsgrafieken gebruiken dezelfde meetreeksen als de gecombineerde grafiek. Lege API-kanalen reserveren geen extra asruimte; de regenas blijft rechts staan.
  • De automatische maaiveldreferentie bij Neerslag op het maaiveld wordt bewaard, zodat deze na bladeren of een tabwissel blijft gelden.
  • De compacte vergelijkingsbalk bevat samenvoegen, raster en stapelen, de primaire vergelijkingsknop en bladeren. Vergelijken opent direct Metingen → Grafiek. De grafiek reserveert ruimte voor de balk, zodat de x-as bereikbaar blijft.
  • Rechthoek- en vrije-vormselectie op de kaart vormen één aansluitende knopgroep. Filters en kolommen in de meetwaardetabel gebruiken dezelfde compacte werkbalkstijl als exporteren.
  • CIW-rapportage is alleen beschikbaar voor overstortmeetpunten; andere meetpunttypen starten geen CIW-verzoek.
  • De boorstaat op Operationeel gebruikt een passende hoogte zonder het grote lege vlak rondom de tekening. Widgets behouden hun vullende weergave.

Sessies, fotovergelijking en kaartinformatie

  • Een verlopen sessie opent nu daadwerkelijk de blokkerende melding Opnieuw inloggen. Een tijdelijke verbindingsfout wist een bestaande sessie niet meer voordat een echte autorisatiefout herkend kan worden.
  • De fotowidget toont in vergelijkingsmodus de eerste foto van ieder geselecteerd meetpunt. Foto’s openen vergroot zonder de vergelijking te verlaten; ontbrekende foto’s houden een herkenbare plek.
  • Een vertraagde fout van een eerder getoonde foto veroorzaakt geen foutmelding meer en verbergt geen volgende foto.
  • Publiek gemarkeerde en goedgekeurde stationfoto’s laden nu ook in het publieksportal via een beveiligde same-origin leesroute. De Object Storage-bucket blijft private. Bevoegde beheerders kiezen in de gemeentelijke fotogalerij per foto Intern of Publiek; de API bewaart en bevestigt die keuze.
  • Vergelijken opent standaard Metingen → Grafiek. Met Shift + klikken blijft het huidige tabblad actief, bijvoorbeeld om foto’s naast elkaar te bekijken op Overzicht.
  • Overzichtfilters staan rechts naast de titel van de meetpuntentabel en lopen op smalle schermen netjes door.
  • De losse vergelijkingsgrafieken plaatsen de neerslagas rechts en benutten meer ruimte voor metingen: de lege ruimte voor grafiektitels en interactiehints vervalt in deze kaarten.
  • Kaartpopup en vergelijkingsbalk delen dezelfde transparante achtergrond. GG, RHG en RLG gebruiken ook buiten een vergelijking de meetdata van het actieve punt; de uitleg blijft bij grondwaterpunten beschikbaar tijdens laden of bij ontbrekende kengetallen.
  • Over deze grondwaterstanden legt uit dat de kengetallen minimaal één jaar meetdata nodig hebben om seizoensverschillen mee te nemen en onafhankelijk zijn van de gekozen grafiekperiode.
  • De publieke portal verbergt het tabblad en de overzichtswidget Alarmen; ook de mobiele navigatie sluit daarop aan. De kaart gebruikt op brede schermen de drie vrijgekomen kolommen.
  • Een lege of beschadigde lokale meetdatacache herstelt zichzelf per betrokken meetreeks met één nieuwe live aanvraag. Een werkelijk lege live bron blijft leeg en veroorzaakt geen herhaallus. Ook een tijdelijk lege neerslagsessie wordt opnieuw gecontroleerd, zodat eigen regen na herstel weer op alle grafieken verschijnt.
  • De vergelijkingsbalk reserveert alleen ruimte onder de enkele en gecombineerde grafiek. Raster- en gestapelde vergelijkingen gebruiken hun eigen kaartindeling en verliezen daardoor geen extra verticale ruimte.
  • Kantelen en draaien gebruikt het geografische midden van de geselecteerde meetpunten als draaipunt. Zonder vergelijking blijft het actieve meetpunt het anker.
  • In de kaartpopup volgen GG, RHG en RLG nu direct op de laatste metingen, met dezelfde compacte kaartstijl en zonder een dubbel serielabel.
  • PDF-grafiekexports tonen de zichtbare periode bij de meetpuntgegevens en krijgen een meerkoloms legenda met de kleuren van de zichtbare meetreeksen. Referentielijnen blijven op het canvas gelabeld; bij vergelijkingen bevat iedere pagina alleen de meetreeksen van de grafieken op die pagina.
  • Instellingen en Account openen in het gebruikersmenu hun eigen submenu. Onder Account staan snelkoppelingen om lokale voorkeuren of opgeslagen meetdata gecontroleerd te verwijderen; de persoonlijke sessie blijft bij een voorkeurenreset behouden.
  • Na een gewone aanmelding opent de gemeenteportal direct op Kaart. Een bewaarde bestemming na sessieherstel blijft voorrang houden.
  • Handmatig draaien en kantelen gebruikt weer het stabiele midden van de zichtbare kaart. De geselecteerde locatie blijft het doel voor invliegen en popupplaatsing, zonder de camera tijdens de interactie weg te trekken.

Documentatie, BRO-context en compacte grafieken

  • De documentatiesectie is volledig in het Nederlands uitgewerkt met aparte onderwerpen voor dagelijks gebruik, grondwater, voorkeuren, architectuur en roadmap. De gids bevat echte portalschermen en vervangt de tijdelijke voorbeeldpagina’s.
  • Externe grondwatermeetpunten via PDOK/BRO zijn een optionele kaartlaag en staan standaard uit. De popup benoemt dat deze punten context leveren en geen VENV-meetreeks hebben.
  • De bronknop van een extern BRO-punt opent de publieke BROloket-weergave op basis van het BRO-ID in plaats van het technische XML-bericht.
  • Grafiekwidgets reageren opnieuw zodra nageleverde meetpuntdetails een meetreeks of beschikbaarheidsperiode completeren. Hierdoor blijven onder meer tegels van later gehydrateerde meetpunten niet leeg.
  • Grondwater en neerslag gebruiken ook in compacte Overzicht- en kaartgrafieken ieder hun eigen schaal. Dagbalken blijven op jaarweergaven minimaal één pixel breed en krijgen meer contrast.
  • CSV- en XLSX-export van neerslagstations bevatten alleen het tijdstip en de werkelijk gemeten neerslag; interne bron-, kwaliteits- en forecastvelden blijven uit de databestanden.
  • In de meetwaardetabel staat de exportknop uiterst rechts, na Filters en Kolommen.
  • De korte grafiekhint noemt alleen slepen en scrollen. De aanvullende bediening met Shift en Option/Alt staat in de documentatie.
  • Kaartvoorkeuren voor gebouwen en terrein zijn per portal gescheiden. Nieuwe gemeentegebruikers starten vlak zonder gebouwen; de publieksportal start gekanteld met gebouwen.

0.0.13-alpha

Interne alpha met accountbeheer, typespecifieke meetpuntvisualisaties en regiogeneutrale broncontext.

Deze interne prerelease bundelt de wijzigingen sinds 0.0.12-alpha. Beheerders krijgen functioneel account- en gebruikersbeheer binnen hun rechten. Het dashboard kiest voortaan een interactieve infographic die past bij het type en de meetmogelijkheden van het geselecteerde meetpunt. Voor grondwater voegt de release een interactieve boorstaat en regiogeneutrale PDOK/BRO-context toe. Voor neerslagmeetpunten komt daar een interactieve regenmeter bij met de eigen actuele meetwaarde en afzonderlijk herkenbare KNMI-context.

Highlights

  • Bekijk, zoek, filter, voeg toe, wijzig en verwijder gebruikers binnen de toegestane organisatie- en rolgrenzen.
  • Gebruik dezelfde beheerflow op desktop en mobiel, met duidelijke bevestiging en terugkoppeling via de normale gebruikerslijst.
  • Bekijk dezelfde compacte grondwaterboorstaat in Operationeel, de operationele overzichtswidget en de kaartpopup.
  • Zie bodemlagen, peilbuis, filter, sensor en actuele waterstand in één schematische SVG, met een zichtbaar verschil tussen straatpot en schutkoker.
  • Wissel de laagopbouw tussen afzonderlijke Bronlagen en Samengevoegd, waarbij alleen direct opeenvolgende gelijke materiaalsoorten worden gecombineerd.
  • Gebruik externe BRO-grondwatermeetpunten voor de gemeente die bij het geselecteerde meetpunt hoort, zonder gemeentenaam of regio vast in de feature te programmeren.
  • Bekijk bij een neerslagmeetpunt dezelfde interactieve regenmeter in Operationeel, de operationele overzichtswidget en de kaartpopup.
  • Vergelijk de laatste eigen neerslagmeting met gemeten neerslag van vandaag en de komende twee uur uit de gekozen KNMI-contextbron, zonder die bronnen met elkaar te vermengen.

Account- en gebruikersbeheer

  • Bekijk en wijzig uw eigen naam op de vernieuwde profielpagina.
  • Zoek en filter gebruikers op naam, e-mailadres, rol en — voor super-beheerders — organisatie.
  • Voeg een gebruiker toe in een compacte dialoog met een selecteerbare organisatie en toegestane rol.
  • Wijzig de naam, rol of organisatie van een bestaand account wanneer uw beheerrechten dit toestaan.
  • Verwijder een gebruiker via een duidelijke bevestiging; het account verdwijnt daarna direct uit de gebruikerslijst.
  • Een Meetnet Beheerder beheert gewone gebruikers binnen de eigen organisatie.
  • Een Super Beheerder beheert gebruikers en beheerders binnen de eigen meetnetprovider en kan bij het toevoegen een organisatie kiezen.
  • Zelf verwijderen en het beheren van gelijke of hogere rollen worden vooraf geblokkeerd.
  • Een al bestaand e-mailadres geeft een herkenbare melding in het formulier.
  • Wijzigingen lopen via de persoonlijke sessie en worden na toevoegen, wijzigen of verwijderen opnieuw gecontroleerd via de normale gebruikerslijst.

Grondwaterboorstaat

  • De SVG combineert VENV-waarden voor peilbuis, filter, sensor en actuele waterstand met gekoppelde BRO-bronnen voor put- en laagopbouw.
  • De peilbuis ligt over de bodemlagen en maaiveld wordt als een rechte schematische lijn getoond.
  • Straatpot en schutkoker hebben verschillende vormen: vlak in het maaiveld versus een beschermkoker erboven.
  • De laagknoppen blijven verticaal onder de graphic staan. De instellingenknop rechtsboven wisselt tussen de ongewijzigde bronlagen en een compacte samenvoeging van aansluitende lagen met hetzelfde materiaal.
  • Zonder gekoppelde boorbeschrijving toont de graphic precies één neutrale laag Onbekend; de applicatie vult geen fictieve bodemlagen in.

Meetpunttypen en interactieve infographics

  • De applicatie classificeert meetpunten eerst op expliciete systeemtypevelden uit de API en daarna op gestructureerde meetgrootheid- en sensormetadata. Alleen wanneer die gegevens ontbreken, kan installatiemetadata een herkenbare neerslagopstelling als voorzichtige fallback herkennen; namen en voorvoegsels van meetpunten zijn nooit classificatiebron.
  • Grondwatermeetpunten krijgen de interactieve boorstaat en neerslagmeetpunten de interactieve regenmeter. De keuze wordt op één plek gemaakt en op alle drie de dashboardoppervlakken hergebruikt.
  • Rioolwaterniveau, riooloverstorten, rioolgemalen, oppervlaktewater, debiet, waterkwaliteit, bodemvocht en geotechnische meetpunten worden al als afzonderlijk type herkend. Zolang daar nog geen volwaardige typespecifieke infographic voor bestaat, toont de applicatie een eerlijke lege status in plaats van een inhoudelijk onjuiste grondwaterboorstaat.
  • De V2-regenmeter is alleen als inhoudelijke referentie gebruikt. De nieuwe technische regenmeter is een compacte native SVG met dezelfde viewBox, rustige lijnvoering, themakleuren en informatiedichtheid als de grondwaterboorstaat.
  • De interactieve weergave verrijkt die schematische installatie met de laatste lokale meetwaarde, meettijd, validatie, actualiteit, opstelling, voeding, verbinding en meetinterval.
  • De weergave Vandaag gebruikt de bestaande provider-onafhankelijke neerslagroute voor gemeten dagneerslag en de komende twee uur. De vijf dichtstbijzijnde KNMI-bronnen zijn selecteerbaar; automatisch blijft de dichtstbijzijnde bron actief en een handmatige keuze wordt apparaat-lokaal onthouden.
  • De luchtlaag reageert op de gekozen KNMI-bron. Een twee-uursverwachting stuurt kleur en regendichtheid; een dagtotaal zonder verwachting krijgt alleen een statische tint en wordt niet als actuele regen geanimeerd.
  • Lokale VENV-meetdata en KNMI-context houden afzonderlijke bronvermelding. Uitval van KNMI beïnvloedt de lokale actuele meetwaarde niet en levert een zichtbare foutstatus op.

BRO-koppelingen en herkomst

  • Een bestaande GMW-ID uit de VENV API heeft voorrang. Zolang de API deze koppeling nog niet kan opslaan, kan één GMW-put binnen 1 meter automatisch of een kandidaat tot 5 meter handmatig browser-lokaal worden gekoppeld.
  • Een expliciete GMW–BHR-relatie wordt automatisch gebruikt. Anders zoekt de reader adaptief van 100 meter tot maximaal 2 kilometer en toont hij de vijf dichtstbijzijnde profielen met leesbare lagen.
  • Het dichtstbijzijnde ruimtelijke BHR-profiel onder 50 meter wordt automatisch gekoppeld; profielen vanaf 50 meter vereisen een handmatige keuze.
  • Iedere ruimtelijke BHR-koppeling toont de afstand en blijft herkenbaar als Nabij BRO-profiel. De applicatie claimt niet dat dit de oorspronkelijke boring van het meetpunt is.
  • Koppelingen zijn in deze alpha alleen op het huidige apparaat opgeslagen. Persistente opslag en bronbeheer volgen in de VENV API.

Regiogeneutrale kaartcontext

  • De applicatie bepaalt via PDOK automatisch de gemeente van het geselecteerde meetpunt en gebruikt de exacte gemeentegeometrie als zoekgebied.
  • Externe GMW-putten, monitoringbuizen en beschikbare GLD-registraties worden via publieke PDOK/BRO-bronnen gelezen en herkenbaar naast eigen meetpunten getoond.
  • Bronuitval levert een zichtbare lege of foutstatus op; er worden geen externe meetpunten gesimuleerd.

Aanbestedingsdemo

  • De volledige accountflow voor een Meetnet Beheerder — toevoegen, dubbele e-mail herkennen, naam wijzigen en verwijderen — is live bewezen met een wegwerpaccount.
  • De contractueel beschikbare Super-Beheerder-acties zijn in de interface aanwezig; de volledige mutatieroundtrip wordt nog afzonderlijk met passende wegwerpidentiteiten bewezen.
  • De adaptieve BHR-reader vond op 4 september 2026 voor alle tien onderzochte Almeerse demolocaties vijf leesbare profielen; het benodigde zoekvenster varieerde van 100 meter tot 2 kilometer.
  • De samengevoegde laagweergave bewaart de bronvolgorde en diepteovergangen. Een profiel met opeenvolgend klei, veen en leem wordt compact als drie verticale laagregels getoond en kan altijd naar de afzonderlijke bronlagen worden teruggezet.

Bekende beperkingen

  • OAuth/OpenID is nog niet live en is geen blokkade voor de demo.
  • Accountstatus, uitnodigingen, wachtwoordherstel en uitgebreider lifecyclebeheer volgen richting oplevering.
  • De API-autorisatie voor de handelende beheerder en het gekozen account wordt richting productie verder aangescherpt.
  • Een nabij profiel is context voor de gebruiker en geen bewijs van lokale geologische gelijkheid. Vooral op grotere afstand is inhoudelijke beoordeling nodig voordat een handmatige koppeling wordt bevestigd.
  • De publieke bronselectie en browser-lokale koppelingen bewijzen de demo-ervaring, maar nog niet de contractuele kwartaalcontrole, gemeentelijke bronimport of persistente audittrail.
  • Externe GLD-registraties worden geteld en gekoppeld; de volledige externe meetreeksen worden in deze alpha nog niet als VENV-meetreeks ontsloten.
  • De huidige API levert het canonieke systeemtype niet bij ieder meetpunt. De adapter bewaart dit veld zodra het aanwezig is en gebruikt tot die tijd gestructureerde meet- en sensormetadata; installatiemetadata is uitsluitend een laag-vertrouwen fallback voor herkenbare neerslagopstellingen.
  • Alleen grondwater- en neerslagmeetpunten hebben in deze alpha een volledige interactieve infographic. De typescheiding en centrale dispatcher voorkomen dat andere meetpunttypen een inhoudelijk onjuiste visualisatie krijgen en vormen de uitbreidingsgrens voor volgende types.

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.