Improve Filament Studio source builds#3252
Conversation
|
Keeping this PR focused on the Studio source-build path. I opened a separate stacked draft for the packaging/runtime follow-up pieces: generated Filament assets in install/wheels, default runtime asset lookup, and a small renderer identity query surfaced through Python. Follow-up draft: #3254 That follow-up is still draft because full wheel artifact verification is pending, but I smoke-tested Studio with a Go2 scene on macOS and verified the MJR-compat build exports |
ed4dc2b to
c7ca79e
Compare
|
Rebased this onto current |
c7ca79e to
7fada46
Compare
|
Rebased this onto current Local validation on the rebased commit:
Both configure paths now pass locally, including the Abseil/Filament path and the delayed |
|
Hi @devshahofficial, Of the remaining PRs, is this also the order they should be merged in? |
|
@BlGene yeah, that order is the cleanest one imo:
Small caveat: #3340 had drifted into conflict, so I rebased it and pushed the fix today. I would still land the Filament stack in that order unless @mmossg / @haroonq prefer a different split. |
|
@BlGene quick extra context for the Ai2 / Filament use case:
Current state: #3252/#3337/#3339 are green + mergeable. #3340 is rebased, still approved, mergeable again, and just waiting on the last CI jobs. So yeah, this stack is basically aimed at the exact pain points you listed in #2487. I do not want to overpromise release timing or wheel policy since maintainers own that part, but the code path for packaged assets + renderer query is now lined up. |
Summary
This draft improves the experimental Studio + Filament source-build path in two ways:
Motivation
While validating
mujoco_studiowithMUJOCO_USE_FILAMENT=ON, configure can fail on machines with ambient package-manager CMake configs, for example an Anaconda-providedabslConfig.cmake. Filament'sFILAMENT_USE_EXTERNAL_ABSLpath callsfind_package(absl), which can collide with the Abseil targets already created by MuJoCo's fetched dependency.This keeps the Filament fetch isolated from unrelated Abseil package configs, while preserving any pre-existing
CMAKE_DISABLE_FIND_PACKAGE_abslvalue after Filament is configured.Validation
git diff --check-DCMAKE_DISABLE_FIND_PACKAGE_absl=TRUEcmake --build build-studio-filament-eval --target mujoco_studio --parallel $(sysctl -n hw.logicalcpu)./mujoco_studio --gfx=opengl --model_file=/tmp/mujoco_go2_demo/unitree_go2/scene_filament_open_assets_showcase.xmlFEngine resolved backend: OpenGLScreenshot from the local smoke test:
Related context
Tagging a few people from the surrounding Filament/Studio discussion for visibility:
src/experimental/studio/: Renderer API #2487 (comment). This PR is a small source-build/doc cleanup around that path.Notes
The Go2 / Filament sample-asset scene used for the runtime smoke test is local-only and not included in this PR.