Kelsidavis-WoWee/tools
Kelsi 0cdefb2611 feat(editor): add --info-glb-bytes for per-section GLB byte breakdown
Drills into a .glb's byte composition. Pairs with --info-glb (counts)
and --info-glb-tree (structure) — three lenses on the same file:

  wowee_editor --info-glb-bytes custom_zones/Z/Z.glb

  GLB bytes: custom_zones/Z/Z.glb
    total: 891736 bytes (0.85 MB)

    Sections:
      header     :    12 bytes   0.00%
      JSON hdr   :     8 bytes   0.00%
      JSON       :   828 bytes   0.09%
      BIN hdr    :     8 bytes   0.00%
      BIN        : 890880 bytes  99.90%

    BufferViews:
      idx  target   bytes      MB    share-of-bin
        0  vertex     248832    0.24  27.93%
        1  vertex     248832    0.24  27.93%
        2  index      393216    0.38  44.14%

    By attribute:
      INDICES        393216 bytes  (44.14% of BIN)
      NORMAL         248832 bytes  (27.93% of BIN)
      POSITION       248832 bytes  (27.93% of BIN)

Three breakdowns:
- Section costs (header + JSON chunk + BIN chunk + their headers)
- Per-bufferView with target hints (vertex / index / other)
- Per-attribute (POSITION/NORMAL/TEXCOORD_0/INDICES/etc.) bucketed
  by walking accessors referenced from primitives

Catches asymmetric BIN allocation ('why is INDICES 44% of my .glb?')
and helps tune vertex layout decisions (drop normals if synthesized,
quantize positions if precision allows). Verified on a single-tile
zone bake: header+JSON is 0.1% of total, BIN is 99.9%, attribute
breakdown shows POSITION/NORMAL each 28% and INDICES 44%.
2026-05-06 18:41:55 -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 --info-glb-bytes for per-section GLB byte breakdown 2026-05-06 18:41:55 -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