feat: compound-FK bus routing + complete V1 relationship visualization (ADR-0044)
Completes requirement V1. A compound (multi-column) FK now routes a bus connector — each paired endpoint's stub merges into a shared vertical channel that splits to the other side — plus an explicit "(a, b) ▶ P.(x, y)" pairing line; the bus generalises the single-column jog (reproducing it exactly, so prior snapshots are unchanged). Self-referential FKs render as two same-named boxes. - output_render.rs: gutter_seg routes all endpoint pairs via a junction() bus; pairing line for compound FKs; compound, self-ref, and compound-from-data (build_diagram_table glue) tests + snapshots - compound_fk.rs: worker test that show_relationship carries both paired column lists into the diagram payload - db.rs: document do_show_one's now-app-superseded relationship prose branch (retained as a worker-API/text fallback; could back a future non-visual display option, cf. ADR-0044 OOS-7) Second /runda pass over the implementation: confirmed ADR-compliance, UTF-8/byte-range safety, and edge-case routing. The ADR §3 last-resort helper line was considered and rejected (vertical fallback + ratatui truncation cover all realistic cases). ADR-0044 marked implemented; requirements.md V1 -> [x]. Full suite 2207 pass / 0 fail / 1 ignored; clippy nursery clean.
This commit is contained in:
@@ -6010,6 +6010,15 @@ fn do_show_list(
|
||||
/// labelled block, or a friendly "no such item" line. `Tables` is
|
||||
/// never routed here (the table singular is `ShowTable`); the
|
||||
/// defensive arm keeps the match total without a panic.
|
||||
///
|
||||
/// **The `Relationships` arm is superseded for the app by
|
||||
/// `do_show_relationship` (ADR-0044): the runtime reroutes a named
|
||||
/// `show relationship` to the structured diagram path, so this prose
|
||||
/// form is no longer shown to users.** It is retained — reachable via
|
||||
/// the `Database::show_list` worker API and covered by a worker test —
|
||||
/// as a text fallback that could back a future non-visual display
|
||||
/// option (cf. ADR-0044 OOS-7's relationship-display setting). The
|
||||
/// `Indexes` arm remains live (`show index <name>` still routes here).
|
||||
fn do_show_one(
|
||||
conn: &Connection,
|
||||
kind: crate::dsl::command::ShowListKind,
|
||||
|
||||
Reference in New Issue
Block a user