Set up or verify the DotPudica framework inside a Godot .NET project: enabling the plugin, checking the injected csproj snippet, creating the AppContext bootstrap node (Initialize/Dispose), wiring GodotWindowManager. Use whenever the project has no bootstrap…
Register and consume services with DotPudica: AppContext configureServices callbacks (AddSingleton/AddTransient), [Inject] fields, [ViewModelFactory] methods, and SceneContextHost scene-level scopes with Operations cancellation tokens. Use when sharing data…
Wire communication and threading with DotPudica: [Subscribe] to ViewModel events, MessageBus weak/strong messaging, InteractionRequest for ViewModel-to-View requests, IUiDispatcher.Post, LatestSnapshotMailbox, and SceneOperationScope cancellation. Use for…
Add object pooling to DotPudica views, windows, and item lists: [DotPudicaView(Pooled = true)] with RecycleView, NodePool.Create/Allocate/Free, GodotWindowManager.ConfigurePool/ShowPooled, and [ItemsSource] PoolSize. Use when panels or popups are created and…
Verify and fix DotPudica code: run dotnet build, interpret DOTPUDICA* diagnostics (001/005/010/030-036/040-043/045/046), inspect generated .Bindings.g.cs output, and apply the framework's common-pitfall fixes. Use at the end of every task that wrote framework…
Create DotPudica View + ViewModel pairs with declarative bindings: [DotPudicaView], [BindTo], [BindCommand], [ItemsSource], [Inject], [Subscribe], [ViewModelFactory], lifecycle hooks and the mandatory _Ready/_ExitTree lines. Use whenever the user wants a UI…
Build window stacks and popups with DotPudica: GodotWindowManager node placement, GodotWindow subclasses, WindowType selection (Full/Popup/QueuedPopup/Dialog/Progress), Show/Hide/Dismiss calls, and Bundle data passing. Use whenever the user wants full-screen…
Entry point for any task involving the DotPudica MVVM framework (Godot .NET): creating UI pages, bindings, commands, item lists, windows or popups, shared services, scene scopes, object pooling, or fixing DOTPUDICA compile diagnostics. Consult this routing…