fix(engine,gpgs,core,server): export CardFaceRevealedEvent, explicit gpgs stub, enum/constant docs

- engine/lib.rs: re-export CardFaceRevealedEvent so external crates can consume flip-midpoint audio events
- gpgs/stub.rs: add explicit impls for all six defaulted SyncProvider methods; future trait changes now cause a compile error in the stub rather than silently picking up wrong defaults
- core/game_state.rs: add /// doc comments to DrawMode and GameMode variants
- server/auth.rs: replace terse BCRYPT_COST comment with full /// doc comment matching ARCHITECTURE.md §19
- server/leaderboard.rs: add /// doc comment to DISPLAY_NAME_MAX; fix misplaced comment that was prepended to the opt_in handler instead of the constant

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
funman300
2026-04-28 22:30:22 +00:00
parent 1ec2593137
commit 2407686e13
5 changed files with 89 additions and 40 deletions
+31 -1
View File
@@ -1,6 +1,6 @@
use async_trait::async_trait;
use solitaire_data::{SyncError, SyncProvider};
use solitaire_sync::{SyncPayload, SyncResponse};
use solitaire_sync::{ChallengeGoal, LeaderboardEntry, SyncPayload, SyncResponse};
/// Google Play Games Services sync client — desktop/iOS stub.
///
@@ -38,4 +38,34 @@ impl SyncProvider for GpgsClient {
fn is_authenticated(&self) -> bool {
false
}
/// No-op stub — returns UnsupportedPlatform on non-Android targets.
async fn mirror_achievement(&self, _id: &str) -> Result<(), SyncError> {
Err(SyncError::UnsupportedPlatform)
}
/// No-op stub — returns UnsupportedPlatform on non-Android targets.
async fn fetch_leaderboard(&self) -> Result<Vec<LeaderboardEntry>, SyncError> {
Err(SyncError::UnsupportedPlatform)
}
/// No-op stub — returns UnsupportedPlatform on non-Android targets.
async fn fetch_daily_challenge(&self) -> Result<Option<ChallengeGoal>, SyncError> {
Err(SyncError::UnsupportedPlatform)
}
/// No-op stub — returns UnsupportedPlatform on non-Android targets.
async fn opt_in_leaderboard(&self, _display_name: &str) -> Result<(), SyncError> {
Err(SyncError::UnsupportedPlatform)
}
/// No-op stub — returns UnsupportedPlatform on non-Android targets.
async fn opt_out_leaderboard(&self) -> Result<(), SyncError> {
Err(SyncError::UnsupportedPlatform)
}
/// No-op stub — returns UnsupportedPlatform on non-Android targets.
async fn delete_account(&self) -> Result<(), SyncError> {
Err(SyncError::UnsupportedPlatform)
}
}