fittings
Everything bolted to the ship: the anchor still in its hawse, the forecastle's windlass and capstans and the chain faked on deck, the port rail with its bollards and bitts, the runs of portholes and the one hero deadlight whose cover hangs half open, and the bridge front with the…
fittings
Everything bolted to the ship: the anchor still in its hawse, the forecastle's windlass and capstans and the chain faked on deck, the port rail with its bollards and bitts, the runs of portholes and the one hero deadlight whose cover hangs half open, and the bridge front with the officers' quarters behind it.
local F = require("deadlight.wreck.fittings")
F.buildPortholes(M) -- three rows a side, the hero deadlight among them
local where = F.buildAnchor(M) -- returns { anchor, chainHead, flukeTip }
F.buildForecastle(M)
F.buildRail(M)
F.buildBridge(M)
F.chainRun(M, from, to, sag) -- studless link, every second one turned 90 degrees
M is a table of deadlight.wreck.geom meshes keyed by the material each will
be drawn with — hull, deck, steel, crust, void — so the whole ship
uploads as one mesh per material.
F.DEADLIGHT names the hero porthole (z = 40, y = 14, port side). Shot 10
spends seven seconds on it, so the porthole run is PHASED to land a station
exactly there rather than merely passing near it, and its cover is swung far
enough past the vertical that the black opening is what the lens finds.
A hole is a cone, not a barrel. A barrel's far wall faces away from the lens
and a back-face cull sends the lamp straight through it onto the lit plating
behind, so the hole reads white. Every opening here — porthole, hawse pipe,
chain pipe, funnel casing — is driven back into the ship as a cone in
mats.voidBlack.
F.HAWSE is where the anchor is, on the hull's own surface eight metres
abaft the stem. Film.ANCHORS.PortAnchor puts its fallback 13.2 m off the
centreline, which is about five metres outboard of where the plating actually
is at that station; buildAnchor returns the real place and the slice spawns
the PortAnchor entity there, so a shot framed against the name frames the
anchor rather than open water.
Scoped to this part · feeds back into the world's score.