Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ mono_crash.*
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
# the release banners are app assets, not the "Releases" build output the rule above is aimed at
!FluentMath/Assets/Releases/
x64/
x86/
[Ww][Ii][Nn]32/
Expand Down
26 changes: 17 additions & 9 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,12 +67,13 @@ double hyphen inside a comment is an XML parse error, so anomaly tags are writte

```text
FluentMath/
├── Assets/ the app icon and the package logos
├── Assets/ the app icon, the package logos, and a banner per release under Releases/
├── Controls/ the formula display: CalculatorDisplay, MathPanel, XamlTextMeasurer;
│ the converter layout every converter page shares: ConverterPanel
│ the converter layout every converter page shares: ConverterPanel;
│ the release notes body: MarkdownRenderer
├── Distribution/ the channel the running build came from, installer, portable or store, and the
│ update check for each: AppDistribution, UpdateService, UpdateInstaller,
│ StoreUpdateSource
│ StoreUpdateSource; the release history: ReleaseCatalog
├── Engines/ the input model and the evaluator, both UI-free: MathInputManager, MathEvaluator
├── Models/ the token model, the exact values, the calculator setup and the currency logic:
│ MathToken, NavigationMetadata, EvaluationMetadata, ExactValue, ResultFormatter,
Expand All @@ -90,7 +91,8 @@ FluentMath/
├── Properties/ PublishProfiles, launchSettings
├── ViewModels/ CalculatorViewModel, ConverterViewModel, RelayCommand
└── Views/ StandardPage, ScientificPage, CurrencyPage, VolumePage, LengthPage, SettingsPage,
UpdateDialog, PadEntrance, ICompactPage, SmallKeyLabels
UpdateDialog, ReleaseNotesDialog, ReleaseNotesPage, PadEntrance, ICompactPage,
SmallKeyLabels

FluentMath.Tests/ the engine tests, plain net8.0, no reference to the app
```
Expand All @@ -100,8 +102,11 @@ bar, and sizes the window through `WinUIEx.WindowManager`. The navigation groups
headers, the calculators (Standard, Scientific) and the converters (Currency, Volume, Length). Both
calculators share `CalculatorViewModel` and `CalculatorDisplay`, every converter shares
`ConverterViewModel` and `ConverterPanel`, and every page but the settings is cached, so it keeps
its content across a navigation. `MainWindow` also owns compact mode, a small window on top of every
other one that holds the page it was asked from; each page brings its own sizes through `ICompactPage`.
its content across a navigation. "What's New" above the settings opens the release history in a dialog
and never selects. `MainWindow` also owns compact mode, a small window on top of every other one that
holds the page it was asked from; each page brings its own sizes through `ICompactPage`. The title bar
is a plain `Grid` rather than the WinUI `TitleBar`, which hides its title once it holds the update pill
in a narrow window.

`Setup/` holds the Inno Setup installer scripts and the `portable.txt` marker of the portable zip,
`Calculator/` the retired WPF version 1, and `.github/` the workflows, the issue and pull request
Expand Down Expand Up @@ -244,10 +249,13 @@ repository setting, not in the build.
- **The store build only names its update from GitHub.** Whether there is one is the Store's answer; the
GitHub release only gives it a version. Publish the GitHub release once the Store version is live, or the
store build shows an unnamed update until then.
- **Two `.gitignore` negations stay.** The stock template silently excludes files the build needs: the
- **Three `.gitignore` negations stay.** The stock template silently excludes files the build needs: the
macOS `Icon` rule swallowed `FluentMath/Assets/Icon/`, so a fresh checkout failed with `CS7064`
and the error named the icon rather than anything about git, and `*.pubxml` swallowed all three publish
profiles.
and the error named the icon rather than anything about git, `*.pubxml` swallowed all three publish
profiles, and `[Rr]eleases/` would swallow the release banners in `FluentMath/Assets/Releases/`.
- **Every minor or major release ships a banner.** `FluentMath/Assets/Releases/v<x>-<y>-<z>.png`, the
version label with dashes for dots, added before the tag. The release history shows it as the header
of that release; without the file the release simply has none.
- **The CodeQL default setup stays switched off in the repository settings.** It collides with the
advanced setup in `codeql.yml`, which builds manually because CodeQL autobuild cannot build a WinUI 3
project.
Expand Down
11 changes: 11 additions & 0 deletions FluentMath/App.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -425,6 +425,17 @@
</Setter>
</Style>

<!-- source link -->
<!-- (a small link beside other text; the negative margin keeps its text in line with the text above) -->
<Style x:Key="SourceLinkButtonStyle" TargetType="HyperlinkButton">
<Setter Property="Padding" Value="6,2,6,2" />
<Setter Property="Margin" Value="-6,0,0,0" />
<Setter Property="CornerRadius" Value="4" />
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="HorizontalContentAlignment" Value="Left" />
<Setter Property="FontSize" Value="12" />
</Style>

</ResourceDictionary>
</Application.Resources>
</Application>
Binary file added FluentMath/Assets/Releases/v2-0-0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added FluentMath/Assets/Releases/v2-1-0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added FluentMath/Assets/Releases/v2-2-0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added FluentMath/Assets/Releases/v2-3-0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading