neuron-explorer
Steering-first neuron explorer for Qwen3.5-4B: push every MLP neuron, keep every rollout, browse the results
Natrix is a .NET WebAssembly toolkit for building browser applications in C#, with reactive signals, generated Web API bindings and server-side rendering.
Developer toolsC# · JavaScriptGitHub @miroljub1995OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Loading the full README. The saved excerpt is shown below.
Natrix is a .NET WebAssembly toolkit for building browser applications in C#. It combines a JavaScript interop foundation, generated browser API bindings, and an experimental component layer for reactive UI rendering.
The repository is split into a few focused projects:Read the full README ↗Website and docs: natrix.wiki
Natrix is a .NET framework for building web UIs in C# that run in the browser on WebAssembly. Pages render on the server first, then fine-grained signals update exactly the DOM nodes that changed. There's no virtual DOM, no Razor and no JavaScript to write, and Tailwind CSS is compiled at build time.
Install the template and create an app. It writes a server project and a WebAssembly client project into the current directory:
dotnet new install Natrix.Templates
mkdir MyNatrixApp && cd MyNatrixApp
dotnet new natrix -n MyNatrixApp
dotnet run --project MyNatrixApp/MyNatrixApp.csproj
The app comes with server-side rendering, client-side routing and Tailwind CSS already wired up. The Quick Start walks through it.
A component is a C# class. Setup runs once, and from then on only the parts that read a signal update:
public class Counter : BaseComponent<NoProps, NoEvents, NoSlots, NoExpose>
{
protected override IComponent[] Setup(out NoExpose exposed)
{
exposed = default;
var count = new Signal<int>(0);
var doubled = new Computed<int>(() => count.Value * 2);
return
[
new Button
{
Props = new ButtonProps(),
Events = new ButtonEvents { OnClick = _ => count.Value++ },
Children = [new DomText { Text = "Click me".ToConstSignal() }],
},
new P
{
Props = new PProps(),
Children = [new DomText { Text = new Computed<string>(
() => $"{count.Value} × 2 = {doubled.Value}") }],
},
];
}
}
Building apps
Signal, Computed, Effect) that drive updates.Div, A, Input, Select and the rest), rendering both in the browser and on the server.UseHead for the document title and meta tags.dotnet new natrix template.Browser APIs and interop
UseHead.Building this repository also needs Node.js and npm on PATH: the Tailwind generator bundles its JavaScript from source during the build. Apps that use the packages don't need either.
Natrix is under active development and APIs may still change between releases.
This project is licensed under the MIT License. See LICENSE for details.