Checkpoint source 7 workflows and in-progress diagram authoring redesign
Rust checks / check (ubuntu-latest) (push) Canceled after 0s
Rust checks / check (windows-latest) (push) Canceled after 0s
Rust checks / check (ubuntu-latest) (push) Canceled after 0s
Rust checks / check (windows-latest) (push) Canceled after 0s
Preserve current core, source, REST, desktop, recovery, documentation and validation work, including AGENTS.md and the development summary. This is a work-in-progress checkpoint: the new compact palette has outstanding compilation errors and native acceptance; earlier passing gates retain their documented scope.
This commit is contained in:
@@ -14,6 +14,7 @@ pub struct Request {
|
||||
pub placement: Option<Id>,
|
||||
pub bend: Option<usize>,
|
||||
pub route_point: Option<Position>,
|
||||
pub creation_point: Option<Position>,
|
||||
pub canvas: Option<route_edit::Context>,
|
||||
pub source_file: Option<String>,
|
||||
}
|
||||
@@ -25,6 +26,7 @@ impl Request {
|
||||
placement: None,
|
||||
bend: None,
|
||||
route_point: None,
|
||||
creation_point: None,
|
||||
canvas: None,
|
||||
source_file: None,
|
||||
}
|
||||
@@ -205,13 +207,24 @@ pub fn popup(app: &App) -> Option<Menu<Message>> {
|
||||
),
|
||||
item("Export SVG…", Message::Export, true),
|
||||
Entry::separator(),
|
||||
item(
|
||||
&format!("Create {} at root", app.create_kind.label()),
|
||||
Message::Add(false),
|
||||
validation::can_parent(p, app.create_kind, app.layer, None),
|
||||
),
|
||||
item("Browse existing elements…", Message::Explore(None), true),
|
||||
]);
|
||||
for kind in crate::app::architecture_authoring::kinds(app) {
|
||||
entries.push(item(
|
||||
&format!("Create {} here…", kind.label()),
|
||||
Message::Architecture(crate::app::architecture_authoring::Event::Start(
|
||||
kind,
|
||||
request.creation_point,
|
||||
)),
|
||||
true,
|
||||
));
|
||||
}
|
||||
entries.push(item(
|
||||
"Add existing here…",
|
||||
Message::Architecture(crate::app::architecture_authoring::Event::Existing(
|
||||
request.creation_point,
|
||||
)),
|
||||
true,
|
||||
));
|
||||
} else {
|
||||
if request.route_point.is_some()
|
||||
|| request.bend.is_some()
|
||||
@@ -343,7 +356,23 @@ pub fn popup(app: &App) -> Option<Menu<Message>> {
|
||||
} else {
|
||||
Kind::Function
|
||||
};
|
||||
if e.kind().is_performer() || e.kind().is_work() {
|
||||
if e.kind().is_performer() && request.canvas.is_some() {
|
||||
if crate::app::architecture_authoring::kinds(app).contains(&work) {
|
||||
entries.push(item(
|
||||
if e.layer() == Layer::Oa {
|
||||
"Add activity…"
|
||||
} else {
|
||||
"Add function…"
|
||||
},
|
||||
Message::Architecture(crate::app::architecture_authoring::Event::Allocate(
|
||||
work,
|
||||
id,
|
||||
request.creation_point,
|
||||
)),
|
||||
true,
|
||||
));
|
||||
}
|
||||
} else if e.kind().is_performer() || e.kind().is_work() {
|
||||
entries.push(item(
|
||||
if e.kind().is_performer() {
|
||||
"Create allocated work"
|
||||
@@ -416,12 +445,16 @@ pub fn popup(app: &App) -> Option<Menu<Message>> {
|
||||
if p.layer_of(id).is_some() {
|
||||
entries.push(item("Create relationship…", Message::AddRelation, true));
|
||||
entries.push(item(
|
||||
"Create counterpart / review prose…",
|
||||
if p.layer_of(id) == Some(Layer::Oa) {
|
||||
"Create System counterpart…"
|
||||
} else {
|
||||
"Create Operational counterpart…"
|
||||
},
|
||||
Message::StartTransition,
|
||||
true,
|
||||
));
|
||||
entries.push(item(
|
||||
"Review semantics…",
|
||||
"Review counterpart changes…",
|
||||
Message::StartSemanticReview(id),
|
||||
p.traces.values().any(|t| t.oa == id || t.sa == id),
|
||||
));
|
||||
|
||||
Reference in New Issue
Block a user