Replace the path->part-list store with a per-part map keyed by part id, so each placed part carries its path, stack index, and face. Derive each path's ordered children for stacking, and flip face-down parts in PartPlacement.
44 lines
1.4 KiB
TypeScript
44 lines
1.4 KiB
TypeScript
export { PartView, PartMesh } from './partView.js';
|
|
export { default as ErrorBoundary } from './ErrorBoundary.js';
|
|
export { TabletopProvider, useTabletopHttp } from './provider.js';
|
|
export type { TabletopHttp, AssetUrlFn, TraceImageFn } from './provider.js';
|
|
export {
|
|
partDimensions,
|
|
spriteUvFromCrop,
|
|
fallbackShape,
|
|
traceToShape,
|
|
traceToUvBounds,
|
|
MM_TO_WORLD,
|
|
} from './part.js';
|
|
export { resolveAssetUrl, assetUrl, traceImage } from './http.js';
|
|
|
|
// Serialized package -> Package conversion.
|
|
export { serializedToPackage } from './package.js';
|
|
|
|
// State store + derived render state.
|
|
export {
|
|
useTabletopStore,
|
|
useRenderState,
|
|
matchRoute,
|
|
computeRenderState,
|
|
computeSurfacePlacements,
|
|
placementKey,
|
|
} from './state.js';
|
|
export type { GameState, Placement, PartState } from './state.js';
|
|
|
|
// Setup seeding.
|
|
export { SetupLoader, seedFromSetup, expandSetupValue } from './setup.js';
|
|
|
|
// Surface mounting.
|
|
export { resolveMountTree } from './mount.js';
|
|
export type { MountNode, MountTree } from './mount.js';
|
|
export { WorldSurfaceView, SurfaceNode } from './surfaces/WorldSurfaceView.js';
|
|
export { HudSurfaceView } from './surfaces/HudSurfaceView.js';
|
|
export { SurfaceBounds } from './surfaces/SurfaceBounds.js';
|
|
|
|
// Part placement.
|
|
export { PartPlacement } from './placement.js';
|
|
|
|
// Stacking.
|
|
export { useStacking, stackingOffset, parsePath, pointAt, NO_OFFSET } from './stacking.js';
|
|
export type { StackOffset } from './stacking.js'; |