- Introduced a new import file for the background roughness texture located at `sourceimages/background_txt_pbr/background_txt_roughness.png`.
- Configured texture compression settings and metadata for optimal performance.
- Set up dependencies and parameters for texture processing, including mipmap generation and channel remapping.
Assets grouped by role, within the constraint that FBX materials resolve
their textures by path relative to the FBX itself (verified by forcing a
reimport and reading back the albedo paths):
assets/level/ scene.fbx + Level1_v1.fbx + the platform maps they look
up as siblings
assets/logos/ the three attribution logos
assets/ chara_red.fbx, background.fbx — these reach up into
../sourceimages and so cannot move
sourcefiles/ scene.blend, behind a .gdignore
The .blend move is a bug fix, not tidying. Godot hands every importable
.blend to a headless Blender, and that call never returns on this project
— a fresh clone stalls on first import, and the machine still had orphaned
Blender processes from an earlier attempt. Nothing loads the .blend: the
level geometry is baked into level_1.tscn.
player.gd: spell out ct/bt/d/ix/a, type the physics step, group the
members, and point the blue skin at sourceimages/low_blue_mat_* — the same
files assets/Chara_blue/ was a byte-identical copy of.
Co-Authored-By: Claude Opus 5 <[email protected]>
The merge of main into test (fd39db8) was committed with conflict markers
still in the files, leaving rope_tether.gd and 3dlevel.tscn unparseable
while git reported a clean tree.
Both sides were competing full implementations of the tether rather than
overlapping edits, so every hunk had to go one way. Kept the test side:
elastic leash, kinematic tautening, haul drag and the mid-chain snap.
Dropped main's _constrain/_haul/_damp/_snap port and its tension_start,
pull_speed and snap_length exports. The two scene hunks followed from the
same choice, since the rope node's properties name exports that exist on
only one side.
Also drops rope_diag.gd, which came in with that commit and drives the
discarded API (can_snap, taut_margin).
Co-Authored-By: Claude Opus 5 <[email protected]>
Rope length was baked once at load, so it sagged when players closed in
and the pin joints fought when they separated.
Total length now eases toward clamp(gap * (1 + slack), min, max) at
reel_speed. Joint3D only derives anchors from node transforms when the
joint is configured on tree entry, so anchors are pushed straight to
PhysicsServer3D.pin_joint_set_local_a/_b after resizing the capsules.
Also instances the rope in 3dlevel and solves the spawn arc's bow height
from the same target length, so the rope no longer lurches on frame one.
Co-Authored-By: Claude Opus 5 <[email protected]>