Releases: mxpv/openusd
Release list
v0.5.0
openusd continues to gain usable shape and form. This release introduces
high-level APIs to manage stages, layers, primitives, and more — while
bringing several major subsystems to spec compliance.
-
The PCP composition engine is fully rewritten around a task-queue indexer
that now conforms to allpcp.txtcompliance tests, covering correct
LIVRPS strength ordering, scene-graph instancing, specializes, relocates,
value clips, and arc permissions. -
Layer management graduates from a flat stack to a full
LayerGraphmodel
with surgical change invalidation.Stagegains a new set of APIs to add,
remove, and mute layers. -
Scene-query APIs move from
Stageonto thePrim,Attribute, and
Relationshiphandles where they belong. -
All domain schemas (
geom,lux,shade,render,skel,physics,
vol,ui,proc,media) are rewritten as composable trait-based
views modelling the schema object hierarchy with supertrait chains. The
same handle exposes both read and author operations, and setters chain:use openusd::{usd, schemas::geom}; let stage = usd::Stage::open("scene.usda")?; for prim in stage.traverse() { if let Some(mesh) = geom::Mesh::new(prim.clone()) { // read let counts = mesh.face_vertex_counts_attr() .get::<Vec<i32>>(usd::TimeCode::DEFAULT)?; // author mesh.create_extent_attr().set(extent_value)?; } }
The trait hierarchy mirrors the C++ schema hierarchy —
SchemaBase → Imageable → Xformable → Boundable → Gprim → PointBased → Curves
— with concrete newtype views likeMesh,Camera, andSphere. -
Math utilities scattered across the crate are consolidated into a new
gf
module mirroring the C++Gfnamespace:Vec2/3/4,Quat, andMatrix
types in multiple numeric precisions, allbytemuck::Podfor zero-copy
binary serialization.
New AOUSD Core Spec coverage
New AOUSD Core Spec coverage in this release:
7.6.1.2.2Layer-offset retiming applied during value resolution8.2Element ordering (sdf::element_cmp,primOrder/propertyOrderreordering)10.3.3Arc permissions — direct arcs topermission = privatesites are inerted and reported aspcp::Error::ArcPermissionDenied11.3.1Ordered prim children viaprimOrderreordering11.3.2Ordered property children viapropertyOrderreordering11.3.3Scene-graph instancing — instances share one composed prototype; nested instances, instance-proxy redirects, and population-mask integration covered11.5IN_PROTOTYPEflag and instance-proxy traversal toggle12.3Basic attribute resolution — layer-offset retiming applied during value resolution12.3.4Value clips — explicit and template clip resolution, manifest gating, active-clip selection, stage-to-clip time mapping,interpolateMissingClipValues12.4Relationship targets (raw + forwarded chains) and attribute connections with a stage-wide connection graph15.1/15.2CollectionAPI—apply_collection,include_path/exclude_path,MembershipQuery,compute_included_paths
PCP composition engine
- Rewrote the composition engine as a priority task-queue indexer (
Indexer)
mirroring C++Pcp_PrimIndexer, now the sole composition path (abf6ca4) - Replaced
LayerStackwith a fullLayerGraphmodel:LayerNode,
LayerGraph, andpcp::LayerIdhandles with O(1) identifier lookup;
sublayer edges derive from authored metadata and are rebuilt on change
(f2eab23) - Implemented LIVRPS arc strength ordering via
#[repr(u8)]ArcTypeand
thecompare_sibling_node_strength/compare_node_strengthcomparators
(095728a) - Graph-clone seed for ancestral opinions: a child prim clones its parent's
composed graph and deepens every site path, so referenced ancestor arcs
re-evaluate at the child (4ea2ae4) - References and payloads compose as per-(layerStack, path) site nodes,
retaining culled arc targets asCULLEDnodes for structural visibility
(a714040, c27146f) - Inherits and implied classes including subroot-arc propagation (5773348,
a188515, c80e421) - Specializes as globally-weak class-based arcs with
propagate_node_to_root
and implied-specializes propagation (f6f5fe7, 141c610) - Local and ancestral variant sets resolved through a second task band;
EvalNodeVariantAuthored→EvalNodeVariantFallbackwith live-node
strength tie-breaking (40bb677, 7c4de1f) - Expression-valued asset paths in reference / payload arcs evaluated during
index build;composed_expr_varsfoldsexpressionVariablesacross arcs
(41ab8a8, 7119565) MapFunctioninvertibility-checked target translation,
without_variant_selectionsstripping, and truecomposesemantics
(0638cea, b04dffe)- Relocates ported into the task-queue indexer via
eval_node_relocations;
per-layerlayerRelocatesvalidated and chained within a node's layer
stack (0b642d3, 65fbf28, 4484d7d) - Direct arcs to
permission = privatesites inerted and reported via
pcp::Error::ArcPermissionDenied; descendant arcs inerted through
denied_prefixes(9ae8510, a6a5b93) - Scene-graph instancing:
PrototypeRegistrykeyed byInstanceKey
(arc + variant selections); prototype namespace composed in place, instance
proxies redirect onto/__Prototype_N; targeted invalidation via
invalidate_prototypes(cc43d29, 1285318, e659568) - Value clips:
ClipSetparsing, manifest gating, active-clip selection,
stage-to-clip time mapping, template clip expansion, and
interpolateMissingClipValues(d6d4d83, 14c93fc, a837749) - Layer-offset retiming of
timeSamplesduring value resolution (8886672) - Relationship target forwarding through chains with cycle-breaking (737fdd1)
- Attribute connection graph:
ConnectionGraphstage-wide index with composed
connectionPathsand authoring onAttribute(d75feb7, c864da8) Dependenciesreverse map for surgical change fanoutChanges/IndexCache::process_changesfor three-tier change
classification and targeted cache invalidation- Recoverable composition errors collected via
Stage::composition_errors
rather than callbacks (750af7e) PrimIndex::dump_to_stringcomposition-tree dump for debugging (e668aea)reorder rootPrimsparsed and emitted in USDA (0543612)
Stage and layer management
LayerGraphreplaces the flatLayerStack;Stage::insert_sub_layer/
remove_sub_layerandsub_layersrouted through it so edits persist on
save (f2eab23)- Direct access to the session layer from
Stage(18afede) Stage::mute_layerand layer muting supportStageBuilderbuilder methods shortened toload/mask(8d7fb2b)EditTargetandEditContext(RAII guard) for routing authoring through
any layer;for_local_direct_variantfor variant-namespace writesStagerefactored as a cheapRc<StageInner>reference-counted handle —
cloning bumps the refcount, no lifetime parameters onPrim/Attribute
/Relationship(700e2c2)
Schema views
usd::SchemaBasetrait introduced as the schema-view foundation (665467a)UsdGeommigrated:Imageable → Xformable → Boundable → Gprim → PointBased → Curves
chain, all intrinsic shapes,Camera,Xform/Scope,Mesh+
GeomSubset, curve/point/patch types,PointInstancer(2ff1faa)UsdLuxmigrated: light hierarchy andLightAPI/ShapingAPIapplied
API schemas (cede873)UsdShademigrated:Connectableinterface trait,Shader/NodeGraph/
Material,MaterialBindingAPIwith direct + collection binding resolution,
UsdPreviewSurface+UsdUVTexture(b05b4f3 … f7c35ab)UsdRendermigrated:RenderSettingsBase/RenderSettings/
RenderProduct/RenderVar/RenderPass/RenderDenoisePasswith
compute_render_spec(f6f8d71 … 10be3a1)UsdSkelmigrated:SkelRoot/Skeleton/SkelAnimation/
BlendShape,SkelBindingAPI,SkeletonResolver/SkinningResolver,
LBS + blend-shape math (fd39231)UsdPhysicsmigrated: typedScene/Jointprims, single- and
multi-apply API schemas (DriveAPI/LimitAPI) (ed641fb)UsdVolmigrated:Volume+OpenVDBAsset/Field3DAsset(7780720)UsdMediamigrated:SpatialAudio,AssetPreviewsAPIthumbnails (5ebf1b1)UsdProcmigrated:GenerativeProcedural(e6883c1)UsdUImigrated:Backdrop,SceneGraphPrimAPI,NodeGraphNodeAPI
(042519c)Attribute::getmade generic;ValueFrom/TryFromimpls for allgf
types (a95f6f5, 97133b1)- Typed token
↔ Valueconversions viaimpl_token_value!macro (97133b1) CollectionAPI—apply_collection,include_path/exclude_path,
MembershipQuery,compute_included_paths(80285f6 … 404531a)
Resurfaced API — moved to handles
Prim::prim_stack,Prim::prim_index,Prim::children,
Prim::property_names,Prim::attributes,Prim::relationships,
Prim::variant_sets(a3fb43c, 8ea96c8)Attribute::property_stack,Attribute::connections,
Attribute::compute_connections(a3fb43c)Relationship::property_stack,Relationship::targets,
Relationship::forwarded_targets,Relationship::compute_targets(a3fb43c)Prim::set_metadatafor prim-level fields (7d5c02f)AttributeandRelationshipsplit into their own modules (209f441)
Graphics foundations (gf)
Vec2/3/4inf32(f),f64(d),f16(h), andi32(i)
variants;Quatf/d/hwith(w, x, y, z)field order andslerp;
Mat2d,Mat3d,Matrix4d(row-major) (5d5b0db)- All types are
#[repr(C)]/#[repr(transparent)]+bytemuck::Pod
for bulk-cast binary serialization - Free-function constructors (
vec3f,quatf, …) andlerp/slerp
...
v0.4.0
This is the largest openusd release so far. It introduces full USD writers for all three file formats, a complete authoring API spanning both the sdf::Layer and usd::Stage tiers, four new domain schema modules (UsdGeom, UsdLux, UsdSkel, UsdPhysics) covering both reading and authoring, and a much more capable composition engine — including dictionary composition, specifier/variability/custom resolution, layer-offset propagation, and a granular cache-invalidation pipeline modeled on PcpChanges. Many of these features still need further polishing, but with so many API changes since v0.3.0 it felt worth cutting a release for an intermediate alignment point.
Huge thanks to @bresilla for the enormous volume of high-quality contributions in this release — including all three writers, the entire UsdSkel reader and skinning toolkit, and the bulk of the UsdLux / UsdPhysics / UsdGeom schema modules.
Highlights
- First-class USD writers:
usda::TextWriter,usdc::CrateWriter, andusdz::ArchiveWriter, with round-trip coverage and explicit format selection on save. - Complete authoring stack:
sdf::LayertypedSpecviews and aStage-tier authoring API (define_prim/override_prim/create_attribute/create_relationship/set_default_prim) routed through anEditTarget. - Composed scene handles:
usd::Prim,usd::Attribute,usd::Relationshipreturned from authoring methods. - Granular cache invalidation:
sdf::ChangeList+pcp::Changes+pcp::Dependenciesform aPcpChanges-style pipeline with a three-tier classifier (significant / prim / spec) and per-layer reverse-dep map. - Domain schemas:
UsdGeom,UsdLux,UsdSkel, andUsdPhysicsreaders + authoring helpers behind cargo features. - Stage querying: payload loading control (
InitialLoadSet),StagePopulationMask, traversal predicates, prim status, model-hierarchy queries, and a stage-level time-sample evaluator with held and linear interpolation.
Compliance
New AOUSD Core Spec coverage in this release:
6.6.2.1Dictionary combining10.3.1.1Sublayer offset composition10.3.2.1.2Reference offset composition10.3.2.2Payload loading control10.3.2.2.2Payload offset composition11.3Population mask11.3.1Ordered prim children (primOrderreordering, partial)11.3.2Ordered property children (propertyOrderreordering)11.4Model hierarchy (kind)11.5Stage queries (Active, Loaded, Defined, Abstract, Instance)12.2.1Specifier resolution12.2.3Variability resolution (weakest opinion)12.2.4Custom field resolution (any-true)12.2.5Dictionary combining12.2.6List op resolution (partial)12.5.1Interpolation (Held)12.5.2Interpolation (Linear)16.2USDA (text) writing16.3USDC (binary) writing16.4USDZ (package) writing
Composition engine (pcp)
- Propagate layer time offsets through composition (66a14d5)
- Implement specifier/variability/custom resolution (b564010)
- Apply
primOrder/propertyOrderduring composition (1fa0f7b) - Compose dictionary opinions and isolate pseudo-root metadata (40b5b6d)
- Granular cache invalidation pipeline (3e9335e)
- Correctness fixes for
apiSchemascomposition (f53fc9c) - Anchor relative reference paths against layer parents (4f0b560)
- Delegate relative path anchoring in
find_layerto resolver (f1fd849) LayerStackholdsVec<sdf::Layer>(56b5ae1)
Stage / usd tier
- Stage-tier authoring API and
EditTarget(63e4c03) - Composed
Prim/Attribute/Relationshiphandles (04da139) - Consolidate Usd-tier types under
usdmodule (f46992a) - Add payload loading control and population mask (ea2793f)
- Add traversal predicates (f3caca8)
- Add prim status and model-hierarchy queries (bff3d99)
- Add
api_schemas,has_api_schema, andtype_namehelpers (dd02dfe) Prim::add_applied_schema(51a6e8a)- Add
Prim::append_to_uniform_token_array(498296f)
Interpolation
sdf / layer
- Authoring API and typed
Specviews onsdf::Layer(26e7de6) - Move
Layerintosdfto mirror C++SdfLayer(87fa3c0) sdf::Datafor in-memory layer data (4611947)- Add mutable access to
Data(c36ad01) - Split
AbstractData::getintotry_get+get(9fa274d) - Refactor SDF spec views to share read APIs (7a4523f)
- Remove
write_usda/write_usdcshims fromData(cf36bcc) - Introduce
Collectorbuilder; mask-aware dependency skipping inlayer::collect_layers(a29d4bf)
USD text format (usda)
- Add USDA writer (
usda::TextWriter) (444d52a) - Parse typed scalar-array values inside time samples (77929be)
- Parse typed tuple values inside time samples (2bfe869)
- Keep type-blind fallback for lenient time samples (0d235ab)
- Read nested dictionaries (643b080)
- Bug fix for
variantSetsand variants (ccf5812) write_quotedfalls through on strings with both quote types (b0694e4)
USD binary format (usdc)
- Add USDC writer (
usdc::CrateWriter) (a74f6bd) - Enable compressed integer arrays in writers (22f969a)
- Reorder quat bytes to match USDA convention (3eccc28)
- Apply matching quat reorder in writer for round-trip (9f4a302)
- Avoid allocations when changing quat order (b74638e)
USD archive format (usdz)
- Add USDZ writer (
usdz::ArchiveWriter) (ccdd722) - Open archives via resolver instead of
Filedirectly (b691498) - Validate USDZ entry names and de-flake temp-path tests (56f808d)
Writers (cross-format)
- Explicit layer format selection for saving (bcb2e83)
- Reader/writer contract gaps for sentinel values (e037102)
- Corner-case round-trip bugs surfaced by new tests (a314238)
- Tidy up writers (b838cb8)
UsdGeom schema (reader + authoring, geom feature)
Reader:
- Scaffold +
Imageable+Boundable(51587e9) Xformable+xformOpOrderevaluator (3860f8f)- Intrinsic shape readers (6865d5b)
Camerareader (78cc036)Mesh+GeomSubset+Primvars(d23e9a5)- Curves + patch + points + tetmesh (3f946d0)
PointInstancer(a71a71a)NurbsPatchuForm+vForm(a5150a4)- Expose
NurbsCurves.pointWeightsfor rational curves (1b37e98) - Typed mesh subdiv tags with Pixar spec defaults (e3bd6e1)
Authoring:
- Scaffold authoring +
Imageable+Boundable(b3ee697) Xformable+xformOpOrderauthoring (c6c8dc6)- Intrinsic shapes +
Xform+Scope(7ed7a1c) Mesh+GeomSubset+ primvars authoring (abcca2c)Cameraauthoring (dac19bf)- Curves + points + tetmesh + instancer + roundtrip (2e0eb0d)
Fixes:
Camera.fStopdefault0.0per Pixar schema (a1857a6)- Correct Hermite tangents and primvar interpolation defaults (05c5c22)
- Prefer
orientationsfoverorientationsonPointInstancer(47ccdfc) - Accept list-op authored
PointInstancer.inactiveIds(f4f7393) find_geom_primsonly counts token-typed imageable opinions (f34d933)- Align ancestor walks in
compute_visibility/compute_purpose(f66e272) - Preserve
f64precision through xform and camera readers (11dacfd) - Reject out-of-range
elementSizeinstead of silently wrapping (1eded92) Plane.double_sideddefaults totrue(1b767a9)- Preserve xform precision and schema fallbacks (1942faa)
- Author primvar interpolation metadata (1168a6c)
- Drop incorrect
Uniformvariability onGeomSubset.indices(399c552) - Unify
Authorstructs onPrim<'s>(31319ef)
UsdLux schema (reader + authoring, lux feature)
- Add
luxcargo feature (eeea981) UsdLuxschema reader (5f501ef)- Fixture + integration tests (6eadb32)
timeSamples,LightAPIgate, and bucket additions (96809f8)- Align
LightAPIreader with advertised prims (83281df) - Scaffold authoring module +
LightAPI(94ccf1b) - Boundable light authoring (ad3427a)
- Nonboundable light authoring (72b90ce)
DomeLight+DomeLight_1authoring (d3d15ba)ShapingAPI+ShadowAPIauthoring (f57a836)LightListAPI+ full-scene roundtrip test (c211a3f)
UsdSkel schema (reader + authoring + skinning, skel feature)
UsdSkelreader + skinning toolkit (b0e97b3)SkelAnimQuery+ array interp (e491398)- Scaffold authoring module +
SkelRoot(e834862) Skeletonauthoring (6eab66a)SkelAnimationauthoring (f8853cc)BlendShapeauthoring (497b60c)Inbetweenauthoring (a9348ff)SkelBindingAPIauthoring (6f95ebc)- Share
joint_index_mapacross topology and types (f39e2f2) - Use
Path::has_prefixfor subtree filter (87b769e) - Propagate errors from traverse closures (813eed8)
UsdPhysics schema (reader + authoring, physics feature)
UsdPhysicsschema reader module (fa527f4)- Gate physics module behind
physicsfeature flag (34c7647) - Use
Stagehelpers in place of raw field reads (864dc38) - Scaffold authoring module +
PhysicsScene(bad9a9f) RigidBodyAPI+MassAPI(58624bc)CollisionAPI+MeshCollisionAPI+MaterialAPI(21c2628)CollisionGroup+FilteredPairs+ArticulationRoot(f03ac4c)- Joints (base + 5 typed) (74426af)
LimitAPI+DriveAPImulti-apply (a97954d)
Shared infrastructure
v0.3.0
Changelog
0.3.0
This release introduces the PCP composition engine — a ground-up rewrite of the composition module with an arena-based prim index, namespace mapping via MapFunction, and full LIVRPS arc support including relocates. The new StageBuilder API adds support for session layers, variant fallbacks, and composition error callbacks. USDA and USDC parsers also gain broader coverage for time samples, spline attributes, and several metadata fields.
Compliance
New AOUSD Core Spec coverage in this release:
10.3.2.1.1Reference namespace mapping10.3.2.3.1Inherit namespace mapping10.3.2.5.1Variant fallback map10.3.2.6Relocates10.3.2.6.1Relocates namespace mapping10.4LIVERPS strength ordering10.4.1Specializes global weakness10.5Namespace mappings (MapFunction)10.6Composition errors (non-fatal)11.2Session layer
New PCP Composition Engine
- Add
PrimIndexarena-based DAG with LIVRPS strength ordering (3e86045) - Introduce
LayerStackto bundle layers, identifiers, and sublayer stacks (6da01af) - Add
MapFunctionfor namespace mapping across composition arcs (6f12d69) - Implement relocates composition with cycle detection (009ade5, 37e6cba)
- Implement specializes global weakness per spec 10.4.1 (ef8d29f)
- Propagate implied inherits through seed prefix equivalences (7dc1f43)
- Recursive inherits, specializes, and variant arc processing (d7efb57)
- Nested variant resolution and variant-scoped dependency collection (461a350)
- Resolve variant selections across all node paths (73b8d74)
- Default variant selection from first variant in set (3c0f7bd)
- Expand ancestral seeds for reference, payload, inherit, and specialize targets (e5e592d, f127c7f)
- Propagate child specs from parent composition nodes (ae43049)
- Add composition error reporting with
CompositionErrorandDependencyKind(b51efb0, ce2c4b6) - Restructure dependency collection with error callback (d4f664c)
- Canonicalize resolver identifiers (ccbc875)
Stage
- Add
StageBuilderand simplifyStage::open(ce11f1e) - Add session layer support (b3ec6e0)
- Add variant fallback map (
PcpVariantFallbackMap) (40dadfb)
Text Format (USDA)
- Parse time samples, property suffixes, and relationship list ops (27d3488)
- Parse spline attributes (de7ce40)
- Parse relocates (82c6781)
- Support block comments in the tokenizer (c1818ef)
- Accept unrecognized type names and dotless float literals (c0e61c1)
- Accept
instanceableprim metadata (baf363f) - Support
displayNameprim metadata (40e3384) - Allow type name on all prim specifiers (aa6dddf)
- Accept USDA version 1.0.x in magic header (b2ee2b4)
Binary Format (USDC)
- Parse relocates (82c6781)
- Fix bool parsing (f23b856)
- Fix variant path format to use canonical form (0f64de4)
- Fix half-float vector inlined value reading (ebeae8d)
- Fix string array default value read (40d42be)
SDF
- Add
ListOpcomposition withcompose_overandcombine_chain(6a50227) - Add optional serde
Serializefor SDF types (801065b) - Use fixed-size arrays for vec/quat/matrix
Valuevariants (669d9b6) - Separate array semantics from
Typeenum intoTypeInfo(3324408)
Bug Fixes
- Fix relocate node strength ordering in LIVRPS (1f60dbf)
- Fix cross-seed variant slice invalidation (bd5912b)
- Fix
propertyChildrenkey name and emitvariantSetChildren(3768f3f) - Fix several text parser issues found by compliance tests (655da04)
- Skip default and empty field values in text parser (4e195ba)
- Store pseudo-root bare string as comment, not documentation (3deb0a4)
- Fix USDA parser gaps for composition tests (e2c8bb8)
- Fix test on windows (e1e7446)
Performance
- Avoid heap allocation for single-pair
MapFunction(4f1a790) - Extract
Relocatesstruct and eliminate O(n^2) cache cloning (5c26022) - Remove unnecessary clones to reduce allocation pressure (3bb43dc)
Testing
- Add composition compliance tests (63515dd)
- Add text format compliance tests (0fcbbd9)
- Vendor sample implementations for compliance testing (f1d3e9e)
- Use vendored assets instead of duplicate fixtures (eed406e)
Dependencies
- Drop
pastedependency (0a1085c)
v0.2.0
What's Changed in v0.2.0
Composition & Stage API
- Add Stage API with sublayer value resolution (9a214e2)
- Initial resolver and composer implementation (160521f)
- Add PrimIndex types for composition (e026132)
- Add reference and payload arcs to PrimIndex (a90e285)
- Add inherit arcs to PrimIndex (2e12c5b)
- Add variant selection to PrimIndex (452d38a)
- Add specialize arcs to PrimIndex (675a67b)
- Add
ListOp::compose_overfor list-edit composition (82845fd) - Add Path helper methods for composition (62316ec)
- Improve Stage API ergonomics with impl Into (c041881)
- Change AbstractData::get to take &self (59ddda7)
Variable Expressions
- Tokenize var expressions (a62b797)
- Implement expression parser (3641ec6)
- Implement expression evaluator (3bbeb2f)
- Support expressions when loading layers (c2cabfd)
- Add is_expression helper (9379e2a)
USDC (Binary Format)
- Implement remaining ListOps and SDF types (a6515d2)
- Fix reading matrices (00da3bc)
- Cleanup usdc reader (4b1675d)
- Simplify ints decoder (9b4c941)
- Cleanup field API (c1b554e)
USDA (Text Format)
- Parse variantSet (9298d68)
- Parse dictionary (ba17b8b)
- Parse connections/relationships; Matrix support (c643030)
- Fix USDA parser to accept quoted dictionary keys (b8e7943)
- Add dictionary type (d424269)
- Add support for dictionaries in pseudo-root metadata and relationship specs (ad6c4bf)
- Implement prim metadata support (cafae42)
- Rewrite tokenizer (bc35999)
- Parse sublayers (f2d8dea)
- Improve error reporting for USDA parser (432dd0a)
USDZ (Archive Format)
- Initial usdz file format support (ba23a1d)
API Improvements
- Replace FromValue with TryFrom (8b71b48)
- Remove get_ prefix (ba88f4d)
- Rework ref parser (a96ea82)
- Add TextReader helpers for child and attribute access (05c95ca)
- Add FromValue trait for type-safe value conversion (09a6166)
- Derive Clone for sdf::Spec and TextReader (dbd5ef5)
- Make TextReader::data public for external composition (7df6e33)
- Support internal path references in parse_reference (160f6e0)
- Support int64[], add test to read expressionVariables field (61ea225)
Dependencies
- Update
ziprequirement from2.2.2to8.2.0 - Update lz4_flex requirement from 0.11.1 to 0.13.0
- Update strum requirement from 0.27.2 to 0.28.0
- Update logos requirement from 0.15.0 to 0.16.0
- Bump codecov/codecov-action from 4 to 6
- Bump actions/checkout from 4 to 6
- Bump Rust toolchain to 1.89
v0.1.4
Changes
- Fix cargo publish (d9eb393)
- Update publish script (ee9c3a3)
- Bump EmbarkStudios/cargo-deny-action from 1 to 2 (#7) (624462a)
- Update OS list to latest (092d08f)
- Format project files (8ab5481)
- Add Claude CI action (f583a07)
- Fix cargo deny (a42621e)
- Fix clippy (70ccd31)
- Update Rust to 1.88 (3824dc0)
- Add CLAUDE.md (f590e16)
- Parse layer offsets (6455059)
- Refactor array parsing (81d0661)
- Fix string array parser (0f95f02)
- Use field keys instead of strings (f9cd11e)
- Add codecov targets for patches (8d07aac)
- Minor comment fixes (07b6739)
- Align value types with binary reader (3652450)
- Parse attributes (ab83ef0)
- Update dump USDC example (9819514)
- Initial text parser implementation (8b032bc)
- Add dependencies badge (6e72b2e)
- Merge pull request #6 from mxpv/dependabot/cargo/strum-0.26.2 (46e6332)
- Merge pull request #4 from mxpv/dependabot/github_actions/codecov/codecov-action-4 (47b9e90)
- Merge pull request #5 from mxpv/dependabot/github_actions/actions/checkout-4 (765463a)
- Remove token lifetime (b82157f)
- Make tokenizer iterable (94bd1fa)
- Update strum requirement from 0.25.0 to 0.26.2 (53e0ac8)
- Bump actions/checkout from 3 to 4 (2464c02)
- Bump codecov/codecov-action from 3 to 4 (7e0af95)
- Increase codecov threshold to 15% (f1bf153)
- Add dependabot (6a1f08a)
- Add field and children keys (2b22c24)
- Consolidate usdc modules (051bee2)
- Move version to layout (220170e)
- Implement tokenizer (3a860e5)
- Update toolchain (0c05e01)
- Read quats, uchar, and bool (c2efe31)
- Decode 64 bit integers (support int64 and uint64 arrays (2f85401)
- Read compressed floats (half, float, double) (da4bd6f)
v0.1.3
v0.1.2
What's Changed
- 6ea5378 Read payloads
- dd12cd2 Read references
- 3a66b86 Support connections
- eea2d89 Read variants
- 83c6047 Safer section reader
- 6b854fd Read sublayers
- 5470305 Update coverage requirements
- a64f2e7 Parse values on demand
- 5f67d9e Add coverage badge
- 7788145 Rename Variant to Value
- 6b4ece6 Read dictionary types
- a0ff4d9 Read vector and matrix types
- 53e4349 Read basic array (ints, uints, Vec3, tokens)
- d0642f5 Fix index of range when reading compressed paths
- afe87dc Add cargo deny
Full Changelog: v0.1.1...v0.1.2