Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Add render-only mesh markers shared by native DexSim and Viser, with RGBA transparency and reusable box, sphere, cylinder, capsule, cone, arrow, frame, and custom-mesh prototypes.
Marker groups default to all
SimulationManager.num_envs;update, visibility, and clear accept selectedenv_ids.scope="world"provides a single global batch. There is no new publicarena_index. Groups can attach to registered object/robot/articulation roots or links with local offsets, follow host simulation updates, and detach while preserving world poses. Existing legacy drawing APIs remain available.Automatic attachment refresh preserves browser capture cadence and isolates visual failures from simulation accounting. Manual mutations validate and publish synchronously with rollback. Native markers are excluded from camera outputs by default; explicit overlay inclusion retains the engine's documented Hybrid NRD limitation.
Docs CI also fetches the architecture snapshot’s pinned evidence commit when it is outside current branch history after a squash merge. Exact-source assertions and generated data remain unchanged.
Refs #129.
Dependencies: native rendering uses DexSim's generic
spawn.create_render_actor,RenderDesc/MaterialDesc, and RenderBody routing/material capabilities (engine commit3224e21f0) in MR !1423. The specialized DebugMesh factory and object subtype have been removed from that engine change. Keep this PR in draft until the engine release/integration is qualified; no unpublished dependency version is pinned.Type of change
Validation
Current consumer commit:
b5ecae69.black .) andgit diff --check: passed; 1069 Python files unchanged by formatting.com_quaterniondescriptor mismatch below; the changed marker consumer suite passes.3224e21f0; six additional native failure/isolation regressions passed. Formal CI is tracked in its MR.b5ecae69: lint and documentation integration tests passed; broad CPU reported 4639 passed, 92 failed, 1 skipped (176.98 s). The exact 92 failed test IDs match the preceding revision: 88 constructorcom_quaternionerrors, 2 dynamiccom_quaternionerrors, 1 inertia-shape error and 1 interrupted-warning cascade. Documentation build also passed (502 s); the current-head run is terminal failure because of those CPU failures, and later test lanes did not run. This PR remains draft and is not CI-green.Remaining integration work
com_quaternionto a DexSim descriptor which now expects body-frame inertia. This pre-existing incompatibility causes the three excluded manager cases and blocks the real registered-articulation attachment smoke before attachment starts. Root/link following, replacement, safe removal, and no implicit preparation are covered at manager level. Migrate COM/inertia together and qualify real assets before removing draft status; do not silently discard the orientation.Screenshots
No screenshots attached; behavior is covered by focused CPU/native tests and the runnable example.
Checklist
black .command to format the code base.python docs/scripts/check_api_docs.py).