Original Gemini export had small dim artifacts dotted around the
parachute (visible against the transparent backdrop in the rendered
sprite). Re-process: crop the canvas tightly around the subject
(720×768 starting at x=344), then run a geq pass that knocks any
pixel with alpha < 40 down to alpha 0. The main subject keeps its
clean alpha; the faint speckles disappear.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds a sprite-based parcel system. The plane spawns a new
parcel-on-parachute (assets/parcel.png, 236 KB transparent) every
~1.4 s while it's visible (progress 0.04-0.92). Each parcel:
- Spawns at the plane's current position with a tiny random offset.
- Falls at 1.4 world units/s, with a small horizontal drift and a
parachute sway sinusoid for character.
- Scales 0.35 → 2.6 over its lifetime, simulating the perspective
of falling toward the camera.
- Fades in over 6% of life, fades out over the last 15%.
- Cleaned up (removed from scene + material disposed) when its
lifetime expires or it drops below y = -10.
Implemented as THREE.Sprite so it always faces the camera, no need
to track per-parcel orientation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>