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]>
12 lines
406 B
TypeScript
12 lines
406 B
TypeScript
import type { HivePart, HiveState } from "./types";
|
|
|
|
/** A stack part or an insert by id; undefined for an unknown id. */
|
|
export 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;
|
|
}
|