[Bf-committers] GSoC Idea: Blender Replay
Arystan D
arystan.bugzilla at gmail.com
Sat Mar 21 13:42:58 CET 2009
Action Recording in Blender or Blender Replay
What Is This?
Blender Replay is a system that interactively records and plays user
actions. Recordings are stored in files (python scripts or text files)
which can then be played on any computer with Blender installed. This
has become possible with introduction of the operator system in
Blender 2.5.
Benefits
With Blender Replay, learning Blender becomes easier :-)
Users can exchange recordings to learn something new.
Interactive unit tests can be made with Replay and Python.
The Approach
By hooking (unobtrusively) into Blender operator system, Replay will
record operators (and correspoding parameter values) invoked by a user
during Blender work session.
This approach, when compared to "just recording user input", provides
the following advantages:
- portability: recordings will be cross-platform and UI-independent
- compatibility: as long as operators don't change names and
parameters, in newer Blender versions old recordings will stay
playable
- Replay will not break if a button changes position or any other UI
element is updated
- Replay will allow re-recording actions. You can take someone's
recording, play it until some point, pause and continue recording
from there.
To be useful, Replay will also record and apply time intervals between
operator calls and will do smooth transitions for modal operators
(like view rotate for example). This also allows to have configurable
playback speed (normal, 2x, 4x, etc.).
Limitations
For Replay to be consistent, the following limitations have to be
applied:
- during playback and in "paused" mode prevent user from modifiying
the context. A user will only be able to do so when he "stops"
playback
Issues
- other ways to edit recordings
- implementation :-)
P.S.
My Blender coding experience is limited to operator porting so there
are problems I may have missed. K-3D's interactive tutorials and Emacs
macros were the source of inspiration. Is this idea viable? feasible?
(Anyone is welcome for suggestions/modifications)
Arystan (kazanbas on IRC)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.blender.org/pipermail/bf-committers/attachments/20090321/315e5ecc/attachment.htm
More information about the Bf-committers
mailing list