[RFC Discussion] Legion ECS Evolution
# **Legion ECS Evolution** Following lengthy discussion on both Discord and the Amethyst Forum (most of which, including chat logs, can be found [here](https://community.amethyst.rs/t/legion-ecs-discussion/965/)), we propose with this RFC to move Amethyst from SPECS to Legion, an ECS framework building on concepts in SPECS Parallel ECS, as well as lessons learned since. This proposal stems from an improved foundational flexibility in the approach of Legion which would be untenable to affect on the current SPECS crate without forcing all users of SPECS to essentially adapt to a rewrite centered on the needs of Amethyst. The flexibility in Legion is filled with tradeoffs, generally showing benefits in performance and runtime flexibility, while generally trading off some of the ergonomics of the SPECS interface. While the benefits and the impetus for seeking them is described in the ["Motivations"](https://gist.github.com/distransient/1d7b0ebbff0a326c3e16ffbbc2c57eb4#Motivations) section, the implictions of tradeoffs following those benefits will be outlined in greater detail within the ["Tradeoffs"](https://gist.github.com/distransient/1d7b0ebbff0a326c3e16ffbbc2c57eb4#Tradeoffs) section. There are some core parts of Amethyst which may either *need* to considerably change when moving to Legion, or would otherwise just benefit from substantial changes to embrace the flexibility of Legion. Notably, systems in Legion are FnMut closures, and all systems require usage of SystemDesc
Posted by jaynus on Oct 24, 2019, 3:36 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.3,500 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
[RFC Discussion] Legion ECS Evolution
# **Legion ECS Evolution** Following lengthy discussion on both Discord and the Amethyst Forum (most of which, including chat logs, can be found [here](https://community.amethyst.rs/t/legion-ecs-discussion/965/)), we propose with this RFC to move Amethyst from SPECS to Legion, an ECS framework building on concepts in SPECS Parallel ECS, as well as lessons learned since. This proposal stems from an improved foundational flexibility in the approach of Legion which would be untenable to affect on the current SPECS crate without forcing all users of SPECS to essentially adapt to a rewrite centered on the needs of Amethyst. The flexibility in Legion is filled with tradeoffs, generally showing benefits in performance and runtime flexibility, while generally trading off some of the ergonomics of the SPECS interface. While the benefits and the impetus for seeking them is described in the ["Motivations"](https://gist.github.com/distransient/1d7b0ebbff0a326c3e16ffbbc2c57eb4#Motivations) section, the implictions of tradeoffs following those benefits will be outlined in greater detail within the ["Tradeoffs"](https://gist.github.com/distransient/1d7b0ebbff0a326c3e16ffbbc2c57eb4#Tradeoffs) section. There are some core parts of Amethyst which may either *need* to considerably change when moving to Legion, or would otherwise just benefit from substantial changes to embrace the flexibility of Legion. Notably, systems in Legion are FnMut closures, and all systems require usage of SystemDesc
Comments (0)
No comments yet. Start the discussion.