From af78e564c97e59d0dd2706dc1e71999656222b68 Mon Sep 17 00:00:00 2001 From: smillmorel Date: Tue, 8 Sep 2026 03:16:14 -0400 Subject: [PATCH 1/2] docs: direct feature work to develop branch in AGENTS.md --- AGENTS.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index c78ea4f..5f3ce53 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -24,6 +24,10 @@ Strict one-way MVVM + services: `views → viewmodels → services → core`. Runner emits OpenSeesPy commands in fixed order (`docs/architecture.md`): `wipe → model → node → fix → material → section → geomTransf → element → timeSeries → pattern/load → recorder → system/numberer/... → analyze`. Never reorder. +## Branches + +- Do all feature/fix work on `develop` (or short-lived branches off `develop`, merged back into it). `main` is release-only — never commit directly to it. + ## Verify (in this order) ```bash From 8f1aae4370b1680fc84c9beb3b14ccf35d17083b Mon Sep 17 00:00:00 2001 From: smillmorel Date: Tue, 8 Sep 2026 03:16:14 -0400 Subject: [PATCH 2/2] feat: add distributed-load icon and toolbar entry --- src/otko/resources/icons-dark/assign-distributed.svg | 11 +++++++++++ src/otko/resources/icons/assign-distributed.svg | 11 +++++++++++ src/otko/views/menu_builder.py | 6 ++++++ 3 files changed, 28 insertions(+) create mode 100644 src/otko/resources/icons-dark/assign-distributed.svg create mode 100644 src/otko/resources/icons/assign-distributed.svg diff --git a/src/otko/resources/icons-dark/assign-distributed.svg b/src/otko/resources/icons-dark/assign-distributed.svg new file mode 100644 index 0000000..2f21560 --- /dev/null +++ b/src/otko/resources/icons-dark/assign-distributed.svg @@ -0,0 +1,11 @@ + + + Assign distributed load + + + + + + + + diff --git a/src/otko/resources/icons/assign-distributed.svg b/src/otko/resources/icons/assign-distributed.svg new file mode 100644 index 0000000..2f21560 --- /dev/null +++ b/src/otko/resources/icons/assign-distributed.svg @@ -0,0 +1,11 @@ + + + Assign distributed load + + + + + + + + diff --git a/src/otko/views/menu_builder.py b/src/otko/views/menu_builder.py index 30450f9..48b0670 100644 --- a/src/otko/views/menu_builder.py +++ b/src/otko/views/menu_builder.py @@ -315,6 +315,11 @@ class MenuBuilder: "Assign Point Loads (Ctrl+L)", "Assign point loads to the selected nodes.", ), + "_act_assign_distributed_load": ( + "assign-distributed", + "Assign Distributed Loads…", + "Assign distributed loads to the selected frame elements.", + ), "_act_quick_guide": ( "quick-guide", "Quick Guide", @@ -541,6 +546,7 @@ class MenuBuilder: tb.addSeparator() tb.addAction(self._act_assign_support) tb.addAction(self._act_assign_load) + tb.addAction(self._act_assign_distributed_load) def _build_status_bar(self) -> None: self._status_label = QLabel("No project")