// 메인 컴포넌트 export { ImageDistortion } from './components/ImageDistortion'; export type { ImageDistortionProps } from './components/ImageDistortion'; // 에디터 컴포넌트들 (개별적으로 조합 가능) export { EditorCanvas } from './editor/components/EditorCanvas'; export type { EditorCanvasProps } from './editor/components/EditorCanvas'; export { AreaList } from './editor/components/AreaList'; export type { AreaListProps } from './editor/components/AreaList'; export { ParameterPanel } from './editor/components/ParameterPanel'; export type { ParameterPanelProps } from './editor/components/ParameterPanel'; // 에디터 상태 관리 훅 export { useDistortionEditor } from './editor/hooks/useDistortionEditor'; // 에디터 타입 및 스타일 export type { EditorState, EditMode, EditorCanvasStyle, CircleLevelStyle, CenterPointStyle, PointHandleStyle, AreaOutlineStyle, } from './editor/types'; // 에디터 기본 스타일 상수 export { DEFAULT_EDITOR_CANVAS_STYLE } from './editor/constants'; // 타입 정의 export type { Point, EasingFunction, BuiltInMotionPreset, MotionPreset, MotionPresetDefinition, DistortionMovement, DistortionArea, AreaBounds, ShaderUniforms, ShaderConfig, AnimationState, AnimationTicker, } from './types'; // 마우스 인터랙션 타입 export type { SpringPhysicsConfig, MouseInteractionConfig, MouseState, SpringState, } from './types/interaction'; // 스프라이트 이펙트 타입 export type { SpriteEffectTrigger, SpriteBlendMode, SpriteEffectConfig, SpriteParticleOverLifetime, } from './types/spriteEffect'; // 유틸리티 함수 export { applyEasing } from './utils/easing'; export { SHADER_CONFIG, ANIMATION_CONFIG, DEFAULT_AREA } from './utils/constants'; export { presetToVector, isRotationPreset, // 프리셋 레지스트리 API registerMotionPreset, registerMotionPresets, unregisterMotionPreset, getRegisteredPresets, hasPreset, resetToBuiltInPresets, } from './utils/motionPresets'; // 엔진 클래스 (고급 사용자용) export { ThreeScene } from './engine/ThreeScene'; export { ShaderManager } from './engine/ShaderManager'; export { AnimationLoop } from './engine/AnimationLoop'; export { SpringPhysics } from './engine/SpringPhysics'; export { SpriteEffectManager } from './engine/SpriteEffectManager'; // 훅 export { useAnimationFrame } from './hooks/useAnimationFrame'; export { useMouseVelocity } from './hooks/useMouseVelocity'; export { useMouseInteraction } from './hooks/useMouseInteraction';