Arrange the Left, Bottom and Right panels
Py Editor for Mac · Developer ID 27.0.2 (32) · review started 15 September 2026
The source editor sits between three tool areas: Left, Bottom and Right. A tool's button, its content panel and the tabs inside that panel are different things. Knowing which one you are using makes it easier to find a hidden tool without changing unrelated settings.
The three areas
Open the screenshot to view it at full size.
This screenshot uses AI Vision Lab with the additional dataset-inspection script, not the application's own source project. The Run output reports 540 samples and 180 examples per class.
| Area | What lives there | How the area is organized |
|---|---|---|
| Left | Project, Find, Commit, Learn; Structure and Bookmarks | Two vertically stacked slots. The upper group switches between project-oriented tools; the lower group switches between Structure and Bookmarks. |
| Bottom | Results: Run, Tests, Coverage, Profiler, Terminal, Problems, Packages and Git log | Select a tool from the dock header. The Run button opens the Execution group, which contains separate Run, Debug and Python Console tabs. |
| Right | AI Assistant, Services and Ollama | The right rail selects the tool shown in this column. Selecting another right-side tool replaces the content shown there. |
The lower slot inside the Left area is not the Bottom dock. In the image, Structure is below Project on the left, while Run is below the source editor. They can be visible together.
The active tool usually shows its title; inactive buttons may be icons only. Use the button's tooltip to identify it. Settings groups are not a reliable map of where content opens: in this build, Services and Ollama open on the right even though Tool Windows settings lists them with results-related tools.
Panel-by-panel guide
The names below match the controls visible in Developer ID 27.0.2 (32). Each entry explains what the panel is for, what you can do there and the most important boundary found during this manual's review. Product Feedback on the right rail opens a separate feedback composer; it is an action, not a persistent panel. Preview is a view mode for an editor tab, not one of the three workspace areas.
Left: files, navigation and learning
The Left area has two independent slots. Project, Find, Commit and Learn share the upper slot. Structure and Bookmarks share the lower slot, so one upper and one lower panel can remain visible together.
Project
Project is the file and folder tree for the open project. Use it to open a file, create files or folders, reveal locations and reach file actions from a context menu. Rename, move, duplicate and delete operations can change the project on disk; merely selecting a row does not. See Files and saved copies for the verified file procedures and their save boundaries.
Find
Find searches text across project files and presents matching lines that can take you back to source. It also provides project-wide replacement controls. This is different from Find in the current editor file: check the result set and replacement text before applying a change to several files. See Find text across a project.
Commit
Commit shows Git working-tree changes, a diff for the selected file, inclusion controls and the commit-message field. Use it to decide exactly which saved files belong in a local commit. A clean panel or successful commit does not prove that anything was pushed to a remote service. See Track local changes with Git.
Learn
Learn browses bundled lessons and example projects. Open an item to read its instructions and work with an editable local copy; some examples need packages prepared by Helper before they run. The separate Python book is reading material, not the same thing as an opened example project. See Learn and run the included examples.
Structure
Structure lists symbols such as classes and functions from the current source file. Select a symbol to navigate to its definition without searching by text. Its contents change with the active editor tab and the outline that can be derived from that file. See Jump to a function or class.
Bookmarks
Bookmarks collects saved source locations and breakpoints so you can return to them. Selecting a row opens the related file and should move to its recorded line. In the reviewed build, the first click on a location in another file could open that file without reaching the line; selecting it again completed the jump. The empty Bookmarks panel also displays one Italian explanatory sentence in this build; it means that bookmarks appear with a file-and-line reference. The controls remain usable, but the untranslated sentence is a presentation defect. See Keep and revisit a bookmark.
Bottom: execution and results
The Bottom area is called Results. Run, Debug and Python Console live inside its Execution group; the remaining tools appear as their own selectors in the Results header.
Run
Run shows the active configuration's standard output, error output, running state and completion status. Its controls stop a live process, clear displayed output and wrap long lines. Opening this tab does not run the file by itself; use the green run control or an explicit Run command. See Run a file and read its output.
Debug
Debug is the visual debugging surface for breakpoints, variables, the call
stack and expression evaluation. In this build a later launch can fall back to
interactive pdb after an Invalid run request instead of reopening the full
visual session, so first identify which interface you received. See Debug with
breakpoints and the interactive fallback.
Python Console
Python Console executes the selected file in an interactive Python session and lets you inspect, filter or change live variables beside the prompt. Changes to a variable affect that session, not the saved source file. Treat it as temporary: switching tools or minimizing Results can end the session. See Load a file into Python Console.
Tests
Tests discovers and runs project tests, then displays structured result rows and a separate Raw output view. You can rerun a failed or named test, but rows from the rest of the suite can remain green when only a subset ran; consult Raw output to identify the latest execution. See Run the tests.
Coverage
Coverage reports overall and per-file test coverage, including missing line numbers. Select a file to investigate code the tests did not execute. During the review, a cross-file row sometimes needed a second selection to reach the expected line, and Show Coverage in Editor produced no visible colors in the ACE editor. See Measure coverage.
Profiler
Profiler runs Python's profiler and presents functions, call counts and time measurements that can be filtered and sorted. Use it to distinguish frequently called code from genuinely expensive code before optimizing. In the reviewed session, the first cross-file double-click opened line 1 and the second reached the recorded call line. See Profile the program.
Terminal
Terminal is a shell rooted in the project context for commands, interactive input and command history. It is the place for shell commands, not Python object inspection. The embedded session is temporary, and switching or minimizing can end it; verify the prompt and process state before assuming an interrupt worked. See Run a shell command in Terminal.
Problems
Problems displays static-analysis diagnostics grouped by file and severity. Select a diagnostic to inspect the affected source, but read the reported path, line and message as well: in the reviewed build, cross-file navigation could open the correct file at line 1 instead of the reported line. See Read a static-analysis diagnostic.
Packages
Packages examines dependencies for the active interpreter or project environment. Installed, PyPI, Disk, VCS and Sources serve different install origins. Browsing details is read-only; installing, updating or removing a package changes the environment, and those mutations are not all verified in this edition. See Manage Python packages.
Git log
Git log shows the local repository's commit history and lets you inspect the changes recorded in a commit. Refresh it after another Git operation if the history looks stale. A commit displayed here is evidence of local history, not evidence that the branch was pushed to GitHub or another remote. See Read commit history.
Right: AI and external services
Only one Right panel is visible at a time. These tools can connect to models or accounts outside the editor, so review the selected provider and project before starting an action.
AI Assistant
AI Assistant selects a provider, model and Chat or Agent mode. Chat answers questions about the selected file or project; Agent can propose file changes that you should review before applying. In this build, conversations disappeared after the panel was closed, and no user-facing Stop control appeared while an answer was being generated. See Use the AI Assistant.
Services
Services reports readiness and resources for Docker, Google Cloud, AWS and Azure. It can use external account and project context; it does not install or configure every command-line tool automatically. A disconnected state or zero items does not by itself prove that the account has no remote resources. The manual used inspection only and made no cloud mutations. See Inspect external services.
Ollama
Ollama reports the local server connection, lists installed models and offers model browsing, downloads and model selection for AI Assistant. The model list is not a conversation view. The review inspected local models but did not verify model removal or interrupted-download recovery. See Choose an installed local model and browse models without downloading one.
Choose a panel for the task
Keep your source file open in the center and choose the tool that answers your next question. You do not need to open every area at once.
| You want to… | Start here | Continue with |
|---|---|---|
| Find or organize a project file | Left → Project | Files and saved copies |
| Search for text across files | Left → Find | Project search |
| Jump to a function in the open file | Lower Left → Structure | Functions and classes |
| Open a bundled lesson or example | Left → Learn | Included learning material |
| Read a script's output | Bottom → Run → Run tab | Run and output |
| Check tests or investigate performance | Bottom → Tests, Coverage or Profiler | Tests, coverage and profiling |
| Inspect the project's installed dependencies | Bottom → Packages → Installed | Package details |
| Ask about the selected source file | Right → AI Assistant | Local AI Chat |
| Inspect local models or service connections | Right → Ollama or Services | Ollama models and service readiness |
Some tools need setup before you can use them. AI needs a configured provider and model; running an example needs its dependencies. Follow the linked guide's prerequisites before executing code or sending a question. Before switching away from a live Terminal or Python Console, read the session-lifetime warning.
Run, Execution and Results are different labels
Results is the Bottom area. Its Run button opens a group containing the Run, Debug and Python Console tabs. That group is called Execution in Tool Windows settings and when opened in a separate window.
To inspect Run without starting the selected script:
- If the Bottom area is hidden, click Results in the bottom status bar.
- Click Run in the Results header, above the inner row of tabs.
- Check that Run, Debug and Python Console appear below that header.
- Read the Run pane. With no recorded output for the selected file, it can say No output yet.
In the reviewed AI Vision Lab window, this sequence showed No output yet. Run model.py to see it here. It did not start model.py. The separate green Run active configuration control starts execution; the Run model.py link inside the empty pane also offers to run it. Do not confuse either with the dock selector. See starting a run.
Find commands above and below the editor
The three tool areas sit between a top toolbar and a bottom status bar. Neither bar is an additional panel location.
Top toolbar
Click the project name near the top left to open its actions menu. The reviewed menu offered Project Settings, Show Project Tool Window, Open Project, Clone Repository, New Python Project, Reveal in Finder and recent projects.
- New Python Project… opened Welcome to Py Editor, the launcher; it did not immediately create a folder or open the naming dialog. Continue with the launcher's New Python Project button as described in getting started.
- Clone Repository… opened a Repository URL sheet. With that field empty, Clone was disabled; Cancel closed the sheet without cloning. A successful authenticated clone is not part of this edition's verified procedures.
- The adjacent Git button offered Create Local Git Repository… in the non-Git AI example. Opening that menu did not initialize a repository. Do not confuse it with merely showing the file tree.
The run selector on the right showed Current Selected File, with commands for Run in Python Console and Edit Configurations…. The console command executes code; it is not just another configuration label. See run configurations before changing the target. The green Run and Debug controls act on the active configuration; the gear opens Application Settings.
Bottom status bar
The reviewed editor displayed the following information. Clicking each of the five information items opened a small text popover, dismissed with Escape:
| Item in this session | Popover content |
|---|---|
| Py Editor 27.0.2 | Version and build 32. |
| 29:1 | Cursor position: line 29, column 1. |
| LF | Line endings: LF. |
| UTF-8 | Document encoding: UTF-8. |
| 4 spaces | Indentation: 4 spaces. |
These popovers contained no editing controls. Do not use the cursor item as a Go to Line field, or the LF/UTF-8 items as format converters. Their displayed values can differ with the document or settings; this table records the tested session, not universal defaults.
The interpreter item behaves differently. Clicking .venv [3.14.6] opened Project Settings → Interpreter, where Project .venv and Ready were shown. Cancel returned to the same document and interpreter without a change. This route was tested with an already-prepared environment; it is not a verification of first-time setup. See Helper and environments before preparing an environment, and settings before saving changes.
Switch tools without switching files
- Click Learn on the left rail. It replaces Project in the upper slot.
- Open an example from Learn, or keep the current file selected.
- Click Project to return to the file tree.
- Click Structure or Bookmarks for the lower-left slot.
- Select a Bottom tool such as Tests or Run independently. The dock's Run selector opens the Execution group; its inner tabs are a second level.
- Select Ollama, Services or AI Assistant on the right rail.
The reviewed Learn → Project change left Structure visible underneath. Opening a lesson or example does select a different editor file; merely switching the upper-left tool does not mean the project itself has changed.
Switch between open project windows
Choose the project name from the macOS Window menu to bring an already-open project forward. This was checked by switching from AI Vision Lab to Vision Dataset Notes, using its Profiler, and returning to AI Vision Lab. The original editor file and panel arrangement were still present on return.
This switches existing windows; it does not create a project. A separate full-app restart check below covers selected panels in one saved project.
Hide and restore the Left column
- Choose View → Toggle Sidebar.
- Check that the Project and Structure content areas disappear together while the left tool rail remains available.
- Press Control-Command-S to restore the column.
The reviewed sequence restored Project and Structure with the same SVG selected. The Bottom Run area stayed open throughout. This hides the Left column's content; it is not Minimize for Results, and it does not close the project or its tabs. This particular shortcut check does not establish restart behavior. See the separate full-app restart procedure below for the panel selections that were actually verified.
Hide only the lower Left panel
- Open Manage panel in the Structure header, below the Project tree.
- Choose Minimize.
- Check that Project remains visible and now uses the full Left column.
- Click Structure on the left rail to bring the outline back underneath it.
In the AI example, the restored outline still listed PatternCNN, forward,
accuracy and train from the open model.py. The editor and Bottom Packages
panel stayed visible throughout. This differs from View → Toggle Sidebar,
which hides the whole Left content column.
Hide and reopen a Right panel
- Click Ollama on the right rail.
- Open Manage panel in the Ollama header.
- Choose Minimize, the menu's only action in this check.
- Click Ollama on the right rail again to reopen it.
The reviewed panel returned with the local connection, three installed models
and the gemma3:4b details. Project, Structure and Bottom Packages were unchanged.
This was an idle model-browser check: no download or chat was running. It does
not establish background-job behavior or conversation retention. In particular,
the separate Assistant conversation limitation below still applies.
Resize the areas
Drag the divider between the left area and the editor to change the left column's width. Drag the horizontal divider between its upper and lower panels to give one more height. The Learn screenshot in Learn and examples shows both adjustments: a wider example list above a smaller Structure panel.
Drag the divider above Results to change the Bottom dock's height. Drag the divider between the editor and the right column to change the Right area's width. Both were exercised while inspecting packages and the AI conversation. These adjustments change the demo workspace layout, not your source text.
Reset one divider
Double-click a divider to return that split to the app's preset size. The review verified this separately for the Left column's width, the split between Project and Structure, the Bottom dock's height, and the Right column's width with Ollama open. Each double-click changed that division without closing the source file.
This resets the chosen split; it is not Undo for your last drag or a reset of the entire workspace. If you prefer your previous arrangement, drag the divider back to it. Available window space can constrain the resulting panel size.
Keep panel sizes across a normal restart
The reviewed Developer ID build restored all four resizable workspace divisions for saved projects after a normal app restart:
- Finish any active command and save the files in the project.
- Drag one or more dividers: Left width, Project–Structure height, Results height, or Right width.
- Quit Py Editor normally.
- Reopen Py Editor and return to the same project window.
One controlled check enlarged Results in a saved project. A second check changed the other three dividers together, quit the app, and found the same distinctive Left width, Project–Structure split and Right width after relaunch. This is project-window layout state, not a guarantee that an active Terminal, Console or run will resume. Available window space can still constrain a panel. Use the double-click reset above when you want a divider's preset size again.
Minimize and reopen Results
- Finish the current run before trying this layout exercise.
- Open Manage panel, the sliders control in the Results header.
- Choose Minimize.
- Wait for the dock to disappear and the editor to expand.
- Click Results in the bottom status bar to reopen it.
The NumPy example's completed output was still present after this sequence. That differs from a live Terminal or Python Console session: the checks below found that minimizing Results discarded their session state.
A normal Run can finish while Results is hidden
This check used the batch-preview script, the current-file configuration and the prepared project environment with Helper. It is different from the interactive-session checks below.
- Start
run_progress.pyand confirm that it is running. - Choose Manage panel → Minimize in Results.
- Observe that the Bottom dock disappears while Running run_progress.py… and the toolbar Stop control remain visible.
- Let the script finish, then click Results in the bottom status bar.
In this review, the script continued with the dock hidden. Reopening Results after completion showed all twelve batch messages, Dataset batch preview complete, and Process finished · 24.6s. The elapsed time is specific to this run. Minimize did not stop this normal Run or discard its final output.
This does not establish how Terminal, Python Console, detached windows or programs that spawn other processes behave. Use the appropriate procedure for the execution tool you are actually using; hiding a panel is not a substitute for deliberately stopping a program.
Before hiding a live Terminal or Console
Save the results and setup code you need before hiding Results or switching away from an interactive tool. In this build, those actions can end the session even when you have not clicked Stop. Reopening the tool is not necessarily resuming it.
| Reviewed action | What happened on return |
|---|---|
| Terminal → Manage panel → Minimize → Results | A fresh shell opened. Its temporary variable and previous transcript were gone. |
| Terminal → Packages → Terminal | A fresh shell opened, again without the temporary variable or transcript. |
| Python Console → Manage panel → Minimize → Results | A fresh Python prompt opened. Reading the earlier object raised NameError. |
| Python Console → Run tab → Python Console | The earlier object was absent and the transcript was cleared. No program run was needed to trigger this. |
These checks used sessions waiting at a prompt, with temporary in-memory values.
Hiding Results or switching tools can end an active command
The review also checked Manage panel → Minimize during timed Python commands, not just at an idle prompt:
- In Terminal, the existing shell and its foreground Python process were gone after Results was hidden. Reopening Results created a new shell with a fresh transcript.
- In Python Console, the interpreter ended before its 45-second wait could
finish. Reopening Results created a new interpreter; reading the temporary
variable from the previous session raised
NameError.
Switching directly to Packages also ended the tested active Terminal and
Python Console sessions. Each command printed a start marker, then waited.
The session processes were present before the switch and absent afterward.
Returning to Terminal showed a fresh shell prompt and no earlier transcript;
returning through Run → Python Console showed a fresh Python prompt.
The Console no longer contained the time module imported by the earlier
command. Reopening either tool did not resume that command.
These checks used harmless waits with no file writes. They do not establish what happens to every subprocess, background job or external service started by a program. Do not use panel visibility as either a reliable background-execution control or a guarantee that every related process has stopped. Finish important work deliberately before reorganizing the dock. This differs from the normal Run check above, where the script completed while Results was hidden.
Reload a Python file or repeat its setup expressions to recreate needed objects. In Terminal, re-enter required shell setup in the new session. This does not undo files already written by commands. See interactive work for the distinction between resetting, interrupting and stopping a session.
Open a panel in its own window
Project and Execution were both verified as detachable:
- Open Manage panel in the panel you want to separate.
- Choose Open in Window.
- Work in the window identified by its title, such as Project or Execution.
- Open that window's Manage panel menu.
- Choose Dock in Workspace to return it to the project window.
Open the screenshot to view it at full size.
The detached Project window still exposes the file tree and New. New creates a Python file; it is not the panel-management control. See Create, rename and save a script.
Open the screenshot to view it at full size.
Execution's completed Run output remained visible after detachment and after explicit docking. During another check, selecting Debug inside the detached Execution window returned the group to the main workspace. Do not expect that tab switch to preserve the detached arrangement in this build.
The inspected Right-panel menu offers Minimize, not the same detachment options. These checks do not establish free docking of every panel into any Left/Bottom/Right position. Follow the actual menu for the selected panel.
Restore a minimized detached window
Minimizing a detached window does not put its panel back in the workspace. To put Structure aside temporarily and then bring it back:
- Open Structure's Manage panel menu and choose Open in Window.
- In the separate Structure window, choose Manage panel → Minimize.
- Open the app's Window menu.
- Choose Structure from its window list.
In the review, this restored the separate window with the same model.py
outline. To place it below Project again, choose Manage panel → Dock in
Workspace in that window. This is different from Minimize in a docked panel,
which hides that panel inside the project window.
Keep two panels in separate windows
Project and Structure can be detached independently within the same workspace:
- Open Structure in its own window.
- Use Window to return to your project window.
- Open Project → Manage panel → Open in Window.
- Use Window → Structure or Window → Project to bring either one forward.
- Choose Dock in Workspace in each panel when you want it back.
Both windows appeared in the Window menu during the check. Docking Structure left Project open separately; docking Project afterward restored both Left panels. The source tab and Bottom Packages view remained open. This does not establish restoration of every detached arrangement after quitting the app. The bounded restart check below found that a detached Structure window did not return.
Recover Structure after restarting with it detached
In the reviewed build, a detached Structure window was not restored by a normal app restart. After relaunch, Structure was absent from the Window menu and was also absent below Project. To recover it:
- Return to the affected project window.
- Click Structure on the left rail.
- Confirm that the current file's outline appears below Project.
- If you still want a separate window, open Manage panel → Open in Window again.
This recovery restored the same main.py outline in the controlled project.
The same build-specific result was reproduced separately with Project, as
described below. Do not leave Project or Structure detached before quitting if
you expect its separate window to reopen automatically in build 32.
Recover Project after restarting with it detached
A separate controlled restart began with Project → Manage panel → Open in Window. The detached Project window showed the complete owned project tree and appeared as Project in the Window menu. After a normal quit and relaunch:
- the project workspace and its
main.pytab returned; - Project was absent from the Window menu;
- the Project tree was not docked in the Left area.
Click Project on the left rail to recover it. In the reviewed project, that action restored the Project tree in the upper-left slot and the existing Structure outline below it. The source tab and files were unchanged. This is a recovery procedure for the tested Project and Structure panels. Execution has a similar build-specific result, but returns through the Bottom area instead.
Recover Execution after restarting with it detached
A third controlled restart began with Results → Manage panel → Open in Window. The separate Execution window contained Run, Debug and Python Console, showed the idle Run pane and appeared as Execution in the Window menu. After a normal quit and relaunch:
- the project workspace and its
main.pytab returned; - Execution was absent from the Window menu;
- the Bottom area was hidden and only Results remained in the status bar.
Click Results in the bottom status bar to recover it. In the reviewed project, this restored the Bottom area with the Execution group selected and the Run, Debug and Python Console tabs available. Project, Structure and AI Assistant remained in their prior positions, and the fixture files were unchanged.
Do not leave Project, Structure or Execution detached before quitting if you expect its separate window to reopen automatically in Developer ID 27.0.2 (32). Reopening the area restores the panel, not a live process: no Run, Terminal, Console or Debug session was active during these restart checks.
Closing a detached window is not docking it
Structure was also opened using Manage panel → Open in Window. Its separate
window displayed the outline of the current model.py. Clicking that window's
red close button closed it but did not restore Structure below Project.
Click Structure on the left rail to restore that panel inside the workspace. The tested sequence returned the same file's outline without closing the source tab or the Bottom panel. To explicitly return a detached panel to the workspace, use Dock in Workspace as described above; do not assume a window's close button means the same thing.
Important: the Assistant conversation is not retained on close
In this build, closing AI Assistant with its rail button and reopening it showed Start a conversation and removed the displayed exchange. This was reproduced without changing the selected file. Keep any answer you need before closing the panel. Do not treat collapsing the Assistant as a conversation-history feature.
See AI Assistant for the verified local Chat procedure.
Toolbar visibility is a separate setting
Some panel menus include Remove from Toolbar. This is not the same action as Minimize. The Tool Windows settings controls button visibility across project windows; the app describes open/collapsed state and panel sizes as project-window layout. A bounded global check turned Find off and confirmed that it stayed off after a full app restart. Restore Defaults brought it back, and a second restart kept it on. Tool Windows showed the same off and on states after the respective restarts. This verifies one control from the recommended all-on state, not arbitrary button combinations. The project-window checks below did not change those global button settings.
Project's management menu also offers Collapse All, for the file tree. It does not mean “close all three workspace areas.”
Reopen a project without assuming every tab will return
The reviewed build retained the selected tools in a controlled close-and-reopen check within the same app session:
- In a disposable project, keep Project in the upper Left slot and select Bookmarks in the lower Left slot.
- Show Results and select Problems in Bottom.
- Open Ollama from the right rail.
- Close only that project's window using its red close button.
- Choose the same project from File → Recent Projects.
Project and Bookmarks returned on the left, Problems returned in Bottom, and Ollama returned on the right. Another already-open project's different panel selection was unchanged. This check used saved documents and no running command; it does not establish recovery after quitting the app, a crash, or closing a window with an active program.
Panel restoration is not full document-session restoration. Before closing,
the test project had README.md and two notebook tabs open. After reopening,
only README.md appeared. The notebooks were still available in Project and
could be reopened, but their preview-only mode had to be selected again. Keep
track of the files you want to resume and reopen them from Project if needed.
The same distinction also appeared across a full app restart. A separate check left README in Preview only and an HTML file in split view, then quit and reopened Py Editor. README returned in Preview only, but the HTML tab did not; reopening it used Editor only. Repeating the restart with only the split HTML tab open produced the same result. Selected workspace panels can return even when the active document set and its view modes do not. See Switch files without changing every tab for the recovery steps.
Keep selected panels across a full app restart
The reviewed Developer ID build also retained one controlled set of panel selections after quitting and reopening Py Editor:
- In the clean disposable Git fixture, select Find in Left.
- Select Problems in Bottom and confirm that its project-environment message is visible.
- Select Services in Right and confirm that its service list is visible.
- Quit Py Editor. If macOS asks to save a document, cancel the quit and resolve that document before retrying.
- Reopen the same project in Py Editor.
Find, Problems and Services returned in their respective areas. The reviewer then restored Commit, Tests and AI Assistant, quit and reopened the app again, and confirmed that the baseline selections returned. The Git fixture remained clean throughout.
This verifies selected tools for one saved project in a normal quit/relaunch. A separate bounded check above verifies all four divider dimensions. These checks do not promise restoration after a crash, other detached panels, every open document, Terminal or Console sessions, running processes, or every global Tool Windows button combination. The bounded Structure result above documents one detached-window failure. Find visibility has a separate, bounded restart check in Settings.