From 1cd8e8c44aeb22fa88f96bf389fdc7eadd9808e9 Mon Sep 17 00:00:00 2001 From: Victor Giers Date: Mon, 27 Apr 2026 15:50:28 +0200 Subject: [PATCH] Add validation for player start entity input bindings (keyboard and gamepad) --- src/document/scene-document-validation.ts | 26 +++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/document/scene-document-validation.ts b/src/document/scene-document-validation.ts index fa459063..8930d242 100644 --- a/src/document/scene-document-validation.ts +++ b/src/document/scene-document-validation.ts @@ -2996,6 +2996,19 @@ function validatePlayerStartEntity( ); } + if ( + !isPlayerStartKeyboardBindingCode(entity.inputBindings?.keyboard.interact) + ) { + diagnostics.push( + createDiagnostic( + "error", + "invalid-player-start-interact-keyboard-binding", + "Player Start interact keyboard binding must be a supported key or mouse code.", + `${path}.inputBindings.keyboard.interact` + ) + ); + } + if ( !isPlayerStartKeyboardBindingCode(entity.inputBindings?.keyboard.pauseTime) ) { @@ -3092,6 +3105,19 @@ function validatePlayerStartEntity( ); } + if ( + !isPlayerStartGamepadActionBinding(entity.inputBindings?.gamepad.interact) + ) { + diagnostics.push( + createDiagnostic( + "error", + "invalid-player-start-interact-gamepad-binding", + "Player Start interact gamepad binding must be a supported standard-gamepad action input.", + `${path}.inputBindings.gamepad.interact` + ) + ); + } + if ( !isPlayerStartGamepadActionBinding(entity.inputBindings?.gamepad.pauseTime) ) {