About this release

The 2026.1 release of LuciadRIA strengthens support for defense and tactical data, with APP-6E military symbology, an NVG codec for the browser, and a new Mapbox Vector Tiles client. LuciadRIA 2026.1 also introduces support for Gaussian splatting, and adds an OGC WFS-T client that lets you persist feature edits straight to a standards-compliant OGC service. In addition, it brings several point cloud rendering improvements, support for 2D video draping, and reworked complex strokes that keep their intended size under non-uniform and perspective scaling.

luciad portfolio
Figure 1. The Luciad portfolio

Benefits of the new features

Support for APP-6E military symbology

LuciadRIA 2026.1 adds support for version 2 of the NATO APP-6E military symbology standard, in line with LuciadLightspeed and LuciadFusion. You can now create, style, and edit symbols using the latest joint military symbology defined by APP-6E. LuciadRIA’s support covers the domains of air, land, sea, space, and cyberspace, and includes symbol identifiers for dismounted individuals and stability & civil support operations, as well as the control measure and planning symbols. The cyberspace symbols introduced in the previous release have been upgraded from APP-6E version 1 to version 2.

app6e
Figure 2. A fictional military scenario visualized in LuciadRIA using APP-6E symbology

Sample code/documentation to get you started

The Military Symbology and Military Symbols Overview samples, located in samples/symbology in the LuciadRIA release, let you explore the new symbols on a map. As before, the LuciadRIA release includes the sample code.

For a full overview of the symbology support in this release, see the release notes. The existing Defense: Military Symbology documentation section has been updated to reflect this addition. Notably, the overview article What are the supported standards? provides the full and up-to-date list of supported standards and versions.

Integration of Gaussian splat data

Just like our product LuciadCPillar, LuciadRIA now introduces support for Gaussian splatting, one of the most exciting recent innovations in 3D geospatial visualization. Gaussian splatting reconstructs real-world environments using millions of tiny 3D Gaussian primitives, producing highly detailed and photorealistic digital scenes that bridge the gap between traditional meshes and reality-capture data. As the technology rapidly gains traction across the geospatial, simulation, and digital-twin industries, support for Gaussian splats ensures that LuciadRIA remains aligned with the latest state-of-the-art visualization capabilities expected by modern users.

gaussiansplats
Figure 3. A Gaussian splatting dataset of a restaurant visualized in LuciadRIA

The new capability allows developers to seamlessly visualize Gaussian splatting datasets delivered as OGC 3D Tiles, making them easy to integrate into existing 3D workflows. Advanced styling options enable fine-grained control over visual quality, performance, depth interaction, and rendering behavior, allowing applications to scale from lightweight operational systems to high-fidelity digital twins. The result is an immersive viewing experience that combines exceptional realism with the flexibility, performance, and engineering robustness required for professional geospatial applications.

gaussiansplats2
Figure 4. A Gaussian splatting dataset of the Leuven Museum of Zoology visualized in LuciadRIA

Sample code/documentation to get you started

The new Gaussian Splats sample shows how to load and style a Gaussian splatting dataset. As before, the LuciadRIA release includes the sample code.

For more information on how to integrate Gaussian splatting datasets, see the new article Visualize Gaussian splatting data. The documentation on expression-based styling for 3D data helps you tune the visual appearance of the data.

Mapbox Vector Tiles client

A lot of business data is modeled as vector data or feature data. Most of this data can be loaded as-is. For larger data sources, the use of scale ranges and smart filtering ensures a smooth experience. However, a few types of vector data cover large areas, offer very detailed information, and serve as context or background information. Because of the detail and the large size of individual objects, filtering and scale ranges are not sufficient. Some examples are world shorelines, country borders or contour lines.

In a process that is similar to how 3D data is processed into 3D tiles, these contextual feature layers can be processed into vector tiles or feature tiles. A common format is Mapbox Vector Tiles, a tile format for tile sets of 2D data. The specification is open, which makes it a good exchange format.

An MBTiles dataset

LuciadRIA 2026.1 introduces a client for Mapbox Vector Tile datasets, aimed at using them as a background layer. You can load them as TileJSON, the most common way to serve vector tiles on the web and also what a LuciadFusion MBTiles service serves, or straight from a web-hosted PMTiles archive. PMTiles is a useful addition, because the server only has to host a single file: any server with plain file hosting will do. The SQLite-based .mbtiles format itself is not supported, as it is optimized for local file access rather than for the web.

You can create a model and layer for the vector tiles, and LuciadRIA picks up the associated Mapbox GL style to render lines, areas, icons, complex strokes and labels. The client uses the existing label rendering pipeline, and removes overlapping tile boundaries for clean rendering. Tiles are decoded on web workers, and the resulting draw commands are replayed across several frames, so that loading a lot of tiles does not cause frame rate drops. Your datasets are not restricted to the usual Web Mercator tiling scheme either: LuciadRIA derives the tiling scheme from the TileJSON descriptor, so you can also visualize vector tilesets that are tiled in another projection.

Sample code/documentation to get you started

For more information on how to use Mapbox Vector Tiles data in your application, see Visualize Mapbox Vector Tiles.

NVG codec for the browser

LuciadRIA 2026.1 adds a codec for the NATO Vector Graphics (NVG) format, so you can decode and encode NVG content directly in the browser. NVG is widely used to exchange tactical overlays and operational data between command-and-control systems, and bringing it to LuciadRIA lets web applications consume and produce these overlays natively.

The LuciadRIA NVG support is complete, including:

  • Integration with all supported APP-6 standard versions

  • Intuitive on-map scenario creation and editing

  • Consumption and preparation of NVG updates suitable for integration with the latest NVG streaming specification

The LuciadRIA NVG Sample showing a fictional invasion scenario
Figure 5. The LuciadRIA NVG Sample showing a fictional invasion scenario

Sample code/documentation to get you started

The Nato Vector Graphics sample, located in samples/symbology in the LuciadRIA release, demonstrates the decoding, visualization, creation and editing of NVG content. As before, the LuciadRIA release includes the sample code.

For more information, see the release notes and the NVG Support in LuciadRIA article.

Editing WFS data with WFS-T

Until now, LuciadRIA could read features from an OGC WFS service, but could not write them back. Applications that needed to persist edits had to fall back on a custom REST service, such as the annotation service that is part of the LuciadRIA samples.

LuciadRIA 2026.1 adds support for Transactional WFS (WFS-T), so that you can persist feature edits straight to a standards-compliant OGC service. WFSFeatureStore now implements the full editing cycle: inserting, updating and deleting features, and locking them so that concurrent editing sessions do not overwrite each other’s work.

Because the store reads the capabilities that the service advertises up front, it knows which operations the server actually supports. New API, such as the WFSOperationName enumeration and the Store.isOperationSupported method, lets your application enable or hide editing functionality accordingly. WFS-T requires a WFS 2.0 service.

Sample code/documentation to get you started

For more information on how to edit WFS data in your application, see the new article Edit WFS data with WFS-T.

The Data Formats sample has been updated to include on-map editing of WFS-T data. As before, the LuciadRIA release includes the sample code.

Point cloud rendering improvements

LuciadRIA 2026.1 includes several improvements to point cloud rendering.

A global point budget across layers

You can now set a global limit on the number of points rendered across the whole map, through the new RIAMap.performanceHints.maxPointCount property. This budget is balanced across all point cloud layers in view, so that loading many point cloud layers no longer degrades the frame rate, while a single point cloud can still use the full budget when it is the only one in view. The global point count limit works together with the existing per-layer point count limit, per-layer quality factor and global memory limit. That global memory limit is now part of the same object: RIAMap.maxMemoryUsageHint has been deprecated in favor of RIAMap.performanceHints.maxMemoryUsage.

Sample code/documentation to get you started

For more information on managing point cloud performance, see Tuning the performance of point clouds.

Support for HSPC point clouds with normals encoded as a single 16-bit unsigned integer attribute

LuciadRIA 2026.1 supports HSPC point clouds with normals encoded as a single 16-bit unsigned integer attribute, instead of the usual three 32-bit floats. This more compact encoding reduces the data footprint while preserving the lighting and shading quality of the point cloud.

Drape video onto a 2D map

LuciadRIA 2026.1 adds support for draping video onto a 2D map, extending the video draping capability to the 2D case. This is useful for displaying full-motion video, such as a drone or camera feed, in its correct geographic context on the map. Video is draped as a single-level, single-tile panorama in pinhole projection, oriented downwards towards the Earth. Draping onto a 2D cartesian map is not supported.

Sample code/documentation to get you started

For more information on visualizing panoramas on a 2D map, and on the limitations that apply, see the 2D support section of the Panorama tutorial. The article How to visualize panoramic video footage covers the handling of video footage in more detail.

Correct complex strokes under non-uniform and perspective scaling

When a cartesian map uses a different scale on its X and Y axes, complex stroke styling could appear distorted, because the complex stroke rendering assumed a uniform scale on all axes. LuciadRIA 2026.1 reworks the complex stroke implementation so that pixel-sized complex strokes keep their intended size regardless of the scale of each axis. You can see the difference most easily on the bordered map from the LuciadRIA Toolbox.

The same rework benefits 3D maps. Non-draped, pixel-sized complex strokes are now evaluated in screen space, so that a pattern such as the dashes of a dashed line keeps a constant on-screen size, wherever the camera is. Previously, the pattern was deformed by the perspective as the distance to the camera grew.

Sample code/documentation to get you started

For more information on the cartesian view, see Visualizing data in a non-geospatial view. The Complex Stroking sample demonstrates complex stroke styling, while this Complex strokes article provides a step-by-step guide. As before, the LuciadRIA release includes the sample code.

AI-assisted development

Modern development teams increasingly rely on AI-powered coding assistants to accelerate onboarding, reduce development effort, and improve code quality. To support this trend, LuciadRIA 2026.1 now ships with a dedicated AI skill package that helps leading AI coding tools understand the LuciadRIA architecture, APIs, samples, and platform-specific development patterns. The skill guides developers towards the most relevant documentation and code examples, enabling faster and more accurate application development.

Designed with flexibility in mind, the AI skill can be integrated into a variety of popular development environments and AI-assisted workflows. Support is provided for tools such as Claude Code, Cursor, OpenCode, and other assistants capable of consuming external knowledge sources. By making product expertise directly available within the developer’s preferred ecosystem, LuciadRIA helps organizations adopt modern AI-enhanced development practices without being tied to a specific tool chain or vendor.

Sample code/documentation to get you started

See the new article Using LuciadRIA with AI coding assistants for an explanation on how to enable the LuciadRIA AI skill and integrate it into popular coding assistants.

Other improvements

This LuciadRIA release also features a number of smaller improvements, for example:

Faster development server and build

The LuciadRIA development server and build setup has been reworked to a Vite-based setup, making it faster and simpler to develop and build LuciadRIA applications.

Map effects expressed in real-world units

FogEffect now expresses fog in metric units: visibility is the distance in meters at which the fog fully obscures the scene, and halvingHeight the altitude over which it thins by half. DepthOfFieldEffect and LightScatteringAtmosphere received clearer property names as well, and the latter gained a mieAnisotropy property. The old names are deprecated but keep working.

Labels no longer block interaction with the map

Touch and mouse input on labels no longer prevents the map from panning, zooming or picking. The HTML label layer is transparent to input by default, so a click or a touch on label text falls through to the map. This is a noticeable improvement on touch devices, where a finger resting on a label used to block the map from receiving touch events. Interactive label content keeps working: native elements such as links, buttons and input fields receive input automatically, and you can make custom content interactive with the new lcd-label-interactive CSS class. For more information, see How to add interactive content to labels.

LuciadRIA Toolbox documentation in the product documentation

The documentation of the LuciadRIA Toolbox components is now part of the LuciadRIA product documentation. The information that used to live in the component README files has been moved to a dedicated LuciadRIA Toolbox documentation section, which makes the Toolbox components much easier to discover.

OGC WMS requests over HTTP POST

You can now configure a getMapPostRoot, a getFeatureInfoPostRoot and a maxRequestURLSize on WMSTileSetModel and WMSImageModel. When a GetMap or GetFeatureInfo request URL exceeds maxRequestURLSize, LuciadRIA sends the request as an HTTP POST instead of an HTTP GET, with all request parameters in the body. This unblocks the use of large request parameters, such as an inline SLD style, that would otherwise overflow the URL length limits of the server or the browser.

Engagement bar for military symbology

LuciadRIA now visualizes the engagement bar modifier on all military symbology icons to which it applies. You can configure its style through MilSymStyle.engagementBar, or disable its visualization by setting that property to null.