refactor(runtime): add generic action and event queue - #36
Open
inayayousfi wants to merge 3 commits into
Open
Conversation
Written by inayayousfi, typed by gpt-5.6-sol running in OpenCode. Every call here is inayayousfi's, and no agent acted on its own. Replace concrete runtime command and event DTOs with registered native-data messages, then migrate built-in producers, handlers, and tests. Add full-source Pyright checks and document the queue contract.
Written by inayayousfi, typed by gpt-5.6-sol running in OpenCode. Every call here is inayayousfi's, and no agent acted on its own. Run type checking only after PySide6, axidev-io, and Axidev OSK are available to the selected Python interpreter.
Written by inayayousfi, typed by gpt-5.6-sol running in OpenCode. Every call here is inayayousfi's, and no agent acted on its own. Move component policy and keyboard output into root SourcePath behavior bindings backed by runtime state snapshots and ordered hooks. Keep controls render-only, isolate keyboard backend I/O, and migrate the bundled config and tests to explicit visual IDs and behavior maps.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Written by inayayousfi, typed by gpt-5.6-sol running in OpenCode.
Every call here is inayayousfi's, and no agent acted on its own.
Summary
RuntimeActionandRuntimeEventmessages containing Lua-compatible native data.action.failedevents.AGENTS.md, and remove duplicated contribution guidance fromREADME.md.Architecture
The runtime now uses one synchronous first-in, first-out queue for both events and actions. Every message name must be registered before use, and every payload is validated as native data without process-local objects.
Built-in Python call sites retain typed constructors and decoded argument records. Future Lua-defined messages can use the same envelope with runtime registration and validation.
Keyboard actions resolve stable layout and component IDs inside the keyboard service. Configured component presses carry only their stable component ID and configured action rather than serializing a complete key specification on every press.
Verification
git diff --check: passed