f3d-app / f3d

Fast and minimalist 3D viewer.
https://f3d.app
BSD 3-Clause "New" or "Revised" License
2.91k stars 211 forks source link

F3D 3.0.0 Roadmap #1243

Open mwestphal opened 9 months ago

mwestphal commented 9 months ago

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:

Some issues may be impacted by this change:

  1. Interaction configuration

Initially planned for 2.3.0, it requires the option rework:

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:

  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:

Many issues may be impacted by this change:

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:

  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.

  1. Generalize approach to time

Our approach to time is showing up its limitations, the major version is a good occasion to improve that:

  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.

  1. libf3d API changes:

    No better moment that a major version change for API changes

  2. Provide a mobile android version

The libf3d provides java bindings that could be used to create an android version, lets finally do it!

Meakk commented 9 months ago

Maybe webasm consolidation too?

mwestphal commented 9 months ago

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 ?

Meakk commented 9 months ago

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

mwestphal commented 9 months ago

Thanks! Ill add that to the roadmap!

mwestphal commented 9 months ago

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

mwestphal commented 4 months ago

Issue text have been udpated after a discussion on discord

mwestphal commented 3 months ago

Added mobile version