fix: keep large-plan interactions off the full render path

Issue: #451
User-Visible: yes
This commit is contained in:
Sergey Matyunin
2026-09-04 22:03:45 +03:00
parent 137e160f1a
commit c0d61ca3d2
74 changed files with 21454 additions and 623 deletions
+38
View File
@@ -0,0 +1,38 @@
import type { DevicePlacement } from './device-position-history';
import type { OpeningDimension } from './opening-dimensions';
import type { OpeningPlacementCore } from './opening-placement';
import type { OpeningFaceOffset } from './opening-symbol-placement';
import type { ResolvedPartitionOpening, PartitionOpeningOrphanReason } from './partition-openings';
import type { OpeningCfg } from './types';
/** Opening rulers shared by the card shell and lazy editor runtime. */
export interface OpMeasure {
labels: Array<{ x: number; y: number; text: string; dimension?: OpeningDimension }>;
guide: { x: number; y: number; angle: number } | null;
}
export type OpeningPlacementCandidate = Omit<OpeningPlacementCore, 'measure'> & {
face: OpeningFaceOffset;
measure: OpMeasure;
};
export type RenderOpening = OpeningCfg & {
rx: number; ry: number; rlen: number;
partitionHost?: ResolvedPartitionOpening;
orphanReason?: PartitionOpeningOrphanReason;
};
export interface DeviceDragState {
id: string;
spaceId: string;
displayName: string;
pointerId: number;
source: Element | null;
sx: number;
sy: number;
ox: number;
oy: number;
moved: boolean;
before: DevicePlacement | null;
start: DevicePlacement;
}