Add the Avalonia application and the station network

The entry window types contacts and colours them as they are typed; the log,
check, bandmap, score and packet windows read the same session. Contacts are
shared with the other stations of a multi-operator entry in N1MM's contact
message, so an N1MM station on the same network sees them too.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Erik
2026-08-27 10:56:35 +00:00
co-authored by Claude Opus 5
parent ffeeb2cdc1
commit 2834f63c8e
45 changed files with 2667 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
using Nonemm.Contests;
using Nonemm.Core.Calls;
namespace Nonemm.Session;
/// One callsign the check window offers, with what the log says about it so it
/// is coloured the same as everywhere else.
public sealed record CheckCandidate(string Call, PartialMatchQuality Quality, Verdict? Verdict);
/// Where a column of candidates came from. They stay apart because they answer
/// different questions: the log is what this station copied itself, the
/// database is a guess about the whole world, and the bandmap is somebody
/// else's claim.
public enum CheckSource
{
Log,
Database,
Bandmap,
}
/// One column of the check window.
public sealed record CheckColumn(
CheckSource Source,
int Held,
IReadOnlyList<CheckCandidate> Candidates);