Table of Contents

Execution Extended RenderingCanvas Tool Bar

The run-specific half of the canvas header on the Execution Page: what the scene shows, and how the tool path is drawn. The generic view controls live next to it on the RenderingCanvas Tool Bar.

The model of the tool bar is DispEngine, assigned from the RenderingCanvas of the Execution Page. The content of Displayee here is the project displayee, whose key content is MachiningProject.

Layout

  • Execution Extended RenderingCanvas Tool Bar
    • Tool Path — shows or hides the CL strip.

    • Path Points — the CL-strip dot markers. Editable only while ClStrip is set in the displayee's rendering-flag bit array.

    • Scene ▾ — RenderingFlag-based checkboxes over that same bit array, in three groups:

      • Solid — Machine, Tool, Workpiece, Fixture
      • Coordinate — Program Zero, ISO Coordinate, Heidenhain Coordinate
      • Display Aids — Dimension Bar, Color Scale Bar. The Color Scale Bar draws the range of the selected colour guide, so only a range-based guide (IGetRangeColorRule(API)) gets one: with the tool ID, the file number or a color tree's key as the colour index, each ID — for a tree, each leaf — in a colour of its own (FuncDiscreteColorGuide(API)), the bar is not drawn even while ticked. The geometry-difference scale bar is another bar, outside this flag (see Source Code Path).

      The ClStrip flag is not offered here; the Tool Path button owns it. Heidenhain Coordinate appears only when MachiningProject.NcEnv.CncBrand is Heidenhain — the tool bar reads that value through GET /api/Controller/cnc-brand, and the Execution displayee applies the same test before it draws the Heidenhain coordinate, so the row is offered exactly when the scene can show it. Mind which brand that is: the legacy HardNcEnv model's, loaded with the project, not the runner brand chosen on the Equipment page's Controller branch — switching the runner to Heidenhain does not reveal the row. Since the Legacy Controller page was removed on 2026-09-11 no screen writes the value: it comes from the project's NcEnv element, or from the still-mounted REST face — the PUT half of the same route, or a whole-model swap through POST /api/Controller/update. The menu is a shared component because other canvases use it too — see the RenderingCanvas Tool Bar.

    • Graphic Cache — opens the Graphic-Cache SubMenu directly, titled Memory budget of the workpiece rendering cache. It is the one workpiece-rendering entry on this tool bar, and it carries no :disable, because the preference endpoint behind it needs no project. The diff colour-scale radius that used to sit beside it in a Meshed Geom ▾ dropdown — with the None / Diff badge on its row — is gone from the tool bar: it lives on the Program branch's Geometry Difference result node, which exists only while a computed diff overlay is attached. See Program Branch.

Fit View is not on this tool bar. It moved to the strip-chart group bar, which is where the whole-program time axis it fits against lives; see Strip Charts.

Shipped Default Flags

The displayee opens with four bits set — DimensionBar, WorkpieceGeom, Fixture and ClStrip — so a page that has just loaded draws the workpiece, the fixture, the dimension bar and the tool path, and draws neither the machine nor the tool until the operator ticks them. Mech is present in the initializer as a commented-out line rather than absent, so the default is a decision rather than an omission: a machine at its home view fills the frame and hides the cut. The flags live on the displayee, not in the project, so they are session state and every new rendering session starts from this set.

Tip

The checkboxes in the Scene ▾ menu are grouped by the category of RenderingFlag — follow the link for the categories.

Behavior of the Tool-Path Buttons

Apply the displayee's rendering-flag bit array to set the project rendering items.

Tip

Extract the MachiningProject from the project displayee and use it to drive the behaviors.

Behavior of the Scene Menu

DisplayOptionsMenu.vue and RenderingFlagsController.cs below are the worked example: the menu reads and writes RenderingFlag bits on the project displayee, which is the whole of what the buttons do. Both are in the HiNC-2025-webservice repository listed under Packages and Samples.

Source Code Path

See HiNC App Anatomy for git repository links.

HiNC-2025-webservice (Quasar CLI SPA):

  • wwwroot-src/src/components/execution/ExecutionExtendedToolBar.vue — the tool bar itself.
  • wwwroot-src/src/components/widgets/DisplayOptionsMenu.vue — the shared Scene ▾ menu.
  • wwwroot-src/src/components/preference/GraphicCacheMenu.vue — the panel the Graphic Cache button opens.
  • Execution/ExecutionController.cs — GET /api/Execution/cl-strip-dots and POST /api/Execution/update-cl-strip-dots.
  • Common/RenderingFlagsController.cs — the rendering-flag reads and writes behind the Scene ▾ checkboxes.
  • Disp/ExecutionDisplayee.cs — draws what the flags select, the Color Scale Bar only while the selected colour guide is range-based; the geometry-difference scale bar (Df.) whenever a computed difference overlay is attached, whatever the flags.

See Also