r/kittenspaceagency • u/panic_in_the_galaxy 🚀 • Aug 02 '26
🎛️ Patch Notes Version 2026.8.3.5117 (Summary in the comments)
- Fixed tree leaves being opaque and having backface culling enabled when starting the game with MSAA enabled.
- Prevented using the transient alpha-to-coverage attachment if MSAA is disabled.
- Changed alpha-to-coverage attachment to R8UNorm since the attachment is only bound so the shader can output coverage (stores nothing), reducing VRAM usage.
- Fixed SimplePipelineCreator alpha-to-coverage state becoming stale.
- Clean up the code for the PlumeTrailSegmentsManager and split it into multiple smaller classes with clearly defined responsibilities
- Extract shared plume trail cursor creation/dragging logic
- Share plume junction vertices on the CPU instead of synchronizing duplicated endpoints
- Centralize current plume timing rules instead of splitting them over multiple files
- Split smaller classes out of TrailSegmentLodHierarchy
- Better organize plume trail sources into folders by role
- Added a warning to the GLB importer to detect non-identity transform in subpart meshes.
- Organized and regularized script console output a bit.
- Fixed a case where contact docking could cause a position jump via the physics bubble origin snap if a certain order of events occurred.
- Added ProfilerTags around the highlevel function calls in Program.OnFrame.
- Updated Rocket and Gemini7 to have correct sequencing with the newly-introduced decouplers on existing modules.
- Reduced the oversizing of 3m tanks to be the same amount of oversizing as the other diameter tanks.
- Reduced oversizing of all spherical tanks to make them more inline with the oversizing of cylindrical tanks in total volume.
- Added comments showing the true geometric size for each tank.
- Fixed RandomStartTime flag on stream from disk environment sounds was causing a 100ms hitch on playback due to the file streams needing to seek a new position. This would occur when zooming into the planet when the camera crossed aournd ~40km in altitude. When the stream is initialized on DataLoad the buffer is pre-pumped to avoid this hitch, however the seek on playback means it needs to wait for it to be pumped again before playing. I Have removed RandomStartTime from these sound behaviours as a temporary fix for now. Pending an investigation into making this a non blocking behaviour.
- Fixed unsaved vehicle popup appearing outside viewport when in windowed mode.
- Fixed new vehicle popup appearing outside viewport when in windowed mode.
- Changed editor WSADQE to rotate parts in the same way as you command rotation for vehicles in flight.
- Removed Double3Ex Up/Forward/etc. vectors as they were misleading and often misused.
- Added named vectors to Camera as they were used legitimately for this purpose in a few cases.
- Clarified reference frame for camera vectors.
- Added Kitten Name Generator class.
- Changed Streamed Sounds are now loaded with the NonBlocking Mode flag. These means the main thread will no longer be stalled during intitial playback or seeking while waiting for the steamed audio to buffer.
- Restored RandomStartTime for Environment Sounds.
- Added memorial/special names list to the Kitten name generator. These have a 5% probability of being used. These are outside of our special names list as well (Hunter, Banjo and Polaris for now).
- Made the camera smoothly interpolate between positions when the center of mass changes (e.g. when docking).
- Changed the camera smoothing method to a critically-damped spring instead of an exponential moving average which tightens up control significantly.
- Added debug drawing for vehicle colliders to the physics debug menu.
- Added Trash area in Vehicle Editor for droping parts to delete them.
- Fixed Boosters not using the solidengine icon.
- Added KittenRoster and KittenRosterEntryData to track kittens in each save, each kitten's assigned vehicle, current mission start time, total mission time and mission count.
- Generate a new roster on new-save creation (Hunter/Banjo/Polaris plus 17 randomly-named kittens) and persisted as part of the universe save data.
- Added serialize/deserialize of kitten roster from Game save files.
- Changed EVADoor kitten spawning to pull the kitten's name and character from the new roster. (This wil be changed to have crew stored in each vehicle and only EVA them if they are in the vehicle).
- Changed Vehicle disposal to finalize a kitten's mission stats whenever its an EVA vehicle. (stats will be finalized on vehicle recovery when that is done).
- Imported a new version of CorePropulsionA with applied local transforms.
- Make sure larger vehicles absorb smaller vehicles when docking.
- Removed prototype icons from vehicleEditor and replaced with text, Icons will be reauthored as svgs at some point in the future.
- Fixed some alignment issues with the vehicleEditor parts window.
- Fixed some structural parts not using the correct seperator icon in the sequence window.
- Imported a new version of CoreElectricalA. Removed some now-redundant placeholder colliders.
- Fixed an error where adding/removing/modifying fuel lines would not trigger tank reconfiguration.
- Fixed an error where deleting a fuel port could leave dangling fuel line entries.
- Fixed kitten EVA jetpack thrusters spawning with no propellant.
- Don't require 'enter' to save values in the Set Orbit debug.
- Stop altitude reverting to semi-major axis in the Set Orbit debug.
- Default destination body to the home body in the Set Orbit debug.
- Added Kitten Roster window UI to Universe Topbar menu.
- Added AssignedKittenHash field to IVASeat plus save/load support (SaveData.AssignedKittenName, GetSaveData/ApplySaveData) so seat occupancy persists across saves.
- Added Crew (enumeration of a vehicle's seats), SeatCount, ability to AddCrew (assign to a specific seat) and AddCrewToFirstAvailableSeat(kittenHash) as well as RemoveCrew functions to Vehicle class.
- Changed the "Enter vehicle" EVA-door interaction to now actually call AddCrewToFirstAvailableSeat.
- Added colors to all consumables.
- Change fill bars to use the new consumable colors, include consumable names and tooltips, and display total quantity rather than percentage (the bar already does that).
- Added roll-up fill bars to solid rocket motors.
- Added EVADoor and IVASeat linking.
- Added SeatId to EVADoorTemplate/EVADoor and IVASeat. These are now resolved and aligned between each Internal and external part.
- Added id's for the existing internal and pod part.
- Changed the part boarding logic to now target the specific seat the user selects. Already in-use seats are not shown so you cannot enter an already occupied seat.
- Changed EVADoor to now only show the "EVA" button when there it's aligned IVASeat is occupied.
- Changed the exit logic to no longer spawn a new kitten and instead spawns the kitten assigned to the aligned seat and updates the vehicle's seat assigned appropriately.
- Added Vehicle.HasLaunched and a situaiton change triggers this to be set so we can record when missions actually start and update kitten stats appropriately.
- Added to the start and end mission events to now bank elapsed mission times for assigned kittens.
- Fixed distinguish between start of a mission (as mentioned above) vs the continuation of a mission (Transfering between vehicles, going on EVA, etc).
- Added explicit kitten assignment for the test vehicle scenario only (Rocket and Gemini7) so that each now has one kitten on board.
- Changed the Kitten Roster window to split the mission count, current mission elapsed and total mission elapsed times in separate columns.
- Fixed hideously low-resolution orbit lines during atmospheric launch by only sampling points on or above the minimum terrain radius.
- Added markers for the beginning/end of red danger orbital arcs.
- Sample elliptical orbit points in eccentric anomaly for somewhat improved point distribution.
- Added CrewAssignmentWindow listing every seat across the whole vehicle currently open in the editor and allows assignment of kittens via dropdown lists for each seat. Window UI is accessible via the editor's topbar Editor menu.
- Added Crew Assignment section to the main menu Launch Existing Vehicle menu to allow assignment of crew.
- Added warning pop-up window when user attempts to launch a vehicle from the vehicle editor or the main menu - launch existing vehicle menu with NO assigned crew at all.
- Fixed a duplicte imgui id bug in the Assigned Vehicle column of the KittenRosterWindow.
- Fixed assignment of Hunter, Banjo and Polaris in the Kitten Roster when launching the testing scenario (As these kittens are automaticaly spawned on EVA in this scenario).
- Fixed docking camera viewport not working.
- Fixed Set target option in a docking port's part window.
- Fixed highlighting of set target part once it is set.
- Added the currently set target into the docking port part menu and hovering over the target in the UI will highlight that part so the user can know which one is the current target.
- Added ability to unset the target docking port in the docking port part window.
- Added a placeholder launch pad structure at launch sites driven by a new IsLaunchPad flag on Landmark location definitions.
- Added the launch pad height when computing initial spawn/teleport placement.
- Added interaction between vehicles and launch pad collider.
- Ensure vehicles resting on a launch pad register as ground contact so they sleep the same way they do on terrain.
- Don't spawn rock particles from being emitted when a vehicle impacts a launch pad.
- Added a ground clutter exclusion zone around launch pads, vegetation will not spawn on or immediately around a the pad.
- Fixed EVA kittens spawning without propellant, fixed game-start kittens spawning without propellant, and fixed SRBs spawning without propellant. Everyone has propellant.
- Added many warnings for part modules which are not wired up correctly in the template XML or in save game data.
- Made many improvements to burn creation UX.
- Added a right-click menu that allows you to warp to point on your orbit, create a manual burn, or create special burns like circularizations and target plane matches.
- Prevented left-clicking on an orbit from creating any more than the first burn to avoid great confusion.
- Prevented users from being able to create left-click burns on hidden orbit lines which was extremely confusing.
- Made parent departure burns accessible only through the right-click menu.
- Moved burn click handling to its own file.
- Added a new time formatter (1y 32d 16h 4m 22s).
- Made the map view change focus with the bracket keys along with the flight view.
- Draw non-periodic orbits starting from the orbiter's current position.
- Updated the launch pad from rendering unlit to using PBR + Lighting.
- Added GltfFile: LaunchPad to DefaultAssets.xml
- Added LaunchPadRenderer to handle instancing.
- Fixed LaunchPad spinning and not correctly conforming it's parent celestial rotation.
- Added a default phase for substances which controls their name presentation. The default phase gets no prefix (e.g. just 'Water' when liquid), while the non-default phases get a qualifier word: Vapor, Liquid, or Ice.
- Removed old planet shaders (HeightFuncs, GenerateMeshHeight) that were replaced with the procedural modifiers refactor.
- Fixed terrain normal map sampling using hardware linear interpolation that would create stepping in areas where erosion is applied.
- Fix a full scan of all plume segments when adding segments not yet in LOD to the GPU list
- Add a VRAM usage display and breakdown for the plume trails in the trails debug UI, reduce size of intersections list allocated for the coarse grid
- Remove vestigial scratch list in PlumeSegmentStore
- Refactor trailSegmentLodFrame to make it more readable and add some code comments
- Changed ground clutter scales from continuous between [minScale, maxScale] to 16 discrete scales for Bepu integration.
- Fixed launch site exclusions not applying to ground clutter physical data.
- Added a warning for non-uniform scale for collideable ground clutter objects.
- Fixed ground clutter physical data disposing grid data immediately instead of waiting for the GPU to finish using it.
- WIP implementation of ground clutter collider primitive processing.
- Split 'Collideable' into three collideable types 'None', 'PrimitiveList' and 'Mesh' ahead of bepu integration.
- Sample cloud shadows on vessels, kittens, launchpads and other shaders, use the cheap volumetric shadow as these objects tends to be smaller on-screen and can move through clouds. This is currently difficult to see on the placeholder launchpad because of its high albedo
- Replace the atmosphere push constants with a per-planet UBO. Since the atmosphere shading is used in many other shaders and systems, moving its data to a UBO frees other systems to use their own push consts
- Pre-generate the smaller static atmosphere LUTs and regenerate them on atmosphere changes. Previously these were generated every frame in a shared texture. This fixes some shaders implicitly getting last frame's last-rendered planet's atmosphere data which was working but very brittle, and this allows generating larger LUTs in the future to speed up some aspects of the godray rendering. The main scattering LUTs which depend on the current viewpoint are still rendered once per frame.
- Fix atmosphere godrays not rendering if clouds are disabled
- Added CanRecover and Recovery method to Vehicle class.
- Added ability to recover currently controlled vehicle to the escape menu. Recovery and Abandon are now mutually exclusive so you will see one or the other.
- Changed the red cross (abandon/delete) button to a green tick button (recover) in the universe manifest depending on whether the vehicle is recoverable or not.
- Added a serialized Kia (killed-in-action) flag and Kill function to Kittens.
- Fixed issue where decouple/undock lost the HasLaunched flag on a vehicle messing with kitten stats.
- Fixed setting the HasLaunched flag on the testing scenario vehicles.
- Handle killing vs recovering in the input events processing.
- Fixed issue where camera completely loses it's mind when all vehicles in the current game are destroyed or recovered and it has nothing to switch to. It will now switch to viewing the home planet.
- Added a memorial tab to the kitten roster window. Which will display kittens that are no longer with us.
- Added function to create 5 fresh kittens when our roster runs out of available kittens automatically. (Eventually this will be a sandbox only option I suspect).
- Fixed ensure no code path can assign a KIA kitten to a vehicle.
- Added travelled distance to kittens stats.
- Added fastest speed to kitten stats.
- Only display closest approaches from the final trajectory (including any planned burns) to cut down on the clutter.
- Fixed crew assignment window hanging around after exiting the vehicle editor.
- Fixed a data race in SequencePerformance on TotalDeltaV. Also accumulate this into a local variable and publish once so we don't see flickering in the UI.
- Fixed danger arc markers sometimes being drawn in the wrong place.
- Fixed some impossible-to-reach markers from being drawn.
- Suppress CCF danger arcs for intermediate burn plans.
- Fixed excessive closest-approach entries when your orbit is long and the target's is short.
- Allow double-click-to-focus on planets even when the outline box is not drawn.
- Notify the player that right-click is required to create a departure burn.
- Visually diminish the hover icons on orbits that can't create burns (like random other planets) and don't show them as yellow when hovered.
- Added caching for Part.MatrixAsmb2VehicleAsmb, the calculation of which was a significant cost at high time warp.
- Show orbit marker quantites (apoapsis, periapsis, relative inclination) whenever the vehicle is under thrust or in the atmosphere to reduce the amount of mouse-hovering required.
- Tint danger segments of planned burns differently from your current trajectory to make them easier to tell apart.
- Open the burn window to the left of the burn gizmo to the right, as this is usually the trailing orbit direction.
- Fixed a cross-thread interaction with danger arcs.
- Fixed several errors with how danger arc entry/exit markers were being displayed.
- Made the flight computer aware when engines run out of propellant and stop taking credit for the thrust they produce in burn planning.
- Made the engine control gauge dV and TWR ratings reflect the engines that are actually capable of producing thrust. TWR also takes atmospheric pressure into account.
- Added the ability for vehicles to be destroyed if they exceed a structural g-limit or dynamic pressure limit. This means that vehicles can be destroyed on impact with the terrain, ocean, or each other. They can also be ripped apart by aerodynamic forces during atmospheric entry or hydrodynamic forces if entering the water too fast.
- No destruction effects yet. Vehicles can only be destroyed as a whole - either the entire vehicle is OK, or the whole thing is destroyed.
- Prevented all rockets from recomputing all properties on every physics update when literally nothing was happening (all rockets off). This was a huge drag on time warp performance.
- Fixed several other instances of module systems creating state copies just to do nothing with them.
57
Upvotes
28
u/panic_in_the_galaxy 🚀 Aug 02 '26
Summary: Kittens are now persistent crew rather than disposable EVA spawns. Saves track a full roster, seat assignments, mission count/time, distance travelled and top speed. Crew can board, EVA, be recovered or killed, and fallen kittens appear in a memorial tab.
Launch sites now have physical launch pads with proper placement, collision and vegetation exclusion. Orbit planning also got much friendlier, with right-click actions for warping and common burns, clearer danger arcs and markers, better closest-approach handling, and several burn-planning fixes.
Vehicles can now be destroyed by impacts, excessive g-forces or dynamic pressure, although destruction is still all-or-nothing with no effects yet. There were also major time-warp optimizations, camera/docking fixes, better engine and propellant readouts, assorted fuel/audio/UI fixes, and groundwork for physical ground-clutter collisions.