funman300
927598202e
feat(engine,data): add tap-to-select touch input mode ( #70 )
...
- Add TouchInputMode enum (OneTap | TapToSelect) to solitaire_data settings
- Create TouchSelectionPlugin with TouchSelectionState resource and highlight
- Branch handle_double_tap: OneTap → existing auto-move, TapToSelect → two-tap flow
- Add Settings UI toggle row (Touch Input Mode) with TouchInputModeText marker
- Register TouchSelectionPlugin in CoreGamePlugin
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-28 14:04:40 -07:00
funman300
ce536b0176
refactor(engine): audit and rationalize platform cfg gates ( closes #49 )
...
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-27 18:00:57 -07:00
funman300
561395fca6
feat(data,engine): implement NativeStorage and WasmStorage backends ( closes #48 )
...
Build and Deploy / build-and-push (push) Successful in 3m59s
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-27 17:30:35 -07:00
funman300
a8ceed97a9
refactor(engine): migrate gameplay plugins into CoreGamePlugin ( closes #45 , closes #46 )
...
All engine plugin registrations now live in CoreGamePlugin::build().
build_app() is reduced to DefaultPlugins setup + CoreGamePlugin registration.
sync_provider is threaded through CoreGamePlugin::new() via Mutex<Option<...>>.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-27 17:08:54 -07:00
funman300
3885b334ec
refactor(app): extract build_app(), add CoreGamePlugin placeholder ( closes #42 , closes #44 )
...
- Split run() into build_app(sync_provider) -> App and run()
- Add empty CoreGamePlugin registered in build_app()
- Issue #43 closed via API (main.rs already satisfies it)
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com >
2026-05-27 16:41:40 -07:00