BaekRyang 48fdd5e17c Add sprite particle effects and improve lens distortion
- 스프라이트 기반 파티클 이펙트 관리 기능 추가 (SpriteEffectManager)
- 렌즈 왜곡 셰이더 로직 개선 및 픽셀 공간 기준 등방성 확대 적용
- 파티클 최적화를 위한 오브젝트 풀링(SpriteParticlePool) 도입
- DistortionArea 타입에 spriteEffects 설정 필드 추가
- ThreeScene에 씬 객체 접근 기능 및 렌더 순서 제어 추가
- useMouseInteraction 훅에서 마우스 상태 조회 기능 추가
- 버전 1.3.0 업데이트 및 관련 타입 정의 반영
2026-03-10 13:24:12 +09:00

87 lines
2.5 KiB
TypeScript

// 메인 컴포넌트
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';