v3.0.0: V3 features, server refactoring, and documentation overhaul
- Extract WebSocket handlers from main.py into handlers.py - Add V3 feature docs (dealer rotation, dealing animation, round end reveal, column pair celebration, final turn urgency, opponent thinking, score tallying, card hover/selection, knock early drama, column pair indicator, swap animation improvements, draw source distinction, card value tooltips, active rules context, discard pile history, realistic card sounds) - Add V3 refactoring docs (ai.py, main.py/game.py, misc improvements) - Add installation guide with Docker, systemd, and nginx setup - Add helper scripts (install.sh, dev-server.sh, docker-build.sh) - Add animation flow diagrams documentation - Add test files for handlers, rooms, and V3 features - Add e2e test specs for V3 features - Update README with complete project structure and current tech stack - Update CLAUDE.md with full architecture tree and server layer descriptions - Update .env.example to reflect PostgreSQL (remove SQLite references) - Update .gitignore to exclude virtualenv files, .claude/, and .db files - Remove tracked virtualenv files (bin/, lib64, pyvenv.cfg) - Remove obsolete game_log.py (SQLite) and games.db Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -124,6 +124,13 @@ export const SELECTORS = {
|
||||
hasCard: 'has-card',
|
||||
pickedUp: 'picked-up',
|
||||
disabled: 'disabled',
|
||||
// V3 classes
|
||||
canSwap: 'can-swap',
|
||||
paired: 'paired',
|
||||
pairTop: 'pair-top',
|
||||
pairBottom: 'pair-bottom',
|
||||
ruleHighlighted: 'rule-highlighted',
|
||||
thinkingHidden: 'hidden',
|
||||
},
|
||||
|
||||
// Animation-related
|
||||
@@ -133,6 +140,23 @@ export const SELECTORS = {
|
||||
animCard: '.anim-card',
|
||||
realCard: '.real-card',
|
||||
},
|
||||
|
||||
// V3 feature selectors
|
||||
v3: {
|
||||
thinkingIndicator: '.thinking-indicator',
|
||||
cardTooltip: '.card-value-tooltip',
|
||||
tooltipValue: '.tooltip-value',
|
||||
tooltipNote: '.tooltip-note',
|
||||
ruleTag: '.rule-tag',
|
||||
ruleHighlighted: '.rule-tag.rule-highlighted',
|
||||
ruleMessage: '.rule-message',
|
||||
pairIndicator: '.paired',
|
||||
dealerBadge: '.dealer-badge',
|
||||
knockBanner: '#knock-banner',
|
||||
knockConfirmDialog: '#knock-confirm-dialog',
|
||||
cardValueOverlay: '.card-value-overlay',
|
||||
pairCancelOverlay: '.pair-cancel-overlay',
|
||||
},
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user