Capture or review FieldWorks parity evidence: semantic snapshots, render/visual baselines, layout parity, failure artifacts, XML view definitions, and the Avalonia presentation IR. Use whenever a task creates or evaluates snapshot tests, screenshot baselines, view-definition compilation output, or any claim that an Avalonia view matches its WinForms predecessor.
Scanned 9/3/2026
Install to Claude Code
npx -y skills add sillsdev/FieldWorks --skill fieldworks-semantic-render-parity --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Fieldworks Semantic Render Parity?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/sillsdev-fieldworks-semantic-render-parity)More formats (shields.io, HTML) on the badges page.
---
name: fieldworks-semantic-render-parity
description: "Capture or review FieldWorks parity evidence: semantic snapshots, render/visual baselines, layout parity, failure artifacts, XML view definitions, and the Avalonia presentation IR. Use whenever a task creates or evaluates snapshot tests, screenshot baselines, view-definition compilation output, or any claim that an Avalonia view matches its WinForms predecessor."
---
# FieldWorks Semantic Render Parity
Shared definitions (Path 3 bundle, evidence types, artifact naming) live in
`../fieldworks-winforms-to-avalonia-migration/references/parity-evidence.md`.
This skill covers how to build and review the snapshots themselves.
## Role in the migration before/after pipeline
This skill owns the **"after"** half of the migration-doc before/after pairs (see
`fieldworks-winapp`; for where `Docs/migration/`
lives, see the hub skill's "Phase-1 Landing Strategy").
The **before** is the legacy WinForms truth
PNG (captured by the `fieldworks-winapp` launch-per-tool script / dialog harness); the **after** is
the Avalonia view rendered **from the same seeded data** by its visual test in
`FwAvaloniaDialogsTests`/`FwAvaloniaTests`, saved as `<name>-after.png` in the doc's `images/`. Use
the same render/visual evidence type defined here (not a one-off screenshot) so the "after" doubles as the
parity baseline, and both PNGs attach to the conversion's JIRA ticket. When the two should match,
the semantic snapshot — not the side-by-side image — is the authoritative parity check; the images
are the human-facing summary.
## Snapshot Discipline
Semantic snapshots preserve behaviorally meaningful identity and omit
incidental layout noise. The snapshot is the anchor artifact of a parity
bundle: when visual evidence diverges, the snapshot explains whether the
cause is the XML import, slice filtering, editor registry, or rendering.
## Include
- Stable node ID and source layout/part identity.
- Which route produced the artifact (`Avalonia`, legacy fallback, or
blocked state) when a scenario can run through multiple hosts.
- Object/class binding, field/flid binding, editor kind, writing-system
metadata, visibility, ghost state, expansion, focus order, localization
key, and accessibility identity.
- Unsupported construct diagnostics with enough path context to fix the
source layout.
## Exclude Or Normalize
- Pixel bounds, transient generated names, timestamps, machine paths,
culture-dependent ordering, and realized-control counts unless the test
explicitly owns them.
## Canonical Examples
- IR model and snapshot projection:
`Src/Common/FwAvalonia/ViewDefinition/ViewDefinitionModel.cs`
- Snapshot/parity tests:
`Src/Common/FwAvalonia/FwAvaloniaTests/DetailViewingParityTests.cs`,
`ViewDefinitionTests.cs`, `CanonicalJsonTests.cs`,
`Path3BundleTests.cs`
- Import coverage tracking: `LayoutImportCoverageTests.cs` and
`Src/Common/FwAvalonia/ViewDefinition/LayoutImportCoverage.cs`
- Visual/density evidence: `VisualParityAndDensityTests.cs`
## Render Evidence
- Pixel/render tests need deterministic fixtures, clear thresholds, and
failure artifacts reviewers can inspect (classified failure summary, not
a raw diff image).
- A semantic snapshot is not a substitute for visual/render parity when
typography, density, wrapping, or native rendering seams are under
review — and vice versa. One evidence type per axis; see
parity-evidence.md §2.
- Control-level Avalonia visual evidence may come from Avalonia.Headless
rendered frames when the scenario is explicitly control-scoped; desktop
workflow/accessibility claims still need live-window evidence.
## Review Red Flags
- A preview-only or lossy route presented as if it proved product parity.
- Placeholder metadata presented as real binding or writing-system parity.
- Snapshot tests updating large JSON blobs without a small behavioral
explanation of what changed and why.
- Cache invalidation tests that depend on sleeps or filesystem timestamp
luck.
- A new layout construct silently dropped by the importer instead of
producing a diagnostic node and a coverage-tracking entry.
## Handoff
State whether evidence is semantic, visual, accessibility/workflow, or
performance parity, and identify remaining unproven axes. When a Path 3
bundle is used, name each artifact and which evidence type it proves.
## Keep This Skill Current
When snapshot fields, normalization rules, or fixture patterns change, or
a new artifact type joins the bundle, update this skill and
parity-evidence.md together in the same PR; record durable lessons via
`../fieldworks-winforms-to-avalonia-migration/references/lessons-learned.md`.
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!