Skip to content

fix(deps): update dependency earth.worldwind:worldwind to v1.14.1#639

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/worldwind
Open

fix(deps): update dependency earth.worldwind:worldwind to v1.14.1#639
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/worldwind

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented Apr 30, 2026

This PR contains the following updates:

Package Change Age Confidence
earth.worldwind:worldwind (source) 1.12.01.14.1 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

WorldWindEarth/WorldWindKotlin (earth.worldwind:worldwind)

v1.14.0: WorldWind Kotlin v1.14.0

WorldWindKotlin 1.14.0 — Release Notes

Highlights
  • iOS support — New Kotlin/Native target (iosX64, iosArm64, iosSimulatorArm64) across :worldwind, :worldwind-compose, :worldwind-compose-samples, and :worldwind-tutorials. SwiftUI tutorial shell included.
  • Toolchain bump — Migrated to AGP 9 / Gradle 9 / Kotlin 2.3.21.
  • Unified Compose API — Single @Composable WorldWindow that works across Android, JVM (Desktop), JS, and iOS.
  • 3D Ellipsoid shape — New tri-axial ellipsoid renderable with rotation and lighting.
New Features
  • Compose: @Composable WorldWindow unified across Android, JVM, and JS (b29cdc7)
  • Shapes: 3D rotation / tri-axial Ellipsoid with lighting (caeaa3f)
  • Sightline: embedded-receiver path for in-shader self-shadow (f584eaf)
  • Navigation: fling + zoom-anchor gestures for 2D projections (2bd48a0)
  • GeoTiff: unified reader/writer in commonMain, dropping the JVM-only mil.nga.tiff dependency (2815097)
Fixes
  • Sightline/Shadow: restore caller's framebuffer instead of unbinding to NONE (12ab237)
  • DrawableSightline: directional regression — re-run depth per face (faf7366)
  • Path: emit second trailing miter dummy so WebGL accepts surface lines (0a95ae0)
  • Shape: invalidate geometry cache on vertical-exaggeration change (938f30e)
  • Shapes: keep BoundingData across reset() to stop fall-through blinking (961a40d)
  • Placemark/Label: recompute placePoint each frame (drop stale cartesian cache) (b9c8fd1)
  • SelectDragDetector: placemark select/drag on macOS Safari (6aa7cb5)
  • SelectDragDetector: route depth-tested point into pick/context/double-tap (4117c83)
  • PickedObject: opt out of depth unprojection for surface shapes (696f18d)
  • WorldWind: 2D pan stuck when subclasses override gestureDidBegin (7c7426d)
  • WorldWind: skip COLLISION_THRESHOLD on globe-state reclamp (8b5c7ea)
  • RequestRedraw: don't block sequential calls from background threads (050602d)
  • Tutorials: request redraw after async COLLADA/glTF parse completes (4ed2c48)
Rendering / Performance
  • ViewshedSightline: multi-WorldWindow correctness + RRC-managed output texture (db3f54f)
  • Programs: per-WorldWindow shader-program storage (ccff546)
  • Programs: zero-overhead no-shadow variants for shadow receivers (2c2f4c8)
  • Shadows: per-platform MSM moment bias (66dcf51)
  • Atmosphere: drop shadow modulation from GroundProgram SECONDARY pass (ea3675d)
  • Shadow: route surface-shape rasterize-pass disable through helper (95f32a2)
  • DrawableSightline: dispatch SightlineReceiver in occlusion passes (7be1f70)
  • RenderContext: reified getShaderProgram overload; drop KEY companions (9bcb7c6)
Build / Tooling
  • JVM/macOS: tutorials run on Apple Silicon JBR (eaa1ef3)
  • Build: strip moko-resources iOS pack on non-Mac hosts (Windows/Linux CI) (79abeec)
  • JVM: bump vlcj to 4.12.1 + assorted dependency bumps (3e7e111)
  • GeoTiffReader: drop ignored-key/tag log spam to DEBUG (2c87ad9)
  • Skip signing for local MavenLocal publishes (56c2033)
  • Examples: drop day-night terminator from basic Android activities (e2d9a0e)

Full Changelog: v1.13.1...v1.14.0 (38 commits)

v1.13.1: WorldWind Kotlin v1.13.1

Highlights

Directional sun shadows. New ShadowLayer adds cascaded shadow maps with Hamburger 4-moment Moment Shadow Mapping. Shapes (3D meshes, polygons, COLLADA, glTF) cast shadows onto terrain and onto each other from the same sun direction that drives lighting and atmosphere. Opt-in: add ShadowLayer() to the layer list after AtmosphereLayer.

Atmosphere realism. Standard scattering coefficients plus a Black Marble city-lights night side.

WebGL stability. Two pre-existing GL_INVALID_OPERATION feedback-loop sources (one only fired during pick drag) eliminated.

What's New

Shadows
  • ShadowLayer with PSSM cascades (default 3) blended uniform/log via splitBlend.
  • Hamburger 4-moment MSM and 9-tap rotated PCF receiver paths, selectable via ShadowLayer.algorithm.
  • Per-platform defaults: JS → MSM (1-tap analytic Cholesky is fast on WebGL2/ANGLE), JVM/Android → PCF (Adreno can't do MSM cleanly).
  • ShapeAttributes.shadowMode, ColladaScene.shadowMode, GltfScene.shadowMode — per-shape cast/receive control, decoupled from isLightingEnabled.
  • Auto-scaling cascade reach (maxCascadeDistance and casterPullback track camera altitude) so the same defaults work from city view to globe view.
  • Per-cascade caster + terrain-tile culling, half-resolution far cascade, sun-below-horizon early-exit.
  • Stable cascade footprint via bounding-sphere texel snap (no shimmering on camera move).
  • Smooth blend across cascade boundaries.
Atmosphere & sky
  • AtmosphereLayer: standard scattering coefficients (Kr/Km/eSun) plus night-side Black Marble texture sampling.
  • StarFieldLayer: Gaussian star profile, larger sprites, density-aware sun rendering.
Input
  • Cursor-perfect drag for clamp-to-ground shapes in SelectDragDetector.
  • Fling gesture cancels reliably on every press regardless of which consumer claimed the pointer.

Bug Fixes

  • ViewshedSightline pick now returns the sightline itself rather than its internal SurfaceImage.
  • Pick depth texture left bound to GL_TEXTURE0 after the depth-to-color blit caused GL_INVALID_OPERATION feedback errors during back-to-back picks (drag).
  • Cascade textures left bound from the previous frame's receiver pass formed a feedback loop on the next frame's depth pass under Chromium's sampler-aware WebGL check.

API Additions

// Add directional sun shadows to a scene
engine.layers.addLayer(ShadowLayer())

// Per-shape opt-out
attributes.shadowMode = ShadowMode.RECEIVE_ONLY    // building doesn't cast onto itself
attributes.shadowMode = ShadowMode.CAST_ONLY       // marker that shouldn't get darkened
attributes.shadowMode = ShadowMode.NONE            // skip the pipeline entirely

// Algorithm override (per-platform default applies otherwise)
ShadowLayer().apply { algorithm = ShadowAlgorithm.MSM }

Migration Notes

  • ShadowLayer is opt-in and off by default; existing scenes are unaffected.
  • ShapeAttributes.shadowMode defaults to CAST_AND_RECEIVE. Without ShadowLayer in the layer list, the field is inert.
  • Place ShadowLayer after AtmosphereLayer so the layer sees the sun direction.

Full Changelog: WorldWindEarth/WorldWindKotlin@v1.13.0...v1.13.1

v1.13.0: WorldWind Kotlin v1.13.0

New features

  • 3D model formats — COLLADA and glTF 2.0 loaders with cross-platform tutorials.
  • Projected media surface — drape drone video / photos on terrain via 4-corner homography, plus a 3D camera-frustum projection path driven from KLV pose. (Documented JS/WebGL incompatibility on the 3D path.)
  • Sightline / viewshed overhaul
    • DEM-based GPU viewshed independent of terrain LoD
    • Cast shadows from off-frustum shapes inside sightline range
    • Variance Shadow Mapping with separable Gaussian on moments
    • Omnidirectional Moment Shadow Mapping with cube-map storage
    • SightlineOccluder hook so 3D shapes occlude as well
  • UI overlay layers — density-aware sizing and cross-platform interaction.
  • Improved atmosphere layer and more realistic star field.
  • Additional geographic projections.
  • Ellipse arc / pie-slice via startAzimuth + sweepAngle.
  • Pan fling and cursor / pinch-anchored zoom.
  • JVM KeyboardControls — multi-key hold and per-key acceleration.
  • Tutorial-selection UI in JVM entry point mirroring JS Main.
  • DefaultHttpClient expect/actual with platform engine customization hook (e.g. permissive SSL).
  • Picking returns Cartesian point reconstructed from pick-pass depth buffer.
  • Location.fromString — strict, format-autodetecting parser.

Rendering / globe robustness

  • Antimeridian + pole rendering for surface Polygon / Path / Ellipse, plus surface shapes that cross the antimeridian.
  • 3D Polygon Cartesian tessellation for pole-encircling polygons; top-plane lat/lon GLU input with antimeridian unwrap.
  • MSAA antialiasing for surface shapes.
  • Skip depth-write on translucent fragments.
  • 2D globe: hide tilt and exaggeration controls.
  • Camera clamps to terrain on globe-state change.
  • GoToAnimator animates tilt to 0 so the final lookAt matches the target.

Interaction & input

  • Drag picks point in parallel with cursor (no snap of ref to cursor).
  • View controls: live cursor tracking and orphan-repeat fix.
  • JS controller: touch events for minimap and view controls; finger-drag fix and removed dead zone; click events from drags are now swallowed.
  • JVM HiDPI mouse-coordinate offset fix.

Performance & internals

  • Smarter per-frame shape-assembly budget with graceful fall-through.
  • Pre-allocated arrays in index-buffer assembly (replacing List<Short> / List<Int>).
  • Long → Int buffer / data version counters.
  • GpkgContentManager dispatches SQLite work to Dispatchers.IO.
  • Cached Cartesian position in Placemark and Label (with correctness fix).
  • Reduced maximum star size.
  • Carry-overs from 1.11.x: LongLruMemoryCache (no Long boxing), elevation-decoder optimizations, async JVM frame rendering, throttled shape geometry assembly, drawable-queue sort optimizations, GLU tessellator cleanup, removal of per-frame NumericArray wrappers, eye-distance threshold cached on instances.

Bug fixes

  • DrawableQueue sort-key encoding for negative order values.
  • Deprecated onLowMemory / TRIM_MEMORY callbacks replaced.
  • ExtractKlv anchors JSON timeline at the video's first PTS.
  • Raw path variable shadowing addressed.
  • Several MilStd2525 generation fixes; mil-sym-2525 deps bumped.
  • Documentation and test warnings cleaned up.

Tutorials

  • Depth-pick visualization, Android Movable drag, JVM SSL hook.
  • Refreshed Android HTML help to match current Kotlin sources.

Full changelog: WorldWindEarth/WorldWindKotlin@v1.11.0...v1.13.0


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@codecov
Copy link
Copy Markdown

codecov Bot commented Apr 30, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 20.20%. Comparing base (f7e5b72) to head (21fd38c).

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@renovate renovate Bot force-pushed the renovate/worldwind branch from 59d20c7 to ad471fd Compare May 2, 2026 01:45
@renovate renovate Bot changed the title fix(deps): update dependency earth.worldwind:worldwind to v1.13.0 fix(deps): update dependency earth.worldwind:worldwind to v1.13.1 May 2, 2026
@renovate renovate Bot force-pushed the renovate/worldwind branch from ad471fd to f68de6c Compare May 4, 2026 00:56
@renovate renovate Bot changed the title fix(deps): update dependency earth.worldwind:worldwind to v1.13.1 fix(deps): update dependency earth.worldwind:worldwind to v1.13.2 May 4, 2026
@renovate renovate Bot force-pushed the renovate/worldwind branch from f68de6c to 7a912e1 Compare May 4, 2026 12:41
@renovate renovate Bot changed the title fix(deps): update dependency earth.worldwind:worldwind to v1.13.2 fix(deps): update dependency earth.worldwind:worldwind to v1.13.3 May 4, 2026
@renovate renovate Bot force-pushed the renovate/worldwind branch from 7a912e1 to 592831e Compare May 7, 2026 11:47
@renovate renovate Bot changed the title fix(deps): update dependency earth.worldwind:worldwind to v1.13.3 fix(deps): update dependency earth.worldwind:worldwind to v1.13.4 May 7, 2026
@renovate renovate Bot force-pushed the renovate/worldwind branch from 592831e to c89871b Compare May 10, 2026 01:09
@renovate renovate Bot changed the title fix(deps): update dependency earth.worldwind:worldwind to v1.13.4 fix(deps): update dependency earth.worldwind:worldwind to v1.14.0 May 10, 2026
@renovate renovate Bot force-pushed the renovate/worldwind branch from c89871b to 21fd38c Compare May 13, 2026 20:11
@renovate renovate Bot changed the title fix(deps): update dependency earth.worldwind:worldwind to v1.14.0 fix(deps): update dependency earth.worldwind:worldwind to v1.14.1 May 13, 2026
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.

0 participants