refactor: Beute-Frontend vereinfacht (findPart, subVec3, seededRandom)
Gemeinsame Helfer statt vier Kopien der Teilsuche, zwei Vektor- Subtraktionen und zwei Zufallsgeneratoren; hasPartSheet an einer Stelle; ungenutzte setOpacity und points-Ref entfernt. Verhalten unverändert (1050 Tests). Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
1 parent
0b0bc3c6dc
commit
9f6ab4ea3f
13 files changed
+85
-84
No files matched your search
@@ -2,7 +2,8 @@
|
||||
|
||||
import { useEffect } from "react";
|
||||
import { ArrowLeft, SlidersHorizontal } from "lucide-react";
|
||||
import type { HiveCatalog, HivePart, HiveState } from "@/lib/hive/types";
|
||||
import { findPart } from "@/lib/hive/find-part";
|
||||
import type { HiveCatalog, HiveState } from "@/lib/hive/types";
|
||||
import { GLASS_PILL, GLASS_SURFACE } from "./hive-glass";
|
||||
import { formatAmount } from "./hive-scene/scene-model";
|
||||
|
||||
@@ -15,15 +16,6 @@ export interface FocusChip {
|
||||
text: string;
|
||||
}
|
||||
|
||||
function findPart(state: HiveState, id: string): HivePart | undefined {
|
||||
for (const part of state.stack) {
|
||||
if (part.id === id) return part;
|
||||
const insert = part.inserts?.find((candidate) => candidate.id === id);
|
||||
if (insert) return insert;
|
||||
}
|
||||
return undefined;
|
||||
}
|
||||
|
||||
/** Chips for the focused part: frame count of a box, every state field with its value. */
|
||||
export function focusChips(state: HiveState, catalog: HiveCatalog, id: string): FocusChip[] {
|
||||
const part = findPart(state, id);
|
||||
|
||||
Reference in new issue
Block a user