Hi Leon,
I apologise for the time taken to reply. I had meant to write a very fulsome reply to your every point, but had not been able to find enough contiguous time to actually compose and edit all my ideas. In lieu of that, I'll just try to post the humble fragments I've drafted, and follow up at a later time with more cogent answers/arguments if required and as time permits.
Anyway, thank-you for your feedback. I am most grateful for your opinion, your expertise, and your continued interest in this project.
I generally agree with you that much of L3DT's attraction comes from its automatic generation features, rather than its editors. However, I don't agree with the assertion that development of L3DT's automated algorithms was held back in favour of mouse editing tools (second-rate or otherwise). Little development time has been spent on the editors when compared to all the other developmental work that's gone into L3DT over the last few years.
The biggest chunk of development work in recent times was the plugin system and related architectural changes to L3DT. The plugin API has provided a massive increase in L3DT functionality and in my productivity, so I don't think I need to argue the merits of that work any further.
Probably the next largest single feature added to L3DT in recent times was Sapphire. If we cast our collective minds back to the days of the 'L3DTVi2 ' viewer, we may remember that L3DT's only 3D renderer pretty-much crashed every time it was used, unless users carefully followed the
instructions in the userguide (which few did
). This was a terrible state of affairs; a 3D terrain generator without any workable 3D viewer was, simply put, hopeless. Thus, it was
absolutely necessary to develop a new 3D viewer. Sapphire was, and remains, primarily a viewer for heightfields and textures, not an editor. It does of course include some basic editing and brush tools, but they only represent a tiny part of the Sapphire code-base; most of Sapphire's code deals with 3D rendering of mosaic textures and heightfields. Rendering gigapixel textures is not as easy as it sounds, but since L3DT generates this sort of data, it was necessary for a 3D renderer to support it. Anyway, Sapphire is reasonably feature-complete now, so there isn't going to be much time devoted to further development for the immediately foreseeable future.
More generally speaking, editor tools make up a tiny component of the L3DT project. By the numbers, in L3DT's core code only 6 of the 81 unique window classes are brushes or editors (DM pixel editor, WM flood tool, plus DM, BYTE, RGB and RGBA brush tools), and one other window includes editor support code (the 2D map view class, which handles mouse commands, etc). As far as plugins go, of the 59 plugins I've written to date, only 4 include any code that supports map editing (Sapphire, atAttribBrush, atIndexBrush, and atCopyPaste). You can certainly argue that Sapphire is a 'big plugin', but as I've mentioned above, Sapphire is mostly about viewing, not editing.
The majority of development work has gone into things other than either editors and heightfield generators, such as performance optimisations (e.g. multi-core support), algorithm revisions (e.g. material system for textures, texture anti-aliasing), improved file export options (HFZ compressed heightfield file, TGEA Atlas, Spring SD7, mesh decimator for X/OBJ files, etc.), user interface changes (faster mip-mapped display, tabbed map view, image drape, climate/material windows, update manager), general system changes (Vista & Linux compatibility, GarageGames activation, etc.), customisation support (plugins, scripting, batch files, etc.), and bug-fixes to all of the above.
The effect of all of these changes was to make L3DT more generally usable. It is perhaps easy to forget these improvements, as they have usually been many small, step-wise increments in each release. However, if one were were to go back and try to use L3DT 2.3 or 2.4, one may realise just how much easier, faster and better to use L3DT 2.6 now is.
So, in conclusion I'll finish by stating that L3DT's development plan has not been and will not be tilted towards any particular class of feature, be it algorithm, editor or otherwise. Development is directed more evenly to every part of the application to make it more generally balanced, usable, and bug-free. Future development plans certainly do include much more work on algorithms (more multi-threading, more easily customised/modified terrain algorithms, etc.), but the dev plan also includes lots more file I/O work, UI work, network rendering, and plenty of other stuff.
As always, you are very welcome to request features in the feature request forum. As the plugin system now makes it much easier and faster to develop new algorithms, editors and other features, I am more able to respond in a more timely fashion to feature requests than I have been in the past.
Cheerio.
Aaron.