From b4f7c9a085d883869d0490fc792a6a2bde39f7e0 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Tue, 31 Mar 2026 06:17:51 +0200 Subject: [PATCH] Add helper functions for interaction triggers and visibility modes in App.tsx --- src/app/App.tsx | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/src/app/App.tsx b/src/app/App.tsx index eefdc308..b0462ee2 100644 --- a/src/app/App.tsx +++ b/src/app/App.tsx @@ -293,6 +293,42 @@ function describeSelection(selection: EditorSelection, brushes: BoxBrush[], enti } } +function getInteractionTriggerLabel(trigger: InteractionTriggerKind): string { + return trigger === "enter" ? "On Enter" : "On Exit"; +} + +function getInteractionActionLabel(link: InteractionLink): string { + switch (link.action.type) { + case "teleportPlayer": + return "Teleport Player"; + case "toggleVisibility": + return "Toggle Visibility"; + } +} + +function getVisibilityModeSelectValue(visible: boolean | undefined): "toggle" | "show" | "hide" { + if (visible === true) { + return "show"; + } + + if (visible === false) { + return "hide"; + } + + return "toggle"; +} + +function readVisibilityModeSelectValue(value: "toggle" | "show" | "hide"): boolean | undefined { + switch (value) { + case "toggle": + return undefined; + case "show": + return true; + case "hide": + return false; + } +} + function getErrorMessage(error: unknown): string { if (error instanceof Error) { return error.message;