openmobilemaps / maps-core

The lightweight and modern Map SDK for Android and iOS
https://openmobilemaps.io
Mozilla Public License 2.0
162 stars 17 forks source link

Release 2.0.7 #625

Closed stmitt closed 7 months ago

stmitt commented 7 months ago

Summary by CodeRabbit

coderabbitai[bot] commented 7 months ago

Walkthrough

The recent updates encompass a range of improvements in a mapping software, focusing on performance logging, memory management, and rendering optimizations. Changes include adjustments in buffer handling for graphics, introduction of performance logging tools, and enhancements in rendering controls within Android and iOS platforms. These modifications aim to boost the software's efficiency and maintainability.

Changes

Files Change Summary
.../shader/ColorPolygonGroup2dShaderOpenGl.cpp Adjusted styleIndex calculation from multiplying by 5 to 7.
.../graphics/GLThread.kt, .../graphics/GlTextureView.kt Introduced properties for managing rendering frame intervals.
.../map/view/MapView.kt Enhanced state management using updateMapViewState method.
ios/graphics/Helpers/MTLDevice+Helpers.swift, ios/graphics/Model/.../*.swift Enhanced buffer management with copyOrCreate method in various models.
shared/public/PerformanceLogger.*, .../Tiled2dMapVectorSourceTileDataManager.cpp Introduced performance logging to track and measure code execution times.
.../geojson/geojsonvt/*.hpp Refactored GeoJSONVT class for better initialization and simplified geometry handling.

🐰✨ In the land of code and pixel sprites,
A rabbit hopped through bits and bytes.
With tweaks and twirls across the board,
Our map's refresh, a vast reward.
Let's log the feats, and buffers bind,
In this digital world, our paths we find.
🌍🚀


Recent Review Details **Configuration used: CodeRabbit UI** **Review profile: CHILL**
Commits Files that changed from the base of the PR and between 98ddab3e13d6082702d2f9396f9b10e3735c3bc0 and 85ba90a999397ca159bdb17f789f08433db8a83d.
Files selected for processing (4) * CHANGELOG.md (1 hunks) * android/gradle.properties (1 hunks) * ios/readme.md (1 hunks) * shared/src/MapsCoreSharedModule.cpp (1 hunks)
Additional Context Used
LanguageTool (67)
CHANGELOG.md (42)
Near line 4: You might be missing the article “a” here. Context: ...s ## Version 2.0.7 (29.04.2024) - adds performance logger (disabled by default) - fixes a ... --- Near line 6: Possible spelling mistake found. Context: ...striped pattern shader - fixes a bug in geojson hole simplification ## Version 2.0.6 (... --- Near line 9: Unless you want to emphasize “not”, use “cannot” which is more common. Context: ...10.04.2024) - log exception when a font can not be loaded ## Version 2.0.5 (08.04.2024... --- Near line 13: Possible spelling mistake found. Context: ...callbacks in scheduler interface - call onRemoved on layerInterface before the mapScene i... --- Near line 13: Possible spelling mistake found. Context: ...scheduler interface - call onRemoved on layerInterface before the mapScene is destroyed ## Ve... --- Near line 13: Possible spelling mistake found. Context: ... onRemoved on layerInterface before the mapScene is destroyed ## Version 2.0.4 (22.03.2... --- Near line 16: Possible missing comma found. Context: ... change ensures that icons never collide but also carries a performance burden. ## ... --- Near line 20: Possible spelling mistake found. Context: ...ader - Fixes coordinate conversion from EPSG:4326 to EPSG:3857 ## Version 2.0.2 (12... --- Near line 20: Possible spelling mistake found. Context: ...coordinate conversion from EPSG:4326 to EPSG:3857 ## Version 2.0.2 (12.03.2024) - F... --- Near line 24: To make your text as clear as possible to all readers, do not use this foreign term. Possible alternatives are “not publicly”, “privately”, “secretly”, “confidentially”, and “behind closed doors”. If you mean the English word ‘camera’, a pronoun or a determiner is probably missing before the word. Context: ...OS Polygon Pattern Shader - Fixes a bug in camera restricted bounds calculations - iOS Qu... --- Near line 25: Possible spelling mistake found. Context: ...alculations - iOS Quad2dInstanced setup bugfix - Adds density enforcement for android ... --- Near line 30: Possible spelling mistake found. Context: ...rsing for WMTS layers - Fix deadlock in renderToImage on iOS - Fix crash for geojsons without... --- Near line 31: Possible spelling mistake found. Context: ...in renderToImage on iOS - Fix crash for geojsons without type - Fix renderToImage for ve... --- Near line 32: Possible spelling mistake found. Context: ...x crash for geojsons without type - Fix renderToImage for vector layers - Reference djinni by... --- Near line 33: Possible spelling mistake found. Context: ...- Fix renderToImage for vector layers - Reference djinni by version on iOS - Fix crash on certai... --- Near line 35: Possible spelling mistake found. Context: ... on iOS - Fix constant loading for some geojsons - Fix crash of symbol objects - Fix cra... --- Near line 37: Possible spelling mistake found. Context: ...ects - Fix crash from race condition in geojson reload - Fix deallocation on OffscreenM... --- Near line 38: Possible spelling mistake found. Context: ... race condition in geojson reload - Fix deallocation on OffscreenMapRenderer on Android ## ... --- Near line 38: Possible spelling mistake found. Context: ...in geojson reload - Fix deallocation on OffscreenMapRenderer on Android ## Version 2.0.0 (16.02.202... --- Near line 41: Possible spelling mistake found. Context: ...ed options for style specifications and GeoJSON support. - Enhanced stability and perfo... --- Near line 46: Possible spelling mistake found. Context: ...# Version 1.5.3 (16.05.2023) - Improved MapInterface teardown ## Version 1.5.2 (02.05.2023)... --- Near line 52: Possible spelling mistake found. Context: ...## Version 1.5.1 (14.04.2023) - Fix for XCode 14.3.0 - Convenience function for RectC... --- Near line 53: Possible spelling mistake found. Context: ...XCode 14.3.0 - Convenience function for RectCoord to PolygonCoord conversion ## Version ... --- Near line 53: Possible spelling mistake found. Context: ...- Convenience function for RectCoord to PolygonCoord conversion ## Version 1.5.0 (23.03.202... --- Near line 58: Possible spelling mistake found. Context: ...ature context - expose bounding box in djinni - fixes touch propagation in VectorLaye... --- Near line 59: Possible spelling mistake found. Context: ... in djinni - fixes touch propagation in VectorLayer - iOS: fixes graphics object race condi... --- Near line 62: Possible spelling mistake found. Context: ...origin - adds option to enable/disable underzoom and overzoom - adds exception logger -... --- Near line 62: Possible spelling mistake found. Context: ... option to enable/disable underzoom and overzoom - adds exception logger - adds network... --- Near line 67: Possible spelling mistake found. Context: ...ultiple loaders - many improvements and bugfixes ## Version 1.4.1 (16.08.2022) - iOS: u... --- Near line 70: Possible spelling mistake found. Context: ...1 (16.08.2022) - iOS: updates device to ppi mapping - iOS: fixes masked line groups... --- Near line 74: Use “an” instead of ‘a’ if the following word starts with a vowel sound, e.g. ‘an article’, ‘an hour’. Context: ...ttempting to load empty texture - fixes a error in MapCamera2d::getPaddingCorrect... --- Near line 74: Possible spelling mistake found. Context: ...texture - fixes a error in MapCamera2d::getPaddingCorrectedBounds ## Version 1.4.0 (09.06.2022) - includ... --- Near line 77: Possible spelling mistake found. Context: ...# Version 1.4.0 (09.06.2022) - includes earcut.hpp dependency for polygon triangulatio... --- Near line 77: Possible spelling mistake found. Context: ...on 1.4.0 (09.06.2022) - includes earcut.hpp dependency for polygon triangulation - ... --- Near line 80: Possible spelling mistake found. Context: ...e options - adds masking methods to the layerInterface - adds scissoring methods to the layerI... --- Near line 81: Possible spelling mistake found. Context: ...erface - adds scissoring methods to the layerInterface - adds option to display tiled raster l... --- Near line 83: The adjective or adverb “off-screen” is spelled with a hyphen. Context: ...d raster layer density dependent - adds off screen rendering helpers - many improvements a... --- Near line 84: Possible spelling mistake found. Context: ...ndering helpers - many improvements and bugfixes ## Version 1.3.3 (16.08.2021) - Memory... --- Near line 94: Possible spelling mistake found. Context: ...## Version 1.3.1 (11.08.2021) - Several bugfixes - Add line layer implementation ## Ver... --- Near line 101: Possible spelling mistake found. Context: ...endency - Added a Circle2dLayerObject - bugfixes & improvements ## Version 1.2.0 (03.03... --- Near line 109: Possible spelling mistake found. Context: ...inertia - improves animation handling - bugfixes and improvements ## Version 1.1.0 (01.... --- Near line 112: Possible spelling mistake found. Context: ...0 (01.03.2021) - various improvements & bugfixes ## Version 1.0.0 (19.02.2021) - initia...
ios/readme.md (25)
Near line 23: Possible missing preposition found. Context: ...>

iOS

## Installation Open Mobile Maps is available through [Swift... --- Near line 27: Possible spelling mistake found. Context: .... ### Xcode For App integration within XCode, add this package to your App target. T... --- Near line 27: Consider a more expressive alternative. Context: ...add this package to your App target. To do this, follow the step by step tutorial ... --- Near line 27: Did you mean the adjective or adverb “step-by-step” (spelled with hyphens)? Context: ...your App target. To do this, follow the step by step tutorial [Adding Package Dependencies t... --- Near line 43: Possible spelling mistake found. Context: ... "2.0.7")) ] ``` ## How to use ### MapView The framework provides a view that can... --- Near line 45: Possible spelling mistake found. Context: ...simplest case is to add a raster layer. TiledRasterLayer provides a convenience initializer to c... --- Near line 45: You might be missing the article “a” here. Context: ...des a convenience initializer to create raster layer with web mercator tiles. ```sw... --- Near line 45: Possible spelling mistake found. Context: ...ializer to create raster layer with web mercator tiles. ```swift import MapCore clas... --- Near line 81: Possible spelling mistake found. Context: ... use the default implementation of the [TextureLoader](https://github.com/openmobilemaps/maps... --- Near line 86: A comma might be missing here. Context: ...ides/vector-tiles-standards/). To add a layer simply reference the style URL. ```swi... --- Near line 119: You might be missing the article “the” here. Context: ...uld be affected by camera movements. In case of user interaction, the given callback... --- Near line 136: The singular proper name ‘Line’ must be used with a third-person or a past tense verb. Context: ...yer?.asLayerInterface()) ``` #### Line layer A line layer can be added to the mapVie... --- Near line 137: Possible spelling mistake found. Context: ... layer A line layer can be added to the mapView as well. Using the MCLineFactory a Line... --- Near line 137: Possible spelling mistake found. Context: ...added to the mapView as well. Using the MCLineFactory a LineInfo object can be created. The w... --- Near line 137: Possible spelling mistake found. Context: ...View as well. Using the MCLineFactory a LineInfo object can be created. The width can be... --- Near line 160: Possible spelling mistake. ‘Customisation’ is British English. Context: ...neLayer?.asLayerInterface()) ``` ### Customisation #### MCTiled2dMapLayerConfig To use d... --- Near line 259: Possible spelling mistake found. Context: ... git submodule update ``` ### Updating Djinni bridging files The bridging interface ... --- Near line 261: This verb does not appear to agree with the subject. Consider using a different form. Context: ...idging interface between Kotlin and C++ are defined in the djinni files under [djin... --- Near line 261: Possible spelling mistake found. Context: ...tween Kotlin and C++ are defined in the djinni files under [djinni](../djinni). After ... --- Near line 261: Possible spelling mistake found. Context: ... are defined in the djinni files under [djinni](../djinni). After modifying those file... --- Near line 264: This sentence does not start with an uppercase letter. Context: ...ed by running ```make clean djinni``` in the folder [djinni](../djinni). This ge... --- Near line 265: Possible spelling mistake found. Context: ...```make clean djinni``` in the folder [djinni](../djinni). This generates the Kotlin ... --- Near line 265: This phrasing can be wordy. Context: ...e Kotlin bindings, the C++ header files as well as all the Objective C glue code. ### Bui... --- Near line 265: This word is normally spelled with a hyphen. Context: ...the C++ header files as well as all the Objective C glue code. ### Building the iOS Packag... --- Near line 269: Only proper nouns start with an uppercase character (there are exceptions for headlines). Context: ...ing the iOS Package. The [Package.swift](../Package.swift) file can be opened in Xcode and ...
Additional comments not posted (3)
shared/src/MapsCoreSharedModule.cpp (1)
`13-13`: Version update to "2.0.7" is correct and aligns with the release objectives.
android/gradle.properties (1)
`34-35`: Version name and code updated correctly to "2.0.7" and "2000700" respectively.
ios/readme.md (1)
`34-34`: Dependency version updated correctly to "2.0.7" in the Swift package setup.
--- 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?
Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit .` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai generate interesting stats about this repository and render them as a table.` - `@coderabbitai show all the console.log statements in this repository.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (invoked as PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger a review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai help` to get help. Additionally, you can add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. ### CodeRabbit Configration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit. - Join our [Discord Community](https://discord.com/invite/GsXnASn26c) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.