-
Notifications
You must be signed in to change notification settings - Fork 89
Roadmap
This page tracks the planning for new development, targets for each development branch and completion criteria.
This series of releases will have a focus on networking and remoting support. A big part of this is consolidated into the 'a12' protocol and the related arcan-net tool. The big items for this series of releases are:
-
Networking
Rewrite networking frameserver to use A12 state machine- Separate TODO in (net/HACKING.md)
A12 added to encode frameserver as well- Packing formats for:
TUI
-
Finalizing TUI API
Embedded / decodebindingsSupport Widgets (listview, bufferview, readline)complete CLI shell
-
Graphics
-
Remove CTM support, add model loading into decode frameserver HDR support (special wiki for tracking)low level optimizations (rendertarget-scanout, atomic props)Server-side TUI rendering
-
This series of releases is about the lose ends in the audio and 3d support, improve and finalize network features and is the last stage of raw feature expansion.
-
Audio
Split audio up to use the same platform structure as videoAdd plugging for simplified backends- Migrate to f16 as native sample format
- Expose better device controls and routing rules to Lua layer
-
Network
- Building transparent network topologies between directory servers
- User- generated file storage and retrieval
- API for server side appl controllers
- ALT and AGP wire formats for remote rendering
-
Graphics
- simplified and faster text surfaces
- Atlas support for glyph cache resolution
- Improve TUI/Tpack to handle shaped non-monospace rows
- multi-channel Signed Distance Fields for atlases
-
3D
- Event- driven collision detection and response
- Camera improvements for culling and occlusion
- VR client compositing (OpenXR implementation)
- Decode support for passing 3D models to main process
-
Cleanup
- Libify src/platform into arcan-abc
With 0.7 marking the end of feature expansion, it is time for quality and optimization level work. This means all performance critical paths should be fully vectorized, the possibility for profile-based builds that target specific appls-. Complete documentation and test coverage, fully automated testing and benchmarking.
At this stage we're both feature complete and fast. Last is to bring out the heavyweight security. All parsers (except the Lua interface and DB) should be removed from the main engine, outsourced to external providers. All contact surfaces should be fuzzable, with continuous fuzzing integrated into the automated testing. Tools for analyzing crash dumps, snapshots and live monitoring should be completed.
This marks the freeze of both internal engine interfaces and SHMIF. All contact points should be documented, reviewed and lib:ified. The Lua VM should become an optional build and the last bits of GPL scrapped. Absinthe and Cigars to celebrate.