-
Notifications
You must be signed in to change notification settings - Fork 7
Refactor singletons #109
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
Refactor singletons #109
Conversation
- Add performance monitor for panel loading - Add icons to threaded loading - Show all panels when everything loaded
|
Warning Rate limit exceeded@mkh-user has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 14 minutes and 48 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (1)
WalkthroughReplaces and removes the SLib plugin, migrates callers to new S constants and U utilities, adds core/utils threaded resource loader, converts many resource/path APIs, makes panel loading asynchronous, updates HTTP API, and reorganizes several UI and autoload entries. Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor App
participant PanelManager as PanelManager
participant U as Utils (U)
participant Loader as ThreadedLoader
participant ResourceLoader as ResourceLoader
App->>PanelManager: _load_panels()
PanelManager->>PanelManager: collect panel scene paths into _panels
PanelManager->>U: load_resources_threaded(paths, for_each, after_all)
U->>Loader: create ThreadedLoader(paths, callbacks)
Loader->>ResourceLoader: start threaded loads (per path)
ResourceLoader-->>Loader: resource ready / error (per path)
Loader-->>PanelManager: for_each(path, resource) per item
Loader-->>PanelManager: after_all() when done
PanelManager->>PanelManager: _complete_loading() → instantiate panels, set icons
PanelManager-->>App: load_completed (signal)
sequenceDiagram
autonumber
actor Caller
participant Net as NetSuite
participant Tree as SceneTree
participant HTTP as HTTPRequest
Caller->>Net: http_request(callback, request, timeout, download_file)
Net->>HTTP: new HTTPRequest()
Net->>Tree: add_child(HTTP)
Net->>HTTP: configure(timeout, download_file)
Net->>HTTP: request(url,...)
HTTP-->>Net: request_completed(result)
Net->>Caller: callback.call(result)
Net->>HTTP: queue_free()
sequenceDiagram
autonumber
actor User
participant Project as Project
participant U as Utils (U)
participant Conv as ConverterScript
User->>Project: convert_project(project_file)
Project->>U: load_resource(converter_path)
U-->>Project: Resource (script)
Project->>Conv: call convert_project(file)
Conv-->>Project: emit convert_completed()
Project->>Conv: free()
Project-->>User: conversion result/notification
Estimated code review effort🎯 4 (Complex) | ⏱️ ~75 minutes Possibly related PRs
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
Type of Change
Description
Summary of Changes for Refactoring and Performance Improvements
Uautoload for utility functions and anSclass for static globals.load_resourceandload_resource_threadedfromGlobaltoU.FileDatabaseclass and transferred its constants to theSclass.downloadfileentries from package information.Scriptsnode in the Core (Main scene) fromControltoNodeto reduce complexity.RichTextLabels instead of complex margin containers.refresh_module_profilerto eliminate duplicated lambda functions.Network Connectionssection to the Module Profiler.Objectas the base class instead ofNode.menu_buttonconstructor.Selectionclass with the internalRect2istructure.Testing
Unit and manual tests passed.
Impact
Environment
Before
After
Type Delay(Removed)Additional Information
Checklist
Summary by CodeRabbit
New Features
Performance
UI
Improvements
Refactor