Commit Graph
1549 Commits
Author SHA1 Message Date
pkuzicandGPT-5.6 Sol (Codex) 9429d506d9 MONKEY (lampfog): add options and visual proofs
Co-Authored-By: GPT-5.6 Sol (Codex)
2026-09-25 16:01:28 +01:00
pkuzicandGPT-5.6 Sol (Codex) b96b9deb59 MONKEY (lampfog): scatter resolved lamps through fog
Co-Authored-By: GPT-5.6 Sol (Codex)
2026-09-25 16:01:14 +01:00
pkuzicandGPT-5.6 Sol (Codex) 4456da5aac MONKEY (lampfog): scatter resolved lamps through fog
Co-Authored-By: GPT-5.6 Sol (Codex)
2026-09-25 16:01:14 +01:00
pkuzicandGPT-5.6 Sol (Codex) d601f97a7d MONKEY (integration): keep one WarcraftXL credit table
Remove merge-time blank separators so the water, post, sky, and wind attribution rows remain in the single required table.

Co-Authored-By: GPT-5.6 Sol (Codex)
2026-09-25 15:55:20 +01:00
pkuzicandGPT-5.6 Sol (Codex) bfd10f81fd MONKEY (integration): keep one WarcraftXL credit table
Remove merge-time blank separators so the water, post, sky, and wind attribution rows remain in the single required table.

Co-Authored-By: GPT-5.6 Sol (Codex)
2026-09-25 15:55:20 +01:00
pkuzicandGPT-5.6 Sol (Codex) c94f28996f MONKEY (integration): restore the verified wind framing
The wind lane's unverified closer handoff coordinates put the capture camera inside a Goldshire building. Restore the open-grass coordinates used by the lane's successful before/after captures.

Co-Authored-By: GPT-5.6 Sol (Codex)
2026-09-25 15:44:54 +01:00
pkuzicandGPT-5.6 Sol (Codex) 66054f24fd MONKEY (integration): restore the verified wind framing
The wind lane's unverified closer handoff coordinates put the capture camera inside a Goldshire building. Restore the open-grass coordinates used by the lane's successful before/after captures.

Co-Authored-By: GPT-5.6 Sol (Codex)
2026-09-25 15:44:54 +01:00
Sam SungandClaude Opus 5.5 2accb2489a Comments in benilla-app, capture, sound, net, spells and portraits: one line of fact each, no history, no record numbers (#345)
Part of #41: the fourth of five `benilla-app` pieces. This one is capture and its probes, sound, the network layer and remote movement, spells, and portraits. Their comments are rewritten to the rule in `docs/METHOD.md`, which is what the code does and the reference fact behind it, in a line. 23,383 comment lines become 9,669.

Fixes #35. Fixes #110. Fixes #111.

- **The mechanical strip.** The citations that were only a private record number go first, and each edit is shown to be a pure removal.
- **Wrong facts corrected.** The rewrite corrects the comments that stated wrong facts. Among them:
  - The probes' run blocks pointed at tooling outside this repository; each now points at `docs/CONTRIBUTING.md`, "Running it unattended". The protocol examples show placeholders for an account's password.
  - The dismount kit's name-match string is `SpiritWolf (DONOTRENAME)` (`0x8627bc`); the stun and jump-start vocals are never dispatched, and jump-end finds no kit in the shipped data.
  - The cast bar's flash and fade step once per `OnUpdate` (`CastingBarFrame.lua:132-147`); there is no 30 Hz normalisation.
  - vmangos sends the OK cast result before the GO (`Spell.cpp:3681`, `:3715`), and a creature can levitate from a script (`boss_onyxia.cpp:679`).
  - A live unit whose model is not ready has a blank portrait in the reference (`0x519fcc`); the stand-in path is for a unit with no object.
  - Docs sitting on the wrong item, removed names, and vmangos line citations checked against the pinned revision.
- **Deviation labels.** "Deviation:" now marks only a choice with a reason. An unbuilt behaviour, or one whose reference side is untraced, says so plainly.
- **Verification.** Every file strips to identical code, apart from two test literals in `net.rs` that now use placeholder account names, and `cargo fmt --check` is clean. Six second readers compared every file old against new, restored the facts the rewrite had dropped, and checked each new citation against the code, the stock files, vmangos and the reference.

Behaviour differences the rewrite surfaced are filed as their own issues (#319, #324, #329, #330 and #331 among them). String literals are untouched; they are #92.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 21:00:07 +07:00
Sam SungandClaude Opus 5.5 b7a7f88f6b Comments in benilla-app, capture, sound, net, spells and portraits: one line of fact each, no history, no record numbers (#345)
Part of #41: the fourth of five `benilla-app` pieces. This one is capture and its probes, sound, the network layer and remote movement, spells, and portraits. Their comments are rewritten to the rule in `docs/METHOD.md`, which is what the code does and the reference fact behind it, in a line. 23,383 comment lines become 9,669.

Fixes #35. Fixes #110. Fixes #111.

- **The mechanical strip.** The citations that were only a private record number go first, and each edit is shown to be a pure removal.
- **Wrong facts corrected.** The rewrite corrects the comments that stated wrong facts. Among them:
  - The probes' run blocks pointed at tooling outside this repository; each now points at `docs/CONTRIBUTING.md`, "Running it unattended". The protocol examples show placeholders for an account's password.
  - The dismount kit's name-match string is `SpiritWolf (DONOTRENAME)` (`0x8627bc`); the stun and jump-start vocals are never dispatched, and jump-end finds no kit in the shipped data.
  - The cast bar's flash and fade step once per `OnUpdate` (`CastingBarFrame.lua:132-147`); there is no 30 Hz normalisation.
  - vmangos sends the OK cast result before the GO (`Spell.cpp:3681`, `:3715`), and a creature can levitate from a script (`boss_onyxia.cpp:679`).
  - A live unit whose model is not ready has a blank portrait in the reference (`0x519fcc`); the stand-in path is for a unit with no object.
  - Docs sitting on the wrong item, removed names, and vmangos line citations checked against the pinned revision.
- **Deviation labels.** "Deviation:" now marks only a choice with a reason. An unbuilt behaviour, or one whose reference side is untraced, says so plainly.
- **Verification.** Every file strips to identical code, apart from two test literals in `net.rs` that now use placeholder account names, and `cargo fmt --check` is clean. Six second readers compared every file old against new, restored the facts the rewrite had dropped, and checked each new citation against the code, the stock files, vmangos and the reference.

Behaviour differences the rewrite surfaced are filed as their own issues (#319, #324, #329, #330 and #331 among them). String literals are untouched; they are #92.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 21:00:07 +07:00
pkuzicandGPT-5.6 Sol (Codex) 1fc96cbf03 MONKEY (integration): account for cloud lighting ordering
The cloud FX reader is registered from CloudsPlugin in LightingConsumeSet, outside the source file inspected by the ordering census. Record that cross-file registration explicitly.

Co-Authored-By: GPT-5.6 Sol (Codex)
2026-09-25 14:47:49 +01:00
pkuzicandGPT-5.6 Sol (Codex) f14865bfd0 MONKEY (integration): account for cloud lighting ordering
The cloud FX reader is registered from CloudsPlugin in LightingConsumeSet, outside the source file inspected by the ordering census. Record that cross-file registration explicitly.

Co-Authored-By: GPT-5.6 Sol (Codex)
2026-09-25 14:47:49 +01:00
pkuzicandGPT-5.6 Sol (Codex) e96e1a5f52 MONKEY (integration): legalize composable WGSL identifiers
Naga Oil treats a trailing digit as an invalid composable-module identifier. Rename the remaining sky, water, and shadow helpers and locals without changing their calculations.

Co-Authored-By: GPT-5.6 Sol (Codex)
2026-09-25 14:47:33 +01:00
pkuzicandGPT-5.6 Sol (Codex) 827b8ab8b9 MONKEY (integration): legalize composable WGSL identifiers
Naga Oil treats a trailing digit as an invalid composable-module identifier. Rename the remaining sky, water, and shadow helpers and locals without changing their calculations.

Co-Authored-By: GPT-5.6 Sol (Codex)
2026-09-25 14:47:33 +01:00
Sam SungandClaude Opus 5.5 0fe1ea87b9 Tests, examples and run lines use placeholder credentials (#332)
Test fixtures pass "player"/"secret"; the run lines in `.cargo/config.toml`, the protocol
examples and the auth and world binaries show placeholders; the SRP probe example takes
--user and --pass instead of defaulting them. Built on macOS.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 20:10:17 +07:00
Sam SungandClaude Opus 5.5 e2baf94be6 Tests, examples and run lines use placeholder credentials (#332)
Test fixtures pass "player"/"secret"; the run lines in `.cargo/config.toml`, the protocol
examples and the auth and world binaries show placeholders; the SRP probe example takes
--user and --pass instead of defaulting them. Built on macOS.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 20:10:17 +07:00
pkuzicandClaude Opus 5.5 41f46087e2 MONKEY (ao): AO options test writes High first (default is Off); reframe ao-character
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 14:04:54 +01:00
pkuzicandClaude Opus 5.5 5fee774201 MONKEY (ao): AO options test writes High first (default is Off); reframe ao-character
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 14:04:54 +01:00
Sam SungandClaude Opus 5.5 d8f4f31ea1 Comments in benilla-app, the player, entities, animation and targeting: one line of fact each, no history, no record numbers (#328)
Part of #41: the third of five `benilla-app` pieces. This one is the player, the entities, animation and targeting: the mover, the camera, movement on the wire, the body and creature animation drivers, spell visuals, equipment and corpses, and the target, cursor and by-name layers. Their comments are rewritten to the rule in `docs/METHOD.md`, which is what the code does and the reference fact behind it, in a line. 26,066 comment lines become 9,042.

Fixes #104. Fixes #108. Fixes #109.

- **The mechanical strip.** The citations that were only a private record number go first, and each edit is shown to be a pure removal.
- **Wrong facts corrected.** The rewrite corrects the comments that stated wrong facts. Among them:
  - The follow gate's `0x606ba0` is `CanCooperate` (a faction-group-mask test), not `CanAssist` (`0x6066f0`).
  - The facing report is sent from the move-command drain (`0x615fc6`); `0x617100`/`0x617170` are the transport-GUID heartbeat.
  - vmangos turns a corpse into bones under the corpse's own guid (`Map.cpp:3608-3649`), and the bones get new flags and zeroed item slots.
  - Two claims about the item models are refuted by the shipped data: not every helm stem ships all sixteen race and sex files, and some item emitters sit under a keyed billboard chain.
  - Docs sitting on the wrong item, stale function names, and disassembler labels, which become client addresses.
  - vmangos line citations are checked against the pinned vmangos revision.
- **Deviation labels.** "Deviation:" now marks only a choice with a reason. An unbuilt behaviour, or one whose reference side is untraced, says so plainly.
- **Verification.** Every file strips to identical code, and `cargo fmt --check` is clean. Six second readers compared every file old against new, restored the facts the rewrite had dropped, and checked each new citation against the code, the shipped data, vmangos and the reference.

Behaviour differences the rewrite surfaced are filed as their own issues (#293, #294, #301, #308, #316 and #317 among them). The comments here state what the code does. String literals are untouched; they are #92.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 19:06:42 +07:00
Sam SungandClaude Opus 5.5 9c9badf131 Comments in benilla-app, the player, entities, animation and targeting: one line of fact each, no history, no record numbers (#328)
Part of #41: the third of five `benilla-app` pieces. This one is the player, the entities, animation and targeting: the mover, the camera, movement on the wire, the body and creature animation drivers, spell visuals, equipment and corpses, and the target, cursor and by-name layers. Their comments are rewritten to the rule in `docs/METHOD.md`, which is what the code does and the reference fact behind it, in a line. 26,066 comment lines become 9,042.

Fixes #104. Fixes #108. Fixes #109.

- **The mechanical strip.** The citations that were only a private record number go first, and each edit is shown to be a pure removal.
- **Wrong facts corrected.** The rewrite corrects the comments that stated wrong facts. Among them:
  - The follow gate's `0x606ba0` is `CanCooperate` (a faction-group-mask test), not `CanAssist` (`0x6066f0`).
  - The facing report is sent from the move-command drain (`0x615fc6`); `0x617100`/`0x617170` are the transport-GUID heartbeat.
  - vmangos turns a corpse into bones under the corpse's own guid (`Map.cpp:3608-3649`), and the bones get new flags and zeroed item slots.
  - Two claims about the item models are refuted by the shipped data: not every helm stem ships all sixteen race and sex files, and some item emitters sit under a keyed billboard chain.
  - Docs sitting on the wrong item, stale function names, and disassembler labels, which become client addresses.
  - vmangos line citations are checked against the pinned vmangos revision.
- **Deviation labels.** "Deviation:" now marks only a choice with a reason. An unbuilt behaviour, or one whose reference side is untraced, says so plainly.
- **Verification.** Every file strips to identical code, and `cargo fmt --check` is clean. Six second readers compared every file old against new, restored the facts the rewrite had dropped, and checked each new citation against the code, the shipped data, vmangos and the reference.

Behaviour differences the rewrite surfaced are filed as their own issues (#293, #294, #301, #308, #316 and #317 among them). The comments here state what the code does. String literals are untouched; they are #92.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 19:06:42 +07:00
Sam SungandClaude Opus 5.5 36fc2870bb Five comments state the reference facts right (#318)
- OptionsFrame.xml and options_tests.rs: the stock camera-style dropdown writes "0" for Never
  (UIOptionsFrame.lua:525,536,547), not "3"; the `alt` entry only shows a stored "3" as Never.
- unit/bindings.rs: TargetByName's silent miss is a gap (#52), not a deviation; the reference's
  messages are 0x127 ERR_UNIT_NOT_FOUND and 0xb8 ERR_GENERIC_NO_TARGET.
- fields/unit.rs: the melee reach's 5.0 is a floor (0x6e35bf-0x6e35ce), not a cap.
- tests/nameplate.rs: pfUI's click-through is nameplates.lua:1228.

Comments only; code unchanged. Built on macOS.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 18:47:30 +07:00
Sam SungandClaude Opus 5.5 119df280b5 Five comments state the reference facts right (#318)
- OptionsFrame.xml and options_tests.rs: the stock camera-style dropdown writes "0" for Never
  (UIOptionsFrame.lua:525,536,547), not "3"; the `alt` entry only shows a stored "3" as Never.
- unit/bindings.rs: TargetByName's silent miss is a gap (#52), not a deviation; the reference's
  messages are 0x127 ERR_UNIT_NOT_FOUND and 0xb8 ERR_GENERIC_NO_TARGET.
- fields/unit.rs: the melee reach's 5.0 is a floor (0x6e35bf-0x6e35ce), not a cap.
- tests/nameplate.rs: pfUI's click-through is nameplates.lua:1228.

Comments only; code unchanged. Built on macOS.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 18:47:30 +07:00
pkuzicandClaude Opus 5.5 7469caa289 MONKEY (skybox): Stratholme skybox scenario, rig test timing
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 12:31:47 +01:00
pkuzicandClaude Opus 5.5 559341f20b MONKEY (skybox): Stratholme skybox scenario, rig test timing
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 12:31:47 +01:00
pkuzic db23b19a87 Merge gfx/wet into integration
# Conflicts:
#	LIGHTING.md
#	crates/benilla-app/assets/ui/OptionsFrame.xml
#	crates/benilla-app/src/cvars.rs
#	crates/benilla-app/src/monkey_gfx.rs
#	crates/benilla-assets/src/materials.rs
#	crates/benilla-assets/src/shaders/fog_hook.wgsl
#	crates/benilla-assets/src/shaders/monkey_frame.wgsl
#	crates/benilla-world/src/lighting/monkey_frame.rs
#	crates/benilla-world/src/shaders/static_gx.wgsl
2026-09-25 12:06:14 +01:00
pkuzic 9aa819b9ef Merge gfx/wet into integration
# Conflicts:
#	LIGHTING.md
#	crates/benilla-app/assets/ui/OptionsFrame.xml
#	crates/benilla-app/src/cvars.rs
#	crates/benilla-app/src/monkey_gfx.rs
#	crates/benilla-assets/src/materials.rs
#	crates/benilla-assets/src/shaders/fog_hook.wgsl
#	crates/benilla-assets/src/shaders/monkey_frame.wgsl
#	crates/benilla-world/src/lighting/monkey_frame.rs
#	crates/benilla-world/src/shaders/static_gx.wgsl
2026-09-25 12:06:14 +01:00
pkuzic ff046d0a8a Merge gfx/fog into integration
# Conflicts:
#	LIGHTING.md
#	crates/benilla-app/assets/ui/OptionsFrame.xml
#	crates/benilla-app/src/cvars.rs
#	crates/benilla-app/src/monkey_gfx.rs
#	crates/benilla-assets/src/shaders/enhanced_water.wgsl
#	crates/benilla-assets/src/shaders/fog_hook.wgsl
#	crates/benilla-assets/src/shaders/monkey_frame.wgsl
#	crates/benilla-world/src/lighting/monkey_frame.rs
#	crates/benilla-world/src/shaders/sky.wgsl
#	crates/benilla-world/src/sky.rs
2026-09-25 11:59:43 +01:00
pkuzic 91f6656e5a Merge gfx/fog into integration
# Conflicts:
#	LIGHTING.md
#	crates/benilla-app/assets/ui/OptionsFrame.xml
#	crates/benilla-app/src/cvars.rs
#	crates/benilla-app/src/monkey_gfx.rs
#	crates/benilla-assets/src/shaders/enhanced_water.wgsl
#	crates/benilla-assets/src/shaders/fog_hook.wgsl
#	crates/benilla-assets/src/shaders/monkey_frame.wgsl
#	crates/benilla-world/src/lighting/monkey_frame.rs
#	crates/benilla-world/src/shaders/sky.wgsl
#	crates/benilla-world/src/sky.rs
2026-09-25 11:59:43 +01:00
pkuzic 816274419d Merge gfx/wind into integration
# Conflicts:
#	LIGHTING.md
#	THIRD-PARTY.md
#	crates/benilla-app/src/cvars.rs
#	crates/benilla-assets/src/materials.rs
#	crates/benilla-assets/src/shaders/wow_model.wgsl
#	crates/benilla-world/src/shaders/static_gx.wgsl
2026-09-25 11:49:31 +01:00
pkuzic ff444a975f Merge gfx/wind into integration
# Conflicts:
#	LIGHTING.md
#	THIRD-PARTY.md
#	crates/benilla-app/src/cvars.rs
#	crates/benilla-assets/src/materials.rs
#	crates/benilla-assets/src/shaders/wow_model.wgsl
#	crates/benilla-world/src/shaders/static_gx.wgsl
2026-09-25 11:49:31 +01:00
pkuzic df2da452bc Merge gfx/daylight into integration
# Conflicts:
#	LIGHTING.md
#	crates/benilla-app/src/cvars.rs
2026-09-25 11:46:41 +01:00
pkuzic 54485366ad Merge gfx/daylight into integration
# Conflicts:
#	LIGHTING.md
#	crates/benilla-app/src/cvars.rs
2026-09-25 11:46:41 +01:00
pkuzic f2723a4553 Merge gfx/sky into integration
# Conflicts:
#	LIGHTING.md
#	THIRD-PARTY.md
#	crates/benilla-app/assets/ui/OptionsFrame.xml
#	crates/benilla-app/src/capture/scenarios.rs
#	crates/benilla-app/src/cvars.rs
#	crates/benilla-app/src/game_plugins.rs
#	crates/benilla-app/src/lib.rs
#	crates/benilla-app/src/video.rs
2026-09-25 11:45:19 +01:00
pkuzic c9d8543a69 Merge gfx/sky into integration
# Conflicts:
#	LIGHTING.md
#	THIRD-PARTY.md
#	crates/benilla-app/assets/ui/OptionsFrame.xml
#	crates/benilla-app/src/capture/scenarios.rs
#	crates/benilla-app/src/cvars.rs
#	crates/benilla-app/src/game_plugins.rs
#	crates/benilla-app/src/lib.rs
#	crates/benilla-app/src/video.rs
2026-09-25 11:45:19 +01:00
Sam SungandClaude Opus 5.5 409feeaf2a benilla-app ui_script tests: each checks what it claims, no dead probes (#306)
Test health in `benilla-app`'s `ui_script` tests, found while the crate's comments were rewritten. No shipped code changes.

- `every_texture_frame_outranks_its_status_bars` listed `ManaBar` twice, so its floor of 6 counted each mana pair twice. It checks the two bars of each texture frame once now, with a floor of 4.
- `the_unit_frames_publish_every_name_the_reference_declares` exempted the five `PlayerFrameGroupIndicator*` names, which the stock `PlayerFrame.xml` declares and the loader now builds. The exemption hid their loss and is gone.
- Two tests renamed for what they assert: `escape_closes_bag_and_panel_releases_loot_and_keeps_the_held_item` (ESC keeps the held item, as stock `ToggleGameMenu` has no `ClearCursor`) and `in_flight_roll_opens_without_a_name_or_icon`.
- Dead lines out: two `LOOT_UPDATE` fires (not a 1.12 event; nothing registers it), a read of a Lua global nothing sets, and a string table that the real `GlobalStrings.lua`, loaded right after, overwrote.
- Comments on the camera-style dropdown (`OptionsFrame.xml` and its test) now give 1.12's values as the stock dropdown writes them (`UIOptionsFrame.lua:525,536,547`): Smart 1, Always 2, Never 0. They are not a deviation.

The edited tests pass with the install present (82 run, none skipped) before the land gates.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 17:41:21 +07:00
Sam SungandClaude Opus 5.5 60f5999e7b benilla-app ui_script tests: each checks what it claims, no dead probes (#306)
Test health in `benilla-app`'s `ui_script` tests, found while the crate's comments were rewritten. No shipped code changes.

- `every_texture_frame_outranks_its_status_bars` listed `ManaBar` twice, so its floor of 6 counted each mana pair twice. It checks the two bars of each texture frame once now, with a floor of 4.
- `the_unit_frames_publish_every_name_the_reference_declares` exempted the five `PlayerFrameGroupIndicator*` names, which the stock `PlayerFrame.xml` declares and the loader now builds. The exemption hid their loss and is gone.
- Two tests renamed for what they assert: `escape_closes_bag_and_panel_releases_loot_and_keeps_the_held_item` (ESC keeps the held item, as stock `ToggleGameMenu` has no `ClearCursor`) and `in_flight_roll_opens_without_a_name_or_icon`.
- Dead lines out: two `LOOT_UPDATE` fires (not a 1.12 event; nothing registers it), a read of a Lua global nothing sets, and a string table that the real `GlobalStrings.lua`, loaded right after, overwrote.
- Comments on the camera-style dropdown (`OptionsFrame.xml` and its test) now give 1.12's values as the stock dropdown writes them (`UIOptionsFrame.lua:525,536,547`): Smart 1, Always 2, Never 0. They are not a deviation.

The edited tests pass with the install present (82 run, none skipped) before the land gates.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 17:41:21 +07:00
pkuzic 1df700b17a Merge gfx/p0 into integration
# Conflicts:
#	crates/benilla-app/src/capture/scenarios.rs
#	crates/benilla-assets/src/shaders/enhanced_water.wgsl
2026-09-25 11:40:30 +01:00
pkuzic 440b69097f Merge gfx/p0 into integration
# Conflicts:
#	crates/benilla-app/src/capture/scenarios.rs
#	crates/benilla-assets/src/shaders/enhanced_water.wgsl
2026-09-25 11:40:30 +01:00
pkuzicandClaude Opus 5.5 1f4400ad3f MONKEY (wet): cvar test harness inits RainSurfaces for the monkey_gfx observer
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 11:33:47 +01:00
pkuzicandClaude Opus 5.5 2676729b0b MONKEY (wet): cvar test harness inits RainSurfaces for the monkey_gfx observer
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 11:33:47 +01:00
Sam SungandClaude Opus 5.5 256e331582 benilla-ui: unused globals and queues removed, one true/nil helper, three tests that test their claim (#305)
Code health in `benilla-ui`, found while its comments were rewritten. No behaviour a player can see changes.

- **Unused globals and queues removed.**
  - The Rust `ChatFrame_OpenChat` and `ChatFrame_SendTell` queued text that nothing drained. The stock `ChatFrame.lua` defines both globals and replaces them when it loads, as the reference's FrameXML does.
  - `BenillaGetItemStats` had no Lua caller. Its test of the item cache's miss, ask and push now runs through `GetItemInfo`, which shares that path.
  - `UiScript::queue_social_request` had no caller.
- **One true/nil helper.** Seven modules each carried their own copy of `binding_abi::flag`, the reference's `1`-or-nil boolean. They call it now.
- **Three tests test their claim.**
  - `click_focuses_regardless_of_autofocus_…` built both boxes with autoFocus on. One is now off.
  - `level_shift_saturates_at_zero` never saturated. Its child now drops past 0.
  - The layout profiler's `plan` bucket was never set, so it always printed 0. It is gone.
- **Smaller fixes.** An empty `if buyback {}` branch is gone, and a doc comment no longer sits on a `use` line instead of on `install_justify`.

Checked with `cargo clippy -p benilla-ui --all-targets -D warnings` and `cargo test -p benilla-ui` (1513 passed) before the land gates.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 17:26:43 +07:00
Sam SungandClaude Opus 5.5 9863554f69 benilla-ui: unused globals and queues removed, one true/nil helper, three tests that test their claim (#305)
Code health in `benilla-ui`, found while its comments were rewritten. No behaviour a player can see changes.

- **Unused globals and queues removed.**
  - The Rust `ChatFrame_OpenChat` and `ChatFrame_SendTell` queued text that nothing drained. The stock `ChatFrame.lua` defines both globals and replaces them when it loads, as the reference's FrameXML does.
  - `BenillaGetItemStats` had no Lua caller. Its test of the item cache's miss, ask and push now runs through `GetItemInfo`, which shares that path.
  - `UiScript::queue_social_request` had no caller.
- **One true/nil helper.** Seven modules each carried their own copy of `binding_abi::flag`, the reference's `1`-or-nil boolean. They call it now.
- **Three tests test their claim.**
  - `click_focuses_regardless_of_autofocus_…` built both boxes with autoFocus on. One is now off.
  - `level_shift_saturates_at_zero` never saturated. Its child now drops past 0.
  - The layout profiler's `plan` bucket was never set, so it always printed 0. It is gone.
- **Smaller fixes.** An empty `if buyback {}` branch is gone, and a doc comment no longer sits on a `use` line instead of on `install_justify`.

Checked with `cargo clippy -p benilla-ui --all-targets -D warnings` and `cargo test -p benilla-ui` (1513 passed) before the land gates.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 17:26:43 +07:00
pkuzicandClaude Opus 5.5 9e06afa11a MONKEY (p0): reframe the Elwynn, Redridge, Hyjal and Ironforge baseline scenes
Framed with the vista instrument: Elwynn above the canopy (the old eye stood
inside a tree), Redridge from the known-good Lakeshire dock eye with a wider
look, Hyjal above the terrain (the Light.dbc sphere centre z is underground),
Ironforge over a floor face inside the city (the old eye was outside the WMO).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 11:20:37 +01:00
pkuzicandClaude Opus 5.5 b668b28996 MONKEY (p0): reframe the Elwynn, Redridge, Hyjal and Ironforge baseline scenes
Framed with the vista instrument: Elwynn above the canopy (the old eye stood
inside a tree), Redridge from the known-good Lakeshire dock eye with a wider
look, Hyjal above the terrain (the Light.dbc sphere centre z is underground),
Ironforge over a floor face inside the city (the old eye was outside the WMO).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 11:20:37 +01:00
Sam SungandClaude Opus 5.5 05ab92ce73 Comments in the UI XML and the Lua fork's manifest: no dead marker, no record number (#300)
Fixes #31. The last comments outside the Rust sources that carried a dead name or a private record number:

- `OptionsFrame.xml` and `SpellBookAdapters.xml` drop the `BENILLA_ALLOW_OWN_UI=1` marker, which no code or test reads.
- `third_party/lua-src/Cargo.toml` says why the fork exists without its record number, in plain case.

Comment text only: every file is identical with its comments stripped. The Rust test comments #31 also listed were rewritten with their crates' comment passes.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 17:09:35 +07:00
Sam SungandClaude Opus 5.5 036e3d0240 Comments in the UI XML and the Lua fork's manifest: no dead marker, no record number (#300)
Fixes #31. The last comments outside the Rust sources that carried a dead name or a private record number:

- `OptionsFrame.xml` and `SpellBookAdapters.xml` drop the `BENILLA_ALLOW_OWN_UI=1` marker, which no code or test reads.
- `third_party/lua-src/Cargo.toml` says why the fork exists without its record number, in plain case.

Comment text only: every file is identical with its comments stripped. The Rust test comments #31 also listed were rewritten with their crates' comment passes.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 17:09:35 +07:00
Sam SungandClaude Opus 5.5 9c32e5126e String literals in benilla-ui, -world and -formats carry no record numbers (#299)
Part of #92, for `benilla-ui`, `benilla-world` and `benilla-formats`.

- 88 string literals drop private record and bug numbers, the dates of private incidents, and the workspace's name for the maintainer. They are assert and panic texts, log and printout lines, the `--` comments of the Lua prelude and of test fixtures, and one Lua assert. Each keeps its fact in its own words.
- Two test names lose their numbers: `burning_steppes_lava_builds_a_magma_surface_at_the_reported_pin` and `join_channel_by_name_answers_the_row_custom_and_nil_legs`.
- A test-only event, `B271_PROBE`, is now `ERROR_PROBE` in the two crates that register and fire it. A fixture's error text in `benilla-app`'s `ui_script` tests drops its bug number, together with the assertion that reads it.
- Doc comments that named a client function by a disassembler's label (`FUN_0068a830`) now give its address, in `benilla-formats`, `benilla-assets` and one `benilla-app` file.
- Every literal change keeps each literal's line count, proven with comments stripped and every literal masked. The two renamed tests differ only in their names.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 17:01:02 +07:00
Sam SungandClaude Opus 5.5 fe16ed14b3 String literals in benilla-ui, -world and -formats carry no record numbers (#299)
Part of #92, for `benilla-ui`, `benilla-world` and `benilla-formats`.

- 88 string literals drop private record and bug numbers, the dates of private incidents, and the workspace's name for the maintainer. They are assert and panic texts, log and printout lines, the `--` comments of the Lua prelude and of test fixtures, and one Lua assert. Each keeps its fact in its own words.
- Two test names lose their numbers: `burning_steppes_lava_builds_a_magma_surface_at_the_reported_pin` and `join_channel_by_name_answers_the_row_custom_and_nil_legs`.
- A test-only event, `B271_PROBE`, is now `ERROR_PROBE` in the two crates that register and fire it. A fixture's error text in `benilla-app`'s `ui_script` tests drops its bug number, together with the assertion that reads it.
- Doc comments that named a client function by a disassembler's label (`FUN_0068a830`) now give its address, in `benilla-formats`, `benilla-assets` and one `benilla-app` file.
- Every literal change keeps each literal's line count, proven with comments stripped and every literal masked. The two renamed tests differ only in their names.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-25 17:01:02 +07:00
pkuzicandClaude Opus 5.5 06d2fc4669 MONKEY (fog): tune Modern after captures; fog-vista scenarios; consume-set allow-list
Sun-fog strength 0.25 / angle 0.4 / lean 0.4, end-fog lean 0.25: the first
pass turned dusk ridges into flat orange cut-outs against a blue sky. The
dome's low band now MIXES toward the far fog colour by 15 deg (an offset
over-pushed an already warm dusk ring). update_fog_model joins the
ordering test's ALLOWED list (it runs in the resolve set, after it).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 10:43:03 +01:00
pkuzicandClaude Opus 5.5 2bf925678d MONKEY (fog): tune Modern after captures; fog-vista scenarios; consume-set allow-list
Sun-fog strength 0.25 / angle 0.4 / lean 0.4, end-fog lean 0.25: the first
pass turned dusk ridges into flat orange cut-outs against a blue sky. The
dome's low band now MIXES toward the far fog colour by 15 deg (an offset
over-pushed an already warm dusk ring). update_fog_model joins the
ordering test's ALLOWED list (it runs in the resolve set, after it).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 10:43:03 +01:00
pkuzicandClaude Opus 5.5 daf2a1aad6 MONKEY (ao): diagnostic views, tuned gain/bias/strength, longer distance fade for outdoor contacts
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 10:37:13 +01:00