/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ /** * Barrel re-export for the split placement-edit modules. Kept so * existing call sites can continue to `import { … } from '@/lib/placement-edit'` * while the actual code lives in: * * - `placement-core.ts` — attribute reader, chain walker, * generic IfcProduct translate / rotate helpers * - `wall-edit.ts` — rectangle-profile wall resize * * The split keeps each module under the ~400-line per-file limit * documented in AGENTS.md §7 and isolates the wall-specific * representation walk from the generic placement path. */ export { setSourceAttrsReader, readAttributes, asExpressIdRef, asCoordinateTriple, asDirectionRatios, resolvePlacementChain, translateProduct, setProductPosition, resolveRotationState, rotateProductYaw, type SourceAttrsReader, type PlacementChain, type TranslateResult, type RotationState, type RotateResult, } from './placement-core.js'; export { resolveWallEditChain, resizeRectangleWall, computeWallSplitGeometry, projectOntoWallAxis, MIN_WALL_SEGMENT_LENGTH, type WallEditChain, type WallResizeResult, type WallSplitGeometry, type WallSplitResult, } from './wall-edit.js';