Skip to content

feat(editable-layers): non-geospatial coordinate system#537

Open
eKerney wants to merge 4 commits intovisgl:copilot/start-work-on-issue-496from
eKerney:feature/editmode-coordinate-system-496
Open

feat(editable-layers): non-geospatial coordinate system#537
eKerney wants to merge 4 commits intovisgl:copilot/start-work-on-issue-496from
eKerney:feature/editmode-coordinate-system-496

Conversation

@eKerney
Copy link

@eKerney eKerney commented Feb 28, 2026

Related to RFC: Non-geospatial coordinate support for editable-layers #496
Discussion here at: feat(editable-layers): EditModeCoordinateSystem abstraction aligned with deck.gl COORDINATE_SYSTEM #516

Replaced TranslateMode with TranslateModeEx from @xinaesthete thank you!
Added OrthographicView, adjusted background image bounds and INITIAL_VIEW_STATE accordingly.
Added COORDINATE_SYSTEM.CARTESIAN to background and editableLayers.
Changed selected feature color to make more obvious to user.

Note: Running yarn start-local resulted in Failed to resolve import error, resolved by commenting line 22 in vite.config.local.mjs

'@deck.gl': join(rootDir, './node_modules/@deck.gl'),
no-map-editable.mp4

@charlieforward9
Copy link
Collaborator

Great proof of concept here - we certainly want to have the updated coordinate system be baked into the core modes - not create new ones per coordinate system - this would multiply our bug surface and make maintenance nearly impossible. Consider how we can update the current mode to work with non geo coordinates. or how we can pass the coordinate system into the core layer , or make a new master layer type EditableLayer that behaves like GeoJSON but isnt 'geo'.

…6' into copilot/start-work-on-issue-496

pull updates from DeckGL Community to sync local branch
@eKerney eKerney changed the base branch from master to copilot/start-work-on-issue-496 March 1, 2026 19:54
@xinaesthete
Copy link
Collaborator

Yes I agree with @charlieforward9 TranslateModeEx was so-named as an experimental temporary hack to get things working (which it does afaik). For something to actually merge upstream #516 with interface EditModeCoordinateSystem seemed like it may be along the right lines?

EditableGeoJsonLayer.getModeProps() now automatically derives coordinateSystem from the layer's own this.props.coordinateSystem (the standard deck.gl layer prop) via fromDeckCoordinateSystem(). Users just set coordinateSystem={COORDINATE_SYSTEM.CARTESIAN} on the layer and edit modes automatically use Euclidean math — no separate configuration needed.

I haven't tried actually running the code from there.

@charlieforward9
Copy link
Collaborator

@eKerney you could try putting an agent on it and directing it towards the feedback

@eKerney
Copy link
Author

eKerney commented Mar 12, 2026

@charlieforward9 made a very small change by swapping TranslateModeEx for the editable-layers/TranslateMode and everything works great! editableLayer coordinateSystem: COORDINATE_SYSTEM.CARTESIAN - from deck Core.

Copy link
Collaborator

@charlieforward9 charlieforward9 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sweet, simple change!

Id say the real work with this coordinate task is to pull the edit mode widget into the no map example and show all the relevant modes with non-geographic values.

Basically have the editable layer operations be controlled by the active deck coordinate system

  • if geo - work as is
  • if non geo - handle that maths without turf.js.

Non non geo situation could have editable layers pulling in way less dependencies

@charlieforward9 charlieforward9 changed the title Feature/editmode coordinate system 496 feat(editable-layers): non-geospatial coordinate system Mar 13, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants