time to run through it, just use it in-place, copying its entries back
to the main block log if they have to be skipped again (essentially
using the re-check list and the end of the block log as a double buffer)
populated yet, move those blocks to a separate list, and replay that
list whenever new mapblocks come in. That way the main block list can
run dry and allow the block populate routines to go idle.
Thanks to Warr1024 for the idea!
and improve lag management
minetest.conf settings added:
biome_lib_dtime_limit:
Maximum lag allowed, in seconds. Default 0.5s. Larger values allow for
more lag, but make map updates run a bit faster.
biome_lib_queue_run_ratio:
If positive, this is the approximate number of globalstep ticks to skip
between map updates. If negative, it becomes the positive number of map
updates to run per globalstep tick before lag is checked. No minimum
value, maximum +100. Default: -100 (that is, 100 updates per globalstep
tick, with none intentionally skipped). Use positive numbers for slow
machines or biome_lib-using mods that tend to cause lag, and negative
values for fast machines and mods.