Owner, shared-path and compose paragraphs describe the S1 shape: a ship
file holds a HullData and the ShipAuthoring visual it names through
HullData.Visual, and the derived catalog holds one hull per mod ship.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Applies corrections 1-4 of docs/moddable-ships-cut.md B.1 to
docs/moddable-ship-authoring.md: label the Quiet probe numbers as unrecorded,
name the double-held mod hull in the derived catalog, name the ShipAuthoring
catalog-routing invariant, and scope "same semantic validator" to C# callers.
The map's status header gains the S0 result (615 tests on the merge), the
S-Soul status, the corrected TradeMenu.cs path, and anchors re-taken against
the merged tree.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Imagination pass 1 against dcd7bbc5, designed from the operator's own
words (quoted in the map). Cuts 0-4; four operator questions open
(Q1 arena in a real run, Q2 who records results, Q3 test-only designs,
Q4 which ad hoc affordances retire).
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- ConsoleView appended the control characters text input delivers (\b, \r),
so Backspace inserted a glyph and Enter's \r got every command refused
since d503f076 made the parser refuse instead of strip. Control characters
are no longer text; Backspace deletes like Delete.
- give reports an unknown name or a full cargo bay. A ship hull is refused
unless docked, and when docked is commissioned through
ActionGameManager.CommissionShip, the primitive TradeMenu.Buy now uses: a
bare player ship moored at the docked entity, no docking bay. Non-ship
hulls are refused.
- Record play smoke results for steps 3-6 and the docking bay finding.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Re-anchored to the post-fire-control-12 Body (synthetic merge tested on
Yggdrasil: 379/364/381 green). Codex's map is raw material; this is the
proposal. Operator questions open.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
c50029d5 committed the file with CRLF endings: the inserted paragraph had
mixed endings, and autocrlf does not normalise a mixed file. Content is
unchanged, and the net diff against c50029d5^ is the 26-line status
paragraph.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
One file with the checks only the operator can do before the merge,
folded into a single play session, with a map pointer on each line. It
also lists what was already done, what is not part of this merge, the
open questions, and the three uncommitted scene and input files to
decide on.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Imagination pass: every anchor is re-probed; a disc runs armour per cell, then pools
each item through ItemAbsorb; Entity.Absorb dies with Splash; the penetrator's
fuse point reads the same Reach owner as the direct-hit walk; the ledger now
carries actuals for 12.1-12.3; Q12-9 (the host's shield for a blast) is opened.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The headless build pinned one CultLib revision for every package. CultMath
0.2.4 needs a newer revision than CultCache's, and bumping the single pin
would have compiled six commits of newer CultCache under the headless tests
while Unity stays on caching-unity-v1.4.0. CultMathRoot/CultMathRevision now
pin CultMath at the 0.2.4 tag; CultLibRoot/CultLibRevision keep CultCache at
45c2f40. Verified: 244 pass with both roots right, and each wrong root is
refused by name.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Records what Soul found (the wrong-signed erfinv edge that would have put hits
on the opposite side of a hull), corrects three stale verification lines, and
sets a cost measurement 12.2 owes rather than assumes.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Q5 is dissolved rather than answered: the controller asks for the force and
the torque it wants together and the solver minimises both, so the lurch is
spent only when the translation was wanted anyway. The planner rolls
candidates forward and scores where the ship ends up, which is what makes
strafing beat the big circle. The legacy hulls' second behaviour is
VelocityLimit, not VelocityConversion, as the operator said.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Q1 (divergence accepted), Q2 (differential main thrust allowed, no thruster
exclusion) and Q3 (fixtures follow the data) are ruled. A content-restore cut
recovers the legacy thruster hulls, which the live catalog lost, and the
rotation design no longer excludes any actuator.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The blast radius, not penetration, picks the model: no radius means the lane
walk with cell-by-cell absorption; a radius means the shot reaches fuse depth
and detonates as an area. AP round snipes a component, explosive penetrator
guts a section.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Operator: distribute the damage over the affected area. A blast covers the
cells within its radius and each takes the share of the disc inside it;
damage over open grid is lost, so an airburst wastes most of itself and an
internal detonation delivers nearly all of it. A shot has a direction and
keeps the lane model; a blast does not. Q12-6 ruled out, Q12-7 dissolved,
Q12-8 ruled.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>