feat: Diagnostic Report Enhancements#8090
Conversation
… navigation, and preview/export blocking
|
Thanks for starting this, we will review it once you remove the draft status :) |
4ian
left a comment
There was a problem hiding this comment.
Thanks for this PR.
I've added a few comments. Some are nitpickings, but the most important is probably around implementation of the checks: let's try to either have them in C++ or, maybe better, keep them in JS but take advantage of the ReadOnlyArbitraryEventsWorkerWithContext or ReadOnlyArbitraryEventsWorker or AbstractArbitraryEventsWorker to try to subclass it in JS.
Subclassing in JS is a bit cumbersome but I think it's worth trying!
|
Hey @4ian, The scanner now delegates all event and instruction traversal to the C++ worker, so future event types will be supported automatically without changes on the JS side. Local variable scoping is now handled correctly by the worker. As it traverses nested events, it updates Because the C++ worker does not expose event indices, I precompute a map from event pointers to their logical paths before traversal. During validation, the current event's path is resolved from this map and attached to validation errors, so navigation remains accurate. While doing this, I also fixed a bug in Please, take a look. |
|
Thank you for this update, we'll take a look 👍 |
4ian
left a comment
There was a problem hiding this comment.
Added a few comments. While I'm a bit sad that we can't have all the validations grouped somewhere (some are in C++, some in JS, even if you factored some stuff to use the C++ event walker), I think it should work for now!
In the future we will probably want to consolidate this.
Also check if you can solve the conflict and then it should be good to go.
…nostic-report # Conflicts: # newIDE/app/src/MainFrame/Preferences/PreferencesDialog.js
|
Thanks! Planning to merge this after the release of ~today. |
Goal
Improve the mechanism for detecting errors in the GDevelop project.
Problem
In large projects with multiple people involved, it becomes difficult to spot errors in the EventSheet - especially those that are not covered by the current Diagnostic Report implementation but are still highlighted in red within the EventSheet.
Solution
Enhance the Diagnostic Report with:
Features
UI Improvements
Preferences
Tests & Documentation
This is how the updated Diagnostic Report looks:
