Rework core data model implementation
### Is your feature request related to a problem? Please describe. FrooxEngine's data model is one of the most powerful features, upon which nearly everything else is built. It provides implicit synchronization and persistence, with very little effort, giving Resonite it's highly dynamic and collaborative nature. However currently this comes with certain costs, as some common usage patterns end up causing significant amount of overhead. Notably any behaviors that are continuously changing the data model (such as IK or Dynamic Bones) have their changes explicitly tracked every single frame. The implementation of the data model has also been done in a way that makes it easier to reason about the data model function, but has significant performance and memory overheads and poor cache locality. There is significant overhead associated with every field on a component for example, both during initialization and runtime. Lastly, the data model still has some limitations and specifics for particular type of application - a 3D game engine application. Its versatility and use cases go beyond that, but those are harder to leverage with current implementation. ### Describe the solution you'd like I've been working on a design for a new fresh implementation that will resolve the above problems and provide a foundation for many subsequent engine optimizations and expansions. There are many things that come to this design to describe in detail here, but here is a quick summary: - D
Posted by Frooxius on Nov 15, 2023, 7:46 PM
Tags
Related issues
- [Meta] Feedback on granular control over Copilot changes
- unexpected status 401 Unauthorized issue
- [MODEL] Measurable quality regression in Claude generation 5 (Fable 5 / Opus 5 / Sonnet 5): worse nonsense detection, ~2x verbosity, under-disclosed model fallb
- [CRITICAL] Subagent spawning and subagent pattern bugs trigger infinite recursion, infinite token usage, grossly inefficient token usage, and lost accumulated s
- Video stops playing after some minutes
- [MODEL] Claude verbose code comments by default — ignores instructions to stop.
Raise real-world problems, find people facing the same issue, and discuss solutions.2,000 issues0 comments
github (Software)
[Meta] Feedback on granular control over Copilot changes
unexpected status 401 Unauthorized issue
[MODEL] Measurable quality regression in Claude generation 5 (Fable 5 / Opus 5 / Sonnet 5): worse nonsense detection, ~2x verbosity, under-disclosed model fallb
[CRITICAL] Subagent spawning and subagent pattern bugs trigger infinite recursion, infinite token usage, grossly inefficient token usage, and lost accumulated s
Video stops playing after some minutes
[MODEL] Claude verbose code comments by default — ignores instructions to stop.
Scope Codex VS Code chats to the current workspace/project
Update on "Co-authored-by: Copilot" in commit messages
Rework core data model implementation
### Is your feature request related to a problem? Please describe. FrooxEngine's data model is one of the most powerful features, upon which nearly everything else is built. It provides implicit synchronization and persistence, with very little effort, giving Resonite it's highly dynamic and collaborative nature. However currently this comes with certain costs, as some common usage patterns end up causing significant amount of overhead. Notably any behaviors that are continuously changing the data model (such as IK or Dynamic Bones) have their changes explicitly tracked every single frame. The implementation of the data model has also been done in a way that makes it easier to reason about the data model function, but has significant performance and memory overheads and poor cache locality. There is significant overhead associated with every field on a component for example, both during initialization and runtime. Lastly, the data model still has some limitations and specifics for particular type of application - a 3D game engine application. Its versatility and use cases go beyond that, but those are harder to leverage with current implementation. ### Describe the solution you'd like I've been working on a design for a new fresh implementation that will resolve the above problems and provide a foundation for many subsequent engine optimizations and expansions. There are many things that come to this design to describe in detail here, but here is a quick summary: - D
Comments (0)
No comments yet. Start the discussion.