port map: classes-10 line refs that drifted and a duplicate check that exists

Two SubShape rows pointed at face.rs lines that no longer hold the clamp and
the occupancy copy (calculate_face was restructured), and
LevelChunkTicks.scheduleUnchecked said its port was a push with no duplicate
check while ChunkTicks::schedule refuses a repeat through positions.insert;
the unchecked push vanilla unpacks with is ChunkTicks::unpack.

Verdicts and citations are unchanged; only the notes move.
This commit is contained in:
MSedgeMC committed 2026-11-02 11:02:55 +00:00
1 parent 185ebe0a68
commit adb8f08038
1 file changed
+3 -3
+3 -3
View File
@@ -1,6 +1,6 @@
SubShape.clampToShape inline crates/horizon-core/src/geometry/shape/face.rs::VoxelShape::calculate_face clamps the parent's discrete extrema to the slice (face.rs:43-46)
SubShape.clampToShape inline crates/horizon-core/src/geometry/shape/face.rs::VoxelShape::calculate_face clamps the parent's discrete extrema to the slice (face.rs:61-64)
SubShape.fill skip:other write path on a read-only slice; vanilla calls fill only on fresh BitSetDiscreteVoxelShape (Shapes.java:25, DiscreteVoxelShape.java:43), never on a SubShape; Horizon shapes are immutable
SubShape.isFull inline crates/horizon-core/src/geometry/shape/face.rs::VoxelShape::calculate_face slice occupancy is copied from the parent plane when the face is built (face.rs:61-68)
SubShape.isFull inline crates/horizon-core/src/geometry/shape/face.rs::VoxelShape::calculate_face slice occupancy is copied from the parent plane when the face is built (face.rs:78-86)
PlayerScores.getOrCreate port crates/horizon-client-core/src/scoreboard.rs::Scoreboard::score_mut creates the score and tracks the holder (holder_order.insert)
PlayerScores.listScores port crates/horizon-client-core/src/scoreboard.rs::Scoreboard::holder_scores one holder's (objective, value) pairs
ScoreboardSaveData.setData inline crates/horizon-client/src/game/scoreboard.rs::Game::save_scoreboard gap: minor: no in-memory save-data copy and no equality/dirty check; the file is rewritten from board.pack() on each save
@@ -8,7 +8,7 @@ LevelChunkTicks.count port crates/horizon-core/src/ticks/mod.rs::ChunkTicks::cou
LevelChunkTicks.pack port crates/horizon-core/src/ticks/mod.rs::ChunkTicks::pack
LevelChunkTicks.poll port crates/horizon-core/src/ticks/mod.rs::ChunkTicks::poll
LevelChunkTicks.removeIf port crates/horizon-core/src/ticks/mod.rs::ChunkTicks::remove_if
LevelChunkTicks.scheduleUnchecked inline crates/horizon-core/src/ticks/mod.rs::ChunkTicks::schedule gap: minor: push only, no duplicate check (the unpack path is in ChunkTicks::unpack); the onTickAdded deadline update is in LevelTicks::schedule
LevelChunkTicks.scheduleUnchecked inline crates/horizon-core/src/ticks/mod.rs::ChunkTicks::schedule ChunkTicks::schedule is the checking path: first schedule wins for a kind and position and a repeat is refused (positions.insert); the unchecked push vanilla does when unpacking is ChunkTicks::unpack. The onTickAdded deadline update is in LevelTicks::schedule
LevelChunkTicks.unpack port crates/horizon-core/src/ticks/mod.rs::ChunkTicks::unpack gap: minor: the deadline refresh is in LevelTicks::unpack_chunk
AttributeTrack.bakeSampler inline crates/horizon-client-render/src/environment.rs::Environment::load_dimension gap: minor: builds the day timeline's tracks only (keyframes, easing, multiply); the clock holder is implicit
AttributeTrack.createCodec skip:java codec; Horizon parses the timeline JSON in Environment::load_dimension and patrol.rs GameplayAttributes::load
1 SubShape.clampToShape inline crates/horizon-core/src/geometry/shape/face.rs::VoxelShape::calculate_face clamps the parent's discrete extrema to the slice (face.rs:43-46) clamps the parent's discrete extrema to the slice (face.rs:61-64)
2 SubShape.fill skip:other write path on a read-only slice; vanilla calls fill only on fresh BitSetDiscreteVoxelShape (Shapes.java:25, DiscreteVoxelShape.java:43), never on a SubShape; Horizon shapes are immutable
3 SubShape.isFull inline crates/horizon-core/src/geometry/shape/face.rs::VoxelShape::calculate_face slice occupancy is copied from the parent plane when the face is built (face.rs:61-68) slice occupancy is copied from the parent plane when the face is built (face.rs:78-86)
4 PlayerScores.getOrCreate port crates/horizon-client-core/src/scoreboard.rs::Scoreboard::score_mut creates the score and tracks the holder (holder_order.insert)
5 PlayerScores.listScores port crates/horizon-client-core/src/scoreboard.rs::Scoreboard::holder_scores one holder's (objective, value) pairs
6 ScoreboardSaveData.setData inline crates/horizon-client/src/game/scoreboard.rs::Game::save_scoreboard gap: minor: no in-memory save-data copy and no equality/dirty check; the file is rewritten from board.pack() on each save
8 LevelChunkTicks.pack port crates/horizon-core/src/ticks/mod.rs::ChunkTicks::pack
9 LevelChunkTicks.poll port crates/horizon-core/src/ticks/mod.rs::ChunkTicks::poll
10 LevelChunkTicks.removeIf port crates/horizon-core/src/ticks/mod.rs::ChunkTicks::remove_if
11 LevelChunkTicks.scheduleUnchecked inline crates/horizon-core/src/ticks/mod.rs::ChunkTicks::schedule gap: minor: push only, no duplicate check (the unpack path is in ChunkTicks::unpack); the onTickAdded deadline update is in LevelTicks::schedule ChunkTicks::schedule is the checking path: first schedule wins for a kind and position and a repeat is refused (positions.insert); the unchecked push vanilla does when unpacking is ChunkTicks::unpack. The onTickAdded deadline update is in LevelTicks::schedule
12 LevelChunkTicks.unpack port crates/horizon-core/src/ticks/mod.rs::ChunkTicks::unpack gap: minor: the deadline refresh is in LevelTicks::unpack_chunk
13 AttributeTrack.bakeSampler inline crates/horizon-client-render/src/environment.rs::Environment::load_dimension gap: minor: builds the day timeline's tracks only (keyframes, easing, multiply); the clock holder is implicit
14 AttributeTrack.createCodec skip:java codec; Horizon parses the timeline JSON in Environment::load_dimension and patrol.rs GameplayAttributes::load