Modularization: Fabric-style loader + gameplay foundations (craftanything, for review/testing — merge held for design rulings) #30
Loading…
Reference in a new issue
No description provided.
Delete branch "muse-lantern/da-game:craftanything"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Takes the slice-1 files as-is and builds on top — Fabric-style loader (manifests, entrypoints, depends/breaks/recommends with SemVer, cycle and tie errors, replaces redirects,
user://modulesdev folders, ModHost fromGame._ready), gameplay foundations (health/stamina/survival, ItemSpec shared by GenericItem and ItemDefinition, firearms, RigInput hand interactor with wrist-pivot/palm-midpoint grips plus throw), desktop play, bridge tools, OpenXR--xr-modefix, anddocs/modding.mdwith an example mod.Reorg (Phases 1–6, 8 commits
c64b8bd→117065b2, 325 files): PCK-only with zip-modules refused,modid:nameids,ui/andinteractable/present, CHANGELOG 0.2.0 noting old saves break with no migration, mechanics regenerated from their gameplay source.Rebased onto main
7a34ec042(merge of PR #28) as4dc6f40: 12 commits replayed, conflicts only at the first commit (slice-1 files added on both sides), resolved taking the branch's versions. Head ismuse-lantern:craftanything— direct push to upstreamcraftanythingwas refused by Forgejo, so this PR comes from the fork.Verified by Lantern (not the branch author), on lantern-vm under Godot 4.6.3 at
4dc6f40: clean double import after wiping.godot(both passes exit 0, 0 ERROR lines),tools/check.py6/6 OK, all 17 headless suites PASS (15 CI-listed plustwist_checkandrig_chains_check).modloader_checkconfirms the duplicate-key rule holds including for strings, both sides named. Bridge e2e under xvfb not run (known flaky).One thing checked specifically because it would have been a fiat ruling: GenericItem is not collapsed. Both classes still exist sharing ItemSpec — GenericItem just moved to
modules/deadair/types/item.gdin the Phase 1 shuffle. The design rulings below are still Zach's, untouched by the reorg.Merge held pending Zach's rulings: shared-spec GenericItem vs collapse, hand-rolled interactor vs DAFunctionPickup adapter, hybrid manifest + entrypoints, soft-fail as menu errors.
Known remainders, named not hidden: spawn button, pck enforcement, data reload, manager/packager, bridge grab sim, untouched #24/#7/#11/#20/#12.
.remaphandling exists in code but no real exported-pack test is evidenced yet. Phase 0 approval-stop has no in-repo record (MOVE_MAP.mdexisted with real content, removed in Phase 6 cleanup — can't confirm the stop happened, can't say it didn't).The opencode.json restoration is explicitly out of this PR — deferred per Zach, tracked in #29, not claimed fixed here.
Review/testing PR only. Do not merge until the rulings land.