# The following was supposedly scribed by # Bruno Postle # on Wednesday 25 August 2004 05:47 am: >> I think anything to do with inheritance and references takes us >> too far towards relational drafting. =A0That doesn't fit the >> rhizopod model. > >Yes, none of this has any relevance when using a hub as an >intermediary between existing CAD tools. > >Though the other litmus test of a "good idea" is that it makes >possible things that were never possible before. It is a good idea, but it's also incompatible with the existing constraints. >> So, are you already designing the "sardine" spec here? > >No, I'm designing an extension to the spec for the 'reference' >object,=20 I'm afraid rhizopod isn't extensible. >I want everything else to be identical to rhizopod. =A0If I=20 >can tag these extended reference elements with "version: foo", then >your library will know not to bother interpreting them=20 But 'grep' wasn't compiled with my library. >- It will=20 >spit out a warning and won't core dump on people. That's possible, but I'd prefer to not have strange speedbumps laying aroun= d=20 in my rhizopod directories. Let's take your subclass idea and apply it to the spec: =46or argument's sake, Draft is using the 'sardine' spec, which is a slight= =20 evolution of rhizopod that supports references with polymorphic inheritance= =2E =20 Otherwise, it is identical. With that, a simple connector that doesn't=20 support polymorphic references is my hop_to_links program (which makes=20 directory trees of symlinks to individual files.) A better connector would= =20 interpolate the references of the sardine format into static forms that wou= ld=20 be readable in the rhizopod format. http://ericwilhelm.homeip.net/svn/Module-Subversion-Juggle/trunk/data/scrip= ts/ Maybe sardine is more extensible than rhizopod, and maybe rhizopod eventual= ly=20 becomes sardine (that is, all of its connectors switch to using sardine), b= ut=20 I think it's better to have at least a one-way data path rather than having= =20 the postscript connector ignore your brave new entities (you want to be abl= e=20 to print them right?) =2D-Eric =2D-=20 "Everything goes wrong all at once." --Quantized Revision of Murphy's Law