You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Relocates Reactor, Reactor.Analyzers, Reactor.Cli, Reactor.Interop.WinForms,
Reactor.Localization.Generator, and vscode-reactor under a top-level src/
directory, following standard project convention and separating source
from tests/, samples/, and docs/.
Updated:
- Reactor.sln project paths
- ProjectReference paths in 61 consuming .csproj files (tests, samples,
docs/apps)
- Reactor.Cli.csproj SelfHostDir and SKILL.md resource paths to account
for the new depth
- .gitignore Rust differ path
- README.md, CONTRIBUTING.md, samples/WinFormsInterop/README.md paths
- Doc references from `duct` CLI command to actual `mur` binary name
in CONTRIBUTING.md, docs/templates/ai-author-skill.md,
docs/reference/localization-ci.md, docs/spec/013-doc-system-design.md
Verified: dotnet test tests/Reactor.Tests -> 3518 passed, 0 failed, 46 skipped.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
If the control has properties that make sense as fluent modifiers, add extension methods.
331
331
@@ -335,7 +335,7 @@ Add test cases in `tests/Reactor.Tests/` covering element creation, mount, and u
335
335
336
336
## How to add a new hook
337
337
338
-
Hooks live in `Reactor/Core/Component.cs` (public API) and `Reactor/Core/RenderContext.cs` (implementation).
338
+
Hooks live in `src/Reactor/Core/Component.cs` (public API) and `src/Reactor/Core/RenderContext.cs` (implementation).
339
339
340
340
1. Add the hook method to `Component` (delegates to `RenderContext`)
341
341
2. Implement the logic in `RenderContext`, using `GetOrCreateHook<T>()` to manage state
@@ -344,19 +344,19 @@ Hooks live in `Reactor/Core/Component.cs` (public API) and `Reactor/Core/RenderC
344
344
345
345
## Working on the Rust native differ
346
346
347
-
The differ lives in `Reactor/Native/differ/`. It's a standalone Rust crate that builds as a `cdylib`.
347
+
The differ lives in `src/Reactor/Native/differ/`. It's a standalone Rust crate that builds as a `cdylib`.
348
348
349
349
```bash
350
350
# Build the differ directly
351
-
cd Reactor/Native/differ
351
+
cdsrc/Reactor/Native/differ
352
352
cargo build
353
353
cargo test
354
354
355
355
# Run clippy
356
356
cargo clippy
357
357
```
358
358
359
-
The C# interop layer is `Reactor/Native/ViewDiffer.cs`. If you change any struct layouts in `types.rs`, you **must** update the matching C# structs in `ViewDiffer.cs` — there are no compile-time checks across the FFI boundary (see the [code review](docs/viewdiffer-code-review.md) for details).
359
+
The C# interop layer is `src/Reactor/Native/ViewDiffer.cs`. If you change any struct layouts in `types.rs`, you **must** update the matching C# structs in `ViewDiffer.cs` — there are no compile-time checks across the FFI boundary (see the [code review](docs/viewdiffer-code-review.md) for details).
360
360
361
361
Key files:
362
362
-`src/types.rs` — wire types shared between Rust and C#
0 commit comments