Repository navigation
SCAPI Skyline Project v0.1.152
SCAPI Skyline Project v0.1.152
[v0.1.152] - 2026-09-29
第一百五十六版:门禁的两项 SKIP 收口 —— 把"赌玩家脚下正好有壳"改成锚到壳仓里真实存在的立方体。
相对 v0.1.151 的变更:
1. 新只读探针 skyline.NearestShellCube(s)
SkylineCubeShellStore.NearestShellCubes(x,y,z,count):只读遍历 m_entries 的键,
按到给定世界坐标的距离排序,返回最近 N 个确实带壳(Shell 或 VoxelShell 非空)的立方体。
NearestShellCube(...) 是 count=1 的便捷形式。
2. 门禁两项从"随现场漂移"变成"锚点稳定"
shell-mesh-tiers 与 shell-column 原来只看玩家所在立方体(玩家一换地方就 SKIP,
审计在 to-cc/…072442Z-0001#2 里点名)。现在:
shell-mesh-tiers:锚到NearestShellCube返回的最近有壳立方体;shell-column:依次试NearestShellCubes(count=12)的前若干个候选,直到找到"列上真读到壳"的那个
(网格壳与"列上有壳"不是一回事——实测第 3 个候选才命中)。
3. 结果:门禁 PASS 24 / FAIL 0 / SKIP 0
[PASS] shell-mesh-tiers 锚点=壳仓最近有壳立方体 [3231,6,2134](距玩家 16 m;检查 12882/12882)
[PASS] shell-column 锚点=第 3 个有壳候选中"列上真读到壳"的 [3230,6,2129];
shell=SnowBlock#61 terrain=SnowBlock#61(替换口径 want#62)
[PASS] terrain-storage allocated=452 arrayNonEmpty=452 duplicates=0
一次失败的尝试(如实记录):我先试过"从玩家位置环形搜索"当锚点——在远处测试机位
1694 次探测 / 56 s 仍找不到(那一带根本没走过壳采集),而且把一项拖成 FAIL。
改成"问引擎要最近的有壳立方体"后,两项都在 200 ms 内出结果。
如实边界
- 锚点会随壳仓内容变化(它取的是"当前常驻的最近有壳立方体"),所以判据稳定的前提是
壳仓里有壳;一个壳都没有时仍然 SKIP(并把cubeCount写进说明,便于分辨"没壳"与"代码坏了")。 - 本版只加只读探针与门禁锚点,不改任何运行行为。
相对 v0.1.151:新增只读探针 skyline.NearestShellCube(s)(遍历壳仓 m_entries 键,返回离给定坐标最近的有壳立方体,可要 N 个候选);门禁 shell-mesh-tiers 锚到最近有壳立方体、shell-column 依次试 12 个候选直到找到「列上真读到壳」的(实测第 3 个命中)。全量门禁首次 24 PASS / 0 FAIL / 0 SKIP。另如实记录一次失败尝试:围着玩家环形搜索当锚点在远处测试区 1694 次探测/56 s 仍找不到(那带从没采过壳),改成问引擎后两项都在 200 ms 内。README 9980 字符。