From 5d5052ed0d527e740ff45713323b6c81c4d14686 Mon Sep 17 00:00:00 2001 From: Sunrisepeak Date: Sun, 15 Nov 2026 15:39:25 +0900 Subject: [PATCH] mcpplibs.mwrap.recastnavigation 1.6.0.1: the crowd's obstacle avoidance the same on every platform (deterministic trigonometry; the even-count adaptive pattern fixed) --- CHANGELOG.md | 7 ++++++ pkgs/mwrap/recastnavigation.lua | 25 +++++++++++++++++++-- tests/mwrap/recastnavigation-path/mcpp.toml | 4 ++-- 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d7ecfe1..b13c5373 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,13 @@ ### Fixed +- **mcpplibs.mwrap.recastnavigation 1.6.0.1(包装修订 1)。** 群体的避障在每个平台上逐位相同。1.6.0 的 DetourCrowd 避障与 DetourTileCache + 有向盒绕过 Detour 自己的钩子直接调用 C 库的 `cosf`、`sinf`,而钩子本身也转给 libm:glibc、macOS、Windows UCRT 与 emscripten 相差 + 一个 ulp,开启 `DT_CROWD_OBSTACLE_AVOIDANCE` 的群体因平台走到不同位置。三个补丁(`patches/`,预先应用在 `upstream/`, + `documents.json` 记录每个文件在发布包中与打补丁后的校验和):0001 改调 `dtMathCosf`/`dtMathSinf`(值得回馈上游);0002 让钩子和 + Recast 求坡度的 `cosf` 使用 `port/DeterministicMath.cpp`(只用 IEEE 运算,遍历全部 float 实测误差 0.500000001 ulp);0003 修正 + `adaptiveDivs` 为偶数时读取未初始化方向、32 方向 4 圈时写出数组末尾的上游缺陷(上游 issue #496、#798)。消费者测试 + `tests/mwrap/recastnavigation-path` 改用 1.6.0.1。 - **openkal 0.25.3。** 一致性套件是独立的 mtest 项目(`tests/cts/mtest.toml`):引擎在套件目录启动程序并把运行记录存入 `tests/cts/.mtest`。0.25.2 下引擎取仓库根的项目,记录写入根存储,交给运行器(Web 上的 `node`)的程序名按错误的目录解析。 条款与声明无变化(mcpplibs/openkal#68)。 diff --git a/pkgs/mwrap/recastnavigation.lua b/pkgs/mwrap/recastnavigation.lua index 9441e9ca..36549651 100644 --- a/pkgs/mwrap/recastnavigation.lua +++ b/pkgs/mwrap/recastnavigation.lua @@ -1,5 +1,5 @@ --- Immutable upstream-aligned mwrap source release (recastnavigation-m mwrap-1.6.0, the first release of upstream --- 1.6.0); GLOBAL and CN bytes are identical. +-- Immutable upstream-aligned mwrap source releases (recastnavigation-m mwrap-1.6.0, the first release of upstream +-- 1.6.0; mwrap-1.6.0.1, its first revision); GLOBAL and CN bytes are identical. -- -- The wrapper is Apache-2.0; the libraries it vendors and links statically, -- Recast & Detour 1.6.0, are zlib: the package deploys their README and @@ -27,6 +27,13 @@ package = { }, sha256 = "13382f6c751ee5d000987c8e45e3721a4106f928753e004856dc339fbf5daa05", }, + ["1.6.0.1"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/recastnavigation-m/releases/download/mwrap-1.6.0.1/recastnavigation-m-1.6.0.1.tar.gz", + CN = "https://gitcode.com/mcpp-res/mwrap-recastnavigation/releases/download/1.6.0.1/recastnavigation-m-1.6.0.1.tar.gz", + }, + sha256 = "5dd92b25792ea35b10b4a40ddfd772915b67ec648ce5296abe21c30d4da8fbc9", + }, }, macosx = { ["1.6.0"] = { @@ -36,6 +43,13 @@ package = { }, sha256 = "13382f6c751ee5d000987c8e45e3721a4106f928753e004856dc339fbf5daa05", }, + ["1.6.0.1"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/recastnavigation-m/releases/download/mwrap-1.6.0.1/recastnavigation-m-1.6.0.1.tar.gz", + CN = "https://gitcode.com/mcpp-res/mwrap-recastnavigation/releases/download/1.6.0.1/recastnavigation-m-1.6.0.1.tar.gz", + }, + sha256 = "5dd92b25792ea35b10b4a40ddfd772915b67ec648ce5296abe21c30d4da8fbc9", + }, }, windows = { ["1.6.0"] = { @@ -45,6 +59,13 @@ package = { }, sha256 = "13382f6c751ee5d000987c8e45e3721a4106f928753e004856dc339fbf5daa05", }, + ["1.6.0.1"] = { + url = { + GLOBAL = "https://github.com/mcpplibs/recastnavigation-m/releases/download/mwrap-1.6.0.1/recastnavigation-m-1.6.0.1.tar.gz", + CN = "https://gitcode.com/mcpp-res/mwrap-recastnavigation/releases/download/1.6.0.1/recastnavigation-m-1.6.0.1.tar.gz", + }, + sha256 = "5dd92b25792ea35b10b4a40ddfd772915b67ec648ce5296abe21c30d4da8fbc9", + }, }, }, } diff --git a/tests/mwrap/recastnavigation-path/mcpp.toml b/tests/mwrap/recastnavigation-path/mcpp.toml index bc70a5b8..22613add 100644 --- a/tests/mwrap/recastnavigation-path/mcpp.toml +++ b/tests/mwrap/recastnavigation-path/mcpp.toml @@ -1,6 +1,6 @@ [package] name = "recastnavigation-path" -version = "1.6.0" +version = "1.6.0.1" description = "Consume the immutable Recast & Detour wrapper: a navigation mesh built from triangles, a path around a wall, a crowd walked through a doorway; the mesh's bytes and the crowd's places pinned" [indices] @@ -8,7 +8,7 @@ description = "Consume the immutable Recast & Detour wrapper: a navigation mesh # An explicit empty table overrides the legacy workspace redirect. [dependencies] -mcpplibs.mwrap.recastnavigation = "1.6.0" +mcpplibs.mwrap.recastnavigation = "1.6.0.1" # Detour's inline math compiled here too, as the library is built. [build]