LocalIsometricEngine

CompositionLocal for providing the IsometricEngine to child composables.

Uses staticCompositionLocalOf because the engine instance is set once per scene and never changes — avoiding unnecessary recomposition tracking.

Access within an IsometricScope:

val engine = LocalIsometricEngine.current
val screenPos = engine.worldToScreen(point, viewportWidth, viewportHeight)