Closed maurhofer-ubique closed 3 months ago
The recent updates to the Open Mobile Maps project introduce significant enhancements, particularly in rendering and scheduling functionalities. Notable improvements include support for pass masking in OpenGL, refined gesture handling for macOS applications, and upgraded dependencies for better performance. The integration of zoom handling in coordinate transformations enriches user interactions with maps. Overall, these changes enhance both the operational reliability and user experience of the software.
Files | Change Summary |
---|---|
CHANGELOG.md | Updated to include version 2.4.0 with new features like pass masking for single polygons and improvements in gesture handling and scheduling. |
Package.swift |
Modified header search paths for better build configuration, enhancing clarity and efficiency. |
android/build.gradle |
Upgraded AGP and Kotlin versions to improve compatibility and performance. |
android/gradle.properties |
Incremented version name and code to reflect the new release. |
android/gradle/wrapper/gradle-wrapper.properties |
Updated Gradle distribution URL to version 8.2 for enhanced build capabilities. |
android/readme.md |
Updated dependency version for mapscore library from 2.3.0 to 2.4.0 for new features. |
bridging/android/java/io/openmobilemaps/mapscore/shared/map/MapCamera2dInterface.kt |
Added methods for zoom-aware coordinate transformations, enhancing mapping accuracy. |
bridging/android/jni/map/NativeMapCamera2dInterface.cpp |
Introduced JNI functions for zoom handling in coordinate transformations. |
bridging/ios/MCMapCamera2dInterface+Private.mm |
Added zoom-aware methods for converting between screen positions and coordinates. |
bridging/ios/MCMapCamera2dInterface.h |
Declared new methods for zoom-aware transformations, improving usability. |
djinni/map/core.djinni |
Added new methods to the map_camera_2d_interface for zoom handling in coordinate conversions. |
ios/graphics/Model/Polygon/Polygon2d.swift |
Enhanced rendering logic by introducing a stencil state for masked rendering operations. |
ios/maps/MCMapView.swift |
Added gesture recognizers for macOS to improve user interaction. |
ios/maps/MCMapViewTouchHandler.swift |
Removed distance calculation methods and introduced dedicated gesture handling methods for pan and pinch interactions. |
shared/public/CollisionGrid.h |
Updated logic to ensure safe calculations for grid cell counts, preventing undefined behavior. |
shared/public/MapCamera2dInterface.h |
Introduced zoom-aware methods for coordinate transformations. |
shared/src/map/scheduling/ThreadPoolSchedulerImpl.cpp |
Enhanced task scheduling logic with a paused state for better control over task execution. |
shared/src/map/scheduling/ThreadPoolSchedulerImpl.h |
Added a new atomic boolean variable to indicate whether the scheduler is paused. |
sequenceDiagram
participant User
participant MCMapView
participant GestureHandler
participant MapCamera
User->>MCMapView: Interact with map
MCMapView->>GestureHandler: Recognize gesture (pinch/pan)
GestureHandler->>MapCamera: Adjust zoom or position
MapCamera-->>MCMapView: Update view based on gesture
π° In the world of code where rabbits hop, Changes abound, and we never stop! With zoom and gestures, the maps will sing, Enhancing the joy that new features bring! So letβs dance with pixels, letβs twirl and play, Celebrating our updates in a bouncy way! πβ¨
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Summary by CodeRabbit
New Features
Bug Fixes
Documentation
Chores