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
| Version | Released | Size | Notes |
|---|---|---|---|
| 0.3.4latest | Invalid Date | 277 KB | — |
| 0.3.3 | 18 Sept 2026 | 277 KB | Sink 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.2 | 18 Sept 2026 | 276 KB | A 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.1 | 18 Sept 2026 | 276 KB | Rebuilt 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.0 | 18 Sept 2026 | 276 KB | Drops 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.0 | 17 Sept 2026 | 272 KB | The 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.1 | 16 Sept 2026 | 268 KB | Renamed 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.0 | 7 Sept 2026 | 268 KB | First 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. |