f3d icon indicating copy to clipboard operation
f3d copied to clipboard

F3D 3.0.0 Roadmap

Open mwestphal opened this issue 1 year ago • 7 comments
trafficstars

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.

  1. 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
  1. 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
  1. 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

  1. 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
  1. 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
  1. 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
  1. 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
  1. libf3d API changes:

No better moment that a major version change for API changes

  • [ ] https://github.com/f3d-app/f3d/issues/1531
  1. 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

mwestphal avatar Jan 31 '24 06:01 mwestphal

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

  1. Options rework

A core development that is required for many features below: https://github.com/f3d-app/f3d/issues/1244

  1. 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

  1. 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

  1. 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

  1. 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.

  1. 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

mwestphal avatar Jan 31 '24 07:01 mwestphal

Maybe webasm consolidation too?

Meakk avatar Feb 01 '24 14:02 Meakk

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 ?

mwestphal avatar Feb 02 '24 07:02 mwestphal

https://github.com/f3d-app/f3d/issues/1252

Meakk avatar Feb 02 '24 10:02 Meakk

Thanks! Ill add that to the roadmap!

mwestphal avatar Feb 02 '24 17:02 mwestphal

Issue text have been updated to reflect all suggestions. Comments are welcome though :)

mwestphal avatar Feb 04 '24 11:02 mwestphal

Issue text have been udpated after a discussion on discord

mwestphal avatar Jul 13 '24 15:07 mwestphal

Added mobile version

mwestphal avatar Jul 30 '24 07:07 mwestphal