dev-docs/RFCs/proposals/project-unproject-rfc.md
References:
This RFC is intended to propose an enhanced project/unproject functionality for API for deck.gl that can handle the many considerations arising from advance features that have been introduced into deck.gl over time.
This is a partial list of considerations that should inform the design of a new project/unproject API for deck.gl
Picking already renders all viewports, so an object can be picked in any viewport. But pick info is not fully updated.
Now each layer can have its own coordinate system. Either LNGLAT or METER_OFFSETS, and every METER_OFFSETS layer can have its own center point and model matrix (the latter should also be true for LNGLAT).
Does it make sense to have a Deck level project/unproject function?
There is even the idea of supporting completely different, installable projections. Presumably these will be able to expose project/unproject functions to JS.
Can those "installable" functions be integrated into a generic project/unproject system.
Shaders are now able to dynamically adjust the "placement" of the ante-meridian, should JS functions also do this to ensure shader and JS rendered calculations and rendering always align?
Can layers use different ante-meridians? Does it matter, since we already have to deal with different coordinate system.
A lot of model matrices, not exactly cheap to calculate inverted matrices? On demand?