Fix/minor bug fixes#267
Conversation
Architectural review — PR #267 (editor)Scope: 5 commits, 26 files, +1028/−128. Adds curved fence rendering, fence endpoint-move and curve tools, aligns roof/slab dragging to wall/fence snap targets, and introduces a ref-counted scene-history pause primitive in core. Rules consulted: FindingsBlockersNone. SuggestionsS1. Space-detection gating is coupled to the history-pause counter — const unsubscribe = sceneStore.subscribe((state: any) => {
if (isProcessing) return
if (getSceneHistoryPauseDepth() > 0) return
…The skip is piggy-backing on the history-pause depth as a "tool is mid-interaction" signal. That semantics leaks beyond what Rule: Proposed fix: Introduce an explicit flag (e.g. S2. import { snapFenceDraftPoint } from '../fence/fence-drafting'Roof and slab move tools now reach into the fence tool's folder for their snap logic. Nothing in Proposed fix: Move the grid-point + wall/fence snap target helpers ( S3. function refreshSceneAfterHistoryJump() {
useLiveTransforms.getState().clearAll()
const state = useScene.getState()
for (const node of Object.values(state.nodes)) {
state.markDirty(node.id)
}
}The temporal subscriber in Rule: Proposed fix: Either rely on the microtask diff alone (now that it's no longer behind NitsN1. Duplicated world-coord branch in The wall-vs-fence endpoint world-position computation has the Summary
Verdict: ready to merge (with the three suggestions worth a follow-up thread). The PR respects the layer boundaries that matter most: |
What does this PR do?
This PR improves editor stability, undo/redo reliability, snapping consistency, and fence tooling, with a strong focus on smoother drag interactions and better performance during editing.
It introduces:
Undo & History
Wall & Fence Move / Snap
→ These now snap to wall/fence targets instead of only grid midpoints.
Fence Tooling
curveOffsetadded to schemaPerformance & Drag Responsiveness
Floorplan & Editor Stability
Maximum update depth exceededloop in floorplan panel by preventing redundant viewport updates.Slab / Ceiling Panel UX