Hi all,
(sending a developer e-mail on this mailing list to reply for George
Sellman's comment, feel free post any replies on the -dev mailing list if
you are on that list)
I wrote a list of backlog items in early March, see:
-
http://groups.google.com/group/realxtend-dev/browse_thread/thread/c474c8d501fc9a5b/f8e937f28db87e5d
Looking back at that list, I can see the code in the Tundra 2.0 preview
repository from LudoCraft matches very well to the tasks I discussed in
that backlog. Let me try to refresh on it here.
From the original list, these items are (task implementor and current
maintainer in parentheses) completed:
UI API type-specific context menus. (LudoCraft: Ali)
Console API. (LudoCraft: Ali+Jukka)
Math libraries improvement. (LudoCraft: Jukka)
Scene geometry processing helpers. (LudoCraft: Jukka)
Extensions: Asset editor plugins. (LudoCraft: Ali)
Assets dialog improvements. (LudoCraft: Ali)
Asset API finish. (LudoCraft: Jukka)
Config API. (Admino: Jonne)
Event API removal. (LudoCraft: Jukka)
Dead code elimination/refactor/cleanup. (LudoCraft: Jukka)
Environmental features. (LudoCraft: Ali+Jukka)
Scene attribute: EntityRef & parenting to a bone or another entity.
(LudoCraft: Lasse)
ECMaterial. (LudoCraft: Lasse)
ECParticleSystem. (LudoCraft: Lasse)
Notification-enabled asset server. (LudoCraft: Lasse)
ECCamera. (LudoCraft: Lasse)
ECPlaceable rewrite. (LudoCraft: Lasse+Jukka)
ECScript application mechanism. (LudoCraft: Lasse)
Optimizations: Remove PoCo. (LudoCraft: Jukka)
From the original list, these items are still remaining: (see the original
email for descriptions)
Config API registry editor UI.
Build System. Rewrite the build system to be SDK-friendly.
Easy scene query helpers + optimizations.
Asset bundles.
ECEditor improvements.
.txml/.tbin files.
Scene API improvements.
Rendering optimizations.
Network optimizations.
Networking security.
WebCam streaming support.
Documentation.
Flash asset support.
Video assets.
ScenePersistenceModule.
ECGrass.
NPAPI/ActiveX plugin.
ECRainfall.
ECVolumeFog.
ECDecal.
Animation system improvements.
Car Physics demo.
User profile server.
It makes me sad to see that sharing the backlog did not catch much wind
from other developers, and only one item on that list was developed
external to LudoCraft. It might be that these features were considered
worthless or uninteresting in other teams, or others did not have
development resources to use on Tundra development, or something else, but
I guess that's how open-source development sometimes is. Nevertheless, I
do welcome comments like this:
On 1 heinä, 21:56, George Sellman <[email protected]> wrote:
Hope I haven't over stepped. We've got developers and funding. If you'll
have us we would like to contribute anyway we can.
We definitely welcome contributions of well-structured, -written and
-functional code. If you are interested in ideas for contribution, this
e-mail is exactly written for you. I am hoping that some day I would be
merging in features which I would kill for to get into our branch.
The March tasklist has still plenty of work left, and I am sure we will be
working on them after the holidays. At the end of this email are some new
items have emerged since March.
I am leaving on vacation, and can be reached again probably in late August
or early September. Have a great summer everyone,
Jukka
----------------------------------------
New task items (in no particular order, and not necessarily any more
important than the unfinished items in the original list)
Bug tracker.
- Tundra is getting more and more buggy, particularly due to issues with
network update ordering, old assets being left over in Asset API pools,
and due to different kinds of usability issues. We need a good bug tracker
dedicated for Tundra issues.
Asset live-update improvements.
- Remove the use of QFileSystemWatcher: It is buggy, lacks features
(listening on new whole directories for new files, and listening for
deletions followed by additions to the same file), and is slow. Replace
with some other library that allows listening on full storage directories.
- Expand assets storages to receive live notifications from newly added
assets to storages (without polling) at runtime (this already exists for
startup time).
- When a new file is added to a storage directory, add it in Unloaded
state to the Assets window. (this already works for network storages using
the asset discovery mechanism when creating new assets).
- Auto-upload to network storage when changing a file in the cache.
GIMP .xcf image format support.
- Tundra uses OGRE's FreeImage, which supports plenty of file formats,
but this one is still missing.
Config API.
- Support specifying configuration items into the installer, but also on
the command line. This would be to allow a default configuration for the
installer, but then to override/specify new configuration from the command
line. There now exists a --config command line parameter to specify the
module and startup js configuration, but this mechanism could be extended
to allow more flexible startup configurations (renderer settings, asset
storage configurations, etc.)
Build System. Rewrite the build system to be SDK-friendly.
- Remove use of the search heuristics mechanism "Sagase" on Windows in
favor of explicitly configuring build directories. This will allow
switching between different 3rd party lib versions without having to break
the CMake scripts.
Drag & drop improvements:
- Enable dragging assets from assets dialog to appropriate destinations:
- drag texture to EC editor texture field.
- drag texture on top of material asset in assets window.
- drag material on top of an object in the scene.
- drag texture on top of an object in the scene.
- drag mesh/txml/tbin/ogre .scene from assets window to scene.
- drag texture from explorer to scene
- drag asset from explorer to assets window
- drag material from explorer to scene.
- etc. There's dozens of combinations for these kind of interactions,
and the problem is that once the user has the ability to do one type of
drag&drop, he'll easily expect they all work, which can be unintuitive if
it doesn't.
Rendering.
- Allow specifying layers for postprocess compositors, to configure
different objects for different postprocess effects.
Undo stack for EC editing:
- implement an undo stack for modifications to generic EC attribute data.
Entity editing.
- Implement support for grouping and layering objects.
Tools.
- Display the entities in a hierarchy in the scene structure window.
- Finding duplicate and unused assets.
Asset manipulation.
- Implement support for creating mesh asset files programmatically in a
script-driven fashion and from the menu (Right-click on Assets
dialog->Mesh->Create Sphere, Create Box, ..., or similar)
- Implement support for modifying assets in the asset editors (meshes,
textures, etc.) - Modifying texture formats and mesh VB formats.
- Implement support for creating Supershader-based materials
programmatically in a script-driven fashion and from the menu
(Assets->Material->Create New..) or similar)
Bugfixes:
- Fix rendering order of SkyX moon and sky dome to avoid moon
disappearing in certain positions.
- Make EC Editor and Scene Structure copy-paste interoperable
- Allow pasting into the Scene Structure window when a mixed selection of
entities and components is made (don't require selecting an entity, but
allow component selection)
- Enforce limitations on the number of components of same type.(one
placeable in entity, one SkyX in scene, etc.)
- Fix Scene Structure window to re-update itself when changes occur.
- Fix Asset Import dialog to not propose by default to import assets
which are already in a local storage folder.
--
http://groups.google.com/group/realxtend
http://www.realxtend.org