Skip to content

feat(base): add NumPy entity facade - #1048

Merged
TATP-233 merged 1 commit into
dev/issue-1042-manager-based-apifrom
feat/issue-1047-numpy-entity-facade
Aug 17, 2026
Merged

feat(base): add NumPy entity facade#1048
TATP-233 merged 1 commit into
dev/issue-1042-manager-based-apifrom
feat/issue-1047-numpy-entity-facade

Conversation

@TATP-233

Copy link
Copy Markdown
Collaborator

Summary

  • add a base-owned EntityCfg / EntityScene / EntityData facade over the existing public SimBackend contract
  • materialize explicit joint/body/geom/site/actuator partitions once, cache local-to-backend mappings, and expose NumPy root/joint/body state
  • preserve pinned mjlab SceneEntityCfg regex/order/consistency semantics while rejecting invalid IDs and unsupported namespaces with entity/backend context
  • attach manager/term/parameter context to selector failures without coupling managers to backends or NpEnv

Boundaries

  • no new SimBackend method or backend-private/model access
  • no NpEnv lifecycle, production task, Hydra script, runner, learner, or IPC integration
  • no XML/asset access in the facade and no name resolution on repeated state reads
  • tendon/camera/light/material/texture/pair remain explicit unsupported capabilities

Change accounting

  • source-derived: 55 lines for pinned mjlab-compatible regex matching, with path/commit/Apache-2.0 provenance
  • mechanical adaptation: 110 added / 11 removed lines expanding the standalone manager entity protocol
  • UniLab-specific facade, validation, error context, and tests: 969 added / 6 removed lines
  • modified existing: 4 files, +148 / -17 lines
  • created: 2 files, 986 lines
  • deleted existing files: none
  • total: 6 files, +1,134 / -17; within the ≤25 file / ≤1,500-line child budget

Validation

  • focused manager/entity suite: 45 passed
  • config + representative backend regression: 211 passed
  • make test-all: 1,814 passed, 24 skipped, 1 xfailed; benchmark import smoke passed 65/67 with two platform-optional mlx skips
  • ruff, mypy, and pyright: passed

Implements #1047
Umbrella: #1042

@TATP-233
TATP-233 merged commit b7673d7 into dev/issue-1042-manager-based-api Aug 17, 2026
7 checks passed
@TATP-233
TATP-233 deleted the feat/issue-1047-numpy-entity-facade branch August 17, 2026 11:34
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