Repository navigation
feat: a device template, with vessel layers and conductors as shapes - #15
Merged
Merged
Conversation
A template for a machine: the vacuum vessel, the wall, the passive conductors, the PF coils and the central solenoid, and the conductor of the TF coils, in the poloidal plane; with the currents of the coils and the passive conductors and the vacuum toroidal field when the source has them. "-T autofrd" is this template: autofrd, in tbd-fusion, writes a machine it drew as these IDSs. Two kinds of shapes are new, general to the Data Dictionary: - The layers of a vessel (wall/description_2d/vessel/unit/annular), filled between their inner and outer contours, or around their centreline as thick as their thickness (per segment or one for all, mitred at corners). Open contours make the band between them. - Conductors made of line segments, arcs of circle through an intermediate point and full circles (e.g. tf/coil/conductor/elements). Their points are in three dimensions (r, phi, z); they are drawn at their distance from the axis and their height, so a line across toroidal angles curves in R and a ring around the axis is a point. An arc without its intermediate point goes the shorter way about its centre. Elements that do not meet are drawn apart. A member of a path with wildcards whose levels all have one element is named after the last level that has a name: the coil "TF" rather than its conductor. The demo machine gains a vacuum vessel, two passive plates with induced currents, and 16 TF coils drawn as a D of lines and arcs, with their current and vacuum field. The IDS browser lists a vessel layer and a conductor as shapes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018aVekYzCRLPE71Mm6UH8Zp
icyspirit
pushed a commit
that referenced
this pull request
Sep 29, 2026
Main now has the crosshair (#14) and the device template (#15). The crosshair gives the value of the image through Panel._image_value_at, so it also says the value of the cell of an unstructured grid under it, and the status bar keeps the coordinates rounded to the view. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018aVekYzCRLPE71Mm6UH8Zp
4 tasks done
icyspirit
pushed a commit
that referenced
this pull request
Sep 29, 2026
Main now has the crosshair (#14) and the device template (#15). The crosshair reads the curves a panel draws, so with sources relative to the first it gives B − A or B / A; a test checks it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018aVekYzCRLPE71Mm6UH8Zp
4 tasks done
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
A
devicetemplate for a machine.-T autofrdis the same template: autofrd, in tbd-fusion, writes a machine it drew as these IDSs.pf_passive);pf_active);tf).b_field_phi_vacuum_rin DD 4,b_field_tor_vacuum_rin DD 3). A machine description has only the geometry, so these panels note in gray that they are not filled.Two new shape kinds, general to the Data Dictionary:
wall/description_2d[0]/vessel/unit[:]/annular):thickness(per segment, or one value for all), mitred at corners;vessel/unit[:]/element[:]/outline).tf/coil[:]/conductor[:]/elements, and anyconductor/elements): line segments, arcs of circle through their intermediate point, and full circles.Naming: when every level of a path with wildcards has one element, the member is named after the last level that has a name. The TF coil is "TF", not "conductor[0]".
Demo machine:
Notes
reactor_written), and tbd-fusion's ownpf_active_to_ids,pf_passive_to_ids,wall_to_idsandtf_to_idsconvert it (DD 3.39.0).-T autofrdthen shows:docs/template-device.pngshows the demo with two sources. The other screenshots are unchanged: their panels do not show the new IDSs.Test plan
QT_QPA_PLATFORM=offscreen pytest: 195 passed in the dev environment, a clean PySide6 6.11 environment and a PyQt5 5.15 environment.pyflakes src testsreports nothing.🤖 Generated with Claude Code
https://claude.ai/code/session_018aVekYzCRLPE71Mm6UH8Zp
Generated by Claude Code