4.2 KiB
4.2 KiB
Tauri Runtime Behavior Testing Workflow
Date: 2026-02-13
Purpose and Scope
This document defines strict testing and evidence requirements for sprimo-tauri runtime
behaviors. It complements docs/QA_WORKFLOW.md and applies to all Tauri runtime behavior issues.
Prerequisites
- Windows environment for primary runtime validation.
- Workspace up to date.
- UI dependencies installed:
just install-tauri-ui
Execution Modes
1. Workspace Mode (Required Now)
Run and validate from the repository workspace:
just build-tauri-ui
just check-tauri
just check-runtime-core
just run-tauri
2. Packaged Mode (Required Once Packaging Exists)
When sprimo-tauri packaging automation is implemented, repeat the runtime checklist against the
packaged artifact and attach equivalent evidence in the issue.
Strict Verification Gate
An issue touching Tauri runtime behaviors must satisfy all requirements before Closed:
- Command evidence recorded:
cargo check -p sprimo-tauricargo check -p sprimo-runtime-corejust build-tauri-uijust run-taurismoke resultjust qa-validate
- Visual evidence recorded:
- before screenshot(s)
- after screenshot(s)
- Runtime contract evidence recorded:
current_stateinvoke command returns valid structured payload.load_active_sprite_packinvoke command returns manifest/atlas payload.runtime:snapshotevent is observed after command application.
- API behavior evidence recorded:
/v1/healthand/v1/statebehavior validated against tauri runtime./v1/commandand/v1/commandsvalidated with auth behavior.
- Docs synchronized:
- issue lifecycle updated
- relevant docs updated when behavior or expectations changed
Runtime Behavior Checklist
- Launch tauri runtime via
just run-tauri. - Verify sprite renders in the tauri window.
- Verify animation advances over time.
- Send
PlayAnimationcommand and verify clip switch is reflected. - Send
SetTransform.scaleand verify rendered sprite scale changes. - Verify missing animation fallback:
- unknown animation name falls back to
idleor first available clip.
- Verify sprite-pack loading:
- valid selected pack loads correctly
- invalid pack path failure is surfaced and runtime remains alive
- Verify frameless window drag behavior:
- left-mouse drag moves the window
- window remains non-resizable
- moved position is reflected in runtime snapshot state (
x,y) and persists after restart
API + Runtime Contract Checklist
- Validate health endpoint:
GET /v1/healthreturns version/build/capabilities.
- Validate authenticated state endpoint:
GET /v1/staterequires bearer token.
- Validate command endpoint:
POST /v1/commandaccepts valid command envelope.
- Validate batch endpoint:
POST /v1/commandsapplies commands in order.
- Validate malformed request resilience:
- malformed JSON returns
400without process crash.
- Validate Tauri invoke/event behavior:
current_stateoutput parsed successfully.load_active_sprite_packreturns expected fields.runtime:snapshotevent received on runtime command changes.
Evidence Requirements
For each Tauri runtime issue, include:
- command output summaries for all strict gate commands
- screenshot references:
- before:
issues/screenshots/issueN-before-YYYYMMDD-HHMMSS.png - after:
issues/screenshots/issueN-after-YYYYMMDD-HHMMSS.png
- before:
- invoke/event verification notes
- API verification notes
Issue Lifecycle Integration
Use standard lifecycle in issues/issueN.md:
ReportedTriagedIn ProgressFix ImplementedVerification PassedClosed
Tauri runtime issues must remain at Fix Implemented if any strict-gate evidence is missing.
Failure Classification and Triage
P0: crash on startup, renderer not visible, auth bypass, or command pipeline broken.P1: animation/state mismatch, event/invoke contract failure, major UX regression.P2: non-blocking rendering/perf issues, minor UI mismatch, cosmetic defects.
Test Log Template (Tauri Runtime)
- Date:
- Issue:
- Frontend:
sprimo-tauri - Execution mode:
workspaceorpackaged - Commands run:
- API checks summary:
- Invoke/event checks summary:
- Before screenshots:
- After screenshots:
- Result:
- Notes: