Bit layout [atlas:8][tile_id:20][rot:2][res:2] matches lib-core.maps init.lua so JS-produced GIDs are byte-identical to engine-produced ones. >>> 0 forces unsigned u32 output.
Empty Node 18+ CommonJS package with bin entry and node --test script. Subcommand implementations follow in subsequent commits.