Release 1.4.1: a Bonded checkbox in the terminal tables
tests / ubuntu-latest · py3.11 (push) Successful in 54s
tests / ubuntu-latest · py3.13 (push) Successful in 58s
tests / archlinux:latest (push) Successful in 41s
tests / debian:12 (push) Successful in 1m10s
tests / fedora:latest (push) Successful in 42m6s
tests / ubuntu:24.04 (push) Successful in 1m15s
tests / NixOS (FHS wrapper from docs/NIXOS.md) (push) Skipped
Build PCM package / build (push) Successful in 11s
tests / ubuntu-latest · py3.11 (push) Successful in 54s
tests / ubuntu-latest · py3.13 (push) Successful in 58s
tests / archlinux:latest (push) Successful in 41s
tests / debian:12 (push) Successful in 1m10s
tests / fedora:latest (push) Successful in 42m6s
tests / ubuntu:24.04 (push) Successful in 1m15s
tests / NixOS (FHS wrapper from docs/NIXOS.md) (push) Skipped
Build PCM package / build (push) Successful in 11s
The config's per-terminal bonded key becomes editable in the dialog (previously file-only, shown as a text suffix): checked, the terminal's contacts short into one internally joined lug - the total value stays prescribed, the per-contact split is a solve outcome. Same-name rectangle groups seed it checked as before; unchecking one falls back to the per-cell area share, and checking a single-contact terminal gives it an equipotential-lug contact instead of uniform injection. Save config... writes the flag back (removed when unchecked - false is the schema default). With this, every non-structural terminal option (active, values, v_oc, contact layer, bonded, comment) is table-editable. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -769,8 +769,9 @@ def save_classic_config(path: Path, selection) -> None:
|
||||
def updated_terminals_json(raw_terminals: list, rows: list) -> list:
|
||||
"""Config-backed PDN save: each raw terminal object is deep-copied
|
||||
verbatim (parts, "_"-prefixed keys preserved) and only the
|
||||
dialog-editable values - I / R_out / V_oc and the terminal-level
|
||||
contact layer - are written back POSITIONALLY: the dialog never
|
||||
dialog-editable values - I / R_out / V_oc, the bonded flag and the
|
||||
terminal-level contact layer - are written back POSITIONALLY: the
|
||||
dialog never
|
||||
reorders its tables, so index i is the same terminal in both lists.
|
||||
A supply row's v_oc of None REMOVES the key (restoring the
|
||||
defaults-to-v_nominal semantics); a contact of "auto" removes the
|
||||
@@ -800,6 +801,10 @@ def updated_terminals_json(raw_terminals: list, rows: list) -> list:
|
||||
t["contact"] = contact
|
||||
else:
|
||||
t.pop("contact", None)
|
||||
if getattr(row, "bonded", False):
|
||||
t["bonded"] = True
|
||||
else:
|
||||
t.pop("bonded", None) # false is the schema default
|
||||
if getattr(row, "active", True):
|
||||
t.pop("active", None) # true is the schema default
|
||||
else:
|
||||
|
||||
Reference in New Issue
Block a user