Commit Graph

466 Commits

Author SHA1 Message Date
Cursor Agent 5488208e5e Final codemod run with push.apply→spread and import-type-as-value fixes
All checks pass:
- npm run flow: No errors
- npm run build: Success
- npm run format: No changes

FlowFixMe summary: 3,297 total
- Reduced method-unbinding by converting push.apply to spread syntax
- Converted I18n imports to import type where possible
- Remaining FlowFixMe are due to:
  - prettier 1.15 cannot parse generic type params (Set<>, Map<>, etc.)
  - Deep semantic type mismatches (incompatible-type, prop-missing)
  - Missing local annotations (missing-local-annot)
  - Library type issues (value-as-type, cannot-resolve-name)

Co-authored-by: Florian Rival <4ian@users.noreply.github.com>
2026-02-12 00:16:40 +00:00
Cursor Agent 673c8d8241 Add import-type-as-value fixes, improved push.apply→spread, FlowFixMe cleanup
Co-authored-by: Florian Rival <4ian@users.noreply.github.com>
2026-02-11 23:59:22 +00:00
Cursor Agent 13b6080a52 Final codemod run: 0 Flow errors, clean build, clean format, push.apply→spread
Co-authored-by: Florian Rival <4ian@users.noreply.github.com>
2026-02-11 23:58:06 +00:00
Cursor Agent c347c5074b Add bulk FlowFixMe reduction: type params for generics, spread for push.apply, jest.fn, axios
Co-authored-by: Florian Rival <4ian@users.noreply.github.com>
2026-02-11 23:26:47 +00:00
Cursor Agent 2a6daf27a4 Run codemod: zero Flow errors, build passes, format clean
Co-authored-by: Florian Rival <4ian@users.noreply.github.com>
2026-02-11 23:23:46 +00:00
Cursor Agent 09e42196cb Restore src and types to master, update fix-flow-errors.sh with artifact fixes
Co-authored-by: Florian Rival <4ian@users.noreply.github.com>
2026-02-11 22:20:46 +00:00
Cursor Agent 5b54d27f08 Merge remote-tracking branch 'origin/master' into cursor/flow-errors-codemod-eaf6
Co-authored-by: Florian Rival <4ian@users.noreply.github.com>
2026-02-11 22:02:15 +00:00
Gleb Volkov dd40a997d9 Add support for setting a custom help URL for extension actions/conditions/expressions (#8103)
Only show in developer changelog
2026-02-10 16:04:38 +01:00
ViktorVovk 12b7ed5c26 Add support for skin management in Spine objects (#8229) 2026-02-10 15:54:59 +01:00
D8H deb802cfec Allow to override behavior properties on object instances (#8171)
* For now, this is limited to instances inside custom objects. This will be made available in the future for all instances in scenes if this works well.
2026-02-09 16:21:24 +01:00
Cursor Agent 4b6188064e Fix all remaining Flow errors - zero errors achieved
- Fix parse errors in AuthenticatedUserContext.js (array initializers)
- Fix ReadOnlyTreeView.js export and missing annotations
- Convert JSX-context FlowFixMe comments to {/* */} format
- Fix Theme/index.js $PropertyType replacement
- Add FlowFixMe to GDevelop.js type files
- Result: npm run flow reports 'No errors!'

Co-authored-by: Florian Rival <4ian@users.noreply.github.com>
2026-02-09 15:20:27 +00:00
Florian Rival e884359511 Add integration test for Else event with local variables (#8225)
Don't show in changelog
2026-02-08 14:25:45 +01:00
Florian Rival 17443587b9 Add Else event (#8216)
* This is not finished yet:
  - Documentation needs to be written.
  - Menu item (and shortcut?) to quickly toggle between a standard event and a else event must be added so it's easy to switch from one to the other.
  - Design must be adapted to make it clearer that the else event is "linked" to the previous one and is not run if the previous event is run.
2026-02-07 17:15:01 +01:00
D8H 1cbc1de05a Fix simple tilemap object being in the wrong category (#8139) 2026-01-17 19:48:03 +01:00
D8H 85c62cbac7 Improve the list of objects, in the new object dialog, with objects provided by extensions (#8126)
- Extensions, behaviors and objects lists now follow the same layout
- Assets are suggested for most custom objects provided by extensions
- Also fix private objects not appearing in the list from within the
extension
2026-01-15 14:07:20 +01:00
D8H 494e330787 Display properties of objects/behaviors in the extension editor in a tree (#8095)
- This allows to easily visualize, group and move properties around.
- Browsing properties is faster and clearer.
2026-01-09 18:35:33 +01:00
Florian Rival ca5bb93636 Speed up cloud project saves (#8083) 2025-12-23 16:47:49 +01:00
D8H b218cf8609 Allow to set effects as initially disabled (#8002) 2025-11-25 15:18:59 +01:00
D8H c424ce8e80 Show object parameters in red if any behavior parameter is wrongly filled (#7997) 2025-11-20 18:25:13 +01:00
D8H 360b11060d Warn about the dependent extensions when an extension is removed (#7971) 2025-11-20 16:31:32 +01:00
D8H 3b8435cae1 Automatically install extensions dependencies (#7962) 2025-11-19 14:23:13 +01:00
D8H 7795bd2421 Fix behavior parameters not showing the last state when selecting another instruction (#7988)
- Don't show in changelog
2025-11-17 14:09:15 +01:00
Florian Rival 2bb4de9e58 Fix local variables missing in events read by the AI (#7982) 2025-11-14 15:44:18 +01:00
D8H 28cea4d94c Allow events to use resources parameters and properties (#7942) 2025-11-13 14:08:01 +01:00
D8H cd0214c2a9 Automatically fill behavior parameters when an object is set (#7968) 2025-11-13 14:05:53 +01:00
D8H 13581264ef Fix resources used in behavior configurations were not exported (#7941) 2025-11-13 14:04:59 +01:00
Florian Rival 3846a1553b Experimental in-game editor (#7974)
Co-authored-by: Davy Hélard <davy.helard@gmail.com>

Don't show in changelog
2025-11-11 18:22:37 +01:00
Florian Rival 3a9645a55f Improve documentation with properties of objects and behaviors 2025-11-06 17:19:37 +01:00
D8H c150f765be Fix case in generate types script (#7917)
Only show in developer changelog
2025-10-20 13:22:14 +02:00
D8H 64cc788d43 Save grid settings for variant tabs (#7869) 2025-10-02 14:15:41 +02:00
Florian Rival 1272b601c6 Add many AI improvements (#7819)
* Allow the AI to start a game from a template
* Improved instances manipulation
* Better variables support
* Allow AI to swap an object by another one from the asset store
* Allow AI to change multiple properties at the same time
* Fix AI not properly removing behaviors associated to a behavior just removed
2025-09-13 18:01:35 +02:00
D8H 58e35cfaf5 Allow extensions to define labels for properties with string selectors (#7825) 2025-09-12 18:30:10 +02:00
D8H 5394cc5201 Forbid to add Physics behaviors on objects inside custom objects (#7809) 2025-09-04 19:37:57 +02:00
Florian Rival 6125ff0f90 Allow AI to change layers/effects/scene and some game properties (#7799) 2025-08-29 19:15:50 +02:00
Florian Rival 5eeb505807 Fix tests
Don't show in changelog
2025-08-08 11:36:33 +02:00
Florian Rival e058b7f295 Add line height property for Text objects (#7769) 2025-08-07 18:47:02 +02:00
D8H 593465e2ec Optimize event-function calls (#7758) 2025-08-01 15:19:26 +02:00
D8H c958f4d522 Fix directional light orientation and missing settings in the 3D cube editor (#7701) 2025-07-07 15:10:11 +02:00
D8H 1d48acc841 Fix custom objects being destroyed too soon (#7695) 2025-07-07 08:27:00 +02:00
Florian Rival 37fd99e542 Add user friendly labels to select fields in object and effect properties 2025-07-03 13:09:43 +02:00
ViktorVovk 5c71a4da56 Allow to unload scene resources when a scene is exited (#7381)
* This adds two new settings, available in the Project Properties and in the Scene Properties dialog, to allow to specify the strategy for preloading resources of the scenes and unloading them. By default, a game will preload in background the resources of all scenes. It will never unload these resources (so scene switching is fast).
* You can now choose to unload the resources of a scene when the scene is left using the "Resources unloading" field. If the scene is launched again later, it will load its resources again.
* You can also choose to change the preloading to disable it for all scenes (by modifying the setting in the project properties) or enable it/disable it on a scene by scene basis. This can be useful for large or modular games where you anticipate the player to only play some scenes, or if you want to reduce the resources that needs to be loaded on a web game.
2025-07-02 16:09:52 +02:00
Florian Rival d4a8d468cb Improve AI scene instance creation (#7667) 2025-06-23 18:52:39 +02:00
Florian Rival 29ad7308c3 Introduce an experimental AI agent (#7659)
- This is an AI agent that takes a request and takes actions on a project: it can create scenes, find and create objects, add, remove behaviors, modify them, put instances on the scene, create or modify events, and more to come (layers, setup leaderboards, etc...).
- It's still in beta and there is room for improvement on many things, but is already useful for prototyping and learning - beginners notably are able to see what the AI can do and learn the concepts of GDevelop. For intermediate and power users, it's useful to try new things, or get things done while working on something else.
- Experiment with it and always make backup of your project before starting - in the future restoration points will be added to go back to a previous state if the result is not good or broken.
2025-06-17 16:25:03 +02:00
D8H 8e4cccd562 Notice about extension breaking changes when installing assets (#7640)
- Add a pop-up to suggest to update behavior when attaching one to an object
- Keep the "community" label and the info button on installed extensions
2025-06-11 18:08:57 +02:00
D8H a6cd4b3c5d Fix missing behavior shared properties for global objects (#7647) 2025-06-09 13:37:23 +02:00
D8H ff95564b6b Add new 3D physics-based vehicle behavior (#7479)
* You can now simulate realistic 3D cars using the new Vehicle behavior powered by the 3D physics engine.
* Advanced details can be customized: from wheel setup and gear ratios to engine torque, steering, brakes, anti-roll bars, and drivetrain (front/rear).
* The default setup offers a semi-realistic, arcade-style driving feel. For smoother gameplay, explore the example projects to see how fine-tuning makes a big difference.
* Jolt physics engine was upgraded to version 0.34.0.
2025-05-14 10:52:47 +02:00
D8H a571445e0e Allow custom objects to self-destruct (#7605) 2025-05-12 14:03:21 +02:00
D8H 896f56e850 Allow to switch between variants of custom objects (#7403)
- Variants allows to restyle custom objects
- They can be customized with the graphical editor
- The asset store will progressively use them notably for UI elements (buttons, sliders)
2025-04-24 11:05:00 +02:00
László Nyiri caa18e5fcb Fix "Never reached character" error during GDevelop.js build (#7536)
Only show in developer changelog
2025-04-07 09:20:26 +02:00
Florian Rival 15ff9bedd9 Add "Ask AI" (#7486)
* The "Ask AI" tab allows you to access an AI that is a GDevelop expert. _Think of it as "ChatGPT" but that is trained on GDevelop and knows everything about it._ It can give you advices and guide you through GDevelop, features, extensions and has knowledge of what you use in your game (scenes, objects, behaviors).
  * Unsure how to do something? Ask the AI.
  * Want to get a better understanding of a concept you don't understand? Ask the AI.
  * Have an idea but unsure where to start? Ask the AI.
* The AI gives its answer according to the full knowledge of features, reviewed extensions and game building with GDevelop. It's perfect for beginners or when you want to quickly get an answer without having to search for a long time.
* This is experimental. As with any AI, it can make mistakes or give answers that are wrong or not the best way to do something - you can put a thumb up or thumb down on each answer if you want to report something.
  Feel free to check answers with the members of the community on the forum or on Discord. We'll actively improve the AI according to the results it gives.
* The AI was worked to be concise, efficient and fast. If you have a GDevelop membership (silver, gold, pro) you will have an allowance for free AI request every month. You can unlock more AI requests or get some with a free account with credits.
2025-03-27 15:31:16 +01:00