-
Notifications
You must be signed in to change notification settings - Fork 1.2k
feat: Diagnostic Report Enhancements #8090
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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!
newIDE/app/src/stories/componentStories/ExportAndShare/DiagnosticReportDialog.stories.js
Outdated
Show resolved
Hide resolved
|
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. |
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:
