From d5311094b340b65635745ba5f7f7bbbc63da20ec Mon Sep 17 00:00:00 2001 From: sepgh <13250403+sepgh@users.noreply.github.com> Date: Sat, 4 Apr 2026 16:52:51 +0330 Subject: [PATCH 1/9] feat: initialize layer looping in a scene --- .../controller/dto/VideoLayerRequest.java | 2 +- .../editor/ffmpeg/FFmpegVideoProcessor.java | 4 +++ .../engine/editor/ffmpeg/VideoLayerSpec.java | 9 ++++- .../engine/editor/service/CompileService.java | 7 ++-- .../editor/service/ManifestService.java | 14 ++++++-- .../editor/service/SceneNodeService.java | 22 ++++++++---- .../src/main/resources/bundled/runtime.jar | Bin 4774096 -> 4774262 bytes .../db/migration/V10__add_loop_layer.sql | 1 + editor/frontend/src/api/nodeEditor.ts | 2 +- .../src/components/editor/SceneEditor.tsx | 32 ++++++++++++++++-- .../components/editor/TransitionEditor.tsx | 4 +-- editor/frontend/src/types/index.ts | 1 + runtime/src/main/resources/client/game.js | 31 ++++++++++++----- 13 files changed, 101 insertions(+), 28 deletions(-) create mode 100644 editor/backend/src/main/resources/db/migration/V10__add_loop_layer.sql diff --git a/editor/backend/src/main/java/com/engine/editor/controller/dto/VideoLayerRequest.java b/editor/backend/src/main/java/com/engine/editor/controller/dto/VideoLayerRequest.java index b7f2467..8d3cb3e 100644 --- a/editor/backend/src/main/java/com/engine/editor/controller/dto/VideoLayerRequest.java +++ b/editor/backend/src/main/java/com/engine/editor/controller/dto/VideoLayerRequest.java @@ -1,3 +1,3 @@ package com.engine.editor.controller.dto; -public record VideoLayerRequest(String assetId, Double startAt, Integer startAtFrames, Boolean freezeLastFrame) {} +public record VideoLayerRequest(String assetId, Double startAt, Integer startAtFrames, Boolean freezeLastFrame, Boolean loopLayer) {} diff --git a/editor/backend/src/main/java/com/engine/editor/ffmpeg/FFmpegVideoProcessor.java b/editor/backend/src/main/java/com/engine/editor/ffmpeg/FFmpegVideoProcessor.java index cf358ae..6bd4c58 100644 --- a/editor/backend/src/main/java/com/engine/editor/ffmpeg/FFmpegVideoProcessor.java +++ b/editor/backend/src/main/java/com/engine/editor/ffmpeg/FFmpegVideoProcessor.java @@ -200,6 +200,10 @@ private List buildCompositeCommand(CompositeSpec spec) { List layers = spec.getVideoLayers(); for (VideoLayerSpec layer : layers) { List preOpts = new ArrayList<>(); + if (layer.isLoopLayer()) { + preOpts.add("-stream_loop"); + preOpts.add("-1"); + } if (layer.isHasAlpha() && "vp9".equalsIgnoreCase(layer.getCodec())) { preOpts.add("-vcodec"); preOpts.add("libvpx-vp9"); diff --git a/editor/backend/src/main/java/com/engine/editor/ffmpeg/VideoLayerSpec.java b/editor/backend/src/main/java/com/engine/editor/ffmpeg/VideoLayerSpec.java index 9780efe..bec68b6 100644 --- a/editor/backend/src/main/java/com/engine/editor/ffmpeg/VideoLayerSpec.java +++ b/editor/backend/src/main/java/com/engine/editor/ffmpeg/VideoLayerSpec.java @@ -11,18 +11,24 @@ public class VideoLayerSpec { private final String codec; private final boolean freezeLastFrame; + private final boolean loopLayer; public VideoLayerSpec(Path filePath, double startAt, int order, boolean hasAlpha, boolean freezeLastFrame) { - this(filePath, startAt, order, hasAlpha, freezeLastFrame, null); + this(filePath, startAt, order, hasAlpha, freezeLastFrame, null, false); } public VideoLayerSpec(Path filePath, double startAt, int order, boolean hasAlpha, boolean freezeLastFrame, String codec) { + this(filePath, startAt, order, hasAlpha, freezeLastFrame, codec, false); + } + + public VideoLayerSpec(Path filePath, double startAt, int order, boolean hasAlpha, boolean freezeLastFrame, String codec, boolean loopLayer) { this.filePath = filePath; this.startAt = startAt; this.order = order; this.hasAlpha = hasAlpha; this.freezeLastFrame = freezeLastFrame; this.codec = codec; + this.loopLayer = loopLayer; } public Path getFilePath() { return filePath; } @@ -31,4 +37,5 @@ public VideoLayerSpec(Path filePath, double startAt, int order, boolean hasAlpha public boolean isHasAlpha() { return hasAlpha; } public boolean isFreezeLastFrame() { return freezeLastFrame; } public String getCodec() { return codec; } + public boolean isLoopLayer() { return loopLayer; } } diff --git a/editor/backend/src/main/java/com/engine/editor/service/CompileService.java b/editor/backend/src/main/java/com/engine/editor/service/CompileService.java index 4ff475d..07004c3 100644 --- a/editor/backend/src/main/java/com/engine/editor/service/CompileService.java +++ b/editor/backend/src/main/java/com/engine/editor/service/CompileService.java @@ -389,10 +389,11 @@ private void compileScene(Map node, ProjectConfigData config, Map r = layerData.get(i); String filePath = absPath((String) r.get("assetRelPath"), r); if (filePath == null) continue; - boolean hasAlpha = r.get("hasAlpha") instanceof Boolean b ? b : Boolean.TRUE.equals(r.get("hasAlpha")); - boolean freeze = r.get("freezeLastFrame") instanceof Boolean b ? b : Boolean.TRUE.equals(r.get("freezeLastFrame")); + boolean hasAlpha = r.get("hasAlpha") instanceof Boolean b ? b : Boolean.TRUE.equals(r.get("hasAlpha")); + boolean freeze = r.get("freezeLastFrame") instanceof Boolean b ? b : Boolean.TRUE.equals(r.get("freezeLastFrame")); + boolean loopLayer = r.get("loopLayer") instanceof Boolean b ? b : Boolean.TRUE.equals(r.get("loopLayer")); String codec = r.get("codec") instanceof String s ? s : null; - layers.add(new VideoLayerSpec(Path.of(filePath), toDouble(r.get("startAt")), i, hasAlpha, freeze, codec)); + layers.add(new VideoLayerSpec(Path.of(filePath), toDouble(r.get("startAt")), i, hasAlpha, freeze, codec, loopLayer)); } List tracks = new ArrayList<>(); diff --git a/editor/backend/src/main/java/com/engine/editor/service/ManifestService.java b/editor/backend/src/main/java/com/engine/editor/service/ManifestService.java index 9545648..0a69d3c 100644 --- a/editor/backend/src/main/java/com/engine/editor/service/ManifestService.java +++ b/editor/backend/src/main/java/com/engine/editor/service/ManifestService.java @@ -165,7 +165,7 @@ private void fillSceneNode(Map n, String nodeId, // Video layers with relative asset path List> layers = jdbc.queryForList(""" - SELECT nvl.layer_order, nvl.start_at, nvl.start_at_frames, nvl.freeze_last_frame, + SELECT nvl.layer_order, nvl.start_at, nvl.start_at_frames, nvl.freeze_last_frame, nvl.loop_layer, a.id AS asset_id, a.file_path, a.file_name, a.has_alpha, a.codec, a.duration FROM node_video_layers nvl JOIN assets a ON a.id=nvl.asset_id WHERE nvl.node_id=? ORDER BY nvl.layer_order @@ -181,6 +181,7 @@ private void fillSceneNode(Map n, String nodeId, l.put("hasAlpha", intFlag(r.get("has_alpha"))); l.put("codec", r.get("codec")); l.put("freezeLastFrame", intFlag(r.get("freeze_last_frame"))); + l.put("loopLayer", intFlag(r.get("loop_layer"))); l.put("duration", r.get("duration")); l.put("startAtFrames", r.get("start_at_frames")); l.put("startAt", resolveStartAt(r.get("start_at"), r.get("start_at_frames"), fps)); @@ -431,8 +432,9 @@ private boolean intFlag(Object val) { private double computeSceneDuration(List> layers, List> audios) { - double max = 0; + double max = -1; for (Map l : layers) { + if (Boolean.TRUE.equals(l.get("loopLayer"))) continue; // looped layers fill the scene, not determine its duration Object dur = l.get("duration"); Object start = l.get("startAt"); if (dur != null) max = Math.max(max, toDouble(dur) + toDouble(start)); @@ -442,6 +444,14 @@ private double computeSceneDuration(List> layers, Object start = t.get("startAt"); if (dur != null) max = Math.max(max, toDouble(dur) + toDouble(start)); } + if (max < 0) { + for (Map l : layers) { + Object dur = l.get("duration"); + Object start = l.get("startAt"); + if (dur != null) max = Math.max(max, toDouble(dur) + toDouble(start)); + } + } + if (max < 0) return 0; return max; } diff --git a/editor/backend/src/main/java/com/engine/editor/service/SceneNodeService.java b/editor/backend/src/main/java/com/engine/editor/service/SceneNodeService.java index 33f3b39..54bd8e5 100644 --- a/editor/backend/src/main/java/com/engine/editor/service/SceneNodeService.java +++ b/editor/backend/src/main/java/com/engine/editor/service/SceneNodeService.java @@ -25,7 +25,7 @@ public SceneNodeService(ProjectService projectService) { public record VideoLayerData( long id, int layerOrder, String assetId, String assetFileName, boolean hasAlpha, Double duration, double startAt, Integer startAtFrames, - boolean alphaError, boolean freezeLastFrame + boolean alphaError, boolean freezeLastFrame, boolean loopLayer ) {} public record AudioTrackData( @@ -71,10 +71,11 @@ public SceneDataResponse saveVideoLayers(String nodeId, List if (r.assetId() == null) throw new ProjectException("assetId is required for each layer"); requireAssetExists(jdbc, r.assetId()); int freeze = Boolean.TRUE.equals(r.freezeLastFrame()) ? 1 : 0; + int loop = Boolean.TRUE.equals(r.loopLayer()) ? 1 : 0; jdbc.update(""" - INSERT INTO node_video_layers (node_id, asset_id, layer_order, start_at, start_at_frames, freeze_last_frame) - VALUES (?, ?, ?, ?, ?, ?) - """, nodeId, r.assetId(), i, r.startAt() != null ? r.startAt() : 0.0, r.startAtFrames(), freeze); + INSERT INTO node_video_layers (node_id, asset_id, layer_order, start_at, start_at_frames, freeze_last_frame, loop_layer) + VALUES (?, ?, ?, ?, ?, ?, ?) + """, nodeId, r.assetId(), i, r.startAt() != null ? r.startAt() : 0.0, r.startAtFrames(), freeze, loop); } return getSceneData(nodeId); } @@ -133,7 +134,7 @@ INSERT INTO scene_decisions (node_id, decision_key, is_default, decision_order) private List loadVideoLayers(JdbcTemplate jdbc, String nodeId) { List rows = jdbc.query(""" SELECT nvl.id, nvl.layer_order, nvl.asset_id, nvl.start_at, nvl.start_at_frames, - nvl.freeze_last_frame, a.file_name, a.has_alpha, a.duration + nvl.freeze_last_frame, nvl.loop_layer, a.file_name, a.has_alpha, a.duration FROM node_video_layers nvl JOIN assets a ON a.id = nvl.asset_id WHERE nvl.node_id = ? @@ -146,7 +147,7 @@ private List loadVideoLayers(JdbcTemplate jdbc, String nodeId) { boolean alphaError = i > 0 && !vl.hasAlpha(); if (alphaError) { rows.set(i, new VideoLayerData(vl.id(), vl.layerOrder(), vl.assetId(), - vl.assetFileName(), vl.hasAlpha(), vl.duration(), vl.startAt(), vl.startAtFrames(), true, vl.freezeLastFrame())); + vl.assetFileName(), vl.hasAlpha(), vl.duration(), vl.startAt(), vl.startAtFrames(), true, vl.freezeLastFrame(), vl.loopLayer())); } } return rows; @@ -163,7 +164,8 @@ private VideoLayerData mapVideoLayer(ResultSet rs) throws SQLException { rs.getDouble("start_at"), rs.getObject("start_at_frames") != null ? rs.getInt("start_at_frames") : null, false, - rs.getInt("freeze_last_frame") == 1 + rs.getInt("freeze_last_frame") == 1, + rs.getInt("loop_layer") == 1 ); } @@ -201,11 +203,17 @@ private List loadDecisions(JdbcTemplate jdbc, String nodeId) { private Double computeDuration(List layers, List tracks) { double max = -1; for (VideoLayerData vl : layers) { + if (vl.loopLayer()) continue; // looped layers fill the scene, not determine its duration if (vl.duration() != null) max = Math.max(max, vl.startAt() + vl.duration()); } for (AudioTrackData at : tracks) { if (at.duration() != null) max = Math.max(max, at.startAt() + at.duration()); } + if (max < 0) { + for (VideoLayerData vl : layers) { + if (vl.duration() != null) max = Math.max(max, vl.startAt() + vl.duration()); + } + } return max < 0 ? null : max; } diff --git a/editor/backend/src/main/resources/bundled/runtime.jar b/editor/backend/src/main/resources/bundled/runtime.jar index 58555d123a73d31c219bca29df04058d20f667da..3342bf6b2ee09b4b9e4157a1861cde5e0f01141b 100644 GIT binary patch delta 58020 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 NMY^VJW*Sbb{6967xL5!H delta 57282 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¨%ykY;IOF#U{4mEe9I9O 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 saveVideoLayers(nodeId, newLayers)) if (result) setData(result) @@ -137,6 +143,15 @@ export default function SceneEditor({ nodeId, isEnd: initialIsEnd, autoContinue: if (result) setData(result) } + async function updateLayerLoop(layerId: number, loopLayer: boolean) { + if (!data) return + const newLayers = data.videoLayers.map(vl => + ({ ...toLayerReq(vl), ...(vl.id === layerId ? { loopLayer } : {}) }) + ) + const result = await withSave(() => saveVideoLayers(nodeId, newLayers)) + if (result) setData(result) + } + // ── Audio tracks ────────────────────────────────────────────────────────── const [audioAssets, setAudioAssets] = useState([]) @@ -307,6 +322,7 @@ export default function SceneEditor({ nodeId, isEnd: initialIsEnd, autoContinue: onStartAtChange={v => updateLayerStartAt(vl.id, v)} onStartAtFramesChange={v => updateLayerStartAtFrames(vl.id, v)} onFreezeChange={v => updateLayerFreeze(vl.id, v)} + onLoopChange={v => updateLayerLoop(vl.id, v)} /> ))} {!data?.videoLayers.length && ( @@ -468,12 +484,13 @@ export default function SceneEditor({ nodeId, isEnd: initialIsEnd, autoContinue: // ── Sub-components ──────────────────────────────────────────────────────────── -function VideoLayerRow({ layer, index, total, onRemove, onMoveUp, onMoveDown, onStartAtChange, onStartAtFramesChange, onFreezeChange }: { +function VideoLayerRow({ layer, index, total, onRemove, onMoveUp, onMoveDown, onStartAtChange, onStartAtFramesChange, onFreezeChange, onLoopChange }: { layer: VideoLayerData; index: number; total: number onRemove: () => void; onMoveUp: () => void; onMoveDown: () => void onStartAtChange: (v: number) => void onStartAtFramesChange: (v: number | null) => void onFreezeChange: (v: boolean) => void + onLoopChange: (v: boolean) => void }) { const [localMs, setLocalMs] = useState(String(Math.round(layer.startAt * 1000))) const [localFrames, setLocalFrames] = useState(layer.startAtFrames != null ? String(layer.startAtFrames) : '') @@ -535,6 +552,15 @@ function VideoLayerRow({ layer, index, total, onRemove, onMoveUp, onMoveDown, on /> Hold last frame + ) } diff --git a/editor/frontend/src/components/editor/TransitionEditor.tsx b/editor/frontend/src/components/editor/TransitionEditor.tsx index c24d081..d345b64 100644 --- a/editor/frontend/src/components/editor/TransitionEditor.tsx +++ b/editor/frontend/src/components/editor/TransitionEditor.tsx @@ -91,7 +91,7 @@ export default function TransitionEditor({ edgeId }: TransitionEditorProps) { // Video layers function toLayerReq(l: TransitionLayerData): VideoLayerRequest { - return { assetId: l.assetId, startAt: l.startAt, startAtFrames: l.startAtFrames, freezeLastFrame: l.freezeLastFrame } + return { assetId: l.assetId, startAt: l.startAt, startAtFrames: l.startAtFrames, freezeLastFrame: l.freezeLastFrame, loopLayer: false } } async function updateLayerStartAt(layerId: number, startAt: number) { @@ -116,7 +116,7 @@ export default function TransitionEditor({ edgeId }: TransitionEditorProps) { if (!data) return const layers: VideoLayerRequest[] = [ ...data.videoLayers.map(toLayerReq), - { assetId: asset.id, startAt: 0, startAtFrames: null, freezeLastFrame: false }, + { assetId: asset.id, startAt: 0, startAtFrames: null, freezeLastFrame: false, loopLayer: false }, ] const result = await withSave(() => saveTransitionLayers(edgeId, layers)) if (result) setData(result) diff --git a/editor/frontend/src/types/index.ts b/editor/frontend/src/types/index.ts index f963f26..6dcdc9e 100644 --- a/editor/frontend/src/types/index.ts +++ b/editor/frontend/src/types/index.ts @@ -98,6 +98,7 @@ export interface VideoLayerData { startAtFrames: number | null alphaError: boolean freezeLastFrame: boolean + loopLayer: boolean } export interface AudioTrackData { diff --git a/runtime/src/main/resources/client/game.js b/runtime/src/main/resources/client/game.js index cbf12a6..423b476 100644 --- a/runtime/src/main/resources/client/game.js +++ b/runtime/src/main/resources/client/game.js @@ -18,6 +18,7 @@ let preloadedSceneHls = {}; // url → Hls (preloaded next-scene) let currentMusicUrl = null; // currently playing music URL let gamePaused = false; let loopHandler = null; // persistent 'ended' handler for manual video looping +let sceneVideoListeners = []; // per-scene listeners attached to videoEl // ── App state machine ──────────────────────────────────────────────────────── // Screens: 'menu' | 'game' | 'paused' | 'settings' @@ -425,14 +426,28 @@ async function checkContinue() { } } +function addSceneVideoListener(type, handler, options) { + videoEl.addEventListener(type, handler, options); + const capture = typeof options === 'boolean' ? options : !!(options && options.capture); + sceneVideoListeners.push({ type, handler, capture }); +} + +function clearSceneVideoListeners() { + for (const l of sceneVideoListeners) { + videoEl.removeEventListener(l.type, l.handler, l.capture); + } + sceneVideoListeners = []; +} + // ── Scene loading ───────────────────────────────────────────────────────────── async function loadScene(state) { currentState = state; decisionMade = false; - // Clean up any persistent loop handler from the previous scene - if (loopHandler) { videoEl.removeEventListener('ended', loopHandler); loopHandler = null; } + // Clean up scene listeners from previous scene to avoid stale handlers + clearSceneVideoListeners(); + loopHandler = null; hideDecisions(); hideCountdown(); @@ -484,7 +499,7 @@ async function loadScene(state) { // (short videos can fire 'ended' before listeners are attached otherwise) if (state.autoContinue) { - videoEl.addEventListener('ended', async () => { + addSceneVideoListener('ended', async () => { captureFreeze(); if (!decisionMade) { decisionMade = true; @@ -505,7 +520,7 @@ async function loadScene(state) { if (decisions.length > 0) { if (appearAt !== null) { - videoEl.addEventListener('timeupdate', function onTimeUpdate() { + addSceneVideoListener('timeupdate', function onTimeUpdate() { if (videoEl.currentTime >= appearAt) { videoEl.removeEventListener('timeupdate', onTimeUpdate); if (!decisionMade) showDecisions(decisions, timeout); @@ -525,10 +540,10 @@ async function loadScene(state) { videoEl.currentTime = 0; videoEl.play().catch(() => {}); }; - videoEl.addEventListener('ended', loopHandler); + addSceneVideoListener('ended', loopHandler); } else { // Non-looping: freeze on last frame and show decisions - videoEl.addEventListener('ended', function onEnded() { + addSceneVideoListener('ended', function onEnded() { videoEl.removeEventListener('ended', onEnded); captureFreeze(); if (isEnd) { showEndScreen(); return; } @@ -536,9 +551,9 @@ async function loadScene(state) { }, { once: true }); } } else if (isEnd) { - videoEl.addEventListener('ended', () => { captureFreeze(); showEndScreen(); }, { once: true }); + addSceneVideoListener('ended', () => { captureFreeze(); showEndScreen(); }, { once: true }); } else { - videoEl.addEventListener('ended', async () => { + addSceneVideoListener('ended', async () => { captureFreeze(); await makeDecision('CONTINUE'); }, { once: true }); From 798b87e0546fdecf2414b5c3fe4ef84464f42d74 Mon Sep 17 00:00:00 2001 From: sepgh <13250403+sepgh@users.noreply.github.com> Date: Sat, 4 Apr 2026 17:27:17 +0330 Subject: [PATCH 2/9] fix: looping in preview --- .../editor/service/ScenePreviewService.java | 19 ++++++++++++++---- .../src/main/resources/bundled/runtime.jar | Bin 4774262 -> 4774262 bytes 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/editor/backend/src/main/java/com/engine/editor/service/ScenePreviewService.java b/editor/backend/src/main/java/com/engine/editor/service/ScenePreviewService.java index 8d70175..7a078cb 100644 --- a/editor/backend/src/main/java/com/engine/editor/service/ScenePreviewService.java +++ b/editor/backend/src/main/java/com/engine/editor/service/ScenePreviewService.java @@ -78,7 +78,7 @@ private void runScenePreview(PreviewJob job) { job.setProgress(5, "Loading layers…"); // Load video layers List> layerRows = jdbc.queryForList(""" - SELECT nvl.layer_order, nvl.start_at, nvl.start_at_frames, nvl.freeze_last_frame, a.file_path, a.duration, a.has_alpha, a.codec + SELECT nvl.layer_order, nvl.start_at, nvl.start_at_frames, nvl.freeze_last_frame, nvl.loop_layer, a.file_path, a.duration, a.has_alpha, a.codec FROM node_video_layers nvl JOIN assets a ON a.id = nvl.asset_id WHERE nvl.node_id = ? ORDER BY nvl.layer_order @@ -110,9 +110,10 @@ private void runScenePreview(PreviewJob job) { double startAt = resolveStartAt(row.get("start_at"), row.get("start_at_frames"), fps); boolean hasAlpha = row.get("has_alpha") instanceof Number n ? n.intValue() == 1 : Boolean.TRUE.equals(row.get("has_alpha")); boolean freeze = row.get("freeze_last_frame") instanceof Number n ? n.intValue() == 1 : Boolean.TRUE.equals(row.get("freeze_last_frame")); + boolean loopLayer = row.get("loop_layer") instanceof Number n ? n.intValue() == 1 : Boolean.TRUE.equals(row.get("loop_layer")); String codec = row.get("codec") instanceof String s ? s : null; videoLayers.add(new VideoLayerSpec( - Path.of((String) row.get("file_path")), startAt, i, hasAlpha, freeze, codec)); + Path.of((String) row.get("file_path")), startAt, i, hasAlpha, freeze, codec, loopLayer)); } List audioTracks = new ArrayList<>(); @@ -153,8 +154,10 @@ private void runScenePreview(PreviewJob job) { } private double computeDuration(List> layers, List> audio, int fps) { - double max = 0; + double max = -1; for (Map row : layers) { + boolean loopLayer = row.get("loop_layer") instanceof Number n ? n.intValue() == 1 : Boolean.TRUE.equals(row.get("loop_layer")); + if (loopLayer) continue; Object dur = row.get("duration"); if (dur != null) { max = Math.max(max, toDouble(dur) + resolveStartAt(row.get("start_at"), row.get("start_at_frames"), fps)); @@ -166,7 +169,15 @@ private double computeDuration(List> layers, List row : layers) { + Object dur = row.get("duration"); + if (dur != null) { + max = Math.max(max, toDouble(dur) + resolveStartAt(row.get("start_at"), row.get("start_at_frames"), fps)); + } + } + } + return Math.max(max, 0); } private double resolveStartAt(Object startAtSeconds, Object startAtFrames, int fps) { diff --git a/editor/backend/src/main/resources/bundled/runtime.jar b/editor/backend/src/main/resources/bundled/runtime.jar index 3342bf6b2ee09b4b9e4157a1861cde5e0f01141b..a597abb1da268e5612439cf828bb26d95c347ef6 100644 GIT binary patch delta 963 zcmYMyO-NKx6bEqM8OO#no%ChuIObGlO_pDoJ@dPxHcW!pAYmbD?%dQaX=yRhjH9D7 zUMOf2?FvN73$@5vvqyEbm+-V!=EpWC%ZBE3b(Gdqb63VGQZBE9hF{%EvRj9zC{MnKR`;kU^{V(7Jl=R%S%OTCp$-AC6g@Ra<(;bq0p4L#7Sm(|6U&c7H5P{9BI delta 963 zcmYMyO-NKx6bEqM8OO$))bwTQIObGlndMhzV}8wa)MOIG1_=vMbLXaZNlP0hQfC~U z@j^kHXjdSjUa&>hqFs=SBuEI_C|RpegCP2!c@r&u^MB{w^X|Lv&f8mjMtk7w4cOAn zG>5~Hwj7E%mk7Ua8)+#N``v(FwO~@wM8MDi!>HQAfF9pADs$xG`M#0qmJ76e%#hx& zi|Qm_xyUQI=OUjpcuQ!&E(1RXs9djlsJ~3AFOR5Ptqqf1HT$U~eJS+dmRetSoBEEQ zJR}_-dZ=E%WBN}2XBB4MdaH{z4Qp^HkZ0=8-L##m7oHTEs<{_UzXG&j$Of=ZFtvot zYRvAYy6?6Wn!3A>M&yC|Wsr7K6Um({^iyu?M$ffkQ-8Wa`N>ASNwrPxC>^BxHftmQ z9&D=Dadzvk!?c;~T^pszQh6O*RH}Ok&eh=w%9az+>LGO|UloVZDFYRgw3&rJA#7I! zHb@6MWWWJ%Kqef7EO5dh$c7xqg~N~s`C!5kD1f6-2t`l~E+_#vl)^D60}mXB6L1pB z;S^NBX*dIwa2BfI9Gr)0sDWCjgL=3C4R8?};SzYE2`)o3v_LDgK|A=sukGqe&n^x_ z1*e!LA5U@et6ZPrdO6XIX>O71nC4c=&@?wmzOlyVBU~e8U4-S6R$~!vlY9~3Zpr-! z_eln#SRNUR@{r`uDBqOqow4f086J_kAjZRz<1uS~BUO86`L>Kdo#jEvKeN_-LvuVP z_4_&NIi5I=N*#_{>wJrIQ0n%CmGcR{F7-|#xgT9S&l84x3@eJE13IBguc)hQzP~&k BZ-)Q? From 579f204061e553a9d8cb0b3726d2e4a9883c5cf1 Mon Sep 17 00:00:00 2001 From: sepgh <13250403+sepgh@users.noreply.github.com> Date: Sun, 5 Apr 2026 17:35:21 +0330 Subject: [PATCH 3/9] feat: add support for keyboard bindings --- .../controller/dto/DecisionItemRequest.java | 2 +- .../dto/UpdateProjectConfigRequest.java | 1 + .../editor/model/ProjectConfigData.java | 4 + .../editor/service/ManifestService.java | 4 +- .../engine/editor/service/ProjectService.java | 11 +- .../editor/service/SceneNodeService.java | 36 ++++-- .../src/main/resources/bundled/runtime.jar | Bin 4774262 -> 4774832 bytes ...dd_decision_hotkeys_and_hidden_buttons.sql | 2 + editor/frontend/src/api/nodeEditor.ts | 2 +- editor/frontend/src/api/project.ts | 2 + .../editor/ProjectSettingsPanel.tsx | 18 +++ .../src/components/editor/SceneEditor.tsx | 106 ++++++++++++++++-- editor/frontend/src/types/index.ts | 2 + .../com/engine/runtime/RuntimeServer.java | 2 + .../com/engine/runtime/game/GameEngine.java | 10 +- .../com/engine/runtime/game/Manifest.java | 2 + runtime/src/main/resources/client/game.js | 76 ++++++++++--- 17 files changed, 240 insertions(+), 40 deletions(-) create mode 100644 editor/backend/src/main/resources/db/migration/V11__add_decision_hotkeys_and_hidden_buttons.sql diff --git a/editor/backend/src/main/java/com/engine/editor/controller/dto/DecisionItemRequest.java b/editor/backend/src/main/java/com/engine/editor/controller/dto/DecisionItemRequest.java index daabcab..d8d39ff 100644 --- a/editor/backend/src/main/java/com/engine/editor/controller/dto/DecisionItemRequest.java +++ b/editor/backend/src/main/java/com/engine/editor/controller/dto/DecisionItemRequest.java @@ -1,3 +1,3 @@ package com.engine.editor.controller.dto; -public record DecisionItemRequest(String decisionKey, Boolean isDefault, Integer decisionOrder) {} +public record DecisionItemRequest(String decisionKey, Boolean isDefault, Integer decisionOrder, String keyboardKey) {} diff --git a/editor/backend/src/main/java/com/engine/editor/controller/dto/UpdateProjectConfigRequest.java b/editor/backend/src/main/java/com/engine/editor/controller/dto/UpdateProjectConfigRequest.java index e03c2d7..eb57546 100644 --- a/editor/backend/src/main/java/com/engine/editor/controller/dto/UpdateProjectConfigRequest.java +++ b/editor/backend/src/main/java/com/engine/editor/controller/dto/UpdateProjectConfigRequest.java @@ -14,6 +14,7 @@ public record UpdateProjectConfigRequest( Double decisionTimeoutSecs, String defaultLocaleCode, String defaultBackgroundColor, + Boolean hideDecisionButtons, Boolean ffmpegThreadsAuto, Integer ffmpegThreads ) {} diff --git a/editor/backend/src/main/java/com/engine/editor/model/ProjectConfigData.java b/editor/backend/src/main/java/com/engine/editor/model/ProjectConfigData.java index 22c6a34..51de4ad 100644 --- a/editor/backend/src/main/java/com/engine/editor/model/ProjectConfigData.java +++ b/editor/backend/src/main/java/com/engine/editor/model/ProjectConfigData.java @@ -15,6 +15,7 @@ public class ProjectConfigData { private double decisionTimeoutSecs; private String defaultLocaleCode; private String defaultBackgroundColor; + private boolean hideDecisionButtons; private Integer ffmpegThreads; // null = Auto (let FFmpeg decide) public ProjectConfigData() {} @@ -52,6 +53,9 @@ public ProjectConfigData() {} public String getDefaultBackgroundColor() { return defaultBackgroundColor; } public void setDefaultBackgroundColor(String defaultBackgroundColor) { this.defaultBackgroundColor = defaultBackgroundColor; } + public boolean isHideDecisionButtons() { return hideDecisionButtons; } + public void setHideDecisionButtons(boolean hideDecisionButtons) { this.hideDecisionButtons = hideDecisionButtons; } + public Integer getFfmpegThreads() { return ffmpegThreads; } public void setFfmpegThreads(Integer ffmpegThreads) { this.ffmpegThreads = ffmpegThreads; } } diff --git a/editor/backend/src/main/java/com/engine/editor/service/ManifestService.java b/editor/backend/src/main/java/com/engine/editor/service/ManifestService.java index 0a69d3c..470a397 100644 --- a/editor/backend/src/main/java/com/engine/editor/service/ManifestService.java +++ b/editor/backend/src/main/java/com/engine/editor/service/ManifestService.java @@ -211,7 +211,7 @@ private void fillSceneNode(Map n, String nodeId, // Decisions List> decs = jdbc.queryForList(""" - SELECT decision_key, is_default, decision_order + SELECT decision_key, is_default, decision_order, keyboard_key FROM scene_decisions WHERE node_id=? ORDER BY decision_order """, nodeId); List> decList = new ArrayList<>(); @@ -220,6 +220,7 @@ private void fillSceneNode(Map n, String nodeId, d.put("decisionKey", r.get("decision_key")); d.put("isDefault", intFlag(r.get("is_default"))); d.put("decisionOrder", r.get("decision_order")); + d.put("keyboardKey", r.get("keyboard_key")); decList.add(d); } n.put("decisions", decList); @@ -407,6 +408,7 @@ private Map buildProjectSection(ProjectConfigData c) { p.put("decisionTimeoutSecs", c.getDecisionTimeoutSecs()); p.put("defaultLocaleCode", c.getDefaultLocaleCode()); p.put("defaultBackgroundColor", c.getDefaultBackgroundColor()); + p.put("hideDecisionButtons", c.isHideDecisionButtons()); return p; } diff --git a/editor/backend/src/main/java/com/engine/editor/service/ProjectService.java b/editor/backend/src/main/java/com/engine/editor/service/ProjectService.java index 56c7215..5ce4aa3 100644 --- a/editor/backend/src/main/java/com/engine/editor/service/ProjectService.java +++ b/editor/backend/src/main/java/com/engine/editor/service/ProjectService.java @@ -100,6 +100,7 @@ public synchronized ProjectConfigData createProject(CreateProjectRequest req) { config.setAudioBitRate(req.audioBitRate() != null ? req.audioBitRate() : 128); config.setDecisionTimeoutSecs(req.decisionTimeoutSecs() != null ? req.decisionTimeoutSecs() : 5.0); config.setDefaultBackgroundColor(req.defaultBackgroundColor() != null ? req.defaultBackgroundColor() : "#000000"); + config.setHideDecisionButtons(false); config.setFfmpegThreads(req.ffmpegThreads()); // null = Auto insertConfig(config); @@ -171,6 +172,7 @@ public ProjectConfigData updateConfig(UpdateProjectConfigRequest req) { if (req.decisionTimeoutSecs() != null) currentConfig.setDecisionTimeoutSecs(req.decisionTimeoutSecs()); if (req.defaultLocaleCode() != null) currentConfig.setDefaultLocaleCode(req.defaultLocaleCode()); if (req.defaultBackgroundColor() != null) currentConfig.setDefaultBackgroundColor(req.defaultBackgroundColor()); + if (req.hideDecisionButtons() != null) currentConfig.setHideDecisionButtons(req.hideDecisionButtons()); if (Boolean.TRUE.equals(req.ffmpegThreadsAuto())) { currentConfig.setFfmpegThreads(null); } else if (req.ffmpegThreads() != null) { @@ -242,8 +244,8 @@ private void insertConfig(ProjectConfigData config) { (id, name, assets_directory, output_directory, preview_resolution, compile_resolutions, fps, audio_sample_rate, audio_bit_rate, decision_timeout_secs, default_locale_code, default_background_color, - ffmpeg_threads) - VALUES (1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + hide_decision_buttons, ffmpeg_threads) + VALUES (1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) """, config.getName(), config.getAssetsDirectory(), @@ -256,6 +258,7 @@ private void insertConfig(ProjectConfigData config) { config.getDecisionTimeoutSecs(), config.getDefaultLocaleCode(), config.getDefaultBackgroundColor(), + config.isHideDecisionButtons() ? 1 : 0, config.getFfmpegThreads() ); } @@ -267,7 +270,7 @@ private void saveConfig(ProjectConfigData config) { preview_resolution = ?, compile_resolutions = ?, fps = ?, audio_sample_rate = ?, audio_bit_rate = ?, decision_timeout_secs = ?, default_locale_code = ?, - default_background_color = ?, ffmpeg_threads = ? + default_background_color = ?, hide_decision_buttons = ?, ffmpeg_threads = ? WHERE id = 1 """, config.getName(), @@ -281,6 +284,7 @@ private void saveConfig(ProjectConfigData config) { config.getDecisionTimeoutSecs(), config.getDefaultLocaleCode(), config.getDefaultBackgroundColor(), + config.isHideDecisionButtons() ? 1 : 0, config.getFfmpegThreads() ); } @@ -301,6 +305,7 @@ private ProjectConfigData loadConfig() { c.setDecisionTimeoutSecs(rs.getDouble("decision_timeout_secs")); c.setDefaultLocaleCode(rs.getString("default_locale_code")); c.setDefaultBackgroundColor(rs.getString("default_background_color")); + c.setHideDecisionButtons(rs.getInt("hide_decision_buttons") == 1); int threads = rs.getInt("ffmpeg_threads"); c.setFfmpegThreads(rs.wasNull() ? null : threads); return c; diff --git a/editor/backend/src/main/java/com/engine/editor/service/SceneNodeService.java b/editor/backend/src/main/java/com/engine/editor/service/SceneNodeService.java index 54bd8e5..662bb70 100644 --- a/editor/backend/src/main/java/com/engine/editor/service/SceneNodeService.java +++ b/editor/backend/src/main/java/com/engine/editor/service/SceneNodeService.java @@ -34,7 +34,7 @@ public record AudioTrackData( ) {} public record DecisionItemData( - long id, String decisionKey, boolean isDefault, int decisionOrder + long id, String decisionKey, boolean isDefault, int decisionOrder, String keyboardKey ) {} public record SceneDataResponse( @@ -110,21 +110,32 @@ public SceneDataResponse saveDecisions(String nodeId, List throw new ProjectException("Exactly one decision must be marked as default"); Set keys = new HashSet<>(); + Set keyboardKeys = new HashSet<>(); for (DecisionItemRequest r : reqs) { - if (r.decisionKey() == null || r.decisionKey().isBlank()) + String decisionKey = r.decisionKey() != null ? r.decisionKey().trim() : null; + if (decisionKey == null || decisionKey.isBlank()) throw new ProjectException("decisionKey must not be blank"); - if (!keys.add(r.decisionKey())) - throw new ProjectException("Duplicate decisionKey: " + r.decisionKey()); + if (!keys.add(decisionKey)) + throw new ProjectException("Duplicate decisionKey: " + decisionKey); + String keyboardKey = normalizeKeyboardKey(r.keyboardKey()); + if (keyboardKey != null) { + if ("escape".equalsIgnoreCase(keyboardKey)) + throw new ProjectException("keyboardKey Escape is reserved"); + String normalizedKeyboardKey = keyboardKey.toLowerCase(Locale.ROOT); + if (!keyboardKeys.add(normalizedKeyboardKey)) + throw new ProjectException("Duplicate keyboardKey: " + keyboardKey); + } } jdbc.update("DELETE FROM scene_decisions WHERE node_id = ?", nodeId); for (int i = 0; i < reqs.size(); i++) { DecisionItemRequest r = reqs.get(i); int order = r.decisionOrder() != null ? r.decisionOrder() : i; + String keyboardKey = normalizeKeyboardKey(r.keyboardKey()); jdbc.update(""" - INSERT INTO scene_decisions (node_id, decision_key, is_default, decision_order) - VALUES (?, ?, ?, ?) - """, nodeId, r.decisionKey().trim(), Boolean.TRUE.equals(r.isDefault()) ? 1 : 0, order); + INSERT INTO scene_decisions (node_id, decision_key, is_default, decision_order, keyboard_key) + VALUES (?, ?, ?, ?, ?) + """, nodeId, r.decisionKey().trim(), Boolean.TRUE.equals(r.isDefault()) ? 1 : 0, order, keyboardKey); } return getSceneData(nodeId); } @@ -190,13 +201,14 @@ private List loadAudioTracks(JdbcTemplate jdbc, String nodeId) { private List loadDecisions(JdbcTemplate jdbc, String nodeId) { return jdbc.query(""" - SELECT id, decision_key, is_default, decision_order + SELECT id, decision_key, is_default, decision_order, keyboard_key FROM scene_decisions WHERE node_id = ? ORDER BY decision_order """, (rs, rowNum) -> new DecisionItemData( rs.getLong("id"), rs.getString("decision_key"), rs.getInt("is_default") == 1, - rs.getInt("decision_order") + rs.getInt("decision_order"), + rs.getString("keyboard_key") ), nodeId); } @@ -231,4 +243,10 @@ private void requireAssetExists(JdbcTemplate jdbc, String assetId) { if (count == null || count == 0) throw new ProjectException("Asset not found: " + assetId); } + + private String normalizeKeyboardKey(String keyboardKey) { + if (keyboardKey == null) return null; + String trimmed = keyboardKey.trim(); + return trimmed.isEmpty() ? null : trimmed; + } } diff --git a/editor/backend/src/main/resources/bundled/runtime.jar b/editor/backend/src/main/resources/bundled/runtime.jar index a597abb1da268e5612439cf828bb26d95c347ef6..0b1227ff9984c469538cf973026506f7cc36ab21 100644 GIT binary patch delta 80807 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

QW~ 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≷;&q`_8Xiy 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 OBQeUj%d$vZxcMJF5^ + +

+ Hide decision buttons at runtime + Players can still choose using the keyboard keys assigned to each decision. +
+ + + s.projectConfig?.defaultBackgroundColor ?? '#000000' @@ -213,13 +228,23 @@ export default function SceneEditor({ nodeId, isEnd: initialIsEnd, autoContinue: // ── Decisions ───────────────────────────────────────────────────────────── const [newDecisionKey, setNewDecisionKey] = useState('') + const [capturingDecisionId, setCapturingDecisionId] = useState(null) + + function toDecisionReq(d: SceneDataResponse['decisions'][number]): DecisionItemRequest { + return { + decisionKey: d.decisionKey, + isDefault: d.isDefault, + decisionOrder: d.decisionOrder, + keyboardKey: d.keyboardKey ?? null, + } + } async function addDecision() { if (!data || !newDecisionKey.trim()) return const existing = data.decisions const newDecisions: DecisionItemRequest[] = [ - ...existing.map(d => ({ decisionKey: d.decisionKey, isDefault: d.isDefault, decisionOrder: d.decisionOrder })), - { decisionKey: newDecisionKey.trim(), isDefault: existing.length === 0, decisionOrder: existing.length }, + ...existing.map(toDecisionReq), + { decisionKey: newDecisionKey.trim(), isDefault: existing.length === 0, decisionOrder: existing.length, keyboardKey: null }, ] const result = await withSave(() => saveDecisions(nodeId, newDecisions)) if (result) { setData(result); setNewDecisionKey('') } @@ -228,19 +253,52 @@ export default function SceneEditor({ nodeId, isEnd: initialIsEnd, autoContinue: async function removeDecision(decId: number) { if (!data) return const filtered = data.decisions.filter(d => d.id !== decId) - let decisions = filtered.map((d, i) => ({ decisionKey: d.decisionKey, isDefault: d.isDefault, decisionOrder: i })) + let decisions = filtered.map((d, i) => ({ ...toDecisionReq(d), decisionOrder: i })) if (decisions.length > 0 && !decisions.some(d => d.isDefault)) decisions[0].isDefault = true const result = await withSave(() => saveDecisions(nodeId, decisions)) - if (result) setData(result) + if (result) { + setData(result) + if (capturingDecisionId === decId) setCapturingDecisionId(null) + } } async function setDefaultDecision(decisionKey: string) { if (!data) return - const decisions = data.decisions.map(d => ({ decisionKey: d.decisionKey, isDefault: d.decisionKey === decisionKey, decisionOrder: d.decisionOrder })) + const decisions = data.decisions.map(d => ({ ...toDecisionReq(d), isDefault: d.decisionKey === decisionKey })) const result = await withSave(() => saveDecisions(nodeId, decisions)) if (result) setData(result) } + async function setDecisionKeyboardKey(decisionId: number, keyboardKey: string | null) { + if (!data) return + const decisions = data.decisions.map(d => ( + d.id === decisionId ? { ...toDecisionReq(d), keyboardKey } : toDecisionReq(d) + )) + const result = await withSave(() => saveDecisions(nodeId, decisions)) + if (result) { + setData(result) + setCapturingDecisionId(null) + } + } + + async function handleDecisionKeyCapture(decisionId: number, event: KeyboardEvent) { + if (event.repeat) return + if (event.key === 'Tab') return + event.preventDefault() + event.stopPropagation() + if (event.key === 'Escape') { + setCapturingDecisionId(null) + return + } + if (event.key === 'Backspace' || event.key === 'Delete') { + await setDecisionKeyboardKey(decisionId, null) + return + } + const keyboardKey = normalizeCapturedKeyboardKey(event.key) + if (!keyboardKey) return + await setDecisionKeyboardKey(decisionId, keyboardKey) + } + // ── Properties ──────────────────────────────────────────────────────────── async function saveProperties() { @@ -356,15 +414,42 @@ export default function SceneEditor({ nodeId, isEnd: initialIsEnd, autoContinue: {section === 'decisions' && ( <> {data?.decisions.map(d => ( -
+
+ {d.keyboardKey && ( + + )} +
+
{d.isDefault && default} @@ -372,6 +457,9 @@ export default function SceneEditor({ nodeId, isEnd: initialIsEnd, autoContinue: {!data?.decisions.length && (

No decisions defined. Scene uses default CONTINUE.

)} + {!!data?.decisions.length && ( +

Click a key field, then press the keyboard key to assign. Press Delete or Backspace to clear.

+ )}
buildStateResponse(GameState s, String locale) { resp.put("duration", scene != null ? scene.computedDuration : null); resp.put("decisionAppearanceConfig", scene != null ? scene.decisionAppearanceConfig : null); resp.put("decisionTimeoutSecs", engine.decisionTimeoutSecs()); + resp.put("hideDecisionButtons", engine.hideDecisionButtons()); resp.put("decisions", decisions.stream().map(d -> { Map dm = new LinkedHashMap<>(); dm.put("key", d.key()); dm.put("isDefault", d.isDefault()); + dm.put("keyboardKey", d.keyboardKey()); return dm; }).toList()); resp.put("preloadUrls", engine.preloadUrlsForScene(s.currentSceneId)); diff --git a/runtime/src/main/java/com/engine/runtime/game/GameEngine.java b/runtime/src/main/java/com/engine/runtime/game/GameEngine.java index 5bc31c6..a90c72d 100644 --- a/runtime/src/main/java/com/engine/runtime/game/GameEngine.java +++ b/runtime/src/main/java/com/engine/runtime/game/GameEngine.java @@ -48,6 +48,10 @@ public double decisionTimeoutSecs() { return manifest.project != null ? manifest.project.decisionTimeoutSecs : 5.0; } + public boolean hideDecisionButtons() { + return manifest.project != null && manifest.project.hideDecisionButtons; + } + /** * Result of a decision traversal. * @@ -121,11 +125,11 @@ public TraversalResult decide(GameState state, String decisionKey) { public List availableDecisions(String sceneId) { Manifest.NodeData scene = nodeById(sceneId); if (scene == null || scene.decisions == null || scene.decisions.isEmpty()) { - return List.of(new DecisionInfo("CONTINUE", true)); + return List.of(new DecisionInfo("CONTINUE", true, null)); } return scene.decisions.stream() .sorted(Comparator.comparingInt(d -> d.decisionOrder)) - .map(d -> new DecisionInfo(d.decisionKey, d.isDefault)) + .map(d -> new DecisionInfo(d.decisionKey, d.isDefault, d.keyboardKey)) .toList(); } @@ -137,7 +141,7 @@ public boolean sceneAutoContinues(String sceneId) { return !hasExplicitDecisions && scene.autoContinue; } - public record DecisionInfo(String key, boolean isDefault) {} + public record DecisionInfo(String key, boolean isDefault, String keyboardKey) {} /** * Read-only traversal: returns the TraversalResult for a given decision without diff --git a/runtime/src/main/java/com/engine/runtime/game/Manifest.java b/runtime/src/main/java/com/engine/runtime/game/Manifest.java index 1b98b84..e053549 100644 --- a/runtime/src/main/java/com/engine/runtime/game/Manifest.java +++ b/runtime/src/main/java/com/engine/runtime/game/Manifest.java @@ -23,6 +23,7 @@ public static class ProjectConfig { @JsonProperty("fps") public int fps; @JsonProperty("decisionTimeoutSecs") public double decisionTimeoutSecs = 5.0; @JsonProperty("defaultLocaleCode") public String defaultLocaleCode; + @JsonProperty("hideDecisionButtons") public boolean hideDecisionButtons; } // ── Node ────────────────────────────────────────────────────────────────── @@ -50,6 +51,7 @@ public static class DecisionEntry { @JsonProperty("decisionKey") public String decisionKey; @JsonProperty("isDefault") public boolean isDefault; @JsonProperty("decisionOrder") public int decisionOrder; + @JsonProperty("keyboardKey") public String keyboardKey; } @JsonIgnoreProperties(ignoreUnknown = true) diff --git a/runtime/src/main/resources/client/game.js b/runtime/src/main/resources/client/game.js index 423b476..519ce90 100644 --- a/runtime/src/main/resources/client/game.js +++ b/runtime/src/main/resources/client/game.js @@ -19,6 +19,7 @@ let currentMusicUrl = null; // currently playing music URL let gamePaused = false; let loopHandler = null; // persistent 'ended' handler for manual video looping let sceneVideoListeners = []; // per-scene listeners attached to videoEl +let activeDecisionHotkeys = new Map(); // ── App state machine ──────────────────────────────────────────────────────── // Screens: 'menu' | 'game' | 'paused' | 'settings' @@ -96,6 +97,30 @@ function saveSettings() { try { localStorage.setItem(SETTINGS_KEY, JSON.stringify(settings)); } catch {} } +function normalizeDecisionHotkey(key) { + if (!key || key === 'Unidentified') return null; + if (key === ' ' || key === 'Spacebar') return 'space'; + return String(key).toLowerCase(); +} + +function formatDecisionHotkey(key) { + if (!key) return ''; + if (key === ' ') return 'Space'; + return key; +} + +function setActiveDecisionHotkeys(decisions) { + activeDecisionHotkeys = new Map(); + for (const d of decisions || []) { + const normalized = normalizeDecisionHotkey(d.keyboardKey); + if (normalized) activeDecisionHotkeys.set(normalized, d); + } +} + +function clearActiveDecisionHotkeys() { + activeDecisionHotkeys = new Map(); +} + function applySettings() { // Music musicEl.volume = settings.musicEnabled ? settings.musicVolume : 0; @@ -285,7 +310,24 @@ document.addEventListener('keydown', (e) => { applySettings(); showScreen(settingsReturnTo); } + return; + } + + if (appScreen !== 'game' || gamePaused || decisionMade) { + return; } + + const decision = activeDecisionHotkeys.get(normalizeDecisionHotkey(e.key)); + if (!decision) { + return; + } + + e.preventDefault(); + e.stopPropagation(); + decisionMade = true; + clearCountdown(); + hideDecisions(); + makeDecision(decision.key); }); function pauseGame() { @@ -444,6 +486,7 @@ function clearSceneVideoListeners() { async function loadScene(state) { currentState = state; decisionMade = false; + clearActiveDecisionHotkeys(); // Clean up scene listeners from previous scene to avoid stale handlers clearSceneVideoListeners(); @@ -646,27 +689,32 @@ function preloadScene(url) { function showDecisions(decisions, timeoutSecs) { decisionButtons.innerHTML = ''; + setActiveDecisionHotkeys(decisions); const defaultDecision = decisions.find(d => d.isDefault) || decisions[0]; + const hideDecisionButtons = !!(currentState && currentState.hideDecisionButtons); // Decision translations from the current state response const dtMap = (currentState && currentState.decisionTranslations) || {}; - for (const d of decisions) { - const btn = document.createElement('button'); - btn.className = 'decision-btn' + (d.isDefault ? ' default' : ''); - btn.textContent = dtMap[d.key] || d.key; - btn.addEventListener('click', () => { - if (decisionMade) return; - decisionMade = true; - clearCountdown(); - hideDecisions(); - makeDecision(d.key); - }); - decisionButtons.appendChild(btn); + if (!hideDecisionButtons) { + for (const d of decisions) { + const btn = document.createElement('button'); + btn.className = 'decision-btn' + (d.isDefault ? ' default' : ''); + const label = dtMap[d.key] || d.key; + btn.textContent = d.keyboardKey ? `${label} [${formatDecisionHotkey(d.keyboardKey)}]` : label; + btn.addEventListener('click', () => { + if (decisionMade) return; + decisionMade = true; + clearCountdown(); + hideDecisions(); + makeDecision(d.key); + }); + decisionButtons.appendChild(btn); + } } - decisionOverlay.classList.add('visible'); + decisionOverlay.classList.toggle('visible', !hideDecisionButtons); startCountdown(timeoutSecs, () => { if (!decisionMade) { decisionMade = true; @@ -677,7 +725,9 @@ function showDecisions(decisions, timeoutSecs) { } function hideDecisions() { + clearActiveDecisionHotkeys(); decisionOverlay.classList.remove('visible'); + decisionButtons.innerHTML = ''; } // ── Countdown ───────────────────────────────────────────────────────────────── From bc96c5c5132ea04cf3cc535f06d96998300af766 Mon Sep 17 00:00:00 2001 From: sepgh <13250403+sepgh@users.noreply.github.com> Date: Sun, 5 Apr 2026 17:43:03 +0330 Subject: [PATCH 4/9] fix: remove unused music asset from runtime --- .../engine/editor/service/CompileService.java | 57 +++++++++++------- .../src/main/resources/bundled/runtime.jar | Bin 4774832 -> 4774832 bytes 2 files changed, 34 insertions(+), 23 deletions(-) diff --git a/editor/backend/src/main/java/com/engine/editor/service/CompileService.java b/editor/backend/src/main/java/com/engine/editor/service/CompileService.java index 07004c3..dc2f51c 100644 --- a/editor/backend/src/main/java/com/engine/editor/service/CompileService.java +++ b/editor/backend/src/main/java/com/engine/editor/service/CompileService.java @@ -12,6 +12,7 @@ import java.nio.file.*; import java.nio.file.attribute.PosixFilePermission; import java.util.*; +import java.util.stream.Collectors; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -207,7 +208,9 @@ private void runCompilation(PreviewJob job) { // ── Stage 5: Package dist/ + create ZIP (92→100%) ────────────── if (job.isCancelRequested()) { job.markCancelled(); return; } - Path zipPath = buildPackage(job, projectDir, outputBase, manifestFile); + Path sourceAssetsDir = Path.of(config.getAssetsDirectory()).normalize(); + Set referencedMusicAssetPaths = collectReferencedMusicAssetPaths(sceneNodes); + Path zipPath = buildPackage(job, projectDir, outputBase, manifestFile, sourceAssetsDir, referencedMusicAssetPaths); lastZipPath = zipPath; job.markDone(zipPath.toAbsolutePath().toString()); @@ -221,7 +224,8 @@ private void runCompilation(PreviewJob job) { // ── Packaging ───────────────────────────────────────────────────────────── private Path buildPackage(PreviewJob job, Path projectDir, Path outputBase, - Path manifestFile) throws Exception { + Path manifestFile, Path sourceAssetsDir, + Set referencedMusicAssetPaths) throws Exception { Path distDir = projectDir.resolve("dist"); Files.createDirectories(distDir); @@ -282,8 +286,7 @@ private Path buildPackage(PreviewJob job, Path projectDir, Path outputBase, // Create dist.zip job.setProgress(97, "Packaging: creating ZIP archive…"); Path zipFile = projectDir.resolve("dist.zip"); - Path assetsDir = projectDir.resolve("assets"); - createZip(distDir, outputBase, assetsDir, zipFile); + createZip(distDir, outputBase, sourceAssetsDir, referencedMusicAssetPaths, zipFile); job.setProgress(100, "Package ready."); return zipFile; @@ -315,7 +318,9 @@ private String buildReadme(String projectName) { "Delete it to reset to the beginning.\n"; } - private void createZip(Path distDir, Path outputBase, Path assetsDir, Path zipFile) throws IOException { + private void createZip(Path distDir, Path outputBase, Path assetsDir, + Set referencedMusicAssetPaths, + Path zipFile) throws IOException { try (ZipOutputStream zos = new ZipOutputStream( Files.newOutputStream(zipFile, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING))) { @@ -346,29 +351,35 @@ private void createZip(Path distDir, Path outputBase, Path assetsDir, Path zipFi } } - // Add assets/ (audio files for background music) under game/assets/ - if (Files.isDirectory(assetsDir)) { - try (var walk = Files.walk(assetsDir)) { - walk.filter(Files::isRegularFile) - .filter(p -> { - String fn = p.getFileName().toString().toLowerCase(); - return fn.endsWith(".mp3") || fn.endsWith(".ogg") || - fn.endsWith(".wav") || fn.endsWith(".aac") || - fn.endsWith(".flac"); - }) - .forEach(p -> { - String name = "game/assets/" + assetsDir.relativize(p).toString(); - try { - zos.putNextEntry(new ZipEntry(name)); - Files.copy(p, zos); - zos.closeEntry(); - } catch (IOException e) { throw new RuntimeException(e); } - }); + // Add only referenced background-music assets under game/assets/ + if (Files.isDirectory(assetsDir) && referencedMusicAssetPaths != null && !referencedMusicAssetPaths.isEmpty()) { + for (String relPath : referencedMusicAssetPaths) { + Path assetPath = assetsDir.resolve(relPath).normalize(); + if (!assetPath.startsWith(assetsDir) || !Files.isRegularFile(assetPath)) { + continue; + } + String name = "game/assets/" + relPath.replace('\\', '/'); + try { + zos.putNextEntry(new ZipEntry(name)); + Files.copy(assetPath, zos); + zos.closeEntry(); + } catch (IOException e) { throw new RuntimeException(e); } } } } } + private Set collectReferencedMusicAssetPaths(List> sceneNodes) { + return sceneNodes.stream() + .map(node -> node.get("musicAssetRelPath")) + .filter(String.class::isInstance) + .map(String.class::cast) + .map(String::trim) + .filter(path -> !path.isBlank()) + .map(path -> path.replace('\\', '/')) + .collect(Collectors.toCollection(LinkedHashSet::new)); + } + // ── Scene compilation ───────────────────────────────────────────────────── @SuppressWarnings("unchecked") diff --git a/editor/backend/src/main/resources/bundled/runtime.jar b/editor/backend/src/main/resources/bundled/runtime.jar index 0b1227ff9984c469538cf973026506f7cc36ab21..aa16a11cffde67e3a596d14af15a9db55ab5a67a 100644 GIT binary patch delta 1023 zcmZA0OGs2v7zc3gH$KK0%}2MfsTp5s56jXq8?|&ak5eL|sD!ALk7#2HrBy+-5HXB- zs&ky6O(896p}kJK9;={;qQs(tRwWc6K}1B+|C@UuXz{!M^PPL1mzhO%l@=kRv(1vM zCt0o5Bzqu|ahvdbgzLaL~n`ck;@wU}-e@*8J>O66EDrO2nv=(oAx_~T4n-fPAY2c)pc%Q4|ld4p78-jYwIaDz4rU;oAldXxC1Xq2g? zNy<-rzZcWwPwas2=jU-l0eWXgW6BpNus|}TKq{nx71F^5cF2HCSO-~<4LOht>p_PN z;D9{X2u|1po52Nc$cF+bgd!-0El>ibuobq!cGv-BuoHGcIqZf#Pyv-X!otV-F)Ug+D%TG&06qOK_a*1B-A?c}Tc@Qxaof(%o zPS8ssJ=BA?o!%;a35qC6EQ;u(wH~q9^tv@qQx=qpAtNWiVR(37I{>{_iVb8DR0uoDOa88pfL5kmK>o=W5eCbSaF&Um`X@Sy6P#z z_OIW^`?FBY*)D+PLiHS=&`LQllti9!1piraDgm!+QTl%IS*G!e)e#KWTBT^C5OG%me0K0 zBX#~HcS(*;TJ^U{?vuJ@ihCvRPFe5cr>*+zH1|vY+i5;7Svq6QyE?-IQb+i#eY$*n uQtBr@YhI4xcB#(?^QGc8sdHxo=g|YRJS6{wku^U<9n`}Sz2-mqxaKb$7nCCa From 5425058d57a920191be5784b5e7d67f315e6833a Mon Sep 17 00:00:00 2001 From: sepgh <13250403+sepgh@users.noreply.github.com> Date: Sun, 5 Apr 2026 17:46:42 +0330 Subject: [PATCH 5/9] fix: audio sample rate limitation --- .../frontend/src/components/editor/ProjectSettingsPanel.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/editor/frontend/src/components/editor/ProjectSettingsPanel.tsx b/editor/frontend/src/components/editor/ProjectSettingsPanel.tsx index 85a1fdf..03a835c 100644 --- a/editor/frontend/src/components/editor/ProjectSettingsPanel.tsx +++ b/editor/frontend/src/components/editor/ProjectSettingsPanel.tsx @@ -199,8 +199,8 @@ export default function ProjectSettingsPanel() { setForm((prev) => prev ? { ...prev, audioSampleRate: e.target.value } : prev)} className="input-base" From c83484a3e9a47640484c2eec3b7cb2768660a40e Mon Sep 17 00:00:00 2001 From: sepgh <13250403+sepgh@users.noreply.github.com> Date: Sun, 5 Apr 2026 17:58:43 +0330 Subject: [PATCH 6/9] fix: previous scene flashing when new scene begins --- .../src/main/resources/bundled/runtime.jar | Bin 4774832 -> 4774859 bytes runtime/src/main/resources/client/game.js | 14 ++++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/editor/backend/src/main/resources/bundled/runtime.jar b/editor/backend/src/main/resources/bundled/runtime.jar index aa16a11cffde67e3a596d14af15a9db55ab5a67a..5123042967a46ae8b1700793b33b037b1ba309f9 100644 GIT binary patch delta 50322 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 vwPo-ogX2?I&8BS7uDojYw6RohmE0 Date: Sun, 5 Apr 2026 18:07:33 +0330 Subject: [PATCH 7/9] fix: issue with cropping instead of lowering resolution --- .../editor/ffmpeg/FFmpegVideoProcessor.java | 28 ++++++++++++++++-- .../src/main/resources/bundled/runtime.jar | Bin 4774859 -> 4774859 bytes .../ffmpeg/FFmpegCommandBuilderTest.java | 28 ++++++++++++++++++ 3 files changed, 53 insertions(+), 3 deletions(-) diff --git a/editor/backend/src/main/java/com/engine/editor/ffmpeg/FFmpegVideoProcessor.java b/editor/backend/src/main/java/com/engine/editor/ffmpeg/FFmpegVideoProcessor.java index 6bd4c58..a1a57d7 100644 --- a/editor/backend/src/main/java/com/engine/editor/ffmpeg/FFmpegVideoProcessor.java +++ b/editor/backend/src/main/java/com/engine/editor/ffmpeg/FFmpegVideoProcessor.java @@ -231,7 +231,7 @@ private List buildCompositeCommand(CompositeSpec spec) { } } - String filterComplex = buildOverlayFilter(layers, tracks); + String filterComplex = buildOverlayFilter(layers, tracks, spec.getOutputResolution()); if (filterComplex != null) { builder.filterComplex(filterComplex); builder.mapVideo("[vout]"); @@ -259,17 +259,29 @@ private List buildCompositeCommand(CompositeSpec spec) { * * Returns {@code null} when there are no layers and no tracks (nothing to filter). */ - private String buildOverlayFilter(List layers, List tracks) { + private String buildOverlayFilter(List layers, List tracks, + String outputResolution) { if (layers.isEmpty() && tracks.isEmpty()) return null; List parts = new ArrayList<>(); String currentVideo = "[0:v]"; + String[] canvasSize = parseResolution(outputResolution); + String canvasWidth = canvasSize != null ? canvasSize[0] : null; + String canvasHeight = canvasSize != null ? canvasSize[1] : null; // input 0 is the background; layers start at input index 1 for (int i = 0; i < layers.size(); i++) { int inputIdx = i + 1; String nextLabel = (i == layers.size() - 1) ? "[vout]" : "[ov" + i + "]"; String eofAction = layers.get(i).isFreezeLastFrame() ? "repeat" : "pass"; - parts.add(currentVideo + "[" + inputIdx + ":v]overlay=0:0:format=auto:eof_action=" + eofAction + nextLabel); + String overlayInput = "[" + inputIdx + ":v]"; + if (canvasWidth != null && canvasHeight != null) { + String scaledLabel = "[vs" + i + "]"; + parts.add("[" + inputIdx + ":v]scale=w=" + canvasWidth + ":h=" + canvasHeight + + ":force_original_aspect_ratio=decrease,setsar=1" + scaledLabel); + overlayInput = scaledLabel; + } + parts.add(currentVideo + overlayInput + + "overlay=(W-w)/2:(H-h)/2:format=auto:eof_action=" + eofAction + nextLabel); currentVideo = nextLabel; } @@ -291,4 +303,14 @@ private String buildOverlayFilter(List layers, Listkrj@VENBPR*s8}Q_VQNn$B3;y?!Z2Kj4Fu|) zhaPoRgbSfsL~&NZq)Vw>)JAL-lwlAd(n6B{pZC(j#qWOSyXX0xxwELA(IUjPG}|Ke z2#3QF5j6a9uL;ljQVJOU%@RC^i!@cFY4zXHRs*YAu8SM9f3(k0+!)-_9;TupH&dvH zW4?#VIo|S6Ef09%p-wy2R56+KDh&lNQOJfpXGxb7c0QOx{phB@*5HIs>AKpwLcLb8d>n-m@RRTjP0pw2>dOsUNd2Emq`G`B zMS@xxq4@2q{rQ-@d@R1&EO~L1()o;oqqO2QZ>s8cX0p80;*RwVO%vE466_EK(cpj> z;4w~!gIy30E=Yjgum|>n4*MVx_CpdRgBuP&3V0wD4ni8FLk48RA;^MkI1D*(1act{ zj>0iG4*5_3g-`^=Z~{u;B$PrKltTrag40k5RZtBzPzz_&&~#nS24C0Qm=GL)jS2qL zW%jrz=GZkZDml)Kiz<%GR-SB#ipT(exm!N3Ti!8*&fPvk@c%`I4N=We^NS{4_N-sD za(v=9xB2E5S2=GCh%Sz^0W*&ditC*B1;sUvAA)9oUdYVHLZXM?uZP5Cj%^d>yf+h~ zkMoR4bDw*YqL=fPNpoJc6z!Z(SaD5?HqL9Nw$Gy;O^IRtK7Gy^0rlX82IZV-4A=ex D3HPK| delta 1056 zcmZ9~O-NKx6bEqM8AoT-oUvZ!Opf`HW?HFZ=12LJ*HN)ZRKnCgm56jviweVVAvO@` z%s8W0T@~R%s1{M&RbaW4%0+F&RzVpC5h5)l>3@8W7A}78+%xx{ckj9L7S&T)goKu6 zOSB$kv)Q7O0-=Oggy*|bat1=1C3p^dHRaW``tKO4fmJQf!Gqa9+UFP^3~p%;(oiBd zQ_0J*z(eI6Z+fT}Q9buir6Y{N+`1g>Ade~<RXj+PX(q zH+*Eb>{uk{JISVAG|^Yhm|4nq>1wW-R?WQVjzyREdq|hT4zkNZf4*-t(i->356yc<{N+aTg`27 z-VKdAM(f$qA%&F>W>Y`9>94ui`6)wJTbHTVY?hCs&;tGvzM;u?sk-`dofgvmrxK|y z-%H_CDPnzy)sD52@gRG&lh1kO7&H1qUG;a^Mi;!ePjR zd^iF};TRM^AryfZis3kvzzHaYGAM@%I0>hq5~`pYYM>TQtD)(-+zr02xiKL){u&ef zsmq*zDCXD|5S1Kf0-}oJvYESrqQbb)Ex*q#ZwH0W<^G^3 z4jJ2g3yCY7H;#)gjO^P cmd.add("extra")); } + + @Test + void compositeCommandScalesAndCentersLayersForSmallerOutputResolution() throws Exception { + FFmpegVideoProcessor processor = new FFmpegVideoProcessor(new FFprobeMediaAnalyzer()); + CompositeSpec spec = CompositeSpec.builder() + .videoLayers(List.of(new VideoLayerSpec(Path.of("/tmp/source.mp4"), 0, 0, false, false))) + .backgroundColor("0x000000") + .outputResolution("1280x720") + .fps(30) + .duration(5.0) + .outputPath(Path.of("/tmp/out.mp4")) + .build(); + + Method buildCompositeCommand = FFmpegVideoProcessor.class.getDeclaredMethod("buildCompositeCommand", CompositeSpec.class); + buildCompositeCommand.setAccessible(true); + + @SuppressWarnings("unchecked") + List cmd = (List) buildCompositeCommand.invoke(processor, spec); + + int filterIdx = cmd.indexOf("-filter_complex"); + assertNotEquals(-1, filterIdx); + + String filter = cmd.get(filterIdx + 1); + assertTrue(filter.contains("scale=w=1280:h=720:force_original_aspect_ratio=decrease,setsar=1[vs0]")); + assertTrue(filter.contains("[0:v][vs0]overlay=(W-w)/2:(H-h)/2:format=auto:eof_action=pass[vout]")); + } } From 902b39d734b5deec6c436bc8860f2cc1177496ec Mon Sep 17 00:00:00 2001 From: sepgh <13250403+sepgh@users.noreply.github.com> Date: Sun, 5 Apr 2026 18:27:45 +0330 Subject: [PATCH 8/9] feat: keyboard based decision indicator --- .../dto/UpdateProjectConfigRequest.java | 1 + .../editor/model/ProjectConfigData.java | 4 ++ .../editor/service/ManifestService.java | 1 + .../engine/editor/service/ProjectService.java | 12 +++-- .../src/main/resources/bundled/runtime.jar | Bin 4774859 -> 4775253 bytes .../V12__add_decision_input_indicator.sql | 1 + editor/frontend/src/api/project.ts | 1 + .../editor/ProjectSettingsPanel.tsx | 44 +++++++++++++----- editor/frontend/src/types/index.ts | 1 + .../com/engine/runtime/RuntimeServer.java | 1 + .../com/engine/runtime/game/GameEngine.java | 4 ++ .../com/engine/runtime/game/Manifest.java | 1 + runtime/src/main/resources/client/default.css | 26 +++++++++++ runtime/src/main/resources/client/game.js | 22 +++++++++ runtime/src/main/resources/client/index.html | 2 + 15 files changed, 106 insertions(+), 15 deletions(-) create mode 100644 editor/backend/src/main/resources/db/migration/V12__add_decision_input_indicator.sql diff --git a/editor/backend/src/main/java/com/engine/editor/controller/dto/UpdateProjectConfigRequest.java b/editor/backend/src/main/java/com/engine/editor/controller/dto/UpdateProjectConfigRequest.java index eb57546..0d9f88e 100644 --- a/editor/backend/src/main/java/com/engine/editor/controller/dto/UpdateProjectConfigRequest.java +++ b/editor/backend/src/main/java/com/engine/editor/controller/dto/UpdateProjectConfigRequest.java @@ -15,6 +15,7 @@ public record UpdateProjectConfigRequest( String defaultLocaleCode, String defaultBackgroundColor, Boolean hideDecisionButtons, + Boolean showDecisionInputIndicator, Boolean ffmpegThreadsAuto, Integer ffmpegThreads ) {} diff --git a/editor/backend/src/main/java/com/engine/editor/model/ProjectConfigData.java b/editor/backend/src/main/java/com/engine/editor/model/ProjectConfigData.java index 51de4ad..61dc906 100644 --- a/editor/backend/src/main/java/com/engine/editor/model/ProjectConfigData.java +++ b/editor/backend/src/main/java/com/engine/editor/model/ProjectConfigData.java @@ -16,6 +16,7 @@ public class ProjectConfigData { private String defaultLocaleCode; private String defaultBackgroundColor; private boolean hideDecisionButtons; + private boolean showDecisionInputIndicator; private Integer ffmpegThreads; // null = Auto (let FFmpeg decide) public ProjectConfigData() {} @@ -56,6 +57,9 @@ public ProjectConfigData() {} public boolean isHideDecisionButtons() { return hideDecisionButtons; } public void setHideDecisionButtons(boolean hideDecisionButtons) { this.hideDecisionButtons = hideDecisionButtons; } + public boolean isShowDecisionInputIndicator() { return showDecisionInputIndicator; } + public void setShowDecisionInputIndicator(boolean showDecisionInputIndicator) { this.showDecisionInputIndicator = showDecisionInputIndicator; } + public Integer getFfmpegThreads() { return ffmpegThreads; } public void setFfmpegThreads(Integer ffmpegThreads) { this.ffmpegThreads = ffmpegThreads; } } diff --git a/editor/backend/src/main/java/com/engine/editor/service/ManifestService.java b/editor/backend/src/main/java/com/engine/editor/service/ManifestService.java index 470a397..48bcfac 100644 --- a/editor/backend/src/main/java/com/engine/editor/service/ManifestService.java +++ b/editor/backend/src/main/java/com/engine/editor/service/ManifestService.java @@ -409,6 +409,7 @@ private Map buildProjectSection(ProjectConfigData c) { p.put("defaultLocaleCode", c.getDefaultLocaleCode()); p.put("defaultBackgroundColor", c.getDefaultBackgroundColor()); p.put("hideDecisionButtons", c.isHideDecisionButtons()); + p.put("showDecisionInputIndicator", c.isShowDecisionInputIndicator()); return p; } diff --git a/editor/backend/src/main/java/com/engine/editor/service/ProjectService.java b/editor/backend/src/main/java/com/engine/editor/service/ProjectService.java index 5ce4aa3..c6735c2 100644 --- a/editor/backend/src/main/java/com/engine/editor/service/ProjectService.java +++ b/editor/backend/src/main/java/com/engine/editor/service/ProjectService.java @@ -101,6 +101,7 @@ public synchronized ProjectConfigData createProject(CreateProjectRequest req) { config.setDecisionTimeoutSecs(req.decisionTimeoutSecs() != null ? req.decisionTimeoutSecs() : 5.0); config.setDefaultBackgroundColor(req.defaultBackgroundColor() != null ? req.defaultBackgroundColor() : "#000000"); config.setHideDecisionButtons(false); + config.setShowDecisionInputIndicator(false); config.setFfmpegThreads(req.ffmpegThreads()); // null = Auto insertConfig(config); @@ -173,6 +174,7 @@ public ProjectConfigData updateConfig(UpdateProjectConfigRequest req) { if (req.defaultLocaleCode() != null) currentConfig.setDefaultLocaleCode(req.defaultLocaleCode()); if (req.defaultBackgroundColor() != null) currentConfig.setDefaultBackgroundColor(req.defaultBackgroundColor()); if (req.hideDecisionButtons() != null) currentConfig.setHideDecisionButtons(req.hideDecisionButtons()); + if (req.showDecisionInputIndicator() != null) currentConfig.setShowDecisionInputIndicator(req.showDecisionInputIndicator()); if (Boolean.TRUE.equals(req.ffmpegThreadsAuto())) { currentConfig.setFfmpegThreads(null); } else if (req.ffmpegThreads() != null) { @@ -244,8 +246,8 @@ private void insertConfig(ProjectConfigData config) { (id, name, assets_directory, output_directory, preview_resolution, compile_resolutions, fps, audio_sample_rate, audio_bit_rate, decision_timeout_secs, default_locale_code, default_background_color, - hide_decision_buttons, ffmpeg_threads) - VALUES (1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) + hide_decision_buttons, show_decision_input_indicator, ffmpeg_threads) + VALUES (1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) """, config.getName(), config.getAssetsDirectory(), @@ -259,6 +261,7 @@ private void insertConfig(ProjectConfigData config) { config.getDefaultLocaleCode(), config.getDefaultBackgroundColor(), config.isHideDecisionButtons() ? 1 : 0, + config.isShowDecisionInputIndicator() ? 1 : 0, config.getFfmpegThreads() ); } @@ -270,7 +273,8 @@ private void saveConfig(ProjectConfigData config) { preview_resolution = ?, compile_resolutions = ?, fps = ?, audio_sample_rate = ?, audio_bit_rate = ?, decision_timeout_secs = ?, default_locale_code = ?, - default_background_color = ?, hide_decision_buttons = ?, ffmpeg_threads = ? + default_background_color = ?, hide_decision_buttons = ?, + show_decision_input_indicator = ?, ffmpeg_threads = ? WHERE id = 1 """, config.getName(), @@ -285,6 +289,7 @@ private void saveConfig(ProjectConfigData config) { config.getDefaultLocaleCode(), config.getDefaultBackgroundColor(), config.isHideDecisionButtons() ? 1 : 0, + config.isShowDecisionInputIndicator() ? 1 : 0, config.getFfmpegThreads() ); } @@ -306,6 +311,7 @@ private ProjectConfigData loadConfig() { c.setDefaultLocaleCode(rs.getString("default_locale_code")); c.setDefaultBackgroundColor(rs.getString("default_background_color")); c.setHideDecisionButtons(rs.getInt("hide_decision_buttons") == 1); + c.setShowDecisionInputIndicator(rs.getInt("show_decision_input_indicator") == 1); int threads = rs.getInt("ffmpeg_threads"); c.setFfmpegThreads(rs.wasNull() ? null : threads); return c; diff --git a/editor/backend/src/main/resources/bundled/runtime.jar b/editor/backend/src/main/resources/bundled/runtime.jar index 50438b31480ee1ad386c8b7e15444437d7b122b0..b40dd2f02157fb6f4a43a203e7240b08ce924bc0 100644 GIT binary patch delta 84815 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 k9_B16h2vVu5yoZg?&7kkg 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

0>n_SM!?yc_IJi)Xoe&>8+k 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 KpHq)<$^QcxMFE5W delta 84603 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%0D|ZPW0BPmwfBpJVC@| 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 diff --git a/editor/backend/src/main/resources/db/migration/V12__add_decision_input_indicator.sql b/editor/backend/src/main/resources/db/migration/V12__add_decision_input_indicator.sql new file mode 100644 index 0000000..e54227c --- /dev/null +++ b/editor/backend/src/main/resources/db/migration/V12__add_decision_input_indicator.sql @@ -0,0 +1 @@ +ALTER TABLE project_config ADD COLUMN show_decision_input_indicator INTEGER NOT NULL DEFAULT 0; diff --git a/editor/frontend/src/api/project.ts b/editor/frontend/src/api/project.ts index 585d9b8..21f957c 100644 --- a/editor/frontend/src/api/project.ts +++ b/editor/frontend/src/api/project.ts @@ -36,6 +36,7 @@ export interface UpdateProjectConfigPayload { defaultLocaleCode?: string defaultBackgroundColor?: string hideDecisionButtons?: boolean + showDecisionInputIndicator?: boolean ffmpegThreadsAuto?: boolean ffmpegThreads?: number | null } diff --git a/editor/frontend/src/components/editor/ProjectSettingsPanel.tsx b/editor/frontend/src/components/editor/ProjectSettingsPanel.tsx index 03a835c..482d897 100644 --- a/editor/frontend/src/components/editor/ProjectSettingsPanel.tsx +++ b/editor/frontend/src/components/editor/ProjectSettingsPanel.tsx @@ -16,6 +16,7 @@ interface ProjectSettingsForm { defaultLocaleCode: string defaultBackgroundColor: string hideDecisionButtons: boolean + showDecisionInputIndicator: boolean ffmpegThreads: string } @@ -33,6 +34,7 @@ function toForm(config: ProjectConfig): ProjectSettingsForm { defaultLocaleCode: config.defaultLocaleCode ?? '', defaultBackgroundColor: config.defaultBackgroundColor ?? '#000000', hideDecisionButtons: config.hideDecisionButtons ?? false, + showDecisionInputIndicator: config.showDecisionInputIndicator ?? false, ffmpegThreads: config.ffmpegThreads == null ? '' : String(config.ffmpegThreads), } } @@ -110,6 +112,7 @@ export default function ProjectSettingsPanel() { defaultLocaleCode: currentForm.defaultLocaleCode.trim() || undefined, defaultBackgroundColor, hideDecisionButtons: currentForm.hideDecisionButtons, + showDecisionInputIndicator: currentForm.hideDecisionButtons && currentForm.showDecisionInputIndicator, ffmpegThreadsAuto, ffmpegThreads: ffmpegThreadsAuto ? undefined : Number(ffmpegThreadsTrimmed), }) @@ -232,18 +235,35 @@ export default function ProjectSettingsPanel() { -

- Hide decision buttons at runtime - Players can still choose using the keyboard keys assigned to each decision. -
- +
+ + + {currentForm.hideDecisionButtons && ( + + )} +
diff --git a/editor/frontend/src/types/index.ts b/editor/frontend/src/types/index.ts index 173fd25..ab977ad 100644 --- a/editor/frontend/src/types/index.ts +++ b/editor/frontend/src/types/index.ts @@ -229,6 +229,7 @@ export interface ProjectConfig { defaultLocaleCode?: string defaultBackgroundColor?: string hideDecisionButtons?: boolean + showDecisionInputIndicator?: boolean ffmpegThreads?: number | null // null = Auto (let FFmpeg decide) } diff --git a/runtime/src/main/java/com/engine/runtime/RuntimeServer.java b/runtime/src/main/java/com/engine/runtime/RuntimeServer.java index c09b2ec..23af59e 100644 --- a/runtime/src/main/java/com/engine/runtime/RuntimeServer.java +++ b/runtime/src/main/java/com/engine/runtime/RuntimeServer.java @@ -275,6 +275,7 @@ private Map buildStateResponse(GameState s, String locale) { resp.put("decisionAppearanceConfig", scene != null ? scene.decisionAppearanceConfig : null); resp.put("decisionTimeoutSecs", engine.decisionTimeoutSecs()); resp.put("hideDecisionButtons", engine.hideDecisionButtons()); + resp.put("showDecisionInputIndicator", engine.showDecisionInputIndicator()); resp.put("decisions", decisions.stream().map(d -> { Map dm = new LinkedHashMap<>(); dm.put("key", d.key()); diff --git a/runtime/src/main/java/com/engine/runtime/game/GameEngine.java b/runtime/src/main/java/com/engine/runtime/game/GameEngine.java index a90c72d..102c849 100644 --- a/runtime/src/main/java/com/engine/runtime/game/GameEngine.java +++ b/runtime/src/main/java/com/engine/runtime/game/GameEngine.java @@ -52,6 +52,10 @@ public boolean hideDecisionButtons() { return manifest.project != null && manifest.project.hideDecisionButtons; } + public boolean showDecisionInputIndicator() { + return manifest.project != null && manifest.project.showDecisionInputIndicator; + } + /** * Result of a decision traversal. * diff --git a/runtime/src/main/java/com/engine/runtime/game/Manifest.java b/runtime/src/main/java/com/engine/runtime/game/Manifest.java index e053549..ede6e35 100644 --- a/runtime/src/main/java/com/engine/runtime/game/Manifest.java +++ b/runtime/src/main/java/com/engine/runtime/game/Manifest.java @@ -24,6 +24,7 @@ public static class ProjectConfig { @JsonProperty("decisionTimeoutSecs") public double decisionTimeoutSecs = 5.0; @JsonProperty("defaultLocaleCode") public String defaultLocaleCode; @JsonProperty("hideDecisionButtons") public boolean hideDecisionButtons; + @JsonProperty("showDecisionInputIndicator") public boolean showDecisionInputIndicator; } // ── Node ────────────────────────────────────────────────────────────────── diff --git a/runtime/src/main/resources/client/default.css b/runtime/src/main/resources/client/default.css index 9fec186..79eb188 100644 --- a/runtime/src/main/resources/client/default.css +++ b/runtime/src/main/resources/client/default.css @@ -348,6 +348,32 @@ body { .decision-btn:active { transform: scale(0.97); } .decision-btn.default { border-color: rgba(107, 138, 255, 0.6); } +#decision-input-indicator { + position: absolute; + left: 50%; + bottom: 24px; + z-index: 11; + max-width: calc(100% - 32px); + padding: 8px 14px; + border-radius: 999px; + border: 1px solid rgba(255, 255, 255, 0.22); + background: rgba(0, 0, 0, 0.58); + backdrop-filter: blur(8px); + color: rgba(255, 255, 255, 0.92); + font-size: 13px; + font-weight: 600; + text-align: center; + pointer-events: none; + opacity: 0; + transform: translateX(-50%) translateY(8px); + transition: opacity 0.25s, transform 0.25s; +} + +#decision-input-indicator.visible { + opacity: 1; + transform: translateX(-50%) translateY(0); +} + /* ── Countdown Timer ─────────────────────────────────────────────────────── */ #countdown { diff --git a/runtime/src/main/resources/client/game.js b/runtime/src/main/resources/client/game.js index 73ad90f..7c41020 100644 --- a/runtime/src/main/resources/client/game.js +++ b/runtime/src/main/resources/client/game.js @@ -40,6 +40,7 @@ const transEl = $('transition-el'); const freezeCanvas = $('freeze-canvas'); const decisionOverlay = $('decision-overlay'); const decisionButtons = $('decision-buttons'); +const decisionInputIndicator = $('decision-input-indicator'); const countdownEl = $('countdown'); const countdownNum = $('countdown-num'); const countdownArc = $('countdown-arc'); @@ -121,6 +122,25 @@ function clearActiveDecisionHotkeys() { activeDecisionHotkeys = new Map(); } +function showDecisionInputIndicator(decisions) { + if (!decisionInputIndicator) return; + const shouldShow = !!(currentState && currentState.hideDecisionButtons && currentState.showDecisionInputIndicator); + const hotkeys = (decisions || []) + .map((decision) => formatDecisionHotkey(decision.keyboardKey)) + .filter(Boolean); + const text = shouldShow && hotkeys.length > 0 + ? `Input ready — press ${hotkeys.join(' / ')}` + : ''; + decisionInputIndicator.textContent = text; + decisionInputIndicator.classList.toggle('visible', text !== ''); +} + +function hideDecisionInputIndicator() { + if (!decisionInputIndicator) return; + decisionInputIndicator.textContent = ''; + decisionInputIndicator.classList.remove('visible'); +} + function applySettings() { // Music musicEl.volume = settings.musicEnabled ? settings.musicVolume : 0; @@ -715,6 +735,7 @@ function showDecisions(decisions, timeoutSecs) { } decisionOverlay.classList.toggle('visible', !hideDecisionButtons); + showDecisionInputIndicator(decisions); startCountdown(timeoutSecs, () => { if (!decisionMade) { decisionMade = true; @@ -728,6 +749,7 @@ function hideDecisions() { clearActiveDecisionHotkeys(); decisionOverlay.classList.remove('visible'); decisionButtons.innerHTML = ''; + hideDecisionInputIndicator(); } // ── Countdown ───────────────────────────────────────────────────────────────── diff --git a/runtime/src/main/resources/client/index.html b/runtime/src/main/resources/client/index.html index 54cd25d..19f775b 100644 --- a/runtime/src/main/resources/client/index.html +++ b/runtime/src/main/resources/client/index.html @@ -57,6 +57,8 @@

Arvexis

+
+
From 64dc98038d4e9978ed4784b51bf2592c8728705c Mon Sep 17 00:00:00 2001 From: sepgh <13250403+sepgh@users.noreply.github.com> Date: Sun, 5 Apr 2026 19:13:20 +0330 Subject: [PATCH 9/9] feat: conditional decisions --- .../controller/dto/DecisionItemRequest.java | 8 +- .../engine/editor/service/CompileService.java | 40 ++++++++++ .../editor/service/ManifestService.java | 3 +- .../editor/service/SceneNodeService.java | 31 ++++++-- .../editor/service/ValidationService.java | 21 ++++++ .../src/main/resources/bundled/runtime.jar | Bin 4775253 -> 4777356 bytes .../V13__add_scene_decision_conditions.sql | 1 + editor/frontend/src/api/nodeEditor.ts | 2 +- .../src/components/editor/SceneEditor.tsx | 69 +++++++++++++++++- editor/frontend/src/types/index.ts | 1 + .../com/engine/runtime/RuntimeServer.java | 4 +- .../com/engine/runtime/game/GameEngine.java | 63 +++++++++++++++- .../com/engine/runtime/game/Manifest.java | 1 + runtime/src/main/resources/client/game.js | 47 ++++++++++++ 14 files changed, 275 insertions(+), 16 deletions(-) create mode 100644 editor/backend/src/main/resources/db/migration/V13__add_scene_decision_conditions.sql diff --git a/editor/backend/src/main/java/com/engine/editor/controller/dto/DecisionItemRequest.java b/editor/backend/src/main/java/com/engine/editor/controller/dto/DecisionItemRequest.java index d8d39ff..0a74ba2 100644 --- a/editor/backend/src/main/java/com/engine/editor/controller/dto/DecisionItemRequest.java +++ b/editor/backend/src/main/java/com/engine/editor/controller/dto/DecisionItemRequest.java @@ -1,3 +1,9 @@ package com.engine.editor.controller.dto; -public record DecisionItemRequest(String decisionKey, Boolean isDefault, Integer decisionOrder, String keyboardKey) {} +public record DecisionItemRequest( + String decisionKey, + Boolean isDefault, + Integer decisionOrder, + String keyboardKey, + String conditionExpression +) {} diff --git a/editor/backend/src/main/java/com/engine/editor/service/CompileService.java b/editor/backend/src/main/java/com/engine/editor/service/CompileService.java index dc2f51c..9c2763c 100644 --- a/editor/backend/src/main/java/com/engine/editor/service/CompileService.java +++ b/editor/backend/src/main/java/com/engine/editor/service/CompileService.java @@ -283,6 +283,28 @@ private Path buildPackage(PreviewJob job, Path projectDir, Path outputBase, } } + // Copy compiled HLS output into dist/output so dist/ can be run directly. + job.setProgress(96, "Packaging: copying runtime media…"); + Path distOutputDir = distDir.resolve("output"); + copyDirectoryContents(outputBase, distOutputDir); + + // Copy only referenced background-music assets into dist/assets. + if (Files.isDirectory(sourceAssetsDir) && referencedMusicAssetPaths != null && !referencedMusicAssetPaths.isEmpty()) { + Path distAssetsDir = distDir.resolve("assets"); + for (String relPath : referencedMusicAssetPaths) { + Path assetPath = sourceAssetsDir.resolve(relPath).normalize(); + if (!assetPath.startsWith(sourceAssetsDir) || !Files.isRegularFile(assetPath)) { + continue; + } + Path distAssetPath = distAssetsDir.resolve(relPath).normalize(); + if (!distAssetPath.startsWith(distAssetsDir)) { + continue; + } + Files.createDirectories(distAssetPath.getParent()); + Files.copy(assetPath, distAssetPath, StandardCopyOption.REPLACE_EXISTING); + } + } + // Create dist.zip job.setProgress(97, "Packaging: creating ZIP archive…"); Path zipFile = projectDir.resolve("dist.zip"); @@ -318,6 +340,24 @@ private String buildReadme(String projectName) { "Delete it to reset to the beginning.\n"; } + private void copyDirectoryContents(Path sourceDir, Path targetDir) throws IOException { + if (!Files.isDirectory(sourceDir)) { + return; + } + Files.createDirectories(targetDir); + try (var walk = Files.walk(sourceDir)) { + for (Path sourcePath : walk.filter(Files::isRegularFile).toList()) { + Path relative = sourceDir.relativize(sourcePath); + Path targetPath = targetDir.resolve(relative).normalize(); + if (!targetPath.startsWith(targetDir)) { + continue; + } + Files.createDirectories(targetPath.getParent()); + Files.copy(sourcePath, targetPath, StandardCopyOption.REPLACE_EXISTING); + } + } + } + private void createZip(Path distDir, Path outputBase, Path assetsDir, Set referencedMusicAssetPaths, Path zipFile) throws IOException { diff --git a/editor/backend/src/main/java/com/engine/editor/service/ManifestService.java b/editor/backend/src/main/java/com/engine/editor/service/ManifestService.java index 48bcfac..cfd2308 100644 --- a/editor/backend/src/main/java/com/engine/editor/service/ManifestService.java +++ b/editor/backend/src/main/java/com/engine/editor/service/ManifestService.java @@ -211,7 +211,7 @@ private void fillSceneNode(Map n, String nodeId, // Decisions List> decs = jdbc.queryForList(""" - SELECT decision_key, is_default, decision_order, keyboard_key + SELECT decision_key, is_default, decision_order, keyboard_key, condition_expression FROM scene_decisions WHERE node_id=? ORDER BY decision_order """, nodeId); List> decList = new ArrayList<>(); @@ -221,6 +221,7 @@ private void fillSceneNode(Map n, String nodeId, d.put("isDefault", intFlag(r.get("is_default"))); d.put("decisionOrder", r.get("decision_order")); d.put("keyboardKey", r.get("keyboard_key")); + d.put("conditionExpression", r.get("condition_expression")); decList.add(d); } n.put("decisions", decList); diff --git a/editor/backend/src/main/java/com/engine/editor/service/SceneNodeService.java b/editor/backend/src/main/java/com/engine/editor/service/SceneNodeService.java index 662bb70..cd0e655 100644 --- a/editor/backend/src/main/java/com/engine/editor/service/SceneNodeService.java +++ b/editor/backend/src/main/java/com/engine/editor/service/SceneNodeService.java @@ -15,9 +15,11 @@ public class SceneNodeService { private final ProjectService projectService; + private final SpelValidationService spelValidationService; - public SceneNodeService(ProjectService projectService) { + public SceneNodeService(ProjectService projectService, SpelValidationService spelValidationService) { this.projectService = projectService; + this.spelValidationService = spelValidationService; } // ── Response DTOs ───────────────────────────────────────────────────────── @@ -34,7 +36,7 @@ public record AudioTrackData( ) {} public record DecisionItemData( - long id, String decisionKey, boolean isDefault, int decisionOrder, String keyboardKey + long id, String decisionKey, boolean isDefault, int decisionOrder, String keyboardKey, String conditionExpression ) {} public record SceneDataResponse( @@ -118,6 +120,7 @@ public SceneDataResponse saveDecisions(String nodeId, List if (!keys.add(decisionKey)) throw new ProjectException("Duplicate decisionKey: " + decisionKey); String keyboardKey = normalizeKeyboardKey(r.keyboardKey()); + String conditionExpression = normalizeConditionExpression(r.conditionExpression()); if (keyboardKey != null) { if ("escape".equalsIgnoreCase(keyboardKey)) throw new ProjectException("keyboardKey Escape is reserved"); @@ -125,6 +128,12 @@ public SceneDataResponse saveDecisions(String nodeId, List if (!keyboardKeys.add(normalizedKeyboardKey)) throw new ProjectException("Duplicate keyboardKey: " + keyboardKey); } + if (conditionExpression != null) { + SpelValidationService.ValidationResult validation = spelValidationService.validate(conditionExpression, "boolean"); + if (!validation.valid()) { + throw new ProjectException("Invalid condition for decision '" + decisionKey + "': " + validation.error()); + } + } } jdbc.update("DELETE FROM scene_decisions WHERE node_id = ?", nodeId); @@ -132,10 +141,11 @@ public SceneDataResponse saveDecisions(String nodeId, List DecisionItemRequest r = reqs.get(i); int order = r.decisionOrder() != null ? r.decisionOrder() : i; String keyboardKey = normalizeKeyboardKey(r.keyboardKey()); + String conditionExpression = normalizeConditionExpression(r.conditionExpression()); jdbc.update(""" - INSERT INTO scene_decisions (node_id, decision_key, is_default, decision_order, keyboard_key) - VALUES (?, ?, ?, ?, ?) - """, nodeId, r.decisionKey().trim(), Boolean.TRUE.equals(r.isDefault()) ? 1 : 0, order, keyboardKey); + INSERT INTO scene_decisions (node_id, decision_key, is_default, decision_order, keyboard_key, condition_expression) + VALUES (?, ?, ?, ?, ?, ?) + """, nodeId, r.decisionKey().trim(), Boolean.TRUE.equals(r.isDefault()) ? 1 : 0, order, keyboardKey, conditionExpression); } return getSceneData(nodeId); } @@ -201,14 +211,15 @@ private List loadAudioTracks(JdbcTemplate jdbc, String nodeId) { private List loadDecisions(JdbcTemplate jdbc, String nodeId) { return jdbc.query(""" - SELECT id, decision_key, is_default, decision_order, keyboard_key + SELECT id, decision_key, is_default, decision_order, keyboard_key, condition_expression FROM scene_decisions WHERE node_id = ? ORDER BY decision_order """, (rs, rowNum) -> new DecisionItemData( rs.getLong("id"), rs.getString("decision_key"), rs.getInt("is_default") == 1, rs.getInt("decision_order"), - rs.getString("keyboard_key") + rs.getString("keyboard_key"), + rs.getString("condition_expression") ), nodeId); } @@ -249,4 +260,10 @@ private String normalizeKeyboardKey(String keyboardKey) { String trimmed = keyboardKey.trim(); return trimmed.isEmpty() ? null : trimmed; } + + private String normalizeConditionExpression(String conditionExpression) { + if (conditionExpression == null) return null; + String trimmed = conditionExpression.trim(); + return trimmed.isEmpty() ? null : trimmed; + } } diff --git a/editor/backend/src/main/java/com/engine/editor/service/ValidationService.java b/editor/backend/src/main/java/com/engine/editor/service/ValidationService.java index 4b626c6..6428047 100644 --- a/editor/backend/src/main/java/com/engine/editor/service/ValidationService.java +++ b/editor/backend/src/main/java/com/engine/editor/service/ValidationService.java @@ -73,6 +73,27 @@ public ValidationReport validate() { } } + // ── Error: explicit scene decision without matching outgoing edge ─────── + List> sceneDecisions = jdbc.queryForList(""" + SELECT sd.node_id, sd.decision_key, n.name AS node_name + FROM scene_decisions sd + JOIN nodes n ON n.id = sd.node_id + ORDER BY sd.node_id, sd.decision_order + """); + for (Map row : sceneDecisions) { + String sceneId = (String) row.get("node_id"); + String decisionKey = (String) row.get("decision_key"); + Integer edgeCount = jdbc.queryForObject( + "SELECT COUNT(*) FROM edges WHERE source_node_id=? AND source_decision_key=?", + Integer.class, sceneId, decisionKey); + if (edgeCount == null || edgeCount == 0) { + errors.add(new ValidationIssue("error", "DECISION_MISSING_EDGE", + "Scene '" + row.get("node_name") + "' has decision '" + decisionKey + + "' but no outgoing edge is connected to it.", + sceneId, null)); + } + } + // ── Error: state node with != 1 outgoing edge ────────────────────────── for (Map n : nodes) { if (!"state".equals(n.get("type"))) continue; diff --git a/editor/backend/src/main/resources/bundled/runtime.jar b/editor/backend/src/main/resources/bundled/runtime.jar index b40dd2f02157fb6f4a43a203e7240b08ce924bc0..d2d66b0689af676db8cd2c19fb6e810d63263605 100644 GIT binary patch delta 81864 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/eIX> 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 ({ ...prev, [decisionId]: value })) + } + + async function setDecisionConditionExpression(decisionId: number, conditionExpression: string | null) { + if (!data) return + const decisions = data.decisions.map(d => ( + d.id === decisionId ? { ...toDecisionReq(d), conditionExpression } : toDecisionReq(d) + )) + const result = await withSave(() => saveDecisions(nodeId, decisions)) + if (result) setData(result) + } + + async function toggleDecisionConditional(decisionId: number, enabled: boolean) { + if (!enabled) { + setDecisionConditionDrafts((prev) => ({ ...prev, [decisionId]: '' })) + await setDecisionConditionExpression(decisionId, null) + return + } + const nextExpression = (decisionConditionDrafts[decisionId] ?? '').trim() || DEFAULT_DECISION_CONDITION_EXPRESSION + setDecisionConditionDrafts((prev) => ({ ...prev, [decisionId]: nextExpression })) + await setDecisionConditionExpression(decisionId, nextExpression) + } + + async function saveDecisionCondition(decisionId: number) { + const nextExpression = (decisionConditionDrafts[decisionId] ?? '').trim() + await setDecisionConditionExpression(decisionId, nextExpression || null) + } + useEffect(() => { setLoading(true) Promise.all([getSceneData(nodeId), listAssets({ mediaType: 'video' })]) @@ -229,6 +261,14 @@ export default function SceneEditor({ nodeId, isEnd: initialIsEnd, autoContinue: const [newDecisionKey, setNewDecisionKey] = useState('') const [capturingDecisionId, setCapturingDecisionId] = useState(null) + const [decisionConditionDrafts, setDecisionConditionDrafts] = useState>({}) + + useEffect(() => { + if (!data) return + setDecisionConditionDrafts( + Object.fromEntries(data.decisions.map((d) => [d.id, d.conditionExpression ?? ''])) + ) + }, [data]) function toDecisionReq(d: SceneDataResponse['decisions'][number]): DecisionItemRequest { return { @@ -236,6 +276,7 @@ export default function SceneEditor({ nodeId, isEnd: initialIsEnd, autoContinue: isDefault: d.isDefault, decisionOrder: d.decisionOrder, keyboardKey: d.keyboardKey ?? null, + conditionExpression: d.conditionExpression ?? null, } } @@ -244,7 +285,13 @@ export default function SceneEditor({ nodeId, isEnd: initialIsEnd, autoContinue: const existing = data.decisions const newDecisions: DecisionItemRequest[] = [ ...existing.map(toDecisionReq), - { decisionKey: newDecisionKey.trim(), isDefault: existing.length === 0, decisionOrder: existing.length, keyboardKey: null }, + { + decisionKey: newDecisionKey.trim(), + isDefault: existing.length === 0, + decisionOrder: existing.length, + keyboardKey: null, + conditionExpression: null, + }, ] const result = await withSave(() => saveDecisions(nodeId, newDecisions)) if (result) { setData(result); setNewDecisionKey('') } @@ -449,6 +496,24 @@ export default function SceneEditor({ nodeId, isEnd: initialIsEnd, autoContinue: )}

+ + {!!d.conditionExpression?.trim() && ( + updateDecisionConditionDraft(d.id, value)} + onBlur={() => saveDecisionCondition(d.id)} + mode="boolean" + placeholder="#state['SCORE'] > 50" + /> + )} {d.isDefault && default} @@ -458,7 +523,7 @@ export default function SceneEditor({ nodeId, isEnd: initialIsEnd, autoContinue:

No decisions defined. Scene uses default CONTINUE.

)} {!!data?.decisions.length && ( -

Click a key field, then press the keyboard key to assign. Press Delete or Backspace to clear.

+

Click a key field, then press the keyboard key to assign. Press Delete or Backspace to clear. Conditional expressions can use `#KEY` and `#state['KEY']`.

)}
buildStateResponse(GameState s, String locale) { Manifest.NodeData scene = engine.nodeById(s.currentSceneId); - List decisions = engine.availableDecisions(s.currentSceneId); + List decisions = engine.availableDecisions(s, s.currentSceneId); + boolean hasExplicitDecisions = engine.sceneHasExplicitDecisions(s.currentSceneId); Map resp = new LinkedHashMap<>(); resp.put("currentSceneId", s.currentSceneId); @@ -276,6 +277,7 @@ private Map buildStateResponse(GameState s, String locale) { resp.put("decisionTimeoutSecs", engine.decisionTimeoutSecs()); resp.put("hideDecisionButtons", engine.hideDecisionButtons()); resp.put("showDecisionInputIndicator", engine.showDecisionInputIndicator()); + resp.put("hasExplicitDecisions", hasExplicitDecisions); resp.put("decisions", decisions.stream().map(d -> { Map dm = new LinkedHashMap<>(); dm.put("key", d.key()); diff --git a/runtime/src/main/java/com/engine/runtime/game/GameEngine.java b/runtime/src/main/java/com/engine/runtime/game/GameEngine.java index 102c849..80fed61 100644 --- a/runtime/src/main/java/com/engine/runtime/game/GameEngine.java +++ b/runtime/src/main/java/com/engine/runtime/game/GameEngine.java @@ -18,6 +18,7 @@ public class GameEngine { private static final int MAX_TRAVERSAL_STEPS = 100; private static final Pattern ASSIGNMENT_RE = Pattern.compile("^\\s*#(\\w+)\\s*=(.+)$", Pattern.DOTALL); + private static final Pattern STATE_MAP_ACCESS_RE = Pattern.compile("#state\\[(?:'([^']+)'|\"([^\"]+)\")\\]"); private final Manifest manifest; private final Map nodeById = new HashMap<>(); @@ -78,6 +79,10 @@ public TraversalResult decide(GameState state, String decisionKey) { Manifest.NodeData currentScene = nodeById(state.currentSceneId); if (currentScene == null) throw new IllegalArgumentException("Unknown current scene: " + state.currentSceneId); + if (!isDecisionAvailable(state, state.currentSceneId, decisionKey)) { + throw new IllegalArgumentException( + "Decision '" + decisionKey + "' is not currently available from scene " + state.currentSceneId); + } // Find the outgoing edge matching the decisionKey from the current scene Manifest.EdgeData startEdge = findDecisionEdge(state.currentSceneId, decisionKey); @@ -126,22 +131,28 @@ public TraversalResult decide(GameState state, String decisionKey) { * Returns the decisions available from the given scene, with their keys. * If the scene has no explicit decisions, returns a synthetic CONTINUE. */ - public List availableDecisions(String sceneId) { + public List availableDecisions(GameState state, String sceneId) { Manifest.NodeData scene = nodeById(sceneId); if (scene == null || scene.decisions == null || scene.decisions.isEmpty()) { return List.of(new DecisionInfo("CONTINUE", true, null)); } return scene.decisions.stream() .sorted(Comparator.comparingInt(d -> d.decisionOrder)) + .filter(d -> isDecisionAvailable(d, state)) .map(d -> new DecisionInfo(d.decisionKey, d.isDefault, d.keyboardKey)) .toList(); } + public boolean sceneHasExplicitDecisions(String sceneId) { + Manifest.NodeData scene = nodeById(sceneId); + return scene != null && scene.decisions != null && !scene.decisions.isEmpty(); + } + /** Returns true when the scene has no explicit decisions AND has autoContinue set. */ public boolean sceneAutoContinues(String sceneId) { Manifest.NodeData scene = nodeById(sceneId); if (scene == null) return false; - boolean hasExplicitDecisions = scene.decisions != null && !scene.decisions.isEmpty(); + boolean hasExplicitDecisions = sceneHasExplicitDecisions(sceneId); return !hasExplicitDecisions && scene.autoContinue; } @@ -300,6 +311,7 @@ private Manifest.EdgeData findDecisionEdge(String sceneId, String decisionKey) { private EvaluationContext buildContext(GameState state) { SimpleEvaluationContext ctx = SimpleEvaluationContext.forReadWriteDataBinding().build(); state.variables.forEach(ctx::setVariable); + ctx.setVariable("state", stateView(state)); return ctx; } @@ -307,7 +319,52 @@ private EvaluationContext buildContext(GameState state) { private void seedMissingVars(String expression, GameState state) { java.util.regex.Matcher m = java.util.regex.Pattern.compile("#(\\w+)").matcher(expression); while (m.find()) { - state.variables.putIfAbsent(m.group(1), 0); + String varName = m.group(1); + if ("state".equals(varName)) continue; + state.variables.putIfAbsent(varName, 0); + } + Matcher stateAccess = STATE_MAP_ACCESS_RE.matcher(expression); + while (stateAccess.find()) { + String key = stateAccess.group(1) != null ? stateAccess.group(1) : stateAccess.group(2); + if (key != null && !key.isBlank()) { + state.variables.putIfAbsent(key, 0); + } + } + } + + private boolean isDecisionAvailable(GameState state, String sceneId, String decisionKey) { + Manifest.NodeData scene = nodeById(sceneId); + if (scene == null || scene.decisions == null || scene.decisions.isEmpty()) { + return "CONTINUE".equals(decisionKey); } + return scene.decisions.stream() + .filter(d -> decisionKey.equals(d.decisionKey)) + .findFirst() + .map(d -> isDecisionAvailable(d, state)) + .orElse(false); + } + + private boolean isDecisionAvailable(Manifest.DecisionEntry decision, GameState gameState) { + if (decision == null || decision.conditionExpression == null || decision.conditionExpression.isBlank()) { + return true; + } + seedMissingVars(decision.conditionExpression, gameState); + EvaluationContext ctx = buildContext(gameState); + try { + Boolean result = parser.parseExpression(decision.conditionExpression).getValue(ctx, Boolean.class); + return Boolean.TRUE.equals(result); + } catch (Exception e) { + System.err.println("[GameEngine] Decision condition error '" + decision.conditionExpression + "': " + e.getMessage()); + return false; + } + } + + private Map stateView(GameState state) { + return new HashMap<>(state.variables) { + @Override + public Object get(Object key) { + return containsKey(key) ? super.get(key) : 0; + } + }; } } diff --git a/runtime/src/main/java/com/engine/runtime/game/Manifest.java b/runtime/src/main/java/com/engine/runtime/game/Manifest.java index ede6e35..3cebf03 100644 --- a/runtime/src/main/java/com/engine/runtime/game/Manifest.java +++ b/runtime/src/main/java/com/engine/runtime/game/Manifest.java @@ -53,6 +53,7 @@ public static class DecisionEntry { @JsonProperty("isDefault") public boolean isDefault; @JsonProperty("decisionOrder") public int decisionOrder; @JsonProperty("keyboardKey") public String keyboardKey; + @JsonProperty("conditionExpression") public String conditionExpression; } @JsonIgnoreProperties(ignoreUnknown = true) diff --git a/runtime/src/main/resources/client/game.js b/runtime/src/main/resources/client/game.js index 7c41020..eabfa66 100644 --- a/runtime/src/main/resources/client/game.js +++ b/runtime/src/main/resources/client/game.js @@ -555,6 +555,7 @@ async function loadScene(state) { videoEl.loop = false; // always false; looping is handled manually so 'ended' always fires const decisions = state.decisions || []; + const hasExplicitDecisions = !!state.hasExplicitDecisions; const timeout = state.decisionTimeoutSecs || 5; const isEnd = state.isEnd; @@ -613,6 +614,37 @@ async function loadScene(state) { if (!decisionMade) showDecisions(decisions, timeout); }, { once: true }); } + } else if (hasExplicitDecisions) { + if (appearAt !== null) { + addSceneVideoListener('timeupdate', function onTimeUpdate() { + if (videoEl.currentTime >= appearAt) { + videoEl.removeEventListener('timeupdate', onTimeUpdate); + showUnavailableDecisionsError(); + } + }); + } + + if (loopVideo) { + let unavailableShown = false; + loopHandler = function onLoop() { + if (decisionMade) { videoEl.removeEventListener('ended', loopHandler); loopHandler = null; return; } + if (isEnd) { videoEl.removeEventListener('ended', loopHandler); loopHandler = null; captureFreeze(); showEndScreen(); return; } + if (!unavailableShown && appearAt === null) { + unavailableShown = true; + showUnavailableDecisionsError(); + return; + } + if (hlsInstance) hlsInstance.startLoad(0); + videoEl.currentTime = 0; + videoEl.play().catch(() => {}); + }; + addSceneVideoListener('ended', loopHandler); + } else { + addSceneVideoListener('ended', function onEnded() { + videoEl.removeEventListener('ended', onEnded); + if (!decisionMade) showUnavailableDecisionsError(); + }, { once: true }); + } } else if (isEnd) { addSceneVideoListener('ended', () => { captureFreeze(); showEndScreen(); }, { once: true }); } else { @@ -707,7 +739,22 @@ function preloadScene(url) { // ── Decisions ───────────────────────────────────────────────────────────────── +function showUnavailableDecisionsError() { + if (decisionMade) return; + decisionMade = true; + clearCountdown(); + hideDecisions(); + captureFreeze(); + videoEl.pause(); + stopSubtitleSync(); + showError('No decisions are currently available for this scene.'); +} + function showDecisions(decisions, timeoutSecs) { + if (!decisions || decisions.length === 0) { + showUnavailableDecisionsError(); + return; + } decisionButtons.innerHTML = ''; setActiveDecisionHotkeys(decisions);