Skip to content

chore: release 1.1.0 - #411

Merged
siracozmen01 merged 2 commits into
mainfrom
release-please--branches--main--components--maul3d
Nov 8, 2026
Merged

siracozmen01 merged 2 commits into
mainfrom
release-please--branches--main--components--maul3d

Conversation

@rawframe-release

@rawframe-release rawframe-release Bot commented Nov 5, 2026 •

Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

1.1.0 (2026-11-05)

Changed

  • 1.1.0 refuses snapshots, tapes and containers from 1.0.x. The
    snapshot keeps format 6, the journal tape format 7 and the replay
    container format 4, but they carry M3_ABI_VERSION, which now names
    1.1, so 1.1.0 refuses a snapshot, tape or container that 1.0.x wrote
    with m3_errorVersion. m3CreateWorld refuses a def from 1.0
    headers the same way: rebuild against the 1.1 headers. The shared
    library's SOVERSION is 1.1.
  • A blast inside a shape pushes its body toward its centre of mass.
    When the blast of m3World_Explode lay inside a shape, its rounding
    included, the body was pushed from the blast toward a point of that
    shape, with the impulse applied there. That point was a sphere's centre,
    the middle of a capsule's segment, or the average of a hull's
    vertices. A lopsided hull, or a body with several shapes, therefore
    spun for no physical reason. A blast exactly at that point pushed
    along the shape's own x axis. Now the push runs from the blast to the
    body's centre of mass, as maul2d's does, so it spins nothing, and a
    blast at the centre of mass itself pushes nothing; the body still
    wakes. m3World_Explode, and a replay of a journaled explosion, can
    give a different velocity to a body one of whose shapes holds the
    blast. A shape the blast is outside of is pushed as before.
    (#418)

Fixed

  • A mesh create no longer takes seconds on a fan. The edge flags a
    mesh bakes on create found each edge's neighbor by scanning every
    triangle around one of its vertices, so a fan of triangles around one
    vertex took time quadratic in its size: about 5.4 s for 65533
    triangles. The bake now takes time linear in the mesh, about 0.025 s
    for the same fan, and gives the same flags byte for byte, so no
    contact or result changes. The same holds for a mesh create that
    m3World_ReplayJournal replays.
    (#413)
  • Restore refuses a voxel chunk whose cells disagree. An occupied
    cell always has a fill of 1 to 255, and an empty cell has fill 0 and
    payload 0. m3World_Restore refused neither an occupied cell with
    fill 0 nor an empty cell with a fill or a payload, and
    m3World_ReplayJournal took the same states from a chunk create
    record. Both now refuse such a chunk with m3_errorFormat, and
    restore leaves the world as it was. No chunk the library writes is
    refused.
    (#409)
  • Restore refuses a wheel direction that is not unit length. A
    vehicle create takes a wheel direction whose squared length lies
    between 0.81 and 1.21 and stores it normalized, but restore took any
    stored direction in that band, so a restored wheel could push along
    a scaled direction. Restore now requires the squared length within
    1e-5 of 1, about 24 times what normalizing leaves, and refuses
    anything else with m3_errorFormat.
    (#415)
  • Restore refuses mesh edge flags the mesh would not bake. A mesh's
    edge flags are derived from its geometry, and contact welding reads
    them, but restore took them as stored. Restore now bakes each mesh's
    flags again and refuses a snapshot whose flags differ, with
    m3_errorFormat, or m3_errorCapacity when it cannot allocate the
    bake's scratch. No snapshot the library writes is refused. On the
    largest mesh the limits allow, 65522 triangles, a restore took about
    26 to 29 ms with the check against 22 ms without it.
    (#416)

This PR was generated with Release Please. See documentation.

@rawframe-release
rawframe-release Bot force-pushed the release-please--branches--main--components--maul3d branch 3 times, most recently from 275fced to a42fbbd Compare November 5, 2026 12:37
@rawframe-release rawframe-release Bot changed the title chore: release 1.0.6 chore: release 1.1.0 Nov 5, 2026
@rawframe-release
rawframe-release Bot force-pushed the release-please--branches--main--components--maul3d branch from a42fbbd to 18fc0e5 Compare November 5, 2026 14:03
@siracozmen01
siracozmen01 marked this pull request as ready for review November 5, 2026 15:43
@siracozmen01
siracozmen01 merged commit d5eb7e2 into main Nov 8, 2026
29 checks passed
@siracozmen01
siracozmen01 deleted the release-please--branches--main--components--maul3d branch November 8, 2026 10:39
@rawframe-release

Copy link
Copy Markdown
Contributor Author

🤖 Created releases:

🌻

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant