Disco DeDisco
32d8d97360
wired PICK SKY server-side polarity countdown via threading.Timer (tasks.py); fixed polarity_done overlay gating on refresh; cleared sig-select floats on overlay dismiss; filtered Redact events from Most Recent applet
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-13 00:34:05 -04:00
Disco DeDisco
cf40f626e6
Sig select: _card-deck.scss extract, WS cursor fixes, own-role indicators, role icon refresh
...
- New _card-deck.scss: sig select styles moved out of _room.scss + _game-kit.scss
- sig-select.js: 3 WS bug fixes — thumbs-up deferred to window.load (layout settled
before getBoundingClientRect), hover cursor cleared for all cards on reservation
(not just the reserved card), applyHover guards against already-reserved roles
- Own-role indicators: gamer now sees their own role-coloured card outline + thumbs-up
- Reservation glow: replaced blurry role+ninUser double-shadow with crisp 2px outline
- Gravity qualifier: Graven text set to --terUser (matches Leavened/--quiUser pattern)
- Role card SVGs refreshed; starter-role-Blank removed
- FTs + Jasmine specs extended for sig select WS behaviour
- setup_sig_session management command for multi-browser manual testing
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-08 11:52:49 -04:00
Disco DeDisco
56dc094b45
Jasmine: fix 2 failing specs, drop 5 always-pending touch specs
...
ci/woodpecker/push/woodpecker Pipeline failed
- FYI btn is now btn-disabled when caution open; rename test to assert
disabled click does NOT close caution (old toggle expectation was stale)
- Hover-resets-is-reversed: cloneNode post-init has no mouseenter listener
(direct binding, not delegation); use mouseleave + re-enter on same card
- Remove 3 touch describe blocks (5 specs total); TouchEvent unavailable
in desktop Firefox means they never ran; touch behaviour covered by FTs
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-07 00:36:28 -04:00
Disco DeDisco
520fdf7862
Sig select: caution tooltip, FLIP/FYI stat block, keyword display
...
- TarotCard.cautions JSONField + cautions_json property; migrations
0027–0029 seed The Schizo (number=1) with 4 rival-interaction cautions
(Roman-numeral card refs: I. The Pervert / II. The Occultist, etc.)
- Sig-select overlay: FLIP (stat-block toggle) + FYI (caution tooltip)
buttons; nav PRV/NXT portaled outside tooltip at bottom corners (z-70);
caution tooltip covers stat block (inset:0, z-60, Gaussian blur);
tooltip click dismisses; FLIP/FYI fully dead while btn-disabled;
nav wraps circularly (4/4 → 1/4, 1/4 → 4/4)
- SCSS: btn-disabled specificity fix (!important); btn-nav-left/right
classes; sig-caution-* layout; stat-face keyword lists
- Jasmine suite expanded: stat block + FLIP (5 specs), caution tooltip
(16 specs) including wrap-around and disabled-button behaviour
- IT tests: TarotCardCautionsTest (5), SigSelectRenderingTest (8)
- Role-card SVG icons added to static/
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-07 00:22:04 -04:00
Disco DeDisco
2892b51101
fix SigSelect Jasmine: return test API from IIFE; pend touch specs on desktop
...
ci/woodpecker/push/woodpecker Pipeline failed
window.SigSelect was being clobbered by the IIFE's undefined return value
(var SigSelect = (function(){...window.SigSelect={...}}()) overwrites window.SigSelect
with undefined). Fixed by using return {} like RoleSelect does.
TouchEvent is not defined in desktop Firefox, so the 5 touch-related specs now
call pending() when the API is absent rather than throwing a ReferenceError.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-05 23:14:56 -04:00
Disco DeDisco
c3ab78cc57
many deck changes, including pentacles to crowns, middle arcana, and major arcana fa icons
2026-04-05 22:32:40 -04:00
Disco DeDisco
c7370bda03
sig-select sprint: SigReservation model + sig_reserve view (OK/NVM hold); full sig-select.js rewrite with stage preview, WS hover cursors, reservation lock (must NVM before OK-ing another card — enforced server-side 409 + JS guard); sizeSigModal() + sizeSigCard() in room.js (JS-based card sizing avoids libsass cqw/cqh limitation); stat block hidden until OK pressed; mobile touch: dismiss stage on outside-grid tap when unfocused; 17 IT + Jasmine specs
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-05 22:01:23 -04:00
Disco DeDisco
d4518a0671
fixed jasmine & RoleSelectTest FT methods that were failing due to the Role card reordering in previous pipeline push
ci/woodpecker/push/woodpecker Pipeline was successful
2026-04-05 01:52:30 -04:00
Disco DeDisco
96bb05a4ba
fixed some failing jasmine tests stemming from previous commit
ci/woodpecker/push/woodpecker Pipeline failed
2026-04-04 14:54:54 -04:00
Disco DeDisco
736b59b5c0
role-select UX: tray timing delays, seat/circle state polish, 394 ITs green
...
ci/woodpecker/push/woodpecker Pipeline failed
- _animationPending set before fetch (not in .then()) — blocks WS turn advance during in-flight request
- _placeCardDelay (3s) + _postTrayDelay (3s) give gamer time to see each step; both zeroed by _testReset()
- .role-confirmed class: full-opacity chair after placeCard completes; server-rendered on reload
- Slot circles disappear in join order (slot 1 first) via count-based logic, not role-label matching
- data-active-slot on card-stack; handleTurnChanged writes it for selectRole() to read
- #id_tray_wrap not rendered during gate phase ({% if room.table_status %})
- Tray slide/arc-in slowed to 1s for diagnostics; wobble kept at 0.45s
- Obsolete test_roles_revealed_simultaneously FT removed; T8 tray FT uses ROLE_SELECT room
- Jasmine macrotask flush pattern: await new Promise(r => setTimeout(r, 0)) after fetch .then()
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-31 00:01:04 -04:00
Disco DeDisco
8b006be138
demo'd old inventory area in room.html to make way for new content (hex table now centered in view); old test suite now targets Role card in #id_tray cells where appropriate, or skips Sig card select until aforementioned new feature deployed; new scripts & jasmine tests too; removed one irrelevant test case from apps.epic.tests.ITs.test_views.SelectRoleViewTest
2026-03-30 16:42:23 -04:00
Disco DeDisco
fb782cf5ef
maybe don't delete collectstatic static/tests/ dir
2026-03-29 23:39:03 -04:00
Disco DeDisco
96379934d7
trying to reset to get this pipe clear
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-29 22:33:42 -04:00
Disco DeDisco
29a5658b01
'channels' tag now also moved to sequential FT group in pipeline; role-select.js ensures Tray.close() before turn advances so as not to obstruct next gamer selection; RoleSelectSpec.js asserrts this functionality
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-29 22:08:59 -04:00
Disco DeDisco
57f47cc77e
another attempt to unclog pipeline; this time a slight sleep timeout used to accomodate headless browser resize flush
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-29 21:11:24 -04:00
Disco DeDisco
6c91ec0385
expanded margin of position spots on gatekeeper; cleaned up #id_tray scripts & styles
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-29 15:22:00 -04:00
Disco DeDisco
c08b5b764e
new landscape styling & scripting for gameroom #id_tray apparatus, & some overall scripting & styling like wobble on click-to-close; new --undUser & --duoUser rootvars universally the table felt values; many new Jasmine tests to handle tray functionality
2026-03-28 21:23:50 -04:00
Disco DeDisco
b35c9b483e
seat tray: tray.js, SCSS, FTs, Jasmine specs
...
- new apps.epic.static tray.js: IIFE with drag-open/click-close/wobble
behaviour; document-level pointermove+mouseup listeners; reset() for
Jasmine afterEach; try/catch around setPointerCapture for synthetic events
- _room.scss: #id_tray_wrap fixed-right flex container; #id_tray_handle +
#id_tray_grip (box-shadow frame, transparent inner window, border-radius
clip); #id_tray_btn grab cursor; #id_tray bevel box-shadows, margin-left
gap, height removed (align-items:stretch handles it); tray-wobble keyframes
- _applets.scss + _game-kit.scss: z-index raised (312-318) for primacy over
tray (310)
- room.html: #id_tray_wrap + children markup; tray.js script tag
- FTs test_room_tray: 5 tests (T1-T5); _simulate_drag via execute_script
pointer events (replaces unreliable ActionChains drag); wobble asserts on
#id_tray_wrap not btn
- static_src/tests/TraySpec.js + SpecRunner.html: Jasmine unit tests for
all tray.js branches
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-28 18:52:46 -04:00
Disco DeDisco
5607f70852
added type='button' to both guard portal btns so firefox won't normalize to type='submit'; fixed several FTs for new click-guard functionality on Role card select & room gear menu DEL & BYE btns; several restorations to landscape breakpoint incl. logged-ion display_name, copyright info; provided title to room_scroll.html; a slurry of other minor fixes
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-23 19:31:57 -04:00
Disco DeDisco
8c2a5d24ec
updated .fa-ban icon to update via js & ws; changed taken_roles (or its cognates) everywhere to starter_roles, as 'taken' will be used in respect to roles thru-out entire game, not just this seat-determining phase of Role Select; patched up chosen cards not disappearing upon previous gamer choice, & a try,except that catches attempts to select one anyway w. a 409 & optimistic card rollback; new IT confirms this 409
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-18 23:14:53 -04:00
Disco DeDisco
01de6e7548
Django Channels role-select sprint: turn_changed, roles_revealed, role_select_start consumer handlers; WS URL changed from room_slug to room_id UUID; TableSeat model - room, gamer, slot_number, role, role_revealed, seat_position fields; Room.table_status field with ROLE_SELECT, SIG_SELECT, IN_GAME choices; migration 0006_table_status_and_table_seat; pick_roles and select_role views; _role_select_context helper; _notify_turn_changed, _notify_roles_revealed, _notify_role_select_start notifiers; all gate-mutation views now call _notify_gate_update; ChannelsFunctionalTest base class with serve_static, screenshot, dump helpers; SQLite TEST NAME set to file path for ChannelsLiveServerTestCase; InMemoryChannelLayer added to test CHANNEL_LAYERS settings; FT 5 and FT 6 now passing - active seat arc and turn advance via WS, no page refresh; room.js, gatekeeper.js, role-select.js added to apps/epic/static; applets.js, game-kit.js, dashboard.js, wallet.js relocated to app-scoped static dirs; room.html: hex table, table-seat arcs, card-stack, inventory panel, role-card hand, WS scripts; _room.scss: room-shell flex layout, .table-hex polygon clip-path, .table-seat and .seat-card-arc, .card-stack eligible/ineligible states, .card flip animation, .inv-role-card stacked hand, .role-select-backdrop; gear btn and room menu always position: fixed; 375 tests, 0 skipped
2026-03-17 00:24:23 -04:00
Disco DeDisco
7f61dbd205
inadvertently committed Jasmine while most of Jasmine was ignored under .gitignore
ci/woodpecker/push/woodpecker Pipeline was successful
2026-02-11 14:50:32 -05:00
Disco DeDisco
5d0a1401d8
created new dir for STATICFILES_DIRS in core.settings; all Jasmine test files transferred to new dir src/static_src/; new FT test_jasmine executes Jasmine test runner as part of CI pipeline & base FT has dobules MAX_WAIT to 10s; some cleanup of unused imports in text_simple_list_creation
ci/woodpecker/push/woodpecker Pipeline failed
2026-02-11 14:42:38 -05:00