- Input
- Desktop
- Web
- Keyboard
- Mouse
- handle right click and aux mouse buttons in browser
- Gamepad
- Touch
- Action Map
- deadzone
- Audio
- Desktop
- Web
- Proper plugin
- Filters
- Mixers
- Assets
- Async loading
- Streaming / partial loading
- dependency / hierarchy
- an asset might require one or more other assets to complete its loading
- f.ex. shader imports, scene files, etc.
- Plugins
- Defer applying plugins
- Plugin dependency graph
- ECS
- Proper Testing
- Systems
- Change Detection
- added/removed
- [-] changed
- Schedule systems
- ordering
- parallel planner
- per stage/system command dispatchs
- Parallel queries
- Relationships
- [-] Hierarchies
- Events
- Commands
- Improve spawn commands
- should be able to chain commands that works on entities
- i.e. spawn -> set parent and other similar operations
- could be implemented on EntityBuilder
- [-] State Flags
- [-] Auto setup Fetches
- System Locals
- System Param Sets
- [-] Improve system creation/setup
- Improve delegate foreach in queries
- [-] Coroutines
- Optimized tag components
- versioning
- event lifetimes
- change filter lifetimes
- entity id recycling
- Serialization
- UI
- IMGUI
- handle some function signature mismatches
- Implement as Render Pass
- dunno some custom UI stuff
- IMGUI
- Rendering
- Text/Font
- 2D Pipeline
- Sprites
- Animated Sprites
- Custom Materials
- [-] Post Processing
- Polygons/Shapes
- [-] 2D Frame Graph Passes
- Extract rendering data
- Shared base for batching
- Rendering Stage/Frame Graph
- frame graph builder
- create transient resources
- graph execution
- transient resource lifetime/cleanup
- track last read/write
- release unused resources
- external resource handling
- keep in cache for just the frame or cleanup when not used
- explicit mark on resource
- ensure stable ordering
- debug groups
- move to builder pattern for better readability and resource handling
- Render target
- frame graph color targets
- [-] Gizmos
- Drawing API
- DrawTexture
- DrawText
- SDF drawing
- Handles/Interactions
- Drawing API
- HDR surface formats
- Compute Shaders
- setup and run compute shaders
- Compute commands
- on-demand dispatch
- Culling
- MSAA
- Per-Camera frame graphs/rendering
- 2D Physics
- Spatial Queries
- Collision Queries
- Intersect methods
- Ray
- Line
- Circle
- Bounds
- Polygon
- General
- Seeded random
- Tweens