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:
1 parent
c608f5d405
commit
6e13236d49
100 files changed
+9432
-209
No files matched your search
@@ -0,0 +1,10 @@
|
||||
-- Beute in 3D: Futtertasche (FRAME_FEEDER, spec 2026-10-15 sections 4.1, 4.3,
|
||||
-- 5.1). A frame feeder hangs in a box in place of frames and covers
|
||||
-- `slotWidth` frame slots. The enum value cannot be used in the migration that
|
||||
-- adds it, so the catalog row comes in 20261018100100.
|
||||
|
||||
-- AlterEnum
|
||||
ALTER TYPE "HivePartKind" ADD VALUE 'FRAME_FEEDER';
|
||||
|
||||
-- AlterTable
|
||||
ALTER TABLE "HivePartType" ADD COLUMN "slotWidth" INTEGER;
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
-- Beute in 3D: start catalog row for the Futtertasche (owner wish 2026-10-16,
|
||||
-- spec sections 4.3 and 4.1). Fixed id like the other start data; dimensions and
|
||||
-- the 2 l capacity are assumptions the owner confirms (catalog data, editable).
|
||||
|
||||
INSERT INTO "HivePartType" ("id", "systemId", "kind", "name", "lengthMm", "widthMm", "heightMm", "boxDepth", "frameSlots", "slotWidth", "stateSchema", "active", "updatedAt")
|
||||
VALUES (
|
||||
'hive-part-zl10-frame-feeder',
|
||||
'hive-system-zander-liebig-10',
|
||||
'FRAME_FEEDER',
|
||||
'Holz-Futtertasche Zander, doppelte Wabenbreite',
|
||||
477,
|
||||
70,
|
||||
220,
|
||||
NULL,
|
||||
NULL,
|
||||
2,
|
||||
'[{"key":"syrupLiters","label":"Flüssigfutter","kind":"level","unit":"l","max":2,"step":0.25,"feedType":"SUGAR_WATER"}]'::jsonb,
|
||||
true,
|
||||
CURRENT_TIMESTAMP
|
||||
);
|
||||
@@ -2217,6 +2217,7 @@ model HivePartType {
|
||||
heightMm Int
|
||||
boxDepth HiveBoxDepth?
|
||||
frameSlots Int? // nur BOX
|
||||
slotWidth Int? // nur FRAME_FEEDER: belegte Rähmchen-Plätze
|
||||
stateSchema Json // Abschnitt 4.2
|
||||
active Boolean @default(true)
|
||||
createdAt DateTime @default(now())
|
||||
@@ -2269,6 +2270,7 @@ enum HivePartKind {
|
||||
ROOF
|
||||
FLOOR_INSERT
|
||||
EVAPORATOR
|
||||
FRAME_FEEDER
|
||||
}
|
||||
|
||||
enum HiveBoxDepth {
|
||||
|
||||
Reference in new issue
Block a user