Base Processing → Node View
Node View
Shows the loaded context’s PlayerStateData.PersistentPlayerBases array.
Base Processing → Node View → Sort By Gal, Sys, Name
Sort By Gal, Sys, Name
Reorders complete base records by galaxy, then system, then Name. The result is reflected in app data and views; it does not itself write an NMS save.
Before using Sort By Gal, Sys, Name, read the shared safety limitations for this page.
↑ This page’s hierarchyBase Processing → Node View → Move Freighter to Top on Sort
Move Freighter to Top on Sort
Checked by default. After the ordinary sort, moves the first base whose Name is empty to index 0. The current implementation uses an empty name as its freighter-identification rule.
Before using Move Freighter to Top on Sort, read the shared safety limitations for this page.
↑ This page’s hierarchyBase Processing → Node View → Base tree
Base tree
Expand or collapse the base-array and individual records.
Base Processing → Node View → Base tree → Base record label
Base record label
Shows a zero-based index, dictionary size, galaxy name, system, Parts count and base name. Parts is the number of entries in the base’s Objects array. Empty names display as Unnamed Freighter Base.
↑ This page’s hierarchyBase Processing → Node View → Base tree → Left-button drag and drop
Left-button drag and drop
Move complete base records to reorder them. For siblings, an upward drag places the record before the target and a downward drag places it after. Cross-parent drops are placed after the target. The generic guard requires compatible array/dictionary parents and refuses moving a parent’s last child; it does not validate arbitrary game-data restructuring.
Before using Left-button drag and drop, read the shared safety limitations for this page.
↑ This page’s hierarchyBase Processing → Node View → Base tree → Right-button drag selection → Delete N Nodes
Right-button drag selection → Delete N Nodes
Hold the right mouse button and drag across visible nodes. Releasing opens Delete N Nodes for that selection; confirmation gates removal. Check that the selection contains complete intended records, not unwanted child fields.
Before using Right-button drag selection → Delete N Nodes, read the shared safety limitations for this page.
Base Processing → Node View → Right-click menu → Delete Node → Delete Nodes — confirmation; also Base Processing → Node View → Right-button drag selection → Delete N Nodes → Delete Nodes — confirmation
Delete Nodes — confirmation
Review Delete (N) nodes from the Tree? before acting. For a base or generic tree deletion the selected visible-node count can include expanded child fields. The starship-specific controller instead deduplicates complete occupied ship slots and validates the complete request.
Before using Delete Nodes — confirmation, read the shared safety limitations for this page.
↑ This page’s hierarchyBase Processing → Node View → Right-click menu → Delete Node → Delete Nodes — confirmation → OK; also Base Processing → Node View → Right-button drag selection → Delete N Nodes → Delete Nodes — confirmation → OK
OK
Confirms this deletion request. Generic deletion removes the chosen tree nodes in app memory; starship deletion uses its guarded fixed-slot transaction instead. There is no automatic live save.
↑ This page’s hierarchyBase Processing → Node View → Right-click menu → Delete Node → Delete Nodes — confirmation → Cancel; also Base Processing → Node View → Right-button drag selection → Delete N Nodes → Delete Nodes — confirmation → Cancel
Cancel
Rejects the confirmation without performing the requested deletion. Closing this dialog also rejects it.
↑ This page’s hierarchyBase Processing → Node View → Base tree → Right-click menu
Right-click menu
Availability depends on whether you click the base-array root, a base record or another node.
Base Processing → Node View → Base tree → Right-click menu → Restore a Base
Restore a Base
Appears when you right-click the top-level base-array node. Opens Restore A Base To First Position In Tree, reads a selected *.nms_base.json file, and adds that base record at index 0. It does not search for or replace a same-name base; duplicates are possible. The change is in app memory until you save.
Before using Restore a Base, read the shared safety limitations for this page.
Importing a record is not a merge or a complete cross-save migration. Check the base’s identity, coordinates, ownership-dependent fields and related game data before deciding to write a live save; this app operation does not establish that the game will accept an imported base.
Base Processing → Node View → Base tree → Right-click menu → Restore a Base → File selection — Restore A Base To First Position In Tree
File selection — Restore A Base To First Position In Tree
Select an appropriate .nms_base.json backup file. These filters help locate a record backup; choosing All Files does not make an arbitrary file compatible. Native file-dialog layout and labels are supplied by your operating system.
↑ This page’s hierarchyBase Processing → Node View → Base tree → Right-click menu → Restore a Base → File selection — Restore A Base To First Position In Tree → Open
Open
Reads the selected record-backup file and attempts the requested import into app memory. Review the resulting data before File → Save NMS Save File; this is not an automatic disk save or game-compatibility check.
Before using Open, read the shared safety limitations for this page.
↑ This page’s hierarchyBase Processing → Node View → Base tree → Right-click menu → Restore a Base → File selection — Restore A Base To First Position In Tree → Cancel
Cancel
Leaves this file-selection request without writing a backup or applying its selected input.
↑ This page’s hierarchyBase Processing → Node View → Base tree → Right-click menu → Backup a Base
Backup a Base
Appears on a complete base record. Writes that base’s Node View data to a selected JSON file, using the *.nms_base.json file filter. The suggested name comes from the base name, or default for an empty name. This is one base record, not a full-save backup.
Base Processing → Node View → Base tree → Right-click menu → Backup a Base → File selection — Save File
File selection — Save File
Choose the output folder and filename for the selected record, using .nms_base.json. The suggested name may be default for an unnamed record. Review an existing filename before replacing that separate backup file.
↑ This page’s hierarchyBase Processing → Node View → Base tree → Right-click menu → Backup a Base → File selection — Save File → Save
Save
Writes a separate record-backup JSON file, not the loaded live NMS save. A file-save success message reports this export only.
↑ This page’s hierarchyBase Processing → Node View → Base tree → Right-click menu → Backup a Base → File selection — Save File → Cancel
Cancel
Leaves this file-selection request without writing a backup or applying its selected input.
↑ This page’s hierarchyBase Processing → Node View → Base tree → Right-click menu → Toggle Expansion 2 Levels
Toggle Expansion 2 Levels
Collapses an expanded node or expands a collapsed node through the configured two-level helper. This changes only what is visible.
↑ This page’s hierarchyBase Processing → Node View → Base tree → Right-click menu → Highlight In Text Box
Highlight In Text Box
Selects the corresponding line in Raw JSON without changing data. It refuses if the captured node structure and current text cannot be matched reliably; it does not silently synchronize them.
↑ This page’s hierarchyBase Processing → Node View → Base tree → Right-click menu → Copy This Node's Text
Copy This Node's Text
Copies the selected node’s displayed label to the clipboard. It does not serialize that node’s full JSON or export the complete record.
This command copies the visible label of the clicked node, not the node’s complete JSON subtree. To copy JSON, select the desired text in Raw JSON and use Copy; use the whole-context clipboard export only when that larger scope is intended.
↑ This page’s hierarchyBase Processing → Node View → Base tree → Right-click menu → Delete Node
Delete Node
After confirmation, removes the selected node from the in-app structure. Selecting a child field removes that field, not the whole base. Review the target before confirming; saving to live files is separate.
Before using Delete Node, read the shared safety limitations for this page.
↑ This page’s hierarchyBase Processing → Divider between Node View and Raw JSON
Node View / Raw JSON pane divider
Base Processing explicitly starts both panes at equal sizes [1000, 1000] with stretch weights 1:1.
Drag the vertical handle of the horizontal QSplitter between the two pane containers to change their widths. This changes layout only: Raw JSON text, shared model values and disk save data remain unchanged. It is not record drag/drop, node movement, synchronization or Pretty Print.
↑ This page’s hierarchy