From 71e6dd3d17ffcbf43f1fab6777430d68ff0eb2f0 Mon Sep 17 00:00:00 2001 From: Matteo Marsala Date: Thu, 20 Nov 2025 14:59:40 +0100 Subject: [PATCH 1/4] Update Mascot Jump Game UI --- examples/mascot-jump-game/assets/style.css | 50 +++++++++++----------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/examples/mascot-jump-game/assets/style.css b/examples/mascot-jump-game/assets/style.css index f8a6855..4f09c9d 100644 --- a/examples/mascot-jump-game/assets/style.css +++ b/examples/mascot-jump-game/assets/style.css @@ -13,8 +13,8 @@ SPDX-License-Identifier: MPL-2.0 } body { - font-family: 'Consolas', 'Courier New', monospace; - background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; margin: 0; + background: #DAE3E3; min-height: 100vh; display: flex; justify-content: center; @@ -34,7 +34,7 @@ body { display: flex; justify-content: space-between; align-items: center; - margin-bottom: 20px; + margin-bottom: 40px; padding: 0 10px; } @@ -59,7 +59,6 @@ body { background: white; border-radius: 12px; padding: 20px; - box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1); position: relative; } @@ -109,6 +108,7 @@ body { font-weight: 500; opacity: 0.7; font-size: 20px; + font-family: "Open Sans", monospace; } .score-value, @@ -116,6 +116,7 @@ body { font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: 2px; + font-family: "Open Sans", monospace; } .high-score-label { @@ -180,6 +181,7 @@ body { background: #4caf50; color: white; animation: pulse 2s ease-out; + display: none; } .connection-status.disconnected { @@ -238,40 +240,40 @@ body { .container { padding: 10px; } - + .header { margin-bottom: 15px; } - + .arduino-text { font-size: 24px; } - + .game-container { padding: 15px; } - + #gameCanvas { max-width: 100%; height: auto; } - + .game-info { flex-direction: column; gap: 15px; align-items: center; text-align: center; } - + .score-display { font-size: 20px; } - + .controls-info { flex-wrap: wrap; justify-content: center; } - + .connection-status { top: 10px; right: 10px; @@ -284,25 +286,25 @@ body { .arduino-text { font-size: 20px; } - + .arduino-logo { height: 24px; } - + .score-display { font-size: 18px; gap: 10px; } - + .score-label, .high-score-label { font-size: 16px; } - + .controls-info { font-size: 12px; } - + .key-icon { padding: 2px 6px; font-size: 10px; @@ -313,23 +315,23 @@ body { #gameCanvas { cursor: default; } - + #gameCanvas:hover { transform: none; } - + #gameCanvas:active { transform: scale(0.98); } - + .key-icon { display: none; } - + .control-item:first-child::before { content: "Tap to "; } - + .control-divider, .control-item:last-child { display: none; @@ -340,11 +342,11 @@ body { body { background: white; } - + .connection-status { display: none; } - + .game-container { box-shadow: none; border: 1px solid #ddd; From 6f4351d9215022cfb4de252fd566b78ec9569899 Mon Sep 17 00:00:00 2001 From: Stefano Torneo Date: Fri, 21 Nov 2025 09:57:23 +0100 Subject: [PATCH 2/4] fix license --- THIRD-PARTY-LICENSES.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/THIRD-PARTY-LICENSES.json b/THIRD-PARTY-LICENSES.json index ba879b0..83bce66 100644 --- a/THIRD-PARTY-LICENSES.json +++ b/THIRD-PARTY-LICENSES.json @@ -32,7 +32,7 @@ { "License": "Mozilla Public License 2.0 (MPL 2.0)", "Name": "certifi", - "Version": "2025.10.5" + "Version": "2025.11.12" }, { "License": "MIT", @@ -42,7 +42,7 @@ { "License": "BSD-3-Clause", "Name": "click", - "Version": "8.3.0" + "Version": "8.3.1" }, { "License": "BSD-3-Clause", From 15882a9231af05e7ce2a0b34b79e995384b9e087 Mon Sep 17 00:00:00 2001 From: Stefano Torneo Date: Fri, 21 Nov 2025 10:13:53 +0100 Subject: [PATCH 3/4] fix --- examples/mascot-jump-game/python/main.py | 2 +- examples/mascot-jump-game/sketch/game_frames.h | 2 +- examples/mascot-jump-game/sketch/sketch.ino | 2 +- examples/object-hunting/python/main.py | 2 +- examples/theremin/python/main.py | 2 +- examples/vibration-anomaly-detection/python/main.py | 2 +- examples/vibration-anomaly-detection/sketch/sketch.ino | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/examples/mascot-jump-game/python/main.py b/examples/mascot-jump-game/python/main.py index 0c26439..ea94914 100644 --- a/examples/mascot-jump-game/python/main.py +++ b/examples/mascot-jump-game/python/main.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright (C) 2025 ARDUINO SA +# SPDX-FileCopyrightText: Copyright (C) ARDUINO SRL (http://www.arduino.cc) # # SPDX-License-Identifier: MPL-2.0 diff --git a/examples/mascot-jump-game/sketch/game_frames.h b/examples/mascot-jump-game/sketch/game_frames.h index f155c76..e5f0027 100644 --- a/examples/mascot-jump-game/sketch/game_frames.h +++ b/examples/mascot-jump-game/sketch/game_frames.h @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: Copyright (C) 2025 ARDUINO SA + * SPDX-FileCopyrightText: Copyright (C) ARDUINO SRL (http://www.arduino.cc) * * SPDX-License-Identifier: MPL-2.0 */ diff --git a/examples/mascot-jump-game/sketch/sketch.ino b/examples/mascot-jump-game/sketch/sketch.ino index 80a729e..7f42f8e 100644 --- a/examples/mascot-jump-game/sketch/sketch.ino +++ b/examples/mascot-jump-game/sketch/sketch.ino @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright (C) 2025 ARDUINO SA +// SPDX-FileCopyrightText: Copyright (C) ARDUINO SRL (http://www.arduino.cc) // // SPDX-License-Identifier: MPL-2.0 diff --git a/examples/object-hunting/python/main.py b/examples/object-hunting/python/main.py index 84e5996..e6624ea 100644 --- a/examples/object-hunting/python/main.py +++ b/examples/object-hunting/python/main.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright (C) 2025 ARDUINO SA +# SPDX-FileCopyrightText: Copyright (C) ARDUINO SRL (http://www.arduino.cc) # # SPDX-License-Identifier: MPL-2.0 diff --git a/examples/theremin/python/main.py b/examples/theremin/python/main.py index f499d9a..5c2acab 100644 --- a/examples/theremin/python/main.py +++ b/examples/theremin/python/main.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright (C) 2025 ARDUINO SA +# SPDX-FileCopyrightText: Copyright (C) ARDUINO SRL (http://www.arduino.cc) # # SPDX-License-Identifier: MPL-2.0 diff --git a/examples/vibration-anomaly-detection/python/main.py b/examples/vibration-anomaly-detection/python/main.py index d3fa19f..f79b877 100644 --- a/examples/vibration-anomaly-detection/python/main.py +++ b/examples/vibration-anomaly-detection/python/main.py @@ -1,4 +1,4 @@ -# SPDX-FileCopyrightText: Copyright (C) 2025 ARDUINO SA +# SPDX-FileCopyrightText: Copyright (C) ARDUINO SRL (http://www.arduino.cc) # # SPDX-License-Identifier: MPL-2.0 diff --git a/examples/vibration-anomaly-detection/sketch/sketch.ino b/examples/vibration-anomaly-detection/sketch/sketch.ino index f413983..47d24b5 100644 --- a/examples/vibration-anomaly-detection/sketch/sketch.ino +++ b/examples/vibration-anomaly-detection/sketch/sketch.ino @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: Copyright (C) 2025 ARDUINO SA +// SPDX-FileCopyrightText: Copyright (C) ARDUINO SRL (http://www.arduino.cc) // // SPDX-License-Identifier: MPL-2.0 From 15f91235016a44add98487ae127929aa5ed25c7f Mon Sep 17 00:00:00 2001 From: Stefano Torneo Date: Fri, 21 Nov 2025 10:38:06 +0100 Subject: [PATCH 4/4] use user_loop --- examples/mascot-jump-game/python/main.py | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/examples/mascot-jump-game/python/main.py b/examples/mascot-jump-game/python/main.py index ea94914..f591d47 100644 --- a/examples/mascot-jump-game/python/main.py +++ b/examples/mascot-jump-game/python/main.py @@ -231,14 +231,5 @@ def on_client_connected(client_id, data): # Provide the LED state function to the Arduino sketch Bridge.provide("get_led_state", get_led_state) -# Start game loop in separate thread -game_thread = threading.Thread(target=game_loop, daemon=True) -game_thread.start() - # Run the app -try: - App.run() -except KeyboardInterrupt: - game_running = False - if game_thread: - game_thread.join() \ No newline at end of file +App.run(user_loop=game_loop) \ No newline at end of file