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 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")