Monday, 25 August 2008

Entity creator screencast

Erik has created a demo that shows current abilities of entity creator: streaming, original.

It would be great to see it integrated and released with next version of Ember.

Monday, 18 August 2008

The End

Today was the last day of coding phase of GSoC, so here is the summary of what’s done through second part of the program. During this month, entity creator starting from basic tool gained the following:
  • preview of entity that has to be created,
  • placing of entities using mouse-to-terrain feature,
  • more user-friendly GUI: recipe description, adapters labels, help blurb with note about usage,
  • expanded documentation in code and on wiki page.
I think, development of entity creator shown directions of what need to be improved and refactored in Ember to ease making of authoring tools. This is things that were difficult when implementing entity preview—detached entities and initialization of them using model mapping with all things like proper scaling and rotation. Would be good be to have this as some generic reusable interface.

I would like to thank Erik and all WorldForge community for help during the program and I hope we will work together in future, as there is many things to do for mature authoring tools and in Ember itself.

Monday, 11 August 2008

Final week

On last week, I’ve made some tweaks that are improving user interface. In particular, I added help text when entering to create mode that says how to exit from it. Next, I implemented suggested “Random” list element that allows to select random list item without need of implementing some Lua function. Also added is ability to add custom text that is different from item value, i. e. you can add item “Boulder style A” with value “a”.

This week is final. I will try to make real-time update of entity with new adapter values. Though without this feature entity creator is already usable—I currently tweaked UI to be consistent for the case if I’ll not find what prevents CEGUI to pass event back to my application.

Also, I need to finish documentation on wiki page—there is some things that, for example, are useful when writing Lua scripts and should be documented.

And two things are left in Lua scripting provider: first is handling any number of results and second is calling functions with dots in name. There is probably not much work, but they are not needed right now and I’m thinking that I’ll better would not distract from my application and leave them for the future.

Monday, 4 August 2008

Polishing user interface

On last week I’ve made a lot of fixes that are improving user interface much. First, this is correct preview of entity. And also a bunch of smaller things:
  • Labels for adapters,
  • Staying in “create” mode after creating first entity,
  • Rotation of an entity with mouse wheel,
  • Fixing a bug when switching recipes.

Also, I tried make to preview (and entity that is to be created) reflect changes of adapter values in real time. I wrote a code that should do the task. It uses standard signal of an adapter. That signal should be emitted on text change event from CEGUI, but that event is never called and therefore signal is not emitted. I don’t know well what can I do with this, but I’ll try to debug it or find alternative way to get that event.

Next two weeks are final. I’ve left only a few tasks:
  • Real-time update of entity with new adapter values,
  • Add “random” element for drop-down lists and handle it programmatically,
  • Small tweaks in user interface,
  • Improving wiki page with documentation,
  • Make Lua scripting provider handle any number of results.
This probably will left some time to do some other small things. Anything that would not be finished could go to todo, ideas or wishlists.

Monday, 28 July 2008

Working with model mapping

I’ve started to work with model mapping framework on last week. It required to reimplement or copy a bunch of methods from EmberPhysicalEntity and satellite classes. It didn’t satify me well and I made an attempt to reuse EmberPhysicalEntity directly but it wasn’t very successful. I’m thinking that it in some places assumes entity properly belong to entity hierarchy. Making it to support detached entity seems to require some changes there. So I decided to drop this attempt and continue to work with model mapping directly to render preview mesh correctly. And that’s what I’m going to do for next week.

Monday, 21 July 2008

Entity positioning

On last week I’ve made terrain positioning of new entities. It allows to see position where entity will be created. But the preview mesh isn’t the same as entity that will be created.

This is the goal for next week—make preview fully represent new entity. To achieve this, I need to implement Erik’s plan on DetachedEntity class and feeding it to model mapping framework. This is partially done but not commited yet.

Also, user interface should be improved—it should stay in “create” mode after creating first entity and allow create fast as many more entities as user wants. Also minor things like changing orientation on mouse scroll should be made.

Monday, 14 July 2008

More OGRE bits


Performing ritual

Last week I spend looking and learning on what should be done during the second part of program.

The main feature that should be implemented is easy entity positioning. This means that while moving mouse over terrain it should show preview of entity that will be created. Positioning of entity with mouse was recently implemented by Sean and Erik. So I need to implement showing imaginary preview or bounding box in the world. This carried me in deeply in Ember internals. I’m guessing that this task could simply be solved with some OGRE bits and intercepting some controls but I didn’t find my way to it yet.