Files
tts-workshop/packages/tabletop/src/index.ts
T
hypercross bc418b2c73 Model part face in tabletop state
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.
2026-08-10 11:10:16 +08:00

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';