Commit Graph

230 Commits

Author SHA1 Message Date
rdbtCVS ef633b252f test: run parity from worktrees and document startup profiles 2026-10-17 02:37:44 +01:00
rdbtCVS 73ac737ccf perf: release startup decode buffers and profile parsing tradeoffs 2026-10-17 02:26:56 +01:00
rdbtCVS cd61e11b56 perf: intern gameplay projection strings and verify resource overrides 2026-10-17 01:42:34 +01:00
rdbtCVS cf837118e9 perf: defer behaviour construction and test fresh resource loads 2026-10-17 01:18:24 +01:00
rdbtCVS a01d47f28f perf: share decoded block facts during client startup 2026-10-17 01:02:09 +01:00
Ludovic Marie cfa6033535 Merge pull request #220 from rdbtCVS/perf/reuse-pack-overlays-20261014
perf: reuse unchanged resource-pack overlays after validation
2026-10-15 07:03:05 +02:00
Ludovic Marie 9b0d8fd7d7 Merge pull request #204 from rdbtCVS/perf/entity-model-document-20261014
perf(client): share parsed entity models across startup batches
2026-10-15 06:58:11 +02:00
rdbtCVS 1295fccd17 perf(client): validate overlay reuse with source stamps and benchmark real packs 2026-10-15 02:19:11 +02:00
rdbtCVS dd5a361a58 bench(client): measure state reuse after slice reader changes 2026-10-15 02:18:30 +02:00
rdbtCVS ded40d60c6 perf(client): reuse parsed model states during preparation 2026-10-15 02:18:30 +02:00
rdbtCVS 5c076ca38f perf(client): parse entity model document once for startup batches 2026-10-15 02:14:04 +02:00
Ludovic Marie b6ee20d0e8 Graphics benchmark results: baseline against 9006566b on the RTX 4080 and lavapipe
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 17:50:18 +02:00
Ludovic Marie c982fadaf5 Graphics benchmark: scripted flights over four scenes at render distances 8/16/32, with CPU and GPU frame times
horizon-ctl gains 'fly' (a constant-speed camera path that replies with the
frame summary); frame summaries add CPU time per frame (waits for the GPU,
display and limiter excluded), per-phase averages and GPU time from timestamp
queries. --offscreen renders into a texture on the discrete GPU so the 4080
can be measured under the headless compositor. Baselines: lavapipe on vscreen
and the RTX 4080 offscreen, seed 1234.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 15:04:23 +02:00
Ludovic Marie 8cdec2c8d9 Tidy the repository now that parity is reached: launcher-first README, docs index, research leftovers removed
Removed (each unreferenced by code, workflows, tests or living docs; no harness
dependency record names any of them, and parity.py --list still finds all 281):
- 22 one-off write-ups of the Java-pack experiments in docs/: adaptive-terrain,
  client-graphics-smoke, compact-headers, core-performance, culling-empty,
  culling-rays, debounce-queue, dispatch-retry, foreground-first,
  graphics-api-comparison, heap-budget, mac-first-test, optimization-plan,
  playable-validation, quad-reuse, server-graphics-context, shader-world-smoke,
  terrain-measurements, terrain-position, terrain-read-wait, tick-membership,
  worker-pacing. Their findings are folded into one paragraph of java-packs.md.
- 24 benchmarks/ observation dumps only those write-ups linked (client graphics,
  culling, queues, heap, Mac Vulkan, shader worlds, software identity, and the
  unlinked rust-core, rust-worldgen-2026-10-05, rust-native-client and
  rust-cuboid-model-decoding runs), plus 12 unlinked files inside kept
  report folders. The scoped-parity reports the living docs cite stay.
- debug/: one server log from a chunk investigation.
- The manual macos-shader-research and macos-vulkan-research workflows.
- tools/logs/latest.log, an empty log committed by accident (now ignored).

Kept: research-lock.json (parity.py, packaging, the launcher and datafix read
it), the Java-pack how-tos (vulkan, collectors, profiling, process-memory,
tick-state) and tools/test_client_graphics.py (ci.yml runs it).

README: leads with what Horizon is and "Download the launcher" (the
launcher-v* releases; the launcher updates itself), then build from source
for developers. Direct game downloads and PLAY.txt steps for players are gone;
the launcher has its own section with two screenshots. The roadmap merges the
known differences, the final checks and the plans after parity, under the
"Roadmap" heading the launcher's What's next page reads. The parity table and
its 100%-of-what-the-harnesses-compare note are unchanged.

docs/README.md indexes what remains: build and run, parity (status and
workflow), world generation, world data and simulation, the old Java track.
Links to the removed pages and README anchors are fixed.

packaging/PLAY.txt now speaks to players who came through the launcher and
points anyone with a bare archive to it, keeping the manual steps short.

The launcher's README link points at main instead of the launcher branch.
.gitignore: tools/logs/ and .DS_Store. No code behaviour changes; the compiler
and clippy flag no unused code and the tree has no stale TODOs.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 14:16:55 +02:00
Ludovic Marie 082cbb4077 Apply pending player attribute callbacks during resident simulation
Refresh scale dimensions and clamp health and absorption after movement, preserving native callback order and queued synchronization. Replay per-reference JVM identities in the scene comparison and cover changing limits, modifiers and low tunnels. Waypoint callbacks remain explicit requests for the future manager runtime.
2026-10-07 18:27:58 +02:00
Ludovic Marie 4e01780255 Validate resident crouching, pose dimensions and ledge backoff
Connect Shift input timing, dry pose fit, movement slowdown and eye height to the resident walking scene. Compare exact evolving state against pinned native client/server methods and record Linux window validation. Full gameplay and release acceptance remain unfinished.
2026-10-07 18:15:56 +02:00
Ludovic Marie 24ce21abee Connect native-validated sprint input to resident movement and hunger 2026-10-07 17:55:29 +02:00
Ludovic Marie ecb3ebfd34 Account for accepted movement distance in resident player hunger 2026-10-07 17:29:13 +02:00
Ludovic Marie 5023f82078 Record interactive hunger recovery validation 2026-10-07 17:16:58 +02:00
Ludovic Marie 3403705c74 Bind resident player hunger, regeneration and starvation to live health 2026-10-07 17:14:57 +02:00
Ludovic Marie c82f0ee8be Apply native-validated landing damage to resident player health 2026-10-07 16:56:23 +02:00
Ludovic Marie 7a0d413b44 Bind player health and combat to live attribute storage 2026-10-07 16:26:45 +02:00
Ludovic Marie 5eb1d61e3a Bind native landing and fall callbacks to the resident player scene 2026-10-07 16:20:23 +02:00
Ludovic Marie 59676c6e84 Connect native-validated player motion to fixed-rate walking controls 2026-10-07 15:45:47 +02:00
Ludovic Marie 40a9f04f42 Preserve attribute state during dry movement ticks 2026-10-07 15:30:41 +02:00
Ludovic Marie 405e174e64 Bind stored player motion to resident chunks and live attributes 2026-10-07 15:15:57 +02:00
Ludovic Marie c109f91cc5 Connect resident client chunks to native-validated world collisions 2026-10-07 14:42:44 +02:00
Ludovic Marie f249a55f35 Synchronize registered effect particles, invisibility and glowing state 2026-10-07 14:19:54 +02:00
Ludovic Marie 4a2fcedbd3 Bind registered attribute refresh to native entity update consequences 2026-10-07 13:51:15 +02:00
Ludovic Marie 794b447b0c Bind live registered attributes to health and hunger calculations 2026-10-07 13:27:16 +02:00
Ludovic Marie 2339ed4ccb Verify live registered attributes against both vanilla JARs 2026-10-07 13:22:28 +02:00
Ludovic Marie b70806176e Preserve attribute query fallback, caches and captured base reset targets 2026-10-07 12:53:20 +02:00
Ludovic Marie 55846d2fc0 Bind entity effect notifications to concrete attribute maps and queues 2026-10-07 12:38:24 +02:00
Ludovic Marie 76b3bdc237 Bind effect modifiers to lazy attribute instances and native dirty queues 2026-10-07 12:23:28 +02:00
Ludovic Marie 6a33b0c148 Match effect attribute templates and permanent modifier callback ordering 2026-10-07 12:07:19 +02:00
Ludovic Marie 11dda868af Validate live object-map entries and callback traversal against vanilla 2026-10-07 11:52:45 +02:00
Ludovic Marie 636f1648f0 Bind attribute refresh to health limits and waypoint update ordering 2026-10-07 11:39:35 +02:00
Ludovic Marie a772a69498 Match effect eligibility and attribute/passenger notification ordering 2026-10-07 11:31:39 +02:00
Ludovic Marie f9d8277b73 Preserve fastutil attribute-set storage and live iterator behavior 2026-10-07 11:19:02 +02:00
Ludovic Marie 05cdc7573a Integrate entity effect ticking, expiration and client particles 2026-10-07 11:09:59 +02:00
Ludovic Marie 32c53db88a Bind consumable effects to shared entity status storage 2026-10-07 11:01:50 +02:00
Ludovic Marie 09f4c72dcb Match active status effect storage and lifecycle notifications 2026-10-07 10:56:23 +02:00
Ludovic Marie 194db0dbb4 Match identity-key hash maps and native map-copy iteration order 2026-10-07 10:43:55 +02:00
Ludovic Marie aad69bc4f3 Match status effect countdown, hidden restoration and client blending 2026-10-07 10:32:07 +02:00
Ludovic Marie 9bb87815a1 Match random teleport consumable attempts and success effects 2026-10-07 10:23:21 +02:00
Ludovic Marie 63e687f610 Implement status and sound consume effects with native instance copies 2026-10-07 10:16:26 +02:00
Ludovic Marie 31261290a6 Add shared status effect instances and native hidden-chain updates 2026-10-07 10:08:55 +02:00
Ludovic Marie 85923d20af Compose consumable start and completion with food and particle behavior 2026-10-07 09:58:37 +02:00
Ludovic Marie 9c14d22bc9 Compose consumable timing and sounds with native eating particles 2026-10-07 09:53:21 +02:00
Ludovic Marie faaa25cd1b Match eating particle snapshots and native random draw ordering 2026-10-07 09:49:49 +02:00