Skip to content

Commit eedeeb2

Browse files
Merge pull request #23 from microsoft/docs/021-reorganization-execute
docs(021): execute docs folder reorganization
2 parents 7c90d29 + 9f048db commit eedeeb2

345 files changed

Lines changed: 450 additions & 388 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -298,11 +298,11 @@ dotnet run --project samples/apps/wordpuzzle
298298

299299
| Doc | Description |
300300
|-----|-------------|
301-
| [Reactor pitch](docs/reactor-pitch.md) | The longer-form overview of what Reactor is and why |
301+
| [Reactor pitch](docs/pitch/reactor-pitch.md) | The longer-form overview of what Reactor is and why |
302302
| [Getting Started](src/Reactor/Docs/GettingStarted.md) | Tutorial — elements, layout, state, components |
303303
| [Architecture](src/Reactor/Docs/Architecture.md) | Virtual tree, reconciler, hooks, design decisions |
304-
| [Design Specs](docs/spec/) | Numbered specs covering theming, navigation, animation, data, accessibility |
305-
| [WinUI Integration Proposals](docs/winui3-integration-proposals.md) | 25 proposals for deeper platform integration |
304+
| [Design Specs](docs/specs/) | Numbered specs covering theming, navigation, animation, data, accessibility |
305+
| [WinUI Integration Proposals](docs/specs/proposals/winui3-integration.md) | 25 proposals for deeper platform integration |
306306
| [State & Hooks](docs/reference/state-and-hooks.md) | Deep dive on the hook system and reactivity |
307307
| [Reconciliation](docs/reference/reconciliation.md) | How tree diffing works (C# and Rust paths) |
308308
| [Native Differ](docs/reference/native-differ.md) | Rust differ architecture, FFI, experiments |

docs/README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Reactor Documentation
2+
3+
- **[guide/](guide/)** — User-facing documentation. Getting started, topic guides, screenshots.
4+
- **[reference/](reference/)** — Architecture deep dives for framework contributors.
5+
- **[specs/](specs/)** — Design specs, implementation tasks, and proposals.
6+
- **[research/](research/)** — Competitive analysis, investigations, bug write-ups.
7+
- **[pitch/](pitch/)** — Marketing materials and design targets.
8+
- **[reports/](reports/)** — Point-in-time reports (work summaries, metrics).
9+
- **_pipeline/** — Internals of the doc-generation pipeline. Not reader-facing.
10+
11+
The `guide/` folder is pre-rendered because screenshot capture requires a running
12+
WinUI host. To rebuild it locally, run `mur docs compile`.
Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,12 @@ must work with the `mur docs compile` pipeline.
88

99
The doc system has two inputs and one output per topic:
1010

11-
1. **Template** (`docs/templates/<topic>.md.dt`) — Markdown with YAML
11+
1. **Template** (`docs/_pipeline/templates/<topic>.md.dt`) — Markdown with YAML
1212
front-matter, snippet directives, screenshot references, and `ai:lock`
1313
sections.
14-
2. **Doc App** (`docs/apps/<topic>/`) — A compilable Reactor app containing
14+
2. **Doc App** (`docs/_pipeline/apps/<topic>/`) — A compilable Reactor app containing
1515
snippet-marked code and a `doc-manifest.yaml` for screenshots.
16-
3. **Output** (`docs/output/<topic>.md`) — Final compiled Markdown with
16+
3. **Output** (`docs/guide/<topic>.md`) — Final compiled Markdown with
1717
snippets inlined and screenshot paths resolved.
1818

1919
You produce both the template and the doc app. The compile pipeline does the
@@ -28,7 +28,7 @@ rest.
2828
```yaml
2929
---
3030
title: "Human-readable title"
31-
app: <topic-id> # matches the docs/apps/<topic-id>/ directory
31+
app: <topic-id> # matches the docs/_pipeline/apps/<topic-id>/ directory
3232
order: 3 # sort order in the final docset
3333
audience: beginner|intermediate|advanced
3434
goal: |
@@ -75,10 +75,10 @@ instructions.
7575

7676
## Doc App Structure
7777

78-
Each topic has a companion app in `docs/apps/<topic>/`:
78+
Each topic has a companion app in `docs/_pipeline/apps/<topic>/`:
7979

8080
```
81-
docs/apps/my-topic/
81+
docs/_pipeline/apps/my-topic/
8282
my-topic.csproj # Standard Reactor project
8383
App.cs # Main source with snippet markers
8484
doc-manifest.yaml # App config + screenshot definitions
@@ -493,7 +493,7 @@ images, form labels, headings, landmarks, TabIndex gaps, etc.).
493493

494494
## Topic Ideas for the Full Docset
495495

496-
Generate these as `<topic>.md.dt` + `docs/apps/<topic>/` pairs:
496+
Generate these as `<topic>.md.dt` + `docs/_pipeline/apps/<topic>/` pairs:
497497

498498
### Beginner
499499

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ class Tier1Demo : Component
1717
public override Element Render()
1818
{
1919
return VStack(12,
20-
Factories.Text("Account Settings")
20+
Text("Account Settings")
2121
.FontSize(24).Bold()
2222
.HeadingLevel(AutomationHeadingLevel.Level1),
23-
Factories.Text("Profile")
23+
Text("Profile")
2424
.FontSize(18).SemiBold()
2525
.HeadingLevel(AutomationHeadingLevel.Level2),
2626
TextField("", _ => { }, placeholder: "Display name")
@@ -47,13 +47,13 @@ public override Element Render()
4747
.HelpText("Type a product name or SKU to filter results")
4848
.Width(300),
4949
VStack(8,
50-
Factories.Text("Revenue by Region").Bold(),
51-
Factories.Text("Bar chart placeholder").Opacity(0.5)
50+
Text("Revenue by Region").Bold(),
51+
Text("Bar chart placeholder").Opacity(0.5)
5252
).FullDescription(
5353
"Bar chart showing Q1 revenue: East $4.2M, " +
5454
"West $3.8M, Central $2.1M")
5555
.Padding(16).Background("#f5f5f5").CornerRadius(8),
56-
Factories.Text("Decorative divider")
56+
Text("Decorative divider")
5757
.Opacity(0.2)
5858
.AccessibilityHidden()
5959
).Padding(24);
@@ -73,7 +73,7 @@ public override Element Render()
7373
&& email.Contains('@') && agree;
7474

7575
return VStack(12,
76-
Factories.Text("Create Account").FontSize(24).Bold()
76+
Text("Create Account").FontSize(24).Bold()
7777
.HeadingLevel(AutomationHeadingLevel.Level1),
7878
TextField(name, setName, header: "Full Name")
7979
.AutomationName("Full name").Required().TabIndex(1),
@@ -103,10 +103,10 @@ public override Element Render()
103103
.AutomationName("Main navigation"),
104104

105105
VStack(12,
106-
Factories.Text("Dashboard")
106+
Text("Dashboard")
107107
.FontSize(20).Bold()
108108
.HeadingLevel(AutomationHeadingLevel.Level1),
109-
Factories.Text("Welcome back. Here is your overview.")
109+
Text("Welcome back. Here is your overview.")
110110
).Landmark(AutomationLandmarkType.Main)
111111
.AutomationName("Main content"),
112112

@@ -124,20 +124,20 @@ class HeadingHierarchyDemo : Component
124124
public override Element Render()
125125
{
126126
return VStack(12,
127-
Factories.Text("Application Settings")
127+
Text("Application Settings")
128128
.FontSize(24).Bold()
129129
.HeadingLevel(AutomationHeadingLevel.Level1),
130-
Factories.Text("Appearance")
130+
Text("Appearance")
131131
.FontSize(18).SemiBold()
132132
.HeadingLevel(AutomationHeadingLevel.Level2),
133-
Factories.Text("Choose your preferred theme and font size."),
134-
Factories.Text("Notifications")
133+
Text("Choose your preferred theme and font size."),
134+
Text("Notifications")
135135
.FontSize(18).SemiBold()
136136
.HeadingLevel(AutomationHeadingLevel.Level2),
137-
Factories.Text("Email Alerts")
137+
Text("Email Alerts")
138138
.FontSize(15).SemiBold()
139139
.HeadingLevel(AutomationHeadingLevel.Level3),
140-
Factories.Text("Configure which emails you receive.")
140+
Text("Configure which emails you receive.")
141141
).Padding(24);
142142
}
143143
}
@@ -157,8 +157,8 @@ public override Element Render()
157157
When(showModal, () =>
158158
Border(
159159
VStack(12,
160-
Factories.Text("Modal Dialog").FontSize(18).Bold(),
161-
Factories.Text("Tab/Shift+Tab stays inside this panel."),
160+
Text("Modal Dialog").FontSize(18).Bold(),
161+
Text("Tab/Shift+Tab stays inside this panel."),
162162
TextField("", _ => { }, placeholder: "Name")
163163
.TabIndex(0),
164164
Button("Close", () => setShowModal(false))
@@ -191,7 +191,7 @@ public override Element Render()
191191
}),
192192
Button("Error (Assertive)", () =>
193193
announce.Announce("Connection lost!", assertive: true)),
194-
Factories.Text($"Saves: {count}").Opacity(0.6),
194+
Text($"Saves: {count}").Opacity(0.6),
195195
announce.Region // invisible live region — must be in tree
196196
).Padding(24);
197197
}
@@ -218,7 +218,7 @@ public override Element Render()
218218
role: "slider",
219219
value: $"{rating} of 5 stars",
220220
rangeMin: 1, rangeMax: 5, rangeValue: rating),
221-
Factories.Text($"Current: {rating}/5").Opacity(0.6)
221+
Text($"Current: {rating}/5").Opacity(0.6)
222222
).Padding(24);
223223
}
224224
}

docs/apps/accessibility/accessibility.csproj renamed to docs/_pipeline/apps/accessibility/accessibility.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<OutputType>WinExe</OutputType>
44
<TargetFramework>net9.0-windows10.0.22621.0</TargetFramework>
@@ -12,6 +12,6 @@
1212
<PackageReference Include="Microsoft.WindowsAppSDK" Version="$(WindowsAppSDKVersion)" />
1313
</ItemGroup>
1414
<ItemGroup>
15-
<ProjectReference Include="..\..\..\src\Reactor\Reactor.csproj" />
15+
<ProjectReference Include="..\..\..\..\src\Reactor\Reactor.csproj" />
1616
</ItemGroup>
1717
</Project>
File renamed without changes.
Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ public override Element Render()
2222
ErrorBoundary(
2323
Component<BuggyComponent>(),
2424
(Exception ex) => VStack(8,
25-
Factories.Text("Something went wrong").Bold()
25+
Text("Something went wrong").Bold()
2626
.Foreground("#d13438"),
27-
Factories.Text(ex.Message).FontSize(12).Opacity(0.7)
27+
Text(ex.Message).FontSize(12).Opacity(0.7)
2828
).Padding(12)
2929
.Background("#fde7e9")
3030
.CornerRadius(8)
@@ -54,15 +54,15 @@ public override Element Render()
5454

5555
return VStack(12,
5656
SubHeading("Memo"),
57-
Factories.Text($"Parent renders: click count = {count}"),
57+
Text($"Parent renders: click count = {count}"),
5858
Button("Increment", () => setCount(count + 1)),
5959
Memo(ctx =>
6060
{
6161
// This subtree only re-renders when label changes
6262
return Border(
6363
VStack(4,
64-
Factories.Text($"Memoized: {label}").Bold(),
65-
Factories.Text("Skips re-render when deps unchanged")
64+
Text($"Memoized: {label}").Bold(),
65+
Text("Skips re-render when deps unchanged")
6666
.FontSize(12).Opacity(0.6)
6767
).Padding(12)
6868
).Background("#f0f0f0").CornerRadius(8);
@@ -86,7 +86,7 @@ public override Element Render()
8686
.SetToolTip(btn, "This is a native tooltip");
8787
btn.Padding = new Thickness(20, 10, 20, 10);
8888
}),
89-
Factories.Text("Styled via .Set()")
89+
Text("Styled via .Set()")
9090
.Set(tb =>
9191
{
9292
tb.TextWrapping = TextWrapping.WrapWholeWords;
@@ -143,7 +143,7 @@ public override Element Render()
143143
ToggleSwitch(vm.DarkMode, v => vm.DarkMode = v,
144144
header: "Dark Mode"),
145145
Slider(vm.FontSize, 10, 32, v => vm.FontSize = (int)v),
146-
Factories.Text($"Preview: {vm.UserName}")
146+
Text($"Preview: {vm.UserName}")
147147
.FontSize(vm.FontSize).Bold()
148148
).Padding(24);
149149
}
@@ -171,10 +171,10 @@ public override Element Render()
171171
{ _tasks.Add(input.Trim()); setInput(""); }
172172
})
173173
),
174-
Factories.Text($"{tasks.Count} tasks:").SemiBold(),
174+
Text($"{tasks.Count} tasks:").SemiBold(),
175175
VStack(4, tasks.Select((task, i) =>
176176
HStack(8,
177-
Factories.Text($"{i + 1}. {task}"),
177+
Text($"{i + 1}. {task}"),
178178
Button("Remove", () => _tasks.RemoveAt(i))
179179
).WithKey($"task-{i}-{task}")
180180
).ToArray())

docs/apps/advanced/advanced.csproj renamed to docs/_pipeline/apps/advanced/advanced.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<Project Sdk="Microsoft.NET.Sdk">
1+
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
33
<OutputType>WinExe</OutputType>
44
<TargetFramework>net9.0-windows10.0.22621.0</TargetFramework>
@@ -12,6 +12,6 @@
1212
<PackageReference Include="Microsoft.WindowsAppSDK" Version="$(WindowsAppSDKVersion)" />
1313
</ItemGroup>
1414
<ItemGroup>
15-
<ProjectReference Include="..\..\..\src\Reactor\Reactor.csproj" />
15+
<ProjectReference Include="..\..\..\..\src\Reactor\Reactor.csproj" />
1616
</ItemGroup>
1717
</Project>
File renamed without changes.

0 commit comments

Comments
 (0)