/**
 * Lane C — Machine toolkit public surface.
 * Contraptions chain via `world.events` ('machine:signal') and talk to the paint
 * lane via 'paint:request-splat' / 'paint:request-cleanse' only.
 */
export { telegraph, isTelegraphing } from './telegraph'
export type { TelegraphOptions } from './telegraph'

export {
  SURFACES,
  SurfaceRegistry,
  applySurface,
} from './surfaces'
export type { SurfaceName, SurfaceMaterial } from './surfaces'

export {
  createPressurePlate,
  createSpringBoot,
  createSeeSaw,
  createBucketDump,
  createConveyorBelt,
  createBubbleArch,
  createFan,
} from './parts'
export type {
  Vec3,
  MachinePart,
  PressurePlateConfig,
  SpringBootConfig,
  SeeSawConfig,
  BucketDumpConfig,
  ConveyorBeltConfig,
  BubbleArchConfig,
  FanConfig,
} from './parts'
