Armour HUD layout: lower-right placement, larger exact durability numbers.
Existing saved positions are moved once; subsequent dragging is preserved.

Armour Durability option added, 2026-10-16.
Enable Armour Durability in the client menu. Shows boots, leggings, chestplate
and helmet, actual equipped icons, remaining/max durability, and a small bar.
Armour names are on by default and can be hidden in settings. Scale can be
changed there; move the display with the existing HUD edit mode.
Build, arithmetic/eligibility regression tests and source review passed.
Actual equipment rendering and positioning still require in-game acceptance.
Existing custom plant texture switching issue remains unresolved.
Local test: guarded incremental block-atlas rebind, Bedrock 26.52.

The previous recovery pair rebuilt meshes using unchanged block mappings.
This candidate calls the verified native incremental atlas-rebind routine
with the live resource provider and Level registry context, before requesting
the existing camera/actor/dirty recovery. No global registry destructor is used.

Activate in a fresh Minecraft process at the main menu, before entering a world.
Eligibility is captured once after native hooks become active. An initialized
block registry, failed reads, or unknown reader observations reject supplemental
rebinding. Returning to the menu later cannot make an old process eligible.

All identified builder routes hold a shared reader scope for the complete
six-argument native build. Unknown off-thread lookups latch unsafe under that
scope. Rebinding takes exclusive ownership without blocking the game thread;
busy readers are retried for at most three seconds. Exact provider/getter
interfaces, native resource readiness, game/Level ownership, and thread
identity are checked. Exclusive ownership ends before actor/dirty scheduling.
A settings composition authorizes one world-owned supplemental refresh.

This covers the identified builders and rejects observed unknown readers;
it is not an exhaustive native-worker fence. Writer-reader recursion fails
the safety assumption and disables future supplemental rebinding. Counts add
diagnostic overhead. Successful native calls do not prove correct textures.

Reference: https://github.com/flarialmc/dll-oss/blob/main/src/Client/Module/Modules/Misc/PackChanger/PackChanger.hpp
The published camera-reset then actor-resume order replaces the actor-only
supplemental recovery. Camera slot 4 must match the exact verified native
function before invocation. World identity is rechecked between the calls.
Camera entry/completion and actor readiness are recorded separately.
Two eligible native start-frame boundaries delay the pair after finalization;
the delay is cleared on cancellation, Off, or world transition.

This is a version-adapted recovery pair, not a verbatim restoration of the
legacy rendering/visibility cancellation hooks or branch patches. The native
camera operation replaces shared storage using native ownership and locking;
we do not claim worker drainage. No global resource destructor is called.
A true actor-stage return or camera completion is not texture acceptance.
Accepted Sneak files are unchanged. Public download remains unchanged.

Run Start Client.bat from Minecraft Client - Latest. Start a fresh game, click
Turn on at the main menu, then enter a world. Change two visible packs without
disconnecting. Report block textures and leave Minecraft open for verification.

Plant mesh cache candidate (2026-10-13): confirmed failing/fixed texture
mapping snapshots match after excluding padding. After a supplemental atlas
rebind, invalidate the verified tessellator mesh cache before its next lookup,
using Minecraft's own mesh destructor and node deallocator. Validate the entire
list and bucket array first; reject malformed layouts. Native nine-argument
lookup is always forwarded. Counters track refreshes, released entries and
rejections. Focused policy tests and native build passed. Plant correctness
still requires in-game testing with Zea private. Public download unchanged.

Correction: first plant candidate did not reach the active terrain cache.
New candidate uses block-ID mesh lookup 0x60C4E90 and native cleanup 0x60CFB30
for cache+0x630. Three native arguments and mesh pointer return preserved.
Validate bounded circular list/buckets before native cleanup. Previous manual
cache+0x670 eviction hook is removed. Physical plant texture test pending.

Shader texture-selector candidate: prior snapshots omitted UV selector +0x5C.
Matching failure/rejoin records have identical coordinates/paths but different
selectors. Call verified native Game routine 0x7F0130 after guarded rebind:
Game+1428 item atlas with true, then Game+1430 terrain atlas with false.
Both atlases must share the active bounded parameter pool. Native routine
marks the shader table dirty; native startFrame performs its usual upload.
Counters record refreshes/skips/dirty signals. Unused mesh-cache hooks removed.
Focused guard tests passed. In-game correctness is still pending.

Auto Requeue update: post-match wait reduced from 2 seconds to 100 ms.
Existing duplicate suppression, mode/session checks and shared command cooldown
are unchanged. Regression checks passed at 99/100 ms and for duplicate/rate
limits. User paused texture debugging; latest selector candidate did not fix
plant textures. No additional texture changes are included in this update.

Immediate Auto Requeue: no deliberate post-match delay remains. The request
is eligible immediately and sent on the next local-player game tick, subject
to the existing shared command cooldown. Duplicate/session protections remain.
Focused timing and cooldown regression checks passed. Texture work is paused.


