This is just paying off some technical debt w/r/t the little pool library that our flat representation is built upon and the way we convert between GFAStore (the mutable-size underlying data) and FlatGFA (the fixed-size references to in-place data).
I'm still not sure the current philosophy is good: namely, we are providing Pool and Store traits for existing types (vectors and slices) rather than creating our own newtypes. One consequence, for instance, is that you have to do pool.get_id(id) instead of pool[id], because pool is just a slice and slice[i] already means something. This is maybe worth revisiting someday.
This is just paying off some technical debt w/r/t the little
pool
library that our flat representation is built upon and the way we convert betweenGFAStore
(the mutable-size underlying data) andFlatGFA
(the fixed-size references to in-place data).I'm still not sure the current philosophy is good: namely, we are providing
Pool
andStore
traits for existing types (vectors and slices) rather than creating our own newtypes. One consequence, for instance, is that you have to dopool.get_id(id)
instead ofpool[id]
, becausepool
is just a slice andslice[i]
already means something. This is maybe worth revisiting someday.