feat(geo)!: introduce VectorSourceLoader, LayerExtension API and refactor offline - #1944
Open
alecarn wants to merge 5 commits into
Conversation
alecarn
force-pushed
the
feat/geo-vector-layer-isolate-offline
branch
from
August 11, 2026 18:57
72fb7f5 to
d0873aa
Compare
Collaborator
Author
…ctor offline
Replace the monolithic vector loading logic with a composable VectorSourceLoader
and a priority-ordered VectorLayerExtension interceptor chain. Move all offline
(IndexedDB) concerns out of @igo2/geo into the new @igo2/geo/offline secondary
entry point. Introduce VectorLayerPreloadOptions on VectorLayerOptions.
BREAKING CHANGE: VectorLayerOptions.idbInfo is removed. Replace with
`offline: { enabled, contextUri }` and `preload: { bypassVisible, bypassResolution }`.
BREAKING CHANGE: IdbInfo interface is removed. Use VectorLayerOfflineOptions instead.
BREAKING CHANGE: FeatureDataSourceOptions.preload is removed. Move preload options
to VectorLayerOptions.preload.
BREAKING CHANGE: LayerService.createAsyncIdbLayers() is renamed to
createAsyncOfflineLayers(). Prefer injecting OFFLINE_LAYER_RESTORE directly.
BREAKING CHANGE: provideOffline({ enable }) is removed from @igo2/geo. Import
provideOffline and withIndexedDb from @igo2/geo/offline and call
provideOffline(withIndexedDb()) instead.
BREAKING CHANGE: All offline symbols (GeoDB, LayerDB, GeoNetworkService,
ConfigFileToGeoDBService, InsertSourceInsertDBEnum, IOfflineOptions, isIdbLayer)
are removed from @igo2/geo. Import from @igo2/geo/offline.
BREAKING CHANGE: VectorLayer.customWFSLoader() is removed. Call layer.refresh()
to reload WFS data.
BREAKING CHANGE: addLayerAndFeaturesToMap is no longer exported from
@igo2/geo/import-export. It is now an internal function.
alecarn
force-pushed
the
feat/geo-vector-layer-isolate-offline
branch
from
August 13, 2026 15:35
5f75b82 to
fed7409
Compare
pelord
reviewed
Aug 13, 2026
pelord
requested changes
Aug 13, 2026
Member
There was a problem hiding this comment.
j'ai l'impression que le batch se fait en série plutôt que en parallèle.
Il me semble que c'était en parallèle à l'origine.
Member
There was a problem hiding this comment.
Je l'ai testé et je confirme le comportement.
Collaborator
Author
There was a problem hiding this comment.
J'ai poussé un commit pour ajuster le comportement
… folder - Added VectorLayer class to manage vector layers with various data sources. - Implemented VectorLayerOptions interface to define layer options including source, style, and preload options. - Created VectorSourceLoader to handle loading features from vector sources with support for batching and error handling. - Developed unit tests for VectorLayer to ensure correct behavior of layer functionalities and interactions with data sources. - Updated search components to utilize the new VectorLayerOptions interface.
BREAKING CHANGE: The legacy boolean preload options `bypassVisible` and `bypassResolution` have been replaced by the `bypass` mode on `VectorLayerPreloadOptions`
LAMM26
reviewed
Aug 14, 2026
| }; | ||
| offline?: IOfflineOptions; | ||
| offline?: { | ||
| enable?: boolean; |
Contributor
There was a problem hiding this comment.
enabled, pour l'uniformité?
pelord
approved these changes
Aug 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



As part of the upcoming work to support the new layers for ogc-api, we propose cleaning up the vector layer to better support the upcoming changes.
Replace the monolithic vector loading logic with a composable VectorSourceLoader and a priority-ordered VectorLayerExtension interceptor chain. Move all offline (IndexedDB) concerns out of @igo2/geo into the new @igo2/geo/offline secondary entry point. Introduce VectorLayerPreloadOptions on VectorLayerOptions.
BREAKING CHANGE: VectorLayerOptions.idbInfo is removed. Replace with
offline: { enabled, contextUri }andpreload: { bypassVisible, bypassResolution }.BREAKING CHANGE: IdbInfo interface is removed. Use VectorLayerOfflineOptions instead.
BREAKING CHANGE: FeatureDataSourceOptions.preload is removed. Move preload options to VectorLayerOptions.preload.
BREAKING CHANGE: LayerService.createAsyncIdbLayers() is renamed to createAsyncOfflineLayers(). Prefer injecting OFFLINE_LAYER_RESTORE directly.
BREAKING CHANGE: provideOffline({ enable }) is removed from @igo2/geo. Import provideOffline and withIndexedDb from @igo2/geo/offline and call provideOffline(withIndexedDb()) instead.
BREAKING CHANGE: All offline symbols (GeoDB, LayerDB, GeoNetworkService, ConfigFileToGeoDBService, InsertSourceInsertDBEnum, IOfflineOptions, isIdbLayer) are removed from @igo2/geo. Import from @igo2/geo/offline.
BREAKING CHANGE: VectorLayer.customWFSLoader() is removed. Call layer.refresh() to reload WFS data.
BREAKING CHANGE: addLayerAndFeaturesToMap is no longer exported from @igo2/geo/import-export. It is now an internal function.