Compare commits

...
Author SHA1 Message Date
8f1aae4370 feat: add distributed-load icon and toolbar entry
Some checks failed
CI / lint (push) Has been cancelled
CI / test (macos-latest, 3.10) (push) Has been cancelled
CI / test (macos-latest, 3.11) (push) Has been cancelled
CI / test (macos-latest, 3.12) (push) Has been cancelled
CI / test (ubuntu-latest, 3.10) (push) Has been cancelled
CI / test (ubuntu-latest, 3.11) (push) Has been cancelled
CI / test (ubuntu-latest, 3.12) (push) Has been cancelled
CI / test (windows-latest, 3.10) (push) Has been cancelled
CI / test (windows-latest, 3.11) (push) Has been cancelled
CI / test (windows-latest, 3.12) (push) Has been cancelled
2026-09-08 03:16:14 -04:00
af78e564c9 docs: direct feature work to develop branch in AGENTS.md 2026-09-08 03:16:14 -04:00
4 changed files with 32 additions and 0 deletions

View file

@ -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

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke-linecap="round" stroke-linejoin="round">
<title>Assign distributed load</title>
<path d="M5 4.5h14" stroke="#F2A93B" stroke-width="1.6"/>
<path d="M7 4.5V14M12 4.5V14M17 4.5V14" stroke="#F2A93B" stroke-width="2"/>
<path d="M5 11.8l2 2.2 2-2.2M10 11.8l2 2.2 2-2.2M15 11.8l2 2.2 2-2.2" stroke="#F2A93B" stroke-width="2"/>
<path d="M4 18h16" stroke="#4F92E8" stroke-width="2"/>
<circle cx="7" cy="18" r="1.3" fill="#F2A93B"/>
<circle cx="12" cy="18" r="1.3" fill="#F2A93B"/>
<circle cx="17" cy="18" r="1.3" fill="#F2A93B"/>
</svg>

After

Width:  |  Height:  |  Size: 662 B

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke-linecap="round" stroke-linejoin="round">
<title>Assign distributed load</title>
<path d="M5 4.5h14" stroke="#F2A93B" stroke-width="1.6"/>
<path d="M7 4.5V14M12 4.5V14M17 4.5V14" stroke="#F2A93B" stroke-width="2"/>
<path d="M5 11.8l2 2.2 2-2.2M10 11.8l2 2.2 2-2.2M15 11.8l2 2.2 2-2.2" stroke="#F2A93B" stroke-width="2"/>
<path d="M4 18h16" stroke="#4F92E8" stroke-width="2"/>
<circle cx="7" cy="18" r="1.3" fill="#F2A93B"/>
<circle cx="12" cy="18" r="1.3" fill="#F2A93B"/>
<circle cx="17" cy="18" r="1.3" fill="#F2A93B"/>
</svg>

After

Width:  |  Height:  |  Size: 662 B

View file

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