control bar

This commit is contained in:
wass08
2026-01-29 10:14:40 +09:00
parent 406a4f51b5
commit f4125db6a8
8 changed files with 174 additions and 31 deletions
@@ -9,14 +9,17 @@ const EXPLODED_GAP = 5
export const LevelSystem = () => {
useFrame((_, delta) => {
const levelMode = useViewer.getState().levelMode
const selectedLevel = useViewer.getState().selection.levelId
sceneRegistry.byType.level.forEach((levelId) => {
const obj = sceneRegistry.nodes.get(levelId)
if (obj) {
const level = useScene.getState().nodes[levelId as LevelNode['id']]
const targetY =
((level as any).level || 0) *
(LEVEL_HEIGHT + (levelMode === 'stacked' ? 0 : EXPLODED_GAP))
(LEVEL_HEIGHT + (levelMode === 'exploded' ? EXPLODED_GAP: 0))
obj.position.y = lerp(obj.position.y, targetY, delta * 3)
obj.visible = levelMode !== 'solo' || level?.id === selectedLevel || !selectedLevel
}
})
})