Technician Mode

Profile visual editor

The Profile visual editor lets you build and maintain a Profile from the Pinman UI while preserving its Python Profile Script. The Contents, Targets, and Interface tabs present the script as editable product concepts; the Script tab shows the complete source behind them.

Every edit first changes a working copy. Save writes that working copy to the Profile's .py file and adds a source version to Edit History.

Open the editor#

On the Profiles page, use the Edit button on a Profile card or row. Pinman also opens the editor after creating or composing a Profile.

The Profile name appears at the top. Unsaved means the working copy differs from the saved script. A Disabled badge means the Profile remains in the Project but cannot currently be applied.

One definition, four views#

The visual tabs and the Script tab all work with the same Profile definition:

TabWhat it presentsTypical visual edits
ContentsThe direct content and included Profiles that participate in each configuration choice.Edit values, add choices, add or reorder included Profiles, and connect child inputs.
TargetsThe resulting target locations, actions, choice values, and current Head values.Edit values, disable targets, rename choices, and copy current values into a choice.
InterfaceThe values a person supplies before Preview or Apply.Add, edit, group, reorder, or remove inputs.
ScriptThe complete Python Profile Script.Use any supported Profile DSL construct or repair a definition error.

Visual edits rewrite the corresponding Python declarations in the working copy. When you edit the source, Pinman evaluates it and updates the other tabs. This relationship works in both directions for source structures the visual editor can safely recognize.

See Profile Scripts for the programming guide and the Profile DSL reference for exact declarations.

Header and Profile details#

The header controls the editing session:

ControlWhat it does
RefreshReads the Profile's targets again and updates the Head values and freshness shown by the editor.
Select TargetsOpens Explore in Profile-authoring mode so you can add or remove tracked locations.
ApplyOpens the same Preview and Apply flow available from the Profiles page.
Cancel EditsLeaves the editor; Pinman asks before discarding an unsaved working copy.
SaveWrites the working copy to the Profile Script and records an edit version.
MoreOpens Save As, Edit History, Undo Last Edit, Rename, Enable or Disable, and Delete.

Select Targets and Apply require a saved definition. When the Profile has unsaved edits, save or cancel them first.

Expand Details below the header to work with Profile metadata. You can edit the description and zone tags directly. Software associations are shown for reference. The panel also summarizes the last Apply, Apply count, target count, saved edit versions, and file modification date.

Contents#

Contents answers a structural question: what contributes to this Profile?

A simple Profile shows its own targets. An assembled Profile also shows the Profiles it includes. A Profile with a configuration choice separates its content into Always and one section for each choice, making it clear which targets and included Profiles participate in each result.

You can click an editable target value in Contents and enter its replacement. The change also appears in Targets and Script because all three views represent the same declaration.

Include other Profiles#

Choose Add profile to include another Profile in the current one. If the child Profile has Interface inputs, choose how each input participates:

  • Promoted inputs become part of this Profile's Interface.
  • Fixed inputs use a private value chosen by this Profile.
  • Mapped inputs receive the value of an existing input in this Profile.

Included Profiles contribute in the order shown. Move them earlier or later to change that order, configure their inputs, expand them to inspect their contribution, or remove them from the assembly. A later contribution takes precedence when more than one contribution addresses the same target.

Targets#

Targets shows the effective locations produced by the Profile. Each row identifies the resource and property, its action or value, and the value currently recorded in the Head. The information button beside a property shows its full authored and resolved locations, source Profile, datatype, constraints, zones, software associations, and any authoring issues.

Click an editable value to change it. The editor validates and formats the value using the Schema Item's property metadata.

Right-click a target location—or long-press it on a touch screen—to disable or enable that target. A disabled target stays in the Profile but does not participate in comparison or Apply.

Configuration choices#

A Profile with a select input can hold a different value set for each choice. Targets displays those choices as columns, followed by the Head.

Use the + beside Head to add a choice:

  1. Choose the Head or a frozen Capture as the value source.
  2. Name the new choice.
  3. Review the value available for every choice-controlled target.
  4. Resolve any unavailable values or warnings, then choose Add Choice.

When the Profile has no existing choice input, the dialog also asks for the existing choice name and the new Interface input's name and label. Pinman then creates the select input and turns the current target values into its first choice.

Click a choice header to rename it. Right-click the header to copy the current Head values into that choice. A green marker identifies the choice that currently agrees with the Head.

Choices are complete configurations, not labels applied to one isolated setting. Pinman reviews all participating target values together before adding a new one.

Interface#

The Interface tab defines what a person chooses before Preview or Apply.

Choose Add input to declare a text, number, select, or boolean input. Its definition can include:

  • a reader-facing label and help text;
  • a default value, or Required when no default is appropriate;
  • choices for a select input;
  • minimum, maximum, and step values for a number;
  • a visual group and order; and
  • a widget preference.

Inputs are grouped and shown in their Interface order. Use the edit button to change a declaration, the arrow buttons to reorder inputs within a group, and the delete button to remove one. Expand an input to preview its control and read its help, constraints, and authoring provenance.

An input contributed by an included Profile may be read-only here. Its message identifies the source Profile or points you to the Script when the declaration cannot be rewritten safely.

Script#

Script is the complete Python source and remains the authoritative, portable representation of the Profile. Use it for advanced calculations, dynamic paths, ordered actions, live controls, guided targets, or any other DSL construct that the visual panels do not directly edit.

As you type, the source becomes the working copy. Save evaluates the script and rebuilds the visual projection. If the definition has an error, Pinman keeps the source available in Script, shows the error above the tabs, and disables the visual views that depend on a valid definition. Repair and save the source to restore them.

Select targets in Explore#

Select Targets moves target membership work into Explore, where you can see the Schema hierarchy and the Machine evidence behind each choice.

The picker starts with the Profile's existing targets selected. Add or remove tracked Items, choose the values that should become Profile targets, and review the proposed changes before returning to the editor. Pinman retains the original definition if the selection cannot be mapped safely.

Target selection changes which Items belong to the Profile. Editing a value in Contents or Targets changes the desired value of an Item already in it.

Save and recover edits#

Save records a new source version as it writes the Profile Script. These versions protect the Profile definition; they are separate from Apply history, which protects changes made to the Machine.

The More menu provides:

  • Save As — create a new Profile from the working source;
  • Edit History — inspect complete saved source versions and restore one;
  • Undo Last Edit — restore the most recent saved version;
  • Rename — change the Profile name and generated filename;
  • Enable or Disable — control whether the Profile can be used; and
  • Delete — permanently remove the Profile Script.

Edit History previews the complete source before restoration. Restoring a version first retains the current saved source as another version, so the restoration itself can be undone. Save or cancel any working-copy edits before restoring.

Preview and Apply#

Apply from the editor opens Preview first. Review the Interface values and the comparison with the Head, then approve the Machine changes. The saved Profile definition is used; Save is therefore required before Preview or Apply.

The Profiles page covers browsing Profile status, Preview, Apply, Run, and Apply history. Editing a Profile changes its definition; applying it changes the Machine.