Changelog
v1.1.0
Wall editor tab in the GUI — interactively edit the machine wall outline on a temporary copy, with load/save of wall JSON and GEQDSK, before committing to the machine. Strike geometry and buffers on the Geometry tab are cleared when a new wall is committed.
New I/O helpers:
read_wall,write_wall,wall_from_dict, andgeqdsk_dict(with optional wall override inwrite_geqdsk).Machine.set_wall()for updating wall coordinates and derived bounds / Shapely geometry consistently.Shared GUI plotting helpers (
machine_plot) and Bokeh toolbar icons (tool_icons).Documentation warnings on redundant symmetric annealing constraints (double-null plasma + symmetric circuits + mirrored constraint points).
Fix optimiser incumbent ``iteration_num`` indexing — the displayed iteration label now matches the tracking-array index (0 = initial equilibrium, \(k\) = \(k\)-th simulated-annealing evaluation) and is only updated when a new incumbent is accepted. Previously it could be off by one, which showed up in GUI plots and optimisation videos.
Tests for wall I/O,
Machine.set_wall, and GEQDSK wall override.
v1.0.1
Fixed NumPy 2.x and Matplotlib 3.8+ compatibility for GUI and optimiser.
v1.0.0
Initial public version.