Skip to content

0.9.0: three spaces, Mine, Model and Learn, switched at the top of the window - #53

Merged
s4mstruthers merged 7 commits into
mainfrom
spaces-0.9.0
Oct 10, 2026
Merged

s4mstruthers merged 7 commits into
mainfrom
spaces-0.9.0

Conversation

@s4mstruthers

Copy link
Copy Markdown
Owner

What you will notice

Three spaces, Mine, Model and Learn, switched at the top of the window (in the title bar on macOS). Process mining and net modelling no longer share a sidebar, so the window always says which job you are doing. One folder underneath; nothing moves on disk.

  • Mine lists the folder's analyses (workflows) and, folded under them, its logs. Footer: New analysis, Open log…, Log from notation…, Compare logs….
  • Model lists the folder's Petri nets and coloured nets. Footer: New Petri net, New coloured net, Open net…, Compare nets….
  • Learn is the exercise view as before. From the switcher it opens the folder's exercises, or the demo ones when the folder has none; Exit returns to the space you left.
  • A document opens in its own space. Open a net from Mine and the window moves to Model; "Edit a copy" of a discovered net does the same. Each space remembers its current document; the folder remembers which space you were in.
  • Subfolders stay inside each list, unfolded state remembered. An empty folder shows in both spaces until it has files. An exercise's materials belong to Learn and are not listed.
  • Gone: the Folders / By kind toggle and the UNSAVED / EVENT LOGS / PETRI NETS / MODELS / COLOURED NETS / TRANSITION SYSTEMS / WORKFLOWS headings in one list.
  • The welcome page has one card per space. View ▸ Mine / Model / Learn (⌃⌥1, ⌃⌥2, ⌃⌥3) switch too.

This is slice 1 of the 0.9 plan (switcher and the two sidebars). Still to come: files flowing into the canvas (0.9.1), the four handoffs with the rearrange-only net view (0.9.2), Summary and the map detail slider (0.9.3), motion (0.9.4).

How

  • openprocess/gui/studio/spaces.py: the spaces, space_of(document), which file kinds each lists.
  • StudioWindow: _build_space_bar, set_space, _fill_space_view / _fill_tree_section replace the Folder and By kind views; add_document and _select_document switch to a document's space; remove_documents picks the next document within the space; open_exercise / leave_learn keep the switcher in step.
  • Workspace settings gain space and material_expanded; view is no longer written.

Tests

  • test_workspace_folder and the new test_each_space_lists_its_own_files_and_remembers_them cover the two sidebars, switching, remembered selection and the settings; two older tests now switch space before touching the other space's rows.
  • Whole suite: 365 passed, 3 skipped.

Not verified offscreen: how the unified title bar looks on macOS.

🤖 Generated with Claude Code

s4mstruthers and others added 6 commits October 10, 2026 20:44
…e window

Process mining and net modelling no longer share a sidebar. A switcher at
the top of the window (in the title bar on macOS) picks Mine, Model or
Learn. Mine lists the folder's analyses with its logs folded under them;
Model lists its models; Learn is the exercise view as before, reached from
the switcher too. A document opens in its own space, each space remembers
its current document, and the folder remembers which space was open. The
Folders / By kind toggle and the one-list-of-everything headings are gone.
Subfolders stay inside each list; an empty folder shows in both spaces;
an exercise's materials belong to Learn.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…exercises in Mine

The per-space folder trees made the sidebar look different in each space.
Each list is now flat: the folder's own files first, then each subfolder's
under a small caption naming it, the same rule in Mine and Model. Only the
LOGS heading folds, with a chevron, on a single click; its state is kept per
folder. Exercises are Learn's and no longer listed in Mine. A folder shows
without files only when there is nothing in it at all. The switcher is a
plain bar under the title, since the unified title bar did not take on macOS.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… paths

The file field sized itself to its longest entry, so a folder with long
paths pushed the button and the panel's text past the panel's edge. It is
now sized by the panel.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… box

Opening the list took the focus from the field, which counted as "editing
finished" and reported the unchanged value; 400 ms later the box re-ran and
the panel was rebuilt under the open list, so nothing could be picked. The
field now reports only a real change, and the page runs nothing when a
setting is set to the value it already had.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Widening a combo box's list once it was showing made macOS flicker and
close it, so a list with long entries (the file setting, with the folder's
paths) could not be used. The list is now sized when the box is pressed,
before it opens; on macOS the open popup is left alone. The file list shows
file names, with the subfolder only when two names clash, and holds the
relative path behind each entry.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The kinds come from what the box gives: a Log means event logs, a Petri net
PNML, a coloured net .cpn, a transition system ts.txt. Nothing for a box
author to declare. The Choose… dialog filters the same way.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ections, motion (#54)

* 0.9.1: files flow into the canvas

An input box names its file on the canvas ("INPUT · boarding.xes"). The
folder's logs, nets and transition systems are listed under Input in
+ Add box, one click each, and a file dropped on the canvas becomes its
input box at that spot. Mine's Open log… and Log from notation… land as
boxes on the current analysis (or a new one named after the file). A page
opened from a box's result shows "‹ Back to <analysis>" above its title.

Also fixed: a box added while a run was in progress was queued as "run
everything", which then counted as nothing queued, so it never ran.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* 0.9.2: the handoffs between Mine and Model

Open a copy in Model (was Edit a copy): the model is named "(copy)", its
header links back ("A copy, from Inductive Miner in …") and the result in
the workflow is never changed. A discovered net can be tidied in Mine by
dragging its places and transitions; the layout is kept with the box and
the net itself is untouched. Mine a simulated log (was Export / Generate
event log) saves the log in the folder next to the model and opens Mine on
a new analysis reading it. Check against a log on a Petri net builds an
analysis with Open net, Open log and Check fit, connected and run.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* 0.9.3: Summary, the process map's detail slider, the Model palette, Connections

Canvas | Summary on every analysis: a tile per result in run order, built
from the boxes' own results, and the first log's process map with a Detail
slider and a legend. In Model, a net page's Select, Place, Transition and
Arc sit in the sidebar as a palette (the page's own buttons return when the
sidebar is hidden). Connections, at the bottom of the sidebar and in the
View menu, draws what flows in, OpenProcess and its boxes, what flows out,
and the optional tools with whether each is installed, all read from the
box library.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* 0.9.4: motion

A space switch, the side panel and Canvas ↔ Summary lift a short veil so
the change settles rather than snaps; a box pulses once when it finishes;
+ Add box fades in. OPENPROCESS_NO_MOTION=1 turns it all off.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* Review pass: the picker's file rows get icons, the Summary's map info fits, the README covers 0.9.1 to 0.9.4

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* Over a node, the arc arrow always gives way, whatever the zoom

Zoomed out, the arrow's hit zone (14 screen pixels, in scene units) could
reach a neighbouring node, so moving the mouse onto that node kept the
arrow hot instead of hiding it. Seen on CI, where the view fits a smaller
screen; the node now wins before the arrow's hit test.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

* 0.9.5: nothing in the app is a black box

The studio's log page no longer discovers models on the spot: Discover
hands the log to an analysis in Mine, with the miner connected and run,
its How and Code a click away (Learn keeps the inline miners for its
exercises). The model page's conformance is the same handoff. Every card
a page computes on its own (process map, footprint, soundness, invariants,
state space, regions) has a { } code link to the function. The Summary
says what it is and shows only the boxes' results: its process map is the
Directly-follows graph box's, offered in one click when missing. A tool
that is not installed can be installed from Connections.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>

---------

Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>
@s4mstruthers
s4mstruthers merged commit 1d9f096 into main Oct 10, 2026
1 check passed
@s4mstruthers
s4mstruthers deleted the spaces-0.9.0 branch October 10, 2026 20:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant