Preliminary 6.5 R&D roadmap items, in no particular order:
(Note for external readers: this list includes way more than can be realistically delivered for 6.5. Some items, like wasm64, require improved browser support.)
- QML local file access
Investigate if it’s possible to implement a Qt file system engine which gives access to local files.
Prototype WebGPU RHI backend.
Continue work on CI auto-testing
Improve native test coverage (clipboard support, settings, app startup/shutdown)
- Wasm64 [done]
Add 64-bit configure option.
- Multithreading [done]
Add "mt" binary packages.
Continue work on making sure the mt config is stable.
Should it be the default mode?
- Supporting synchronous Qt APIs on top of async Web APIs
Investigate if we can run Qt on a separate thread.
Make use of asyncify where possible&required.
Investigate if we can optimize asyncify usage.
- Multimedia [done]
Implement video support
Rework the current implementation to use modern js. Document public wasm instance API.
- Compositor, canvas-per-window mode [done]
Make Qt create one canvas per window instead of one canvas per screen. Investigate options for window compositing.
- Dynamic loading
Continue implementing support for more use cases.
- Build system options
Make sure we have (documented) API for overriding all options Qt sets (INITIAL_MEMORY etc)
- Accessibility [done (and continuing)]
Integrate patches currently on gerrit and align with other items (mobile virtual keyboard, canvas-per-window). Fill in missing gaps. Test with Qt Quick.
Make sure the mobile virtual keyboard works, (also when accessibility is active). Create examples which shows mobile use cases - touch event handling, install on home screen.
- Resources (QTBUG-74568)
Enable use of separate resource files to avoid piping resources through the wasm compiler(s).
- Server connectivity
Verify that qtremoteobjects over qtwebsocokets works as expected on wasm.
Database (postgres, mysql) over websockets
- Exceptions: Add configure option for enabling WebAssembly exceptions. [done]