Complete source 6 engineering workflows and preserve release validation evidence

This commit is contained in:
Codex
2026-09-06 21:49:04 -07:00
parent 2b2d2bc18b
commit 4b6b5fc197
290 changed files with 48271 additions and 1791 deletions
+20 -1
View File
@@ -607,6 +607,7 @@ fn route_diagram_impl(
.flatten();
routed.label = make_label(
project,
diagram.view_options.exchange_labels,
edge.id,
&routed.points,
authored_label,
@@ -1232,6 +1233,7 @@ fn label_text(project: &Project, edge: Id) -> String {
RelationKind::Interaction
| RelationKind::FunctionalExchange
| RelationKind::BoundaryExchange
| RelationKind::CommunicationMean
| RelationKind::DataAssociation => relation.name.as_str(),
RelationKind::CapabilityInclude => "«include»",
RelationKind::CapabilityExtend => "«extend»",
@@ -1262,8 +1264,11 @@ fn empty_label() -> EdgeLabelGeometry {
}
}
// Keep semantic label inputs and the independent collision sets explicit.
#[allow(clippy::too_many_arguments)]
fn make_label(
project: &Project,
labels: crate::view_options::ExchangeLabels,
edge: Id,
points: &[Position],
authored: Option<&crate::EdgeLabel>,
@@ -1271,7 +1276,21 @@ fn make_label(
previous_labels: &[RoutingBounds],
strokes: &[Segment],
) -> EdgeLabelGeometry {
let text = label_text(project, edge);
let text = if labels != crate::view_options::ExchangeLabels::Name
&& project
.relations
.get(&edge)
.is_some_and(|r| crate::view_options::exchange_family(r.kind()).is_some())
{
let label = labels.label(project, edge);
if label.chars().count() > 48 {
label.chars().take(47).chain(std::iter::once('…')).collect()
} else {
label
}
} else {
label_text(project, edge)
};
let size = Size {
width: if text.is_empty() {
0.0