Skip to content

Feature/kmp#911

Open
maerki wants to merge 64 commits intomainfrom
feature/kmp
Open

Feature/kmp#911
maerki wants to merge 64 commits intomainfrom
feature/kmp

Conversation

@maerki
Copy link
Contributor

@maerki maerki commented Jan 26, 2026

No description provided.

@github-actions
Copy link

github-actions bot commented Jan 27, 2026

🚨 Performance Regression Detected! 🚨

Some benchmarks have worsened in this PR.

📊 Click here to view the full benchmark results 📊


actual fun asShaderProgramInterface(): KMShaderProgramInterface {
val result = native.asShaderProgramInterface()
return requireNotNull((result as io.openmobilemaps.mapscore.shared.graphics.shader.ShaderProgramInterface)).asKmp()
Copy link
Collaborator

@maurhofer-ubique maurhofer-ubique Feb 5, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This cast would be unnecessary => return result.asKmp(). But asKmp() is defined on the KMP interfaces, so we'd need to create and return a KMShaderInterface with: KMShaderProgramInterface(native.asShaderProgramInterface()).

I.e. returning kmp interfaces is wrapping the native object.

@maerki maerki marked this pull request as ready for review February 6, 2026 09:14
Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ecaeb74408

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".


plugins {
id("org.jetbrains.kotlin.multiplatform") version "2.3.0"
id("com.android.library") version "8.13.2"

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Skip Android plugin for iOS-only Gradle invocations

The script computes isIosOnlyInvocation to support iOS-only runs, but com.android.library is still applied unconditionally, which forces Android plugin configuration even when only iOS tasks are requested. In environments that do not have an Android SDK configured (a common iOS CI setup), this causes configuration-time failure before any iOS task can execute, so the iOS-only path is not actually usable.

Useful? React with 👍 / 👎.

@@ -0,0 +1,3 @@
package io.openmobilemaps.mapscore.kmp

expect abstract class KMDataRef

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Provide common constructors/accessors for KMDataRef

KMDataRef is introduced as an opaque expect abstract class with no common API, but common interfaces now expose it in signatures (for example KMDataLoaderResult.data and async loader callbacks). This makes shared commonMain implementations unable to construct or read data payloads without platform-specific code, which effectively breaks common loader implementations; the type needs common creation/read helpers (e.g. byte-array conversion) or a usable common contract.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants