Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MeasureTools License: MIT

Click-to-measure ruler and protractor tools for Kitten Space Agency.

This mod is written against the StarMap loader.

Validated against KSA build version 2026.8.19.5261.

Measuring in the map view

Features

  • Ruler - click two points to measure the straight-line distance. Snaps to bodies, to body surfaces (the edge of a planet's disc), and to points on orbit lines; clicks on empty space place free points.
  • Protractor - click three points (arm, apex, arm) to read the true 3D angle plus both arm lengths, e.g. the phase angle between two planets around their star.
  • Part-level measuring - when the camera is close to a vehicle, points snap to individual parts with centimeter precision: attach nodes and part centers first, then mesh vertices (tank rims, panel corners), and everywhere else the exact hull point under the cursor. Anchors stick to their part, so measurements stay correct while the vehicle moves and rotates - including between parts of two vehicles flying side by side. Engine nozzles measure at their neutral position (gimbal deflection is visual only). Anchors follow their part across staging and docking (watch a separation distance grow after decoupling); only destroying the part removes the measurement.
  • CAD-style snapping - beyond attach nodes and vertices, points snap to mesh feature edges (slide along a tank rim between its vertices), edge midpoints, fitted rim centers, and the mirror of the previous point across the part's axis for exact antipodal pairs. Same-vehicle ruler measurements additionally report axial and radial components along the stack axis, on the overlay and in the copied text.
  • Circle - one click on a circular part edge (tank rim, engine bell exit) reads diameter, radius, and circumference from a fitted circle that tracks the part.
  • Face angle - two clicks on part surfaces read the angle between the surface normals (engine cant, fin alignment), live while the vehicle rotates.
  • Surface - pin two points to a planet's surface for the great-circle distance, chord, and initial bearing; pins track the body's rotation like ground markers.
  • Editor measuring - the ruler and protractor also work inside the vehicle editor, with the same part-level snapping (attach nodes, part centers, mesh vertices, hull points) over the craft being built, including parts currently held in the hand. Open it from the new top-level Measure menu in the editor menu bar. Anchors follow parts as they are dragged, so a measurement updates live while building, and part measurements carry across the editor boundary in both directions: measure in flight and refine in the editor, or measure while building and keep the numbers through launch. Points on a part disappear when the part is deleted; free points placed in the editor clear when it closes.
  • Live preview with snap highlighting, hover-sync between the list and the map, and click-to-copy values.
  • Color palettes - every overlay color (lines, labels, snap markers, construction plane) has a color picker, organized into named palettes: four shipped ones (Red, Green, Blue, Contrast) plus your own, all editable, persisted across sessions. Switch quickly via the window's Palette menu to match the vehicle you are measuring (green lines on a red rocket, red on a green one).

Part-level measuring on a rocket: tank diameter from a fitted rim circle, stack height with axial and radial components, booster clearance, and engine cant angles

Usage

In the map view or the default flight view, open View -> Measure; in the vehicle editor, open Measure -> Show Window from the menu bar. Pick a tool (Ruler, Protractor, Surface, Circle, Face angle) and click in the view to place points. The free-fly and IVA cameras steer with the left mouse button, so the tool stays inactive there to leave their controls untouched. While the tool is armed it owns left clicks, so editor part placement is suspended; pause the tool (short right-click) or close the window to build normally.

Input Action
Left-click Place a point (snaps to parts, bodies, disc edges, and orbit lines)
Ctrl + left-click Place a free point on the ecliptic plane through the reference body
Short right-click Cancel the current point, or pause measuring when nothing is pending (over a part, the stock part menu opens instead of pausing)
Click a list row Copy the measurement to the clipboard

Part snapping can be tuned in the window: "Snap to parts" turns part picking off entirely (vehicles then snap at their center marker as before), and the two sub-toggles control the attach-node/part-center and mesh-vertex snap tiers.

Free clicks that snap to nothing land on the camera-facing plane. While measuring is paused, no tool is selected and all clicks pass through to the game; pick a tool to resume. Measurements are not saved to the save file; closing the window clears them.

Installation

  1. Install StarMap.
  2. Download the latest release from the GitHub Releases tab or from SpaceDock.
  3. Extract into Documents\My Games\Kitten Space Agency\mods\MeasureTools\.
  4. The game auto-discovers new mods and prompts you to enable them. Alternatively, add to Documents\My Games\Kitten Space Agency\manifest.toml:
[[mods]]
id = "MeasureTools"
enabled = true

Dependencies

Package Purpose Tested version
StarMap Mod loader, required at runtime (see Installation) 0.4.6

Build dependencies

Required only to build the mod from source. Targets .NET 10.

Package Source Tested Version
StarMap.API NuGet 0.3.6
Lib.Harmony NuGet 2.4.2

Mod compatibility

  • Known conflicts: none

Community

Thread on the KSA forums: https://forums.ahwoo.com/threads/measuretools.992/

Check out my other mods

About

Ruler and protractor measurement tools for Kitten Space Agency. Click-to-measure distances and angles in map view, on planet surfaces, and in the vehicle editor

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages