Skip to the content

Uchusen Rockets宇宙船

Rockets drawn from sourced sizes: line drawings and painted 3D views you drop into a page, take apart and turn round, and a typed model that checks whether a rocket really goes together.

Uchusen is the Japanese word 宇宙船 for spaceship. About the name

Contents

Reference · Rockets, variants, parts and the fit check

FitReporttype

The answer of check: whether the parts go together, the issues, the label to call the rocket, whether it is a custom build, the variant, the parts, the size and the credits of every licensed model.

Import it

import type { FitReport } from "@johnmorrisdotca/uchusen-rockets";

Definition

interface FitReport {
    ok: boolean;
    issues: readonly FitIssue[];
    label: string;
    custom: boolean;
    variant: Variant | null;
    parts: readonly SlotPart[];
    size: {
        height: number;
        diameter: number;
    } | null;
    credits: readonly (ModelCredit & {
        id: CreditId;
        usedFor: readonly string[];
    })[];
}

Members

NameTypeDescription
okboolean
issuesreadonly FitIssue[]
labelstring

What to call it: a real variant's name, or a plain words label for a mix.

customboolean

True when any part is not true for the named variant: never presented as a vehicle that flew.

variantVariant | null
partsreadonly SlotPart[]

The parts, bottom up.

size{ height: number; diameter: number; } | null

Metres, as drawn: the parts' heights added, the widest diameter. Null when it does not fit.

creditsreadonly (ModelCredit & { id: CreditId; usedFor: readonly string[]; })[]

Whose work each licensed part is. Empty when only this package's code is used.

Examples

import { check, type FitReport } from "@johnmorrisdotca/uchusen-rockets";

const report: FitReport = check({ rocket: "falcon-9", variant: "block-5" });
console.log(report.ok, report.size);
true { height: 69.8, diameter: 5.2 }

What it prints (run when this page was built)

View sourceEdit on GitHubMade from the source of @johnmorrisdotca/uchusen-rockets 0.14.0.