Changelog¶
Info
On 2024/12/18 we updated our service API and changed the domains where DVM gets its resources. Please make sure your services have allowlisted these domains. You can check these domains on the DVM requirements section.
2026-09-08¶
- Accessibility namespace. Added the
viewer.accessibilitynamespace on both viewers. It groups the description getters/setters, adds a status-message announcer, and has three flags. The synchronous description getters are new, and so isgetRemoteViewDescription, which describes a 3D view without loading it. See the accessibility section.map_viewer:3d_viewer:- Now deprecated, prefer their
viewer.accessibility.*equivalents. They still work.
- Load-time description.
loadMapandloadView3daccept an optionaldescriptionwith the same fields the setters take, so the automatic load announcement already uses the client description. Fields you omit fall back to the default description. See Describe the map or view at load time. - Module lifecycle. Added
destroy(),isDestroyed()andgetModuleId()to every module, plus the live-module registry queriesgetModules(),getModuleById()andgetModulesByType(). See the new Lifecycle section. - Description interface.
DVMDescriptionnow useslabelas the primary field;titleis retained as a deprecated alias (same value), anddescriptionis now optional. Added the newDVMDescriptionInputinterface accepted by the setters (legacytitlestill accepted as an alias oflabel). - WebGL context recovery (3d_viewer). A 3D viewer that loses its WebGL context (GPU reset, tab
backgrounding) now recovers automatically instead of going blank. Recovery is
controlled by the
auto_recover_contextflag (on by default) and thecontext_recovery_budgetoption (defaults to4live viewers); above that budget, or with the flag off, recover manually withrecoverContext(). The viewer emitscontext_lost/context_restored/context_restore_failed. goToaccepts an options object:target,scaling_factor, andtime, plus the newmin_scaling_factor/max_scaling_factorbounds for the resolved zoom and themarginoption that replaces the legacy percent strings. The positional input keeps working but is deprecated.- Panorama previews. Added
getPreview()(map_viewer,3d_viewer) to both viewers. It resolves to the preview image of a 3D view, withaltandlangfilled from the view's accessible description, and takes avariant_idto request a named preview variant (an unknown id falls back to the default preview).getThumbnail()(map_viewer,3d_viewer) is deprecated but keeps working. - One version per module type. The first module of each type to load fixes its version and ES5/ES6 build
variant for the whole page: later
loadModulecalls reuse the loaded module regardless of theirversioninput, and a call requesting a different version logs a console warning. - Wheel zoom speed. Added
wheel_zoom_speed: a speed factor for the mouse wheel and trackpad zoom (default
1). - Scale from a point.
scaleByaccepts an optionaldom_point: the scene point under those DOM coordinates stays in place while scaling, as the mouse wheel does. Without it the viewport center stays the pivot.
Warning
Behavior changes on upgrade. Check these three points before upgrading:
- Loads announce themselves. A successful
loadMap/loadView3d(and each 3D scene swap) now announces through the live region:automatic_announce_status_messagedefaults totrue. - Description setters no longer announce.
setCurrentMapDescription/setCurrentViewDescriptiononly update the description. CallannounceStatusMessagewhen the change should be spoken. - Discarded modules must be destroyed. The module registry keeps
every module alive until its
destroy()resolves. Code that creates and discards modules without callingdestroy()leaks them.
2026-07-29¶
- Added the
antialiasinput option to3d_viewer.
- Added the
localparameter togetCameraRotation: reads the camera rotation relative to the view front.
2026-07-23¶
- Added
getCameraRotationandsetCameraRotationto the3d_viewerAPI page.
2026-07-13¶
- Added a new map-viewer example with section navigation.
2026-05-14¶
- Added feature detection section.
- Added useModernBuild.
- Added license information here, here and here.
2025-11-10¶
Added an example to related plugin.
2025-10-27¶
relatedplugin: Nodes now can have related metadata.
2025-09-17¶
- Added an example
to
navigable_minimapplugin. - Added
minimap_automatic_statesflag tonavigable_minimap plugin.
2025-08-25¶
- added
pixel_ratioproperty tomap_viewermodule. - added
automatic_pixel_ratioflag to bothmap_viewerand3d_viewermodules.
2025-06-18¶
- Added "Keyboard navigation" example.
2025-05-16¶
- Added "Validating a selection" example.
2025-05-09¶
- Added
validateNeighborstoneighbors plugin.
2025-05-07¶
- Included
neighbors plugin.
2025-04-30¶
Replaced old Popper.js example with an updated one
using Floating-UI.
2025-04-14¶
New versions for both map_viewer and 3d_viewer modules,
and the module manager, has been published.
Both modules have improved their compatibility with accessibility, mainly screen readers and keyboard navigation. To learn more about accessibility, please check the accessibility section. Between the new additions are:
- The viewers and its elements are focusable with the
tabkey, and clickable withspaceandenterkeys. - Better and more labeling of WAI-ARIA attributes.
- when
getThumbnail()returns an image (not an url), the images includes dealtandlangattributes.
Here are the API changes:
Map Viewer
- Additions:
- New general method
setCurrentMapDescription. - new interface method
setPoweredByLabel. - New keyboard triggers, when the viewer is focused:
keydownkeyup
- New general method
3D Viewer
- Additions:
- New general method
setCurrentViewDescription. - new interface method
setPoweredByLabel. - new interface method
setNoViewLabel. related_previewsplugin: New flagsautomatic_loadandautomatic_tracknavigationplugin: New flagautomatic_click_load.- New keyboard triggers, when the viewer is focused:
keydownkeyup
- New general method
- Changes:
related_previewsplugin:generateRelatedPreviewmethod doesn't throw an error if the preview was already being tracked. Instead, it just prints a warning.
Breaking changes
related,
related_previews and
navigation plugins now will always be loaded, and automatic basic
interaction will be added by default. That means that clicking a preview or a navigation node will trigger
a loadView3d to its destination.
To prevent breaking integrations, If your integration was already including navigation
or related_previews plugins (or the deprecated indoor), this automatic
behavior will be disabled by default.
You can also enable/disable this automatic behavior with their corresponding automatic_load/automatic_click_load flags.
We still recommend to add these plugins manually and manage yourself any kind of interaction or loads.
Remember that although you can't use the loadView3d promise because it's not called by your integration,
you can always use the load_success and load_error triggers to know when the load was successful or not.
2025-02-17¶
- Extended requirements section, with detailed CSP requirements and firewalls.
2024-10-31¶
map_viewer:
- Now, instancing with a container it's optional (before it was mandatory).
getContainer()relatedplugingetNeighborsquantityparameter is now optional.- New initialization property
aliases. - Nodes have a new property
aliases.
3d_viewer:- Now, instancing with a container it's optional (before it was mandatory).
- new methods:
- new properties
:
2024-07-22¶
map_viewer:- Nodes have a new property
description.
- Nodes have a new property
3d-viewer- Added
related_previewsplugin
- Added
2024-03-04¶
map_viewer:- new triggers:
pre_load_startload_start
- deprecated trigger:
start_load(replaced with load_start for consistency)
- New methods:
- new triggers:
3d-viewerfovproperty.
map_viewergetThumbnail()and3d_viewergetThumbnail()share the same API.
2024-01-31¶
- added
camera_modeproperty tolimits.
2023-11-30¶
- Added map-viewer layers advanced API.
2023-11-27¶
- Added map_viewer
preserve_min_scaling_factorflag.
2023-11-20¶
- Added 3d_viewer additional flags:
2023-11-16¶
- map-viewer goTo inputs updated.
2023-11-08¶
- Added some clarifications about when to use some flags:
2023-10-26¶
- General:
- Map Viewer module:
- 3d Viewer module: