Skip to content

Prepare local and explicit asset catalogs - #812

Merged
yuecideng merged 2 commits into
codex/asset-generalization-contractsfrom
codex/asset-generalization-sources
Oct 18, 2026
Merged

yuecideng merged 2 commits into
codex/asset-generalization-contractsfrom
codex/asset-generalization-sources

Conversation

@yuecideng

@yuecideng yuecideng commented Oct 18, 2026 •

Copy link
Copy Markdown
Contributor

Description

Add directory and explicit-list providers for annotated rigid asset packages. Validate actual mesh bounds and resource dependencies, publish content-addressed snapshots, and expose common inventory verification for external providers. SimReady metadata can supply category/provenance without implying normalized geometry or task capabilities.

Refs #810. This is layer 2/5 of the currently authorized asset-generalization implementation. PR6 online generation is deferred; no generation service is invoked by this stack.

Stack

Validation

27 data contract/provider checks passed, including changed source/cache content, textures, path containment, invalid geometry and SimReady annotations. Directory/explicit usage is documented with a complete asset.catalog.json example.

Tests use the repository-pinned DexSim 0.5.1rc1 and its matching Warp 1.17.0 via a process-local dependency path. The workstation's default editable DexSim build has an unrelated import failure; no shared environment installation was modified.

Black 26.3.1 formatting passed. Final-stack API coverage is 2640/2640 exports; the Sphinx dummy build completed with warnings/errors originating in unchanged documentation/docstrings and no diagnostics for the new asset modules. Context review adds the asset-generalization topic and updates component/semantic ownership where behavior changed. Existing data download and scene acceptance guidance remains applicable.

Type of change

  • New feature (non-breaking change which adds functionality)

Checklist

  • I have run the black . command to format the code base.
  • I reviewed affected documentation and agent context, updated it where needed, or explained why no update was needed.
  • Public API changes are reflected in the API docs (python docs/scripts/check_api_docs.py).
  • I have added tests that prove the feature works.
  • Dependencies reviewed; no new package requirements.

CI collection fix

The asset-catalog tests now form an explicit Python package, avoiding the top-level test_contracts module collision with existing scene-expansion tests under pytest's default import mode. The original two-file collection failure was reproduced before the fix. Combined asset, role, matcher and scene-contract validation passed 94 tests at the third layer; runtime APIs are unchanged. CI passed and PRs #811–#813 were squash-merged together into main. Higher layers remain drafts.

Review boundary fixes

Confirmed and fixed the review edge cases: attribute ranking now compares both exact type and value; OBJ/MTL dependency filenames are resolved literally, while glTF keeps URI decoding and package containment. Added limited-result and special-character filename regressions; 63 asset/scene-contract tests passed.

@yuecideng
yuecideng added this pull request to stack #816 October 18, 2026 12:08
@yuecideng yuecideng changed the title feat(assets): prepare local and explicit asset snapshots Prepare local and explicit asset catalogs Oct 18, 2026
@yuecideng yuecideng added enhancement New feature or request assets Related to simulation assets (robot, CAD, material, etc) task A task written in openai gym format for imitation learning or reinforcement learning labels Oct 18, 2026
@yuecideng
yuecideng force-pushed the codex/asset-generalization-sources branch from 76ef1bf to 0b08ce2 Compare October 18, 2026 12:15
@yuecideng
yuecideng force-pushed the codex/asset-generalization-sources branch from 0b08ce2 to 10b449c Compare October 18, 2026 15:49
@yuecideng
yuecideng marked this pull request as ready for review October 18, 2026 15:50
@greptile-apps

greptile-apps Bot commented Oct 18, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge; both previous findings are fixed and no new actionable issues were found.

Summary

Adds local asset catalogs with content-addressed snapshots.

  • Local providers find and rank annotated asset packages.
  • Prepared assets become checked, content-addressed snapshots.
  • Support and container regions stay within asset bounds.

No new actionable issues were found. This review checked code and tests; it did not run them.

Diagram

%%{init: {'theme': 'neutral'}}%%
flowchart LR
  A[Annotated local packages] --> B[Discover and rank candidates]
  B --> C[Check geometry and dependencies]
  C --> D[Hash and copy package]
  D --> E[Content-addressed snapshot]
  E --> F[Verify files and metadata before use]
Loading

Reviews (2) · Last reviewed commit: "fix(assets): preserve exact attributes a..." · Reviewed by Greptile

Comment thread embodichain/data/asset_catalog/local.py
Comment thread embodichain/data/asset_catalog/local.py Outdated
@yuecideng
yuecideng merged commit 1576475 into main Oct 18, 2026
9 checks passed
@yuecideng
yuecideng deleted the codex/asset-generalization-sources branch October 18, 2026 19:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

assets Related to simulation assets (robot, CAD, material, etc) enhancement New feature or request task A task written in openai gym format for imitation learning or reinforcement learning

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant