Yes that view is very neat! Especially for debugging, maintaining the Smalltalk immediate feedback principle :0
On 2013-05-04, at 09:41, Stéphane Ducasse <stephane.duca...@inria.fr> wrote > Begin forwarded message: >> From: Igor Stasenko <siguc...@gmail.com> >> Subject: Re: Else I can do a mail to the moose mailing... >> Date: May 4, 2013 12:45:36 AM GMT+02:00 >> To: Stéphane Ducasse <stephane.duca...@inria.fr> >> >> So i spent a little time to make an experiment, how fast i can render >> the tree visualization. >> >> (gray screenshot) >> This one i can zoom& pan in real time without even noticing any sort of >> delay: >> >> (AthensTreeView >> openOn: Collection extentBlock: [ :cls | (cls allInstVarNames >> size+1)*5 @ (cls methodDict size + 1) ] >> childsBlock: [ :cls | cls subclasses ]). >> >> >> (white screenshot) >> This one a bit sluggish, because of drawing too many curves (but if >> you comment curve drawing - connecting each child with its parent, >> and leave drawing only boxes.. it will be quite fast.. for real-time zoom & >> pan) >> >> (AthensTreeView >> openOn: Object extentBlock: [ :cls | (cls allInstVarNames >> size+1)*5 @ (cls methodDict size + 1) ] >> childsBlock: [ :cls | cls subclasses ]). >> >> And sure, smart people usually employ different visualizations for >> such large trees, since it makes no sense: >> Object withAllSubclasses size >> 6882 >> >> but even without it, if you limit max zoom, you can go very fast ( >> there is a lot of literature how you can do geometry culling (by >> occluding unnecessary >> geometry to not waste cycles on it, since it is outside of view anyways) >> >> >> -- >> Best regards, >> Igor Stasenko. > <Screen Shot 2013-05-04 at 12.33.02 AM.png> > <Screen Shot 2013-05-04 at 12.35.35 AM.png> > <AthensTreeView.st> > <AthensSimpleTreeNode.st> >