From c5ee1c64d0b62ce00e3b42648b03405884b26772 Mon Sep 17 00:00:00 2001 From: Wassim SAMAD Date: Wed, 13 May 2026 16:49:17 -0400 Subject: [PATCH] Mark elevator-opening-system as client The file imports useEffect/useRef from React, which Next.js RSC builds flag as client-only. Other core systems (e.g. elevator-runtime-system) use useFrame from @react-three/fiber and slip through, but this one needs the directive explicitly. Fixes Turbopack build failure in private-editor community app: "You're importing a module that depends on useEffect into a React Server Component module." Co-Authored-By: Claude Opus 4.7 (1M context) --- packages/core/src/systems/elevator/elevator-opening-system.tsx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/core/src/systems/elevator/elevator-opening-system.tsx b/packages/core/src/systems/elevator/elevator-opening-system.tsx index 5f8c6344b..2d5b7cfd6 100644 --- a/packages/core/src/systems/elevator/elevator-opening-system.tsx +++ b/packages/core/src/systems/elevator/elevator-opening-system.tsx @@ -1,3 +1,5 @@ +'use client' + import { useEffect, useRef } from 'react' import type { AnyNode } from '../../schema' import useScene from '../../store/use-scene'