Feature request: bus / vector wires — render one edge for a contiguous port slice
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- typescript
- Lĩnh vực
- frontend
Hướng nghiên cứu
Bắt đầu bằng cách lần theo việc kết xuất edge hiện có, hành vi kéo port-handle và cách xử lý nhiều edge trong frontend PathView. Xác định cách các slice liên tiếp, nhãn, tương tác thu gọn/mở rộng và thao tác kéo nhóm nên phù hợp với view model hiện tại mà không thay đổi graph .pvm, các đối tượng Connection hoặc Python được export. Hoàn tất khi các edge bus vẫn chỉ dùng để xem, có thể được mở rộng và thu gọn lại, đồng thời giữ nguyên đầu ra graph hiện có.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Description
Allow a set of edges connecting a contiguous port slice between two blocks to be rendered and
manipulated as a single bus edge:
- Collapsed by default when a drag connects a slice, or when N parallel edges between the same
block pair are detected — drawn as one thicker line, labelled with the slice (e.g.species[0:10]
or a user-supplied name likeexhaust). - Expandable on demand — click to fan out into the individual edges for inspection or to rewire
one channel, then re-collapse. - Purely a view concern. The underlying
.pvmgraph, theConnectionobjects, and the exported
Python would be unchanged — a bus is a grouping annotation over existing edges, not a new
connection type. That keepspathview convertoutput identical and means no PathSim-side change
is needed.
Two smaller things that would compose well with it, though they're separable:
- Drag from a port group (shift-drag, or drag from a block edge rather than a handle) to create the
whole slice in one gesture, instead of ten drags. - A bus label on the edge — this overlaps with #8 (Add labels/annotations to Edges), so the two may
want to share an implementation.
Problem
PathSim handles multi-variable signals well via port slices — Connection(a[0:10], b[0:10]) is
concise in Python and works exactly as you'd want. In PathView the same connection is 10 separate
edges, because each port is an individual handle.
For anything with a chemical or multi-species signal this scales badly. We're building a fusion
fuel-cycle and balance-of-plant block library on PathSim, where every stream carries a molar-flow vector over a species basis, typically 10 species (H2, HD, HT, D2, DT, T2, He3, He4, N2, NT3), and users can extend the basis at runtime.
A ~25-block fuel cycle therefore draws roughly 250 edges for what a person reading the diagram
thinks of as ~25 pipes.
The Python model is fine. It's the diagram that stops being readable, which is a shame because the
diagram is the reason to use PathView at all.
This isn't fusion-specific — it applies to any chemistry, thermofluid, or power-system model where a
"signal" is naturally a vector.
Alternatives Considered
No response
Additional Context
No response
- Ngôn ngữ chính
- TypeScript
- Star
- 91
- Fork
- 14
- Merge trung bình
- 4 phút
- Pull request đã merge (30 ngày)
- 7
Hướng dẫn đóng góp
Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của pathsim/pathview
-
enhancement
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 35/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 42/100
-
Parametric optimisation study Đang mởbackend enhancement frontend functionality
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
-
Parametric studies Đang mởbackend frontend functionality
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
-
Scale for scope Đang mởbackend frontend functionality
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 35/100
Tất cả issue của pathsim/pathview
Issue tương tự
-
VerificationGate: ATTRIBUTION quote guard never matches a normal quotation (\b around the quote) Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
danielmiessler/LifeOS#2234 ·
-
T: Bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
-
Mend: dependency security vulnerability untriaged
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100