Kelsidavis-WoWee/tools
Kelsi e49d8dd738 feat(editor): add --mirror-mesh for axis mirroring with winding flip
Mirrors every vertex position and normal across the chosen axis
(x, y, or z). Negating just one position component reverses face
winding (the triangle's signed area flips), so the second and
third index of every triangle is also swapped to keep front-faces
forward and lighting correct. Bone pivots mirror too.

Useful for "I have a left arm, mirror it for the right arm" content
reuse — the open-format mesh ecosystem can build symmetric content
from one half-asset without artist round-trips.

Verified: cube translated to (+5,0,0) mirrored across X → bounds
correctly land at (-5.5,-0.5,-0.5)..(-4.5,0.5,0.5); 24 vertices
touched / 12 triangles flipped reported; bad axis 'w' rejected
exit 1. Brings command count to 225.
2026-05-07 07:39:05 -07:00
..
asset_extract feat(extract): --purge-proprietary --json for machine-readable purge report 2026-05-06 11:32:42 -07:00
auth_login_probe Auth: include CRC in legacy proof; extend Turtle integrity set 2026-02-13 01:41:59 -08:00
auth_probe Add authenticator opcode support + auth_probe tool 2026-02-13 00:55:36 -08:00
blp_convert Replace MPQ runtime with loose file asset system 2026-02-12 20:32:14 -08:00
dbc_to_csv tools: fix DBC string-column detection false positives in both dbc_to_csv and asset_extract 2026-03-10 03:49:06 -07:00
editor feat(editor): add --mirror-mesh for axis mirroring with winding flip 2026-05-07 07:39:05 -07:00
asset_pipeline_gui.py feat(animation): 452 named constants, 30-phase character animation state machine 2026-04-04 23:02:53 +03:00
backup_assets.sh Fix macOS build process and make shell scripts cross-platform 2026-02-23 18:35:53 -08:00
diff_classic_turtle_opcodes.py chore: fix executable permissions on 6 scripts 2026-03-30 18:55:15 -07:00
gen_opcode_registry.py chore: fix executable permissions on 6 scripts 2026-03-30 18:55:15 -07:00
generate_ffx_sdk_vk_permutations.sh Fix FSR3 permutation script failures on arm64 Linux and Windows 2026-03-09 13:11:03 -07:00
m2_viewer.py feat(animation): 452 named constants, 30-phase character animation state machine 2026-04-04 23:02:53 +03:00
opcode_map_utils.py chore: fix executable permissions on 6 scripts 2026-03-30 18:55:15 -07:00
validate_opcode_maps.py chore: fix executable permissions on 6 scripts 2026-03-30 18:55:15 -07:00