A reliable workflow
Bound decoded buffers, not file sizes
The queue processes a bounded number of decoded buffers at once because RGBA working memory is much larger than compressed file size.
Prevent silent filename collisions
Conflict-safe naming compares filenames case-insensitively so files from different folders do not silently overwrite inside a ZIP.
Approve presets by material family
Review representative outputs from every material family; one strength preset rarely suits both broad masonry and fine fabric.
Approve a preset before processing the queue
A batch normal map generator applies one captured interpretation to many sources, so begin with representative files from each material family. Check whether brightness means the same thing, whether the dimensions and intended Y convention match, and whether one strength suits both broad and fine relief. Process a small trial, inspect it under moving light, and split the queue when sources need different settings. The batch normal map generator intentionally isolates file failures; one unreadable image should not justify accepting unreviewed results from the rest of the queue.
Plan memory, filenames, and handoff
Compressed file size understates browser memory because decoded RGBA pixels, height fields, normal output, previews, and ZIP data may coexist. Run the batch normal map generator in manageable groups, avoid closing the tab during processing, and retain the originals if the browser cancels work. Collision-safe output names prevent two same-named inputs from silently overwriting each other. Review the ZIP manifest, spot-check every material class, and keep convention and strength in the handoff. Batch normal map generator output is efficient production assistance, not automatic approval of every asset.