~ubuntu-branches/ubuntu/lucid/structure-synth/lucid

« back to all changes in this revision

Viewing changes to roadmap.txt

  • Committer: Bazaar Package Importer
  • Author(s): Miriam Ruiz
  • Date: 2009-04-13 13:28:45 UTC
  • Revision ID: james.westby@ubuntu.com-20090413132845-d7d42t4llxjxq0ez
Tags: upstream-0.9
ImportĀ upstreamĀ versionĀ 0.9

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
ROADMAP
 
2
-------
 
3
 
 
4
Version 0.5: 'Graf Zeppelin' [DONE]
 
5
----------------------------
 
6
+ Rotations are not around the proper unit cube axis.
 
7
+ Add global 'set' command
 
8
+ 'set maxobjects'
 
9
+ Preprocessor Comments
 
10
+ Auto load examples to menu item entry.
 
11
+ Coloring 
 
12
+ GUI: Rotate about z axis
 
13
+ Solid Box object
 
14
+ Rule retirement:
 
15
  + (1) with substitution:  [ RULE r1 maxdepth 400 > r2 weigth 100 { ... } ]
 
16
  + (3) plain retirement [ RULE r1 maxdepth 400 weigth 100 { ... } ]
 
17
+ Version object
 
18
+ Iterated Rules
 
19
+ Scale with 3 parameters.
 
20
+ Progress dialog w/ cancel.
 
21
+ Fix multiple windows problems
 
22
+ 'Color' keyword (for absolute color)
 
23
+ 'Background' set command 
 
24
+ 'set seed'
 
25
+ Add 'Reset button' (for OpenGL view)
 
26
+ Create a build (resolve dependencies)
 
27
 
 
28
Version 0.7: 'Nostromo'
 
29
-----------------------
 
30
+ Full Screen
 
31
+ Tabbed interface
 
32
+ Custom Transformation matrix operator.
 
33
+ Syntax Highlighter
 
34
+ Parser should take {,} as delimiters
 
35
+ Screenshot
 
36
+ Context Menu in 3D GUI: 'Reset View', 'Save Screenshot', 'Full screen'.
 
37
+ Linux testing (should compile with minimum of error on Linux)
 
38
 
 
39
Version 0.8: 'Exonautica'
 
40
-----------------------------------
 
41
Main Focus: Template rendering
 
42
+ reproducibility -> control of random seed, 
 
43
+ GUI Seed
 
44
+ Add Template Renderer (user customizable text templats)
 
45
+ Splash screen.
 
46
 
 
47
Version 0.8.5: 'Exonautica Reloaded'
 
48
------------------------------------
 
49
+ Bug Fixes 
 
50
 
 
51
Version 0.9: 'Kolberger Heide' (or 'Glasnost')
 
52
----------------------------------------------
 
53
+ '#define varname value' (preprocessor constant definitions)
 
54
+ save view as eisenscript code.
 
55
+ Set initial viewport (create expression by right clicking mouse canvas)
 
56
+ Add new Polygon/Triangle Primitive
 
57
+ Export view settings to Template Renderers 
 
58
 
 
59
 
 
60
Version 1.0: 'Potemkin'
 
61
-------------------------------
 
62
? 'Zoom to fit'
 
63
? GUI for '#define consts' for exploring variations.
 
64
- Mesh?
 
65
- VRML/OBJ Template (many requests)
 
66
- Preferences (saving with QProperties) [For what?]
 
67
- Installers (for Windows at least - using InnoSetup)
 
68
- Packaging: Icons, Eula, file associations.
 
69
? Version object with check for updates on internet.
 
70
? Drag'n'Drop of EisenScript files.
 
71
 
 
72
Version 1.5: '?'
 
73
----------------
 
74
Instead of EisenScript it should be possible to script the object generation using JavaScript.
 
75
(Qt has a builtin JavaScript interpreter which should make this somewhat easy).
 
76
 
 
77
Version 2.0: '?'
 
78
----------------
 
79
Polygon Grammars (a la CGA Shape Grammar)
 
80
 
 
81
Emphasizing the 'Synth' of 'Structure Synth (Live Coding / Drawing)
 
82
I want to be able to somehow 'play' and 'compose' structures interactively.
 
83
I'm thinking about implementing this by making rules dependent on some kind of controller:
 
84
where the controller is able to change the states or logic. The controller should be implemented as an abstract interface,
 
85
making it easy to provide multiple implementations: for instance, a mouse controller, an OSC controller (which also would 
 
86
make structure synth 'playable' by the OSC emitter for the iPod Touch, or by the Wii->OSC app), or a controller which reads 
 
87
and parses text into controls (this would make it possible to for instance control the sculpting by providing historical documents, 
 
88
spam or other sources of entropy).
 
89
 
 
90
 
 
91
 
 
92
Possible Version 1.x extensions:
 
93
_-------------------------------
 
94
? 'set minvolume'
 
95
? Tagging (e.g. [sphereresolution 3 25])
 
96
       - OpenGL settings (as tags): Perspective, Fog, Coloring, Res, 
 
97
? Ellipsoid object. (as of now spheres are always isotropic]
 
98
? Real transperancy (req. sorting) [Easier now we have defined bounding boxes]
 
99
? More complex primitives (tube, ...)
 
100
? Preprocessor '#include' statement
 
101
? Check for infinite retirement substitution cycles.
 
102
? Better Progress Bar (include updates for transformations loop, pause button?)
 
103
? Rule retirement: ? (2) with subst. and revive: [ RULE r1 maxdepth 400 >> r2 weigth 100 { ... } ]
 
104
 
 
105
 
 
106
Possible version 2.x extensions:
 
107
--------------------------------
 
108
- Textures w. alpha
 
109
- 2D Mode
 
110
- Parameterized rendering (movies)
 
111
  - Random parameters in rule definition
 
112
- Option for Synchronize random seed per generation. (Each expanded rule starts at the same seed).
 
113
? 4D geometry, creating animations by slicing through the 4th dimension.
 
114
? Geometry Distortion plugins (a la fish eye view)
 
115
? Meta-programming via the [Tag Renderer]
 
116
 
 
117
 
 
118