Aurélien Vivet
9d0cbebdec
Make disposed debugger clients inert
...
Detach the WebSocket handlers and cancel the pending hard reload before
closing, drop messages sent after dispose, and release the debugger client
and in-game editor references when the game is disposed.
2026-10-08 15:18:27 +02:00
Aurélien Vivet
3c6114432f
Register the window focus listeners per InGameEditor instance
...
The listeners were added at module load and could not be removed for good,
so they leaked once the editor was disposed.
2026-10-08 15:18:25 +02:00
Aurélien Vivet
fd3244b24d
revert unsure howler changes
2026-10-08 13:48:01 +02:00
Aurélien Vivet
d48dcb2675
Close the game > Dispose Debugger => Close WebSockets
2026-10-08 13:48:01 +02:00
Aurélien Vivet
389c9fbaee
Dispose EventListener for the debugger when game closed
2026-10-08 13:48:01 +02:00
Aurélien Vivet
c6fda988c8
Update InGameEditor.tsx
2026-10-08 13:48:00 +02:00
Aurélien Vivet
8454cc609c
Update howler-sound-manager.ts
2026-10-08 13:47:44 +02:00
Clément Pasteau
d7cc8fcce7
Fix blur effects showing a border on screen edges and 3D effects hiding the layers below ( #9042 )
2026-10-06 16:14:21 +02:00
Florian Rival
aea546a0cc
Keep the in-game editor working when the code of an extension throws ( #9188 )
...
- The errors can now be displayed without having to open the developer console
- They are also visible to the AI agent which can react to it in the case it's an error coming from an extension being edited by the AI.
2026-10-06 11:21:10 +02:00
Florian Rival
7ae35a5d60
Fix 2D rendering not visible in 3D layers since the Three.js upgrade ( #9189 )
...
Don't show in changelog
2026-10-06 11:00:33 +02:00
Florian Rival
9b1314bfa0
Make the depth of field blur effect 2x faster ( #9186 )
2026-10-06 08:55:22 +02:00
Florian Rival and Davy Hélard
b30074ab24
Add Ambient Occlusion, Depth-of-field, faster bloom and tone mapping for 3D games ( #9180 )
...
Co-authored-by: Davy Hélard <[email protected] >
2026-10-05 15:10:35 +02:00
Aurélien Vivet
fdb154ce95
Fix NavMesh memory leaks ( #9175 )
2026-10-05 12:59:28 +02:00
Aurélien Vivet
965b93662d
Allow selecting 3D objects behind unselectable objects in the editor ( #9179 )
2026-10-05 12:07:52 +02:00
Aurélien Vivet
b5fbe6fd8b
Remove the Quick Customization flow ( #9174 )
2026-10-05 11:29:06 +02:00
D8H
7dd4d13a7a
Upgrade to Three.js 0.185.1 ( #8853 )
...
- Point lights and spot lights now uses a realistic decay. It's not possible to find the exact same result as before, but you can tweak the intensity and the decay properties. Hemisphere lights, directional lights and ambient lights still work the same as before.
- The 3D particle emitter must be updated to the last version to handle the new 3D renderer world scale property.
- Ensure any 3D extension you use is also updated to the latest version.
2026-10-03 13:55:50 +02:00
Florian Rival
da3e59c232
Fix custom object gameplay test warning ( #9159 )
2026-10-03 12:38:15 +02:00
Clément Pasteau
ac23a42573
Allow extensions to know if an instance is hidden at start. ( #9167 )
...
Do not show in changelog
2026-10-02 13:29:03 +02:00
Clément Pasteau
d8e3c4ebb6
Take cursor position when copying an object in 3D ( #9166 )
2026-10-02 13:20:47 +02:00
Aurélien Vivet
75ce1cbc93
Frame the selection in the visible area between panels when focusing on it in the 3D editor ( #9157 )
2026-09-29 16:48:03 +02:00
Clément Pasteau
71b9261f59
Fix various 3D editor issues (layers and rescaling) ( #9158 )
2026-09-29 16:43:14 +02:00
Florian Rival
205cfe5e80
Allow extension provided InGameEditor toolbars ( #9153 )
2026-09-29 12:05:50 +02:00
Clément Pasteau
27613015c0
Share textures embedded in 3D models during runtime ( #9145 )
...
* Also ensure geometry, material and textures are correctly disposed when object is not used anymore, avoiding memory leaks
2026-09-28 17:23:23 +02:00
Florian Rival
2f00592c57
Fix gameplay tests output not being bounded ( #9143 )
2026-09-28 00:12:53 +02:00
Florian Rival
45d3ca2c7b
Add support for attaching files to chat messages and converting them to resources ( #9135 )
...
- Also let the agent see screenshots taken by gameplay test (at least an automated one, and up to 4)
2026-09-25 00:18:33 +02:00
Aurélien Vivet
e18076ea5b
Redesign the preferences dialog and keyboard shortcuts ( #9066 )
2026-09-18 17:57:08 +02:00
Florian Rival
4577bfba5a
Improve gameplay tests ( #9120 )
...
- The warning about a custom object with no child in it ("it renders
nothing") fired on ParticleEmitter3D, Light3D or Text3D objects, which
are drawn by the JavaScript code of their extension (with Three.js) and
legitimately have no child. Skip it when the code replaced the renderer
of the object, or added something to draw (a mesh, a sprite, a
graphics...) in the stock renderer's container.
- The game-side wall-clock watchdog did not exclude the time the page
spent hidden (frozen by the browser), unlike the guards of the stepping
loop: a test run in a background tab or a covered window was reported as
a plain "timeout" instead of being given up on as paused by the editor.
Exclude it, and tell about that time in the timeout message.
- Reject a non-string object name with a clear error instead of asking
the scene for "[object Object]" (which registered a phantom object list
and silently found nothing), the mistake `lookTowardWithMouseDelta`
invites when the target is passed first.
2026-09-18 15:30:47 +02:00
Clément Pasteau
79527b2df5
Automatically opt out of ipad multitasking to allow publishing to App Store ( #9119 )
2026-09-18 13:32:54 +02:00
Florian Rival
be887e51c3
Allow the agents to read/create/modify extensions (custom functions/objects/behaviors) ( #9094 )
2026-09-18 11:44:08 +02:00
Clément Pasteau
876821ff1e
FIx nested variables being displayed as null in debugger ( #9116 )
2026-09-17 16:43:33 +02:00
Clément Pasteau
cc498656b3
Prevent locked instances from being deleted in 3D editor ( #9109 )
2026-09-16 10:21:31 +02:00
Clément Pasteau
34d6645d85
New action to Tween camera Z position ( #9093 )
2026-09-14 18:27:01 +02:00
Clément Pasteau
72ac9b7de4
Ensure special characters are correctly encoded/decoded for resources. ( #9099 )
...
* plus improve audio loading error messages
2026-09-14 17:04:41 +02:00
Clément Pasteau
efd8613269
Fix corrupted rendering on some Android devices when using 3D brightness/contrast or hue/saturation effects ( #9053 )
2026-09-04 09:29:19 +02:00
Clément Pasteau
d5980d55ff
3D objects are now snapped to the grid while resizing in 3D Editor ( #9049 )
2026-09-02 17:40:15 +02:00
Clément Pasteau
1b213a390a
Fix orientation of mobile apps at build time (notably on iPad) ( #9050 )
...
- Also bump iOS deployment target to the latest version required by Apple
2026-09-02 16:09:09 +02:00
Florian Rival
ef1999e476
Keep the editor working when it is not looked at (useful for agent, gameplay tests) ( #9038 )
2026-09-01 00:54:33 +02:00
Aurélien Vivet
60d0aba874
Remove white sliders from 3D selection gizmo ( #9032 )
2026-08-29 11:58:24 +02:00
Aurélien Vivet
92bc4f927d
Allow resizing the gameplay test frame ( #9013 )
...
This only zooms/unzoom the display of the game. Use `setGameResolutionSize` in the test if you want to try different sizes for the game.
2026-08-27 18:47:37 +02:00
Florian Rival
202afa36d2
Add more stats to the profiler (notably shader related) for performance tracking ( #8998 )
...
- And redesign the profiler output so it's easier to read, with cards with important numbers + visual display of the importance of each row.
2026-08-23 13:06:09 +02:00
Florian Rival
e5a6fbdee1
Fix loading of GLB with Draco compression on the web-app ( #8996 )
2026-08-22 16:13:29 +02:00
D8H
e09b29c611
Navmesh characters speed is now used for physics collision ( #8978 )
...
- This results in better handling of objects moved by Navmesh pathfinding
2026-08-18 19:09:46 +02:00
Florian Rival
68cc6f432b
Gameplay tests: wait through game-driven scene changes instead of throwing ( #8950 )
...
Don't show in changelog
2026-08-11 11:56:44 +02:00
D8H
361f6b3a87
Add experimental "navmesh-based" pathfinding behavior for 2D and 3D ( #8943 )
...
- This pathfinding works in 2D and 3D is more flexible than the "grid-based" existing pathfinding.
- For 3D models, you can optionally choose, like for 3D physics, to follow the exact mesh of the 3D model for pathfinding - allowing characters and objects to move on or around the 3D model naturally.
- It handles "crowds" of characters, which can all go to a destination avoiding each others.
2026-08-11 11:11:44 +02:00
Florian Rival
9b331ac4bc
Gameplay tests: exclude loading time from the test timeout, report it as loadingMs ( #8947 )
...
Don't show in changelog
2026-08-10 22:27:18 +02:00
Florian Rival
3ed0b92ff9
Gameplay tests: label the control probe's scene restarts with their own cause ( #8946 )
...
Don't show in changelog
2026-08-10 18:53:15 +02:00
Florian Rival
d1b3797c20
Gameplay tests: fix the inverted camera-measured pitch ( #8940 )
...
Don't show in changelog
2026-08-09 17:36:34 +02:00
Florian Rival
8cdd1c6f03
Gameplay tests: fix the camera-measured yaw, expose the aim tolerance ( #8939 )
...
Don't show in changelog
2026-08-09 16:54:35 +02:00
Florian Rival
2ba33068e9
Gameplay tests: bound the rendering duty cycle, not just the interval ( #8937 )
...
Don't show in changelog
2026-08-09 15:42:42 +02:00
Florian Rival
4cc37b43a2
Various improvements for gameplay tests ( #8936 )
...
Don't show in changelog
2026-08-09 14:29:11 +02:00