From 5da382b20b6de5641ad349783b0ade9f40596a19 Mon Sep 17 00:00:00 2001
From: goldwav <153404465+goldwav@users.noreply.github.com>
Date: Wed, 5 Aug 2026 00:09:06 -0500
Subject: [PATCH] polish portfolio presentation
---
.github/workflows/windows-ci.yml | 10 +-
README.md | 171 +++++++++++++++++++++-------
docs/media/sticky-to-editor.gif | Bin 0 -> 313518 bytes
docs/media/the-notepad-overview.png | Bin 0 -> 71537 bytes
4 files changed, 135 insertions(+), 46 deletions(-)
create mode 100644 docs/media/sticky-to-editor.gif
create mode 100644 docs/media/the-notepad-overview.png
diff --git a/.github/workflows/windows-ci.yml b/.github/workflows/windows-ci.yml
index 933b4fd..cb152d8 100644
--- a/.github/workflows/windows-ci.yml
+++ b/.github/workflows/windows-ci.yml
@@ -20,10 +20,10 @@ jobs:
steps:
- name: Check out source
- uses: actions/checkout@v4
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Install .NET 10 SDK
- uses: actions/setup-dotnet@v4
+ uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
dotnet-version: 10.0.x
@@ -64,7 +64,7 @@ jobs:
Write-Host "Verified $($app.FullName)"
- name: Upload unsigned SDK build
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: TheNotepad-dotnet10-unsigned-${{ github.sha }}
path: native/src/App/bin/Release/
@@ -78,7 +78,7 @@ jobs:
steps:
- name: Check out source
- uses: actions/checkout@v4
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Run inbox-compiler compatibility check
shell: pwsh
@@ -108,7 +108,7 @@ jobs:
}
- name: Upload verified unsigned portable build
- uses: actions/upload-artifact@v4
+ uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: TheNotepad-portable-unsigned-${{ github.sha }}
path: native/artifacts/release/${{ env.RELEASE_VERSION }}/
diff --git a/README.md b/README.md
index 39607a6..04fb2fe 100644
--- a/README.md
+++ b/README.md
@@ -1,61 +1,150 @@
-# The Notepad
+
The Notepad
-The Notepad is a free, open-source Windows text editor that keeps the speed of
-classic Notepad while adding dependable tabs, a calm note navigator, and
-desktop sticky notes.
+
+ A dependable Windows text editor with tabs, recovery, and desktop stickies.
+
-The repository currently contains an **alpha-quality native Windows build**.
-It is useful for contributor testing, but it is not yet a signed or
-Store-certified public release.
+
+
+
+
+
+
+
+
+
+
-## What the alpha implements
+
-- ordinary plain-text files: create, multi-select open, edit, save, and Save As;
-- keyboard-accessible tabs, recently closed tabs, and separate Notes and
- Stickies views;
-- UTF-8, UTF-8 BOM, UTF-16 LE/BE, and CRLF/LF/CR preservation;
-- clear dirty state, external-change protection, and atomic file writes;
-- find, replace, go to line, undo/redo, word wrap, zoom, and printing;
-- automatic local recovery for open and unsaved work;
-- desktop sticky windows that share the editor's live note model;
-- sticky move, resize, hide/show, Keep on top, and visible-monitor recovery;
-- double-clicking a sticky header to reopen it in the full editor;
-- single-instance activation, a notification-area control, close-to-tray
- behavior, and an optional per-user **Start with Windows** setting;
-- no account, ads, telemetry, or required network connection.
+The Notepad keeps plain-text editing direct while adding the safeguards and
+organization expected from a modern desktop application. Open ordinary text
+files, work across tabs, recover unsaved notes, and keep selected notes visible
+as independent desktop stickies.
-The current release gates are documented below rather than hidden behind a
-"ready" label: the packages are unsigned, Store identity is still a
-placeholder, and clean-machine, performance, Narrator, scaling, IME, and
-multi-monitor certification remain to be completed.
+A sticky window and its full-editor tab share the same note model. Changes stay
+synchronized, and double-clicking the sticky header returns that note to the
+editor without creating a copy.
-## Build and test
+## Highlights
-The primary solution targets .NET 10 on Windows:
+- **Plain-text fidelity** — opens and preserves UTF-8, UTF-8 BOM, UTF-16 LE/BE,
+ and CRLF/LF/CR line endings.
+- **Safer file editing** — atomic writes, visible dirty state, and external-file
+ change detection reduce accidental data loss.
+- **Automatic recovery** — open and unsaved work is restored locally, with
+ corrupt-state fallback rather than a blocked startup.
+- **Desktop stickies** — move, resize, pin, hide, restore, and reopen stickies
+ in the full editor.
+- **Native Windows behavior** — single-instance activation, notification-area
+ controls, close-to-tray behavior, printing, and optional per-user startup.
+- **Private by design** — no account, ads, analytics, telemetry, cloud service,
+ or network-client integration in the native editing path.
+
+## Sticky to editor
+
+
+
+Create a sticky with `Ctrl+Shift+N`. Edit it from either surface, then
+double-click its header to continue in the full editor. Regular notes and
+stickies remain separated in their respective navigator views.
+
+## Try it
+
+> [!IMPORTANT]
+> The Notepad is currently an alpha engineering preview. No signed, versioned
+> release download is offered yet. Existing package outputs are unsigned; code signing,
+> clean-machine lifecycle testing, accessibility review, and broader release
+> certification remain open gates.
+
+To run the current application from source, use Windows with the .NET 10 SDK:
```powershell
-dotnet restore .\TheNotepad.sln
-dotnet build .\TheNotepad.sln -c Release --no-restore
-dotnet run --project .\native\tests\TheNotepad.Tests.csproj -c Release --no-build
+git clone https://github.com/goldwav/The-Notepad.git
+cd The-Notepad
+dotnet restore .\TheNotepad.sln --configfile .\NuGet.Config
+dotnet run --project .\native\src\App\TheNotepad.Desktop.csproj
```
-`.\native\build.ps1` remains as a package-free compatibility check using the
-Windows inbox C# compiler and WPF assemblies. CI runs both paths.
+Useful shortcuts:
+
+| Action | Shortcut |
+|---|---|
+| New regular note | `Ctrl+N` |
+| New desktop sticky | `Ctrl+Shift+N` |
+| Open text files | `Ctrl+O` |
+| Save / Save As | `Ctrl+S` / `Ctrl+Shift+S` |
+| Reopen closed tab | `Ctrl+Shift+T` |
+| Find / Replace / Go to line | `Ctrl+F` / `Ctrl+H` / `Ctrl+G` |
+| Move between major UI regions | `F6` |
+
+## Engineering highlights
+
+| Area | Implementation |
+|---|---|
+| Document engine | UI-independent model for text decoding, line-ending preservation, fingerprints, and safe writes |
+| Recovery | Local session snapshots for open tabs, unsaved content, sticky state, and window placement |
+| Shared note model | Editor tabs and sticky windows observe the same document state |
+| Desktop lifecycle | Single-instance handoff, tray lifecycle, startup registration, and visible-monitor placement recovery |
+| Verification | 21 document and recovery tests exercised through both the .NET 10 and compatibility build paths |
+| Release integrity | Portable packaging creates a ZIP, SHA-256 checksums, and a machine-verifiable release manifest |
+
+## Architecture
+
+The application separates document safety from Windows presentation so the
+most important behavior can be tested without constructing the WPF interface.
+
+| Component | Responsibility |
+|---|---|
+| [`native/src/Core`](native/src/Core) | Documents, encoding, atomic writes, recovery, recent files, and placement correction |
+| [`native/src/App`](native/src/App) | WPF editor shell, tabs, sticky windows, tray behavior, activation, and startup option |
+| [`native/tests`](native/tests) | Dependency-free document and recovery test harness |
+| [`native/benchmarks`](native/benchmarks) | Isolated 1 MiB, 10 MiB, and 100 MiB file-open measurements |
+| [`scripts`](scripts) | Portable/MSIX staging and release-integrity verification |
+
+The rationale for WPF on .NET 10, including its tradeoffs and the criteria for
+reconsidering WinUI 3, is recorded in
+[ADR 0001](docs/adr/0001-modern-wpf-for-v0.1.md).
+
+## Current evidence and release boundary
+
+| Surface | Verified now | Still pending |
+|---|---|---|
+| Build and tests | Windows CI builds the .NET 10 solution and compatibility path; 21 tests pass | Broader App/UI automation and coverage reporting |
+| Packaged workflows | Notes/Stickies separation, sticky-to-editor reopening, Save As, tray lifecycle, and single-instance reopening were manually smoke-tested in packaged builds | Full editor, multi-monitor, DPI, IME, and failure-injection matrix |
+| Artifact integrity | Portable ZIP, manifest, checksum generation, and independent verification are implemented | Signed executable, final installer identity, and durable public release |
+| Privacy | Source inspection found no account, advertising, analytics, telemetry, or native networking integration | Recorded runtime network-capture evidence |
+| Accessibility | Keyboard shortcuts and region navigation are implemented | Narrator, high contrast, focus, and 200% scaling certification |
+
+The complete, deliberately candid gate list is in
+[`docs/release-checklist.md`](docs/release-checklist.md). Performance methodology
+and its limits are documented in
+[`docs/performance-benchmarks.md`](docs/performance-benchmarks.md).
+
+## Build and verify
+
+```powershell
+dotnet restore .\TheNotepad.sln --configfile .\NuGet.Config
+dotnet build .\TheNotepad.sln --configuration Release --no-restore
+dotnet run --project .\native\tests\TheNotepad.Tests.csproj `
+ --configuration Release --no-build --no-restore
+.\native\build.ps1
+```
-Contributor run, packaging, and verification commands are in
-[`native/README.md`](native/README.md) and
+CI runs the SDK and package-free compatibility paths separately. Packaging and
+verification commands are documented in
[`native/packaging/README.md`](native/packaging/README.md).
-## Project layout
+## Contributing
-- `native/` — the Windows application, document engine, tests, and packaging
- templates;
-- `scripts/` — portable/MSIX staging and release-verification scripts;
-- `docs/` — architecture decisions, performance guidance, and release gates.
+The project is free and open source. Start with
+[`CONTRIBUTING.md`](CONTRIBUTING.md), review the longer direction in
+[`PRODUCT_PLAN.md`](PRODUCT_PLAN.md), and use the repository issue forms for
+bugs or feature proposals.
-The longer product direction remains in [`PRODUCT_PLAN.md`](PRODUCT_PLAN.md).
+Security reports should follow [`SECURITY.md`](SECURITY.md).
## License
-The Notepad is licensed under the
+The Notepad is available under the
[Mozilla Public License 2.0](LICENSE).
diff --git a/docs/media/sticky-to-editor.gif b/docs/media/sticky-to-editor.gif
new file mode 100644
index 0000000000000000000000000000000000000000..d0d01e02d3bafc2d1b0adbb5899898cd4ca05230
GIT binary patch
literal 313518
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\d~8&$8EN=-5x}{^@Fx8{cgtG
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
N>0JJJ?CNcKgpNrvXf0JG_s&Z-}O
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