f3d
f3d copied to clipboard
F3D 3.0.0 Roadmap
Context
F3D is a collaborative project, let's collaboratively construct the roadmap for 3.0.0 release!
Suggested solution
Comment and discuss below, maintainers will take suggestions into account to add to the roadmap. Please refer to existing issue when adding comments. Feel free to create issues if your ideas are not in issues already.
3.0.0 is a major release, so breaking change are allowed and even expected at this point.
Current roadmap
This part may be updated but may not contains all issues that will be addressed. Please look at the milestone and the board for the exhaustive list.
- Options rework
A core development that is required for many features below:
- [x] https://github.com/f3d-app/f3d/issues/1244
Some issues may be impacted by this change:
- [ ] https://github.com/f3d-app/f3d/issues/596
- [x] https://github.com/f3d-app/f3d/issues/434
- [x] https://github.com/f3d-app/f3d/issues/1354
- [x] https://github.com/f3d-app/f3d/issues/1114
- Interaction configuration
Initially planned for 2.3.0, it requires the option rework:
- [ ] #443
This one matters a lot because we are running out of keys and more flexibility for the users is good. Prototype here: https://github.com/f3d-app/f3d/pull/1066
It may impact this issue:
- [ ] https://github.com/f3d-app/f3d/issues/1159
- ImGui
So many issues and features rely on this one. We have been holding ideas because of it. We need to move forward however it is probably best to wait to the options rework before working on it seriously:
- [ ] https://github.com/f3d-app/f3d/issues/1245
Many issues may be impacted by this change:
- [ ] https://github.com/f3d-app/f3d/issues/1045
- [ ] https://github.com/f3d-app/f3d/issues/1016
- [ ] https://github.com/f3d-app/f3d/issues/1013
- [ ] https://github.com/f3d-app/f3d/issues/1400
Prototype here: #1077
- Generalizing loading data
When I worked on the generic importer and the renderer with options, it struck me that it should be possible to do with importers what we do with reader if we have an API for it. It is a complex one and require some VTK changes but definitely needed for the future of F3D. Does not require the options rework imo:
- [x] https://github.com/f3d-app/f3d/issues/653
- Consolidate WebASM feature
Opening F3D to website is critical for reaching many more users and developers interested to show 3D models in different context.
- [ ] https://github.com/f3d-app/f3d/issues/1252
- [x] https://github.com/f3d-app/f3d/issues/1506
- Generalize approach to time
Our approach to time is showing up its limitations, the major version is a good occasion to improve that:
- https://github.com/f3d-app/f3d/issues/1534
- F3D options improvements
Something I've been complaining about for ages and easier to do in the context of a breaking change, require the option rework first.
- [x] https://github.com/f3d-app/f3d/issues/1114
- [x] https://github.com/f3d-app/f3d/issues/434
- [ ] https://github.com/f3d-app/f3d/issues/1533
- [ ] https://github.com/f3d-app/f3d/issues/1532
- [ ] https://github.com/f3d-app/f3d/issues/1530
- [ ] https://github.com/f3d-app/f3d/issues/918
- libf3d API changes:
No better moment that a major version change for API changes
- [ ] https://github.com/f3d-app/f3d/issues/1531
- Provide a mobile android version
The libf3d provides java bindings that could be used to create an android version, lets finally do it!
- [ ] https://github.com/f3d-app/f3d/issues/27
Here is what I have in mind. Any of this changes will break the retrocompatibility of F3D or the libf3d and once merged, next release will be 3.0.0
- Options rework
A core development that is required for many features below: https://github.com/f3d-app/f3d/issues/1244
- Interaction configuration
Initially planned for 2.3.0, it requires the option rework: #443 This one matters a lot because we are running out of keys and more flexibility for the users is good. Prototype here: https://github.com/f3d-app/f3d/pull/1066
- ImGui
So many issues and features rely on this one. We have been holding ideas because of it. We need to move forward however it is probably best to wait to the options rework before working on it seriously: https://github.com/f3d-app/f3d/issues/1245
Prototype here: #1077
- Generalizing loading data
When I worked on the generic importer and the renderer with options, it struck me that it should be possible to do with importers what we do with reader if we have an API for it. It is a complex one and require some VTK changes but definitely needed for the future of F3D. Does not require the options rework imo: https://github.com/f3d-app/f3d/issues/653
- Interactive scripting from F3D
Something I've dreamt of since the begining of the project and would expose a bit of the libf3d to users: https://github.com/f3d-app/f3d/issues/595
Require ImGui first though.
- F3D options improvements
Something I've been complaining about for ages and easier to do in the context of a breaking change.
https://github.com/f3d-app/f3d/issues/1114, https://github.com/f3d-app/f3d/issues/1193, https://github.com/f3d-app/f3d/issues/434
Maybe webasm consolidation too?
There is no issue at all for the WASM work. Could you open it and state the status and what we need to do in the future ?
https://github.com/f3d-app/f3d/issues/1252
Thanks! Ill add that to the roadmap!
Issue text have been updated to reflect all suggestions. Comments are welcome though :)
Issue text have been udpated after a discussion on discord
Added mobile version