feat: holographic 3D hive scene and Futtertasche (Beute L3, first cut)

- 3D dependencies (three, react-three-fiber, drei, postprocessing,
  motion), exact versions, supply-chain checked; scene loaded only on
  demand on the colony page (283 kB gzip), SVG stays as fallback
- glass hologram per owner design 2026-10-16: true Liebig Zander
  shapes (grips, rebate, Wanderboden foot), cool blue edge glow,
  click any part -> it flies to the front while the rest stays as a
  faint ghost; focus shows content (feed levels, Bausperre, pockets);
  frames rise on hover and take their type look (colour + comb pattern)
- full-bleed card with frosted overlays and glass buttons
- Futtertasche (FRAME_FEEDER): new part kind occupying frame slots
  with a fill level, catalog row, validator rules in both ports,
  outline, sheets, follow-ups, settings

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
Nick SzaunigandClaude Opus 5.5 committed 2026-10-16 09:12:03 +02:00
1 parent c608f5d405
commit 6e13236d49
100 files changed
+9432 -209

No files matched your search

+6
View File
@@ -689,6 +689,12 @@ describe('Backup round trip (e2e)', () => {
expect(exportedHive.hiveSystem.some((row) => row.id === systemId)).toBe(
true,
);
// The frame feeder's slotWidth travels with the part type rows.
expect(
exportedHive.hivePartType.find(
(row) => row.id === 'hive-part-zl10-frame-feeder',
)?.slotWidth,
).toBe(2);
// The colony is lost; the catalog rows stay, as a fresh install has
// them from the migration.