* Switch HTTP cache crate
* Set compiler on linux
* Start work on offscreen kernel sharing
* Finish basic config sharing mechanism on web and native; not really used on web so far though
* Update winit and wgpu which both target rwh 0.6
* Upgrade to winit 0.30 to fix android crash https://github.com/bevyengine/bevy/issues/13331
* Add Carbon framework to desktop builds and improve build script to use nix if available
* Fix swift package and compilaiton with Nix
* Cleanup nix shell
* Avoid setting the size on the canvas, winit resizes now
* Handle fetch errors for web
* Update and fix nix shell
* Upgrade NDK to a version available on GitHub Actions
* Fix web wasm-bindgen script
* Update nightly version aswell
* Fix wasm-bindgen version and lint
* Fix imports
* Upgrade wgpu to be compatible with new web-sys version, which was required due to the bump in the rust version which was required due to clap
* Fix tests
* Simplify message logging
* Fix setting Z in shaders
* Update debug plugin usage
* Log up to trace messages when run through jetbrains
* Filter duplicate tiles in tile patterns
* Add trace statement
This fundamentally reworks how the far distance plane is calculated. First I wanted to implement it like in maplibre-gl-js. Though that appraoch did not allow yaw AND pitch in both directions. It only allowed pitch in a single direction (only 90°, not the full 180°).
The new approach is dicussed here: https://gamedev.stackexchange.com/questions/207328/calculation-of-far-distance-plane-based-on-yaw-and-pitch-for-a-map-renderer
It works in all directions and should also be way faster to calculate.
This PR also fixes the amount of tiles that are whown for the current zoom. If calculates the appropriate zoom level based on the current zoom and takes into account the resolution of tiles.
* Introduce tile size based zoom level
* Add debug handler for testing insets
* Adjust handlers
* Set fov to that of maplibre-gl-js
* Move view projection calculation to view_state
* Increase thickness of debug lines
* Increase DEFAULT_TILE_VIEW_PATTERN_SIZE
* Fix mdbook script
* Enable debug plugin only in debug-like modes
* Move view_state to render module
* Remove 3D terrain specific code for transform
* Remove overwriting z
* Start to change camera movement
* Change camera transformation to rotate around (x,y,0) instead of (x,y,camera_height)
* Add all insets to debug handler
* First completely working version which can yaw, pitch and roll
* Update distance calculation
* Set max/min pitch/yaw to 30
* Test stackoverflow approach
* Fix far z with moved center
* Use default instead of ::new
* Upgrade winit to window resizes on macOS
* Use native activity feature
* Update intellij file
* Configure winit correctly
* Fix android
* Fix android backend to GL
* Depend on SystemConfiguration in swift and example target
* Rename functions
* Spell fixes, possibly breaking "Uninizalized" rename
A few minor tweaks, including `InitializationResult` enum and `unwarp_renderer` spelling fixes
---------
Co-authored-by: Max Ammann <max@maxammann.org>
* Implement basic raster rendering
* Fix web builds for raster rendering (e.g. APC)
* Implement plugin system using a "Tile Component System" pattern heavily inspired by bevy
* Remove tile_repository and integrate into world structures
* Migrate from specific stages to systems
* Introduce a RasterPlugin and VectorPlugin
* Add feature gate for headless rendering to demo
* Remove pipelines for simplicity
* Add message tags using Labels
* Add run config
* Add show bash path for Windows CI
* Do not use symlinks for cargo binstall
* Introduce DebugPlugin
* Introduce HeadlessPlugin
* Add more layers to vector processing benchmark
---------
Co-authored-by: Quillasp <soulaymane.lamrani@heig-vd.ch>
Co-authored-by: Antoine Drabble <antoine.drabble@gmail.com>
* TileViewPattern: simplify the stencil_reference matching
* Move stencil_reference_value_?d from TileViewPattern to WorldTileCoords
* Remove no longer used stencil_reference_value_2d function
The 2d version of calculating the stencil value is only valid for cases where only tiles from exactly one zoom level are displayed at once.
As soon as multiple zoom levels are presented at once, the stencil value needs to be distinct across zoom levels