[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]


Having redesigned the semantics yesterday, we went on to redesign the
ent today!  And the two redesigns are completely independent and
unrelated to each other!

You see yesterday, we got rid of Stamps, SubStamps, and SubBerts, put
Stamps back in, restored OgrlIDs, shuffled the class hierarchy, added
another table to the GrandMap, etc., all in a couple of hours.  In the
process, we *reduced* the number of objects and the amount of work
necessary for Ravi and MarkM to merge.

My description of what we just invented for the ent will be somewhat
more cryptic... consider it for historical record :-).  Wids have
essentially gone away (or rather become dspative).  Each inner loaf
just holds a distinction region.  The left child is all the data
inside the distinction, the right child is all the data outside the
distinction.  We discovered this to solve a particular problem with
wisp management.  The result is that we get rid of special cases for
normalizing wisps.  We also never get overlap, even when splaying
boxes, spheres, and fractals in the same area.  Finally, K-D trees,
BTrees, and enfilades with normalized wisps all seem to just fall out
without all hacks we've got for optimizing them.  Neat!

At the moment, our minds are racing with such notions as efficiently
storing deterministic fractals (and defining a coordinate space for
them), efficient support for solid modelling, and efficient support
for ray-tracing.

...and we did all this while *implementing* rather than designing!!!

dean, markm, and ravi