Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
This page tracks the planning for new development, targets for each development branch and completion criteria.
This is the currently active branch, and likely the heaviest in terms of effort required. It focuses mainly on improving advanced lower level graphics and basic compatibility for accepting Xorg/wayland clients. The graphics advancements includes Multi-GPU load balancing, GPU hotplug, Vulkan and newer DRM features like atomic modeset, fencing and headless operation.
This series of releases will cover improvements to LWA (the mode of operation where Arcan is its own app framework) and to networking. The TUI API will be completed, proxying tools for remote connecting clients and secure local (LAN) discovery/messaging/state-migration will be covered.
This series of releases should tie up some lose ends, like a software-only rendering backend and advanced compatibility. The missing "visualization-not-AAA games" 3D engine features should be completed, like smarter culling/complex scene graph/animation subsystems. More importantly, the audio subsystem should also be cleaned up to support simpler platforms (OpenAL was picked for portability and for HRTs, not for efficiency/simplicity). Lastly, remaining i8n issues - particularly advanced text rendering should be improved.
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 continous 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 libified. The Lua VM should become an optional build. Absinthe and Cigars to celebrate.