This file is authoritative and persistent for everything under /WhileLoopTimeout. Keep it in version control and treat its directives as mandatory.
- Golden rule: Relentlessly minimize complexity, maximize changeability, and enforce strict static checks to suppress runtime bugs. Names, code, and directory structures must be self-explanatory—avoid relying on comments/docs for basic comprehension.
- Testing cadence: Hands-on runtime testing happens later in a live Resonite session; until then, document assumptions and leave TODOs rather than speculative fixes.
- Localization: UI remains English-only until Resonite exposes extensible localization hooks. Do not ship partial translations; revisit only when upstream enables custom locale registration.
- Knowledge management: Split knowledge based on disclosure level.
- Public/committable notes (design decisions, checklists) belong in versioned docs like this AGENTS file or other repo docs.
- Private, potentially sensitive research (e.g., raw assembly dumps, exploratory notes) must live under the git-ignored
local_notes/directory, each topic in its own markdown file to keep knowledge granular.
- Persistence: Any change to policies/workflow must be reflected here immediately. Subdirectories inherit these rules unless they define their own
AGENTS.md. - Data model constraints: This mod must not introduce new FrooxEngine data-model types or
SyncDelegatedefinitions. All functionality must be built on existing data-model constructs to avoid sync registration overhead. - Design notes ban: Do not create standalone design notes or ADR-style docs; instead, keep commits and code self-explanatory and update this AGENTS file if process rules change.
- Task completion ritual: Before declaring any task done, run the following commands in order and address all failures:
dotnet format WhileLoopTimeout.sln --verify-no-changes --no-restoredotnet build WhileLoopTimeout.sln --no-restoredotnet test WhileLoopTimeout.sln --no-restoreCapture key failures in the report/PR and rerun after fixes.
- WSL / cross-platform NuGet hint: If
dotnet build/testfails withUnable to find fallback package folder 'C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages', do one of the following before rerunning the commands:- Export an override to point at a real folder, e.g.
DOTNET_MSBUILD_SDK_RESOLVER_CLI_FALLBACK_FOLDER=$HOME/.nuget/fallback dotnet build ...(create the folder first). - Add a symlink/mount so that the Windows path exists from Linux (
sudo mkdir -p /mnt/c/Program\ Files\ \\(x86\\)/Microsoft\ Visual\ Studio/Shared/NuGetPackages). - Remove the Windows-only fallback entry from the active
NuGet.Config. Tasks stay “in progress” until at least one of these mitigations succeeds.
- Export an override to point at a real folder, e.g.
- Repository initialized 2025-11-15 with WhileLoopTimeout for ResoniteModLoader.
- Current deliverable: Guard ProtoFlux
While/AsyncWhileloops with abortable timeouts to keep sessions responsive.
- English-only interface. Reevaluate once Resonite core supports custom localized strings for Dev Tool menus and UIX builders.
- Detailed work history lives in the git commit log; do not maintain manual work logs in docs. Summaries belong in commit messages and PR descriptions only.