Repository navigation
Board layers: KiCad's order, single out a layer, All/Dim/Only (all clients) - #56
Merged
Merged
Conversation
src/core/layers.bend (pure): a board's layers in KiCad's order (copper front to back, pads, vias, holes, the technical layers in front/back pairs, the user layers, edge and margin, courtyards, fab) with KiCad 7+ names; the focus (an active layer and how the others show: as they are, dimmed to a quarter, hidden), what stays with the active layer (the outline, and a copper layer's pads, vias and holes), the masks the web and phones draw from, a click on a layer's name (it stands out; again, all back), the All/Dim/Only switch, ctrl+H's cycle, and the window's kind word carrying the focus. Laws lyr_*; test/layers_test.bend. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…/Only Each row is the layer's colour (a click shows or hides it) and its name (a click makes it the active layer and dims the rest; again, all back). Over a board's rows, All, Dim and Only say how the others show, and the menu's button names the active layer. The canvas gets the hidden and dimmed layers as bits and the layer plot2d.js draws last, on top (client.bend's Lfocus, actions view-layer-pick and view-layer-mode). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…n KiCad The Layers list follows KiCad's order and names; a row's colour shows or hides it (vw-layer), its name makes it the active layer (vw-layer-pick), and a board's list starts with All/Dim/Only (vw-layer-mode). ctrl+H cycles them as KiCad's high contrast does. The focus rides in the viewer's kind word into V.Look.on (Lyr.shade) and picking, and Ops.scene draws the active layer after the rest. Reset layers clears the focus too. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
The phone's layer list follows KiCad's order and names and marks the active layer; screen fields dim, lift, layerMode, layerModes and layerHead, and off now holds the layers the focus hides too (a tap does not pick them). Android: a row's box shows or hides the layer, its name singles it out, chips for All/Dim/Only; the GL renderer draws dimmed layers at a quarter and the active one last. iOS: the same in its menu (a segmented picker, each row's show/hide and stand-out buttons) and Metal renderer (not built here). Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Look.on read the focus from the kind word, so look_flip_none (with no flips Look.on is the kind's own look, for every kind) no longer held for a kind carrying a focus, and the proof failed in CI. Look.on and Look.of are back as they were; Look.at is Look.on under the focus, and the scene (Look.alpha, so Look.shows and the ops' gate and picking) and an item's colour go through it. A kind with no focus looks as Look.on says. bend PROOF.bend: All terms check. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
jlcjak
marked this pull request as ready for review
October 7, 2026 11:27
Snaiderbg
pushed a commit
to Snaiderbg/Backplane
that referenced
this pull request
Oct 9, 2026
Hub: a taken web port is tried again until it is free
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.
The board view's layer controls now work like KiCad's, on all four clients.
What changes
Order and names. A board's layers are listed in KiCad's order:
They use KiCad 7+ names: F.Silkscreen, F.Courtyard, User.Drawings and so on. Before this, they were listed in paint order, starting at B.Fab.
Singling out a layer (KiCad's high contrast):
How each client gets it
src/core/layers.bend(lawslyr_*,test/layers_test.bend).V.Look.on, andOps.scenedraws the active layer last.Tested
kicad_projects/test: the list order, Dim and Only, selecting another layer, clicking again to put everything back, the visibility toggle, the active layer drawn on top, no page errors.Ops.scenein each mode.bridge.js(list order, masks, the mode switch, the label).layers_testpasses, plus the existing view, menu, hist, hubs, sidebar, cam, files, plot, select and panes tests.check.shis left to CI.🤖 Generated with Claude Code