Repository navigation
Redesign layout editor and layer firmware workflow - #17
martinezooo merged 3 commits into
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 58ed69d05a
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| for &position in positions.iter().filter(|&&position| position != layer) { | ||
| let (_, start, end) = find_layer_block(&out, position)?; | ||
| let tokens = split_top_level(&out[start..end]); |
There was a problem hiding this comment.
Renumber layer operations outside the keymap array
When an existing Oryx tap dance or other generated helper performs a layer action, its layer_on(n), layer_off(n), or similar call lives outside keymaps[]. This loop only rewrites keymap tokens, so deleting a lower layer leaves those helpers targeting the old number; after flashing, the gesture can activate the wrong layer or a nonexistent one. The removal pass needs to update generated action bodies as well as LAYOUT entries.
Useful? React with 👍 / 👎.
| // Persist all layout-scoped state in one atomic config replacement. | ||
| // A crash or disk error can no longer leave layer numbers renumbered in |
There was a problem hiding this comment.
Save layer removals into the active profile immediately
When a saved profile is active, removing a layer reaches this global-config persistence path but never calls save_active_profile_target, unlike adding, renaming, or editing custom layers. If the application exits before the user switches profiles or builds, the in-memory removal and its renumbered assignments are lost from the selected profile on restart.
Useful? React with 👍 / 👎.
| self.removed_layers = cfg | ||
| .removed_layer_sets | ||
| .iter() | ||
| .find(|set| set.layout == hash) | ||
| .map(|set| set.layers.clone()) |
There was a problem hiding this comment.
Clear discarded removed-layer drafts
When the user selects “current device” to discard a device draft, activate_profile_target clears staged edits, glow, and custom-layer sets but does not clear the newly introduced removed_layer_sets. Because hydration prioritizes this config entry over confirmed firmware state, the discarded layer removals reappear after restarting the application.
Useful? React with 👍 / 👎.
… Review jump to changes
8fc3b66
into
feat/minimap-layer-hints-terminal-import
What changed
Verification
No keyboard firmware was built or flashed during this work.