-
-
Notifications
You must be signed in to change notification settings - Fork 717
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Breaking changes MapLibre GL JS v5 #3834
Comments
This is likely to produce breaking changes: #3736:
|
The following issue will also create breaking change to the output of This issue has a part in the style-spec repo as well. |
I am happy with breaking changes in the API of MapLibre GL JS, but we should not do breaking changes in the style spec, see maplibre/maplibre-style-spec#519 (comment). In my opinion, |
I respect your opinion, but I don't agree in this specific case, see my comment in the link you sent. TL;DR: more in the area of bug fix and not a style spec change. |
Depending on when this release is to come out ( looking at our majors, it's statistically likely to be +6 months from now ), it might be relevant to discuss a WebGL1 sunset again. We had some push back in the v3 release May 2023, but there are some indicators that it might be less problematic going forward, especially when looking at Apple ecosystems support. There are examples of projects in our ecosystem that have moved to WebGL2-only support (looking at you deck.gl), and keeping WebGL1 support going forward will thus both not be compatible with said libraries, and more concerning it will be at the increasing high cost of locking the renderer to a legacy graphics pipeline. Despite some users relying on it, MapLibre Native already did sunset OpenGL2 (~webgl1) in favor of OpenGL3+ (webgl2) to do the Modularization Refactor, which was crucial for the long-term viability of that renderer, and it would be necessary to do something similar here as well. |
Is there a way you can think of to allow moving the webgl1 code into a plugin somehow leaving the main version using only webgl2 but allowing this plugin to try and "help" in case someone needs webgl1? |
Another candidate for v5 breaking changes: |
Let's discuss phasing out webgl1 in a separate thread here: #3947 |
As part of this issue: I found out that freeze elevation is not the default when doing easeTo when terrain is on.
|
v5 breaking change:
|
The arial font - I'd love to see it gone from the default, because it's always a problem to source it. Causing headache this moment that it's e.g. not present in openmaptiles/font Related to: |
I think we should have a discussion in the next monthly meeting how we want to handle breaking style changes. API changes are something different. |
The only way I see that we can realistically keep webgl1 support is by abstraction: A key difference is how uniforms are made:
So we'll be going through a transition like this, where webgl2 can be leveraged as a transition technology towards webgpu. In MapLibre Native, the opengl2(webgl1) was simply sunset to allow for this incremental migration, but it seems for GL JS that we'll need to keep webgl1 around, making the abstraction somewhat harder because there seems to be a significantly bigger distance from webgl1 <-> webgpu compared to refactored webgl2 w/ UBOs <-> webgpu. @zhangyiatmicrosoft do you have any idea what the usage numbers are for webgl1 now, compared to the numbers you presented a year ago here? |
It would also be interesting to see if we can both abstract and allow webgl1 to be moved outside the code base, allowing the code to be fully webgl2 or even abstract enough to require another package defining the GL itself - i.e. abstract and also separate to core, webgl1, webgl2, webgpu so that developer can choose which to support/include. |
This issue is to track breaking changes for MapLibre GL JS v5:
projectAndGetPerspectiveRatio
- Globe: symbol and coveringTiles optimizations #4778on
method to allow unsubsribing?The text was updated successfully, but these errors were encountered: