krz/moonrise

Night-sky companion for iPhone, Apple Watch and Vision Pro: what's up tonight, the Moon, planets, launches and missions, and a Library of the solar system. SwiftUI app with a Cloudflare Workers backend. astronomy cloudflare-workers ios night-sky space swiftui visionos watchos

Commit eda87b6c4b

eda87b6c4b70bb547f8836653377478aae65c8c8

parent: e9392d0a32

Verified · cmc

cmc <hello@cleberg.net> · 2026-10-19 05:40 UTC

Widen rocket columns so wide bases don't overlap

Layout: unified · split

App/Sources/RocketLineup.swift +5 −3
@@ -70,20 +70,22 @@ struct RocketLineup: View {
7070 let mine = r.id == highlight
7171 let h = d.heightM! * scale
7272 let w = max((d.diameterM ?? 3) * scale, 4)
73 // Fins reach 0.35 × width past each side, so wide rockets get a wider column.
74 let width = max(column, w * 1.7 + 14)
7375 return VStack(spacing: 4) {
7476 Text(String(format: "%.0f m", d.heightM!)).font(.caption2.monospacedDigit()).foregroundStyle(ink.opacity(0.7))
7577 .frame(height: top - 4)
7678 RocketShape()
7779 .fill(mine ? accent : ink.opacity(0.75))
7880 .frame(width: w, height: h)
79 Rectangle().fill(ink.opacity(0.35)).frame(width: column, height: 0.5)
81 Rectangle().fill(ink.opacity(0.35)).frame(width: width, height: 0.5)
8082 Text(r.title).font(.caption2.weight(mine ? .semibold : .regular))
8183 .foregroundStyle(mine ? accent : ink.opacity(0.85))
8284 .multilineTextAlignment(.center)
8385 .lineLimit(2)
84 .frame(width: column - 6, height: bottom - 6, alignment: .top)
86 .frame(width: width - 6, height: bottom - 6, alignment: .top)
8587 }
86 .frame(width: column)
88 .frame(width: width)
8789 .contentShape(Rectangle())
8890 .accessibilityElement(children: .ignore)
8991 .accessibilityLabel("\(r.title), \(Int(d.heightM!)) metres")