NewMCP agent API — drive Promenade from your own AI agent
Python · PyodideRust · WebAssemblyView · TypeScriptObject-centricViews

Object-Centric Variant Metro

org.promenade.variant-metro

An experimental metro map whose slider is the number of process variants, not the number of arcs. Process executions are extracted and grouped into variants exactly as the "Cases & Variants (OCEL)" plugin does (Adams et al., arXiv:2208.03235), every variant contributes its own object-centric directly-follows graph, and the map is laid out once over all of them. At the top of the slider you see the OC-DFG of the whole log; at the bottom, the single most frequent variant alone — and every position in between is the OC-DFG of exactly the k most frequent variants, on a layout that never moves.

Produces

  • OCVariantMetro
  • OCVariantDFG

Runtimes

  • Python · PyodidePython (often pm4py) running in the page through Pyodide
  • Rust · WebAssemblyCompiled to WebAssembly, runs in the page or on an engine
  • View · TypeScriptRenders an artifact inside a sandboxed iframe

Versions

VersionReleasedSizeNotes
0.3.4latestInvalid Date277 KB—
0.3.318 Sept 2026277 KBSink markers now center under the edges that actually target them after final track allocation. Alignment uses graph endpoint identity rather than coincident column/rank geometry and retains marker, caption, and unrelated-route clearance.
0.3.218 Sept 2026276 KBA centered join's single outgoing branch now stays on the diamond's final centerline for its whole initial vertical run, removing the S-shaped hook caused by briefly reconnecting to the old pre-centering lane.
0.3.118 Sept 2026276 KBRebuilt against the shared metro-layout gateway fixes: incoming join branches retain distinct vertical arrival tracks and stop above the diamond; join diamonds are centered on the incoming-track span; and the outgoing branch starts from that adjusted center.
0.3.018 Sept 2026276 KBDrops this plugin's own copy of the metro layout for the shared `metro-layout` package, which is a substantial upgrade rather than a refactor: the copy had fallen behind and was missing the drawing-refinement pass entirely, gateway-aware routing, and per-corner chamfer limits. Arcs are now detoured around the node footprints and stop captions they used to be drawn through, explicit branches meet at their gateway marker, and one tight bend no longer flattens corners elsewhere. On the Logistics OC-DFG graph refinement alone roughly halves the cross-type overlaps in the drawn geometry. Start markers also stop stacking on the top row when layout stability is off.
0.2.017 Sept 2026272 KBThe wait before the map appears is no longer a blank screen. The view opts into the host's run-bound live preview, so its panel opens the moment discovery starts (which here includes starting Python for the variant-extraction stage) and shows an animated Budapest metro schematic plus the run's own progress; the top-bar indicator gains a Cancel button. The same screen covers the view's own first layout pass. Also fixes a latent race in receiving saved view settings: host handlers now register before the handshake, not from a React effect.
0.1.116 Sept 2026268 KBRenamed to "Metro map with variant slider" — the old name described the technique rather than the result, and sorted away from the metro maps it is a variation of.
0.1.07 Sept 2026268 KBFirst release: a metro map whose slider is the number of process variants — top of the slider the whole log, bottom the single most frequent variant.