Skip to content

Tell objectives from subtrees, and group the workspace in two tabs - #15

Merged
kineticsystem merged 1 commit into
mainfrom
objectives-subtrees-tabs
Sep 30, 2026
Merged

kineticsystem merged 1 commit into
mainfrom
objectives-subtrees-tabs

Conversation

@kineticsystem

Copy link
Copy Markdown
Owner

Summary

  • Objectives and subtrees: a tree is an objective when it is the main tree of its file (main_tree_to_execute), a subtree otherwise, which only runs when another tree includes it (isObjective, subtreeCount).
    • The Trees tab lists them apart; a tree alone in its file is listed by its ID only, the file shown on hover.
    • A subtree shows how often it is included, its Run button is disabled, and unusedSubtrees reports one that no tree includes.
    • SubTree nodes get an outlined badge with the subtree icon; the tree's row and the details say Objective or Subtree.
    • Kind in the details switches a tree between the two, in place; "New subtree" creates a file without main_tree_to_execute.
  • Two tabs in the workspace panel, Trees and Nodes, each one list with one filter and collapsible groups, instead of four sections with their own filters and resize handles. The tab last shown is a setting.

Test plan

  • test.sh: type check and 131 tests pass, with new tests for the helpers, the check and new subtrees.
  • Checked in Chrome against the StepIt macro rig's objectives: both tabs, the filter, an objective and a subtree selected, Run disabled for the subtree.

🤖 Generated with Claude Code

A tree is an objective when it is the main tree of its file, its
main_tree_to_execute, and a subtree otherwise: it only runs when another
tree includes it. The workspace lists them apart, a tree alone in its
file by its ID only; a subtree shows how often it is included, cannot be
run, and is reported when no tree includes it. SubTree nodes get an
outlined badge, and Kind in the details switches a tree between the two,
in place.

The workspace panel has two tabs, Trees and Nodes, each one list with
one filter, instead of four sections sharing the height of the panel.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@kineticsystem
kineticsystem merged commit c13d60d into main Sep 30, 2026
1 check passed
@kineticsystem
kineticsystem deleted the objectives-subtrees-tabs branch September 30, 2026 12:20
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