Skip to content

deps: bump Filament 1.56.0 → 1.70.0#667

Merged
ThomasGorisse merged 10 commits intomainfrom
deps/filament-1.70.0
Mar 20, 2026
Merged

deps: bump Filament 1.56.0 → 1.70.0#667
ThomasGorisse merged 10 commits intomainfrom
deps/filament-1.70.0

Conversation

@ThomasGorisse
Copy link
Contributor

Summary

  • Bumps Filament from 1.56.0 → 1.70.0 (14 minor versions, released 2026-03-10)
  • Fixes API break: KTX1Loader.createIndirectLight() and createSkybox() now return IndirectLightBundle/SkyboxBundle wrapper objects — extract .indirectLight and .skybox from them in SceneFactories and EnvironmentLoader
  • Recompiles all 10 .filamat material files using matc from the v1.70.0 Filament tools archive (new material version required per release notes — old .filamat files are rejected at runtime)

Filament 1.70.0 highlights

  • engine: fix crash when using variance shadow maps
  • materials: better shadow normal-bias calculations [⚠️ New Material Version]

Full changelog: https://github.com/google/filament/releases/tag/v1.70.0

Test plan

  • ./gradlew :sceneview:compileDebugKotlin — passes (warnings only)
  • ./gradlew :samples:model-viewer:assembleDebug :samples:gltf-camera:assembleDebug :samples:camera-manipulator:assembleDebug :samples:autopilot-demo:assembleDebug — all build successfully
  • CI will run full lint + AR emulator QA on merge

🤖 Generated with Claude Code

ThomasGorisse and others added 9 commits March 20, 2026 00:36
Captured from Pixel_9 AVD (SwiftShader GPU, API 35) during daily
maintenance sweep. All 4 non-AR samples render correctly.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
AR samples cannot be tested locally on Apple Silicon Macs because:
- The Emulator only ships the darwin-aarch64 QEMU binary
- ARCore's emulator APK is x86-only (x86 + x86_64 ABIs)
- ARM64 Google Play system images expose the back camera as ID "1"
  instead of "0", causing ARCore session creation to fail

Fix: run AR emulator tests on GitHub Actions (x86_64 Ubuntu with KVM)
using the official ARCore x86_64 emulator APK + virtualscene camera.
Screenshots are uploaded as CI artifacts after each run.

Also consolidates the two build steps into a single ./gradlew assembleDebug
(adopting the cleaner approach from PR #663 by @hannesa2).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
AR samples cannot be tested locally on Apple Silicon:
- darwin-aarch64 QEMU only; ARCore emulator APK is x86-only
- ARM64 system images expose back camera as "1"/"10", not "0"
- ARCore hardcodes camera ID "0" during session creation

AR screenshots come from the ar-emulator CI job (x86_64 Ubuntu + KVM).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The first CI run captured ANR crash dialogs instead of AR samples.
Root cause: emulator launcher wasn't fully settled before launching apps.

Fixes:
- Add 15s settle time + screen unlock after emulator boot
- Dismiss any ANR dialogs before installing/launching
- Increase per-sample wait to 20s for ARCore session init
- Add ar-augmented-image to the screenshot run

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The for loop used bash-specific syntax but the runner uses /bin/sh.
Replace with explicit keyevent repetitions and add shebang.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The previous script built but never installed the AR sample APKs,
so am start captured the home screen instead of the running app.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The Pixel Launcher ANR dialog was covering the AR samples.
ARCore itself works correctly — the fix is simply to stop the launcher
process before launching each sample app.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
All 3 AR samples launch and initialize an ARCore session correctly.
Camera background is white (SwiftShader headless can't render the
virtualscene texture) but "Move your phone slowly to detect a surface"
confirms the AR session is active and plane detection is running.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
KTX1Loader.createIndirectLight() and createSkybox() now return bundle
objects (IndirectLightBundle / SkyboxBundle) instead of the raw Filament
types directly. Extract .indirectLight and .skybox from the bundles in
SceneFactories and EnvironmentLoader.

All 10 .filamat files recompiled with matc from the v1.70.0 tools
archive (new material version required per Filament release notes).

Changelog: https://github.com/google/filament/releases/tag/v1.70.0

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This was referenced Mar 20, 2026
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@ThomasGorisse ThomasGorisse merged commit 40fe149 into main Mar 20, 2026
2 checks passed
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.

1 participant