[file formats based on filesystem structures] On Thu 18-Sep-2003 at 10:34:41AM -0500, Eric Wilhelm wrote: > > However, I still think that a toolset should be developed to > handle this data as a geometric model. Yep, I would envisage that a useful file format could have a number of IO libraries for different programming languages. Note that both xspace and draft take this approach; with 'draft' you might parse a file into memory like so: use Draft::Drawing::Line; my $line = new Draft::Drawing::Line ('/path/to/filename.line', ''); $line->Read; ..or read an entire drawing/directory without worrying about the exact fileformat details: use Draft::Drawing; my $drawing = new Draft::Drawing ('/path/to/directory/', ''); $drawing->Read; A method that translates an object and commits the change to disk might look like this: $line->Move (10, 0, 0); > I'm also thinking that to connect multiple programs simultaneously > to the same data set (and possibly across a network) that a data > access and management system needs to be in place which can handle > the geometric data, revision control, access control, and locking > in better ways than simple file sharing and file systems. I'm inclined to suggest something simpler at first, CVS can look after the revision control, access and permission issues for even quite large project teams - The ability to have multiple users working _directly_ on the same 'drawing' in real-time might be cool, but we do without this sort of thing when developing software source-code. > This leads me to a four-tiered model of abstraction: > > format <-> read/write library <-> networkable access system <-> client library or: format <-> read/write library <-> client tools that can do interesting network stuff if they like -- Bruno