Repository navigation
Feat/crs basemap - #559
Draft
MaxNumerique wants to merge 40 commits into
Draft
Feat/crs basemap#559MaxNumerique wants to merge 40 commits into
MaxNumerique wants to merge 40 commits into
Conversation
…cking load [skip ci]
…era and z-scale [skip ci]
OpenGeode geosciences lists the same geographic CRS for 2D and 3D data: the list is cached once, whatever the object type, instead of once per type. It is still only requested when a CRS selector is shown, and a failed request is not cached. The back keeps checking each CRS against the list of the data dimension. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxNumerique
force-pushed
the
feat/crs_basemap
branch
from
October 27, 2026 15:33
aee89c8 to
6091d0c
Compare
The project CRS was deduced on the fly from the oldest georeferenced data. It is now a state of the crs store: the first georeferenced data sets it, then only an explicit project CRS change does. It is exported with the project and restored on import; a project saved before falls back to the CRS of its oldest data. The store also lists the data whose CRS differs from the project one (data without CRS are not listed). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A warning icon follows the name of a data whose CRS differs from the project one, with a tooltip naming both CRS. The rows read the store list, so the whole tree costs a single database query. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A compact button in the bottom right corner of the scene, under the XYZ
axes, shows the project CRS ("No CRS" before the first georeferenced
data). A click asks the host app for a project CRS edit; it is disabled
when no app hosts the dialog.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A project saved without a project CRS fell back on the stored items, but they are added after the store imports, with the import time as creation date: the project CRS ended up random. The fallback now reads the snapshot items, which keep their original creation date. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxNumerique
force-pushed
the
feat/crs_basemap
branch
from
November 2, 2026 14:00
6091d0c to
834b669
Compare
The project CRS follows its data: as soon as every georeferenced data is in one CRS, that CRS becomes the project one; mixed data keep the current project CRS. Data without CRS are now listed as not in the project CRS. The CRS features read the data once, through a light query that keeps only id, name, crs and creation date, instead of copying every item with its geometry on each change. sameCrsState also treats two data without CRS as in the same state. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Data left without CRS while the project has one get the warning icon, with a tooltip asking to georeference them. The project CRS widget is larger and moved away from the corner. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Loading a project added its data one chunk at a time after the project CRS was restored: on the first data alone, the project CRS followed them and the saved one was lost. The project CRS is now restored once every data item is added. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxNumerique
force-pushed
the
feat/crs_basemap
branch
from
November 2, 2026 14:42
3af704d to
95122b6
Compare
A click on the warning icon of a data opens its CRS dialog, when the app hosts it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Style, opacity and attribution; the basemap is built around the georeferenced data (data without CRS left out), at the top of the data, and rebuilt when their ids, CRS or extent change (e.g. after a re-align). - Obsolete or failed builds are cleaned up (viewer + back), a failed build goes back to "none"; style and opacity are saved with the project. - projectCrs: CRS of the oldest georeferenced data. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Basemap button disabled until the project has a CRS; the style menu closes after a choice and holds an opacity slider (10-100 %). - Attribution shown at the bottom of the viewer while a basemap is displayed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The basemap menu had its opacity slider in the pill card meant for one row of buttons: icons were clipped and the grid overflowed. It gets its own rounded card: buttons in a row, then the opacity slider with its value. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- "Map around" in the basemap menu shows or hides the flat map around the draped top surfaces (shown by default). - The store sends the georeferenced data and the switch to the viewer after each build (mesh.basemap_drape); exported with the project. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The basemap follows the stored project CRS and shows Satellite on its own as soon as data are in that CRS; data in another CRS stay out of its extent. One map is visible at a time and the last chosen one comes back when the basemap is shown again. Each map keeps its own opacity; only the visible one reaches the viewer. The project saves the visible map and the opacity of each map; a project saved with the toolbar tool shows Satellite with its single opacity on every map. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A virtual "Basemap" category comes first in the object tree, with one row per map (Satellite, Streets, Topo), out of the data sort and filters. A map eye shows that map alone; the category eye hides the basemap or shows the last map again. The tree selection always mirrors the basemap state, and basemap rows never reach data visibility, hover, focus or the CRS tooltip. A right click opens the basemap menus, without info card. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The context menu of a map sets its opacity (slider in percent). The context menu of the Basemap category holds the "Map around" switch, shared by every map. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The basemap is driven from the object tree: the toolbar button, its style buttons, opacity slider and switch are gone. The Esri attribution moves to the bottom left corner, the bottom right one now holds the project CRS. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…hout data Only user clicks on the tree eyes choose the visible map now. Clearing and importing a project rewrite the selection with data only: that used to hide the basemap after every import; the selection now shows the basemap state again instead. Basemap rows also stay clickable while a search filters the tree. The Basemap category only shows when at least one data is in the project CRS. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The basemap no longer opens its own read of every data with its geometry: it uses the light CRS items of the crs store, which already hold the id and the CRS it needs for its extent and its rebuilds. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
MaxNumerique
force-pushed
the
feat/crs_basemap
branch
from
November 2, 2026 15:35
1d1f999 to
bc75e37
Compare
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.
No description provided.