wrote up some really basic texture sheet support but i haven't been able to test it yet b/c trying to generate a map using more than one material type blows the stack (presumably due to some mess of accumulated thunks involving the random monad, which is the thing i have to change to spawn different materials)
so i guess i should start tuning the code for efficiency. first time/space and then strictness, because i understand the former a lot better than the latter. so coming up: using
after that... uh trying to fling strictness annotations all over until things stop breaking, i guess?? i really don't know how strictness works.
so i guess i should start tuning the code for efficiency. first time/space and then strictness, because i understand the former a lot better than the latter. so coming up: using
Vector
s with a k -> Int
indexing function. a lot of operations go from O(n) or O(log n) time to O(1), which is nice, and important given that the small maps contain ~16k keys and the large maps contain an (unnecessarily large) ~440k keys. actually they only need to store ~23k keys, so uh that is up there on the to-do list also: more efficient sampling of neighboring chunks when generating geometry. the only real downside of using Vector
s over Map
s is that i'd have to write my own union/intersection code, instead of depending on Data.Map
s eight million variants.after that... uh trying to fling strictness annotations all over until things stop breaking, i guess?? i really don't know how strictness works.