Skip to content

API not ported: serialization (tree, height field, compound, ids), worker count at run time, colour counts, SIMD width, max manifold points, shape def names #148

Closed

Description

@nicolas-maman

From the audit of the reference's tests (e77352c): API the reference has and its tests exercise, not in the port. Recording, the name cache and the hull database are tracked separately.

Serialization:

  • the dynamic tree's save and load (TreeSaveLoadRoundtrip)
  • the height field's dump to a file and load (FileRoundtrip)
  • the compound's serialize and deserialize (CompoundSerializeRoundtrip, SerializeBadVersion, SerializeWrongByteCount)
  • body, shape and joint ids stored to a 64-bit value and loaded back (IdTest)

The world at run time:

  • world_set_worker_count and world_get_worker_count (TestSetWorkerCount)
  • the per-colour contact counts in Counters (TestOverflowColorPile reads colorCounts[overflow])
  • the SIMD width chosen at run time, where the reference forces 4 or 8 in one process (SIMDWidthTest); here it is a build choice (-mavx2) and solver.set_wide_contacts
  • get_max_manifold_points (MaxPointCountTest)
  • a name on ShapeDef, with the reference's truncation (ShapeNameTest)

Each should land with its reference subtest.

Activity

  1. nicolas-maman commented on Oct 9, 2026

    @nicolas-maman
    CollaboratorAuthor

    #154 added: set_worker_count/get_worker_count (between steps, clamped; a host's scheduler keeps its count), Counters.color_counts, get_max_manifold_points, a name on BodyDef and ShapeDef, and the 64-bit id store/load. Left: serialization (the dynamic tree's save and load, the height field's dump and load, the compound's serialize with its version and byte-count checks) and a run-time SIMD width (ours is the build's: std.lanes compiles one width per program; the golden trace is checked on both builds instead).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions