Skip to content

FAQ

Kotlin’s standard library has kotlin.io.path.Path. Use an import alias:

import io.github.jayteealao.isometric.Path as IsoPath

Compose has androidx.compose.ui.graphics.Color. The library uses IsoColor:

import io.github.jayteealao.isometric.IsoColor
// Use IsoColor(r, g, b) everywhere in isometric scenes

Convert between them: composeColor.toIsoColor() / isoColor.toComposeColor()

Isometric uses depth sorting: depth = x + y - 2z. Shapes with higher depth render on top. If shapes overlap incorrectly:

  • Check that RenderOptions.enableDepthSorting is true (default)
  • Adjust positions so overlapping shapes have clearly different depths
  • Known limitation: the Knot shape has depth-sorting issues with its internal faces
  • Ensure IsometricScene is in a Compose context
  • Check shape positions — shapes at very large coordinates may be off-screen
  • Verify colors have non-zero alpha (default is 255)
  • Make sure the IsometricScene has non-zero size (use Modifier.fillMaxSize())

Yes. All three modules are published to Maven Central. See the Installation guide for coordinates and version catalog setup.

Yes. The isometric-core module is pure Kotlin/JVM with no Android dependency. Use IsometricEngine directly to project shapes to 2D coordinates, then render with your own backend.

The isometric-android-view module provides IsometricView for the traditional Android View system. See the Migration guide for details on moving to Compose.