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
a15d91dfe6
wrapped the _gatekeeper.html partial modal to split each function into four different panels; removed deviant landscape styling to unify it with default styling (much more robust now)
ci/woodpecker/push/woodpecker Pipeline was successful
2026-04-05 19:10:02 -04:00
Disco DeDisco
fecb1fddca
restored position circles to their top attr value to avoid old clipping-under-h2 issue; pushed down gatekeeper modal in room.html
2026-04-05 18:32:45 -04:00
Disco DeDisco
2028f1a544
more refinements to Earthman deck names and allegories; tweaks to navbar alignment in landscape media queries
ci/woodpecker/push/woodpecker Pipeline was successful
2026-04-05 17:23:51 -04:00
Disco DeDisco
40c747a837
landscape navbar centering: reset portrait margin-right on .container-fluid + margin-left on .navbar-brand so sidebar contents align to horizontal centre; showGuard gains invertY option for modal-grid callers (role-select cards fly away from centre); gameboard.js showPortals gains viewport-half detection so game-kit tooltips show below when tokens are in upper half (landscape clip fix); position-strip top: 0; tighten gear-btn btn-abandon selector to #id_room_menu scope
...
ci/woodpecker/push/woodpecker Pipeline was successful
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-05 16:54:03 -04:00
Disco DeDisco
40a55721ab
major navbar overhaul: .btn-primary.btn-xl now reads CONT GAME and links to the user's most recently active game; log out functionality transferred to new BYE .btn-abandon abutting login spans; tooltips for each asserted via new FTs.test_navbar methods to appear w.in visible area
2026-04-05 16:00:52 -04:00
Disco DeDisco
74f63a7721
rearranged Role select cards for final presentation ordering; unified Role select tooltip appearance; bottom row of Role select tooltips now appears below bottom row, not layered atop top row; clicking out of one Role select card tooltip and onto another Role select card specifically opens the next tooltip (former behavior made user click once to exit old tooltip, once more to open new one)
ci/woodpecker/push/woodpecker Pipeline failed
2026-04-05 01:23:20 -04:00
Disco DeDisco
bd3d7fc7bd
role-select.js ensures Role select card stack disappears via WS upon conclusion of Role selection, w. if-conditional support from apps.epic.views; ensured border present on card-stack when .active in _room.scss; changed default #id_tray to unhidden, only hidden during Role select until Role selected; polished & unified Role .card-front, .card.back & .card-stack styling
2026-04-05 01:14:31 -04:00
Disco DeDisco
4e07fcf38b
fixed several animation & transition problems plaguing the inventory tray
2026-04-04 14:51:49 -04:00
Disco DeDisco
b74f8e1bb1
pick_sigs view + cursor polarity groups; game kit gear menu; housekeeping
...
ci/woodpecker/push/woodpecker Pipeline was successful
roles_revealed WS event removed; select_role last pick now fires _notify_all_roles_filled() + stays in ROLE_SELECT; new pick_sigs view (POST /room/<uuid>/pick-sigs) transitions ROLE_SELECT→SIG_SELECT + broadcasts sig_select_started; room.html shows .pick-sigs-btn when all 6 roles filled; PICK SIGS btn absent during mid-selection; 11 new/modified ITs in SelectRoleViewTest + RoomViewAllRolesFilledTest + PickSigsViewTest
consumer: LEVITY_ROLES {PC/NC/SC} + GRAVITY_ROLES {BC/EC/AC}; connects to per-polarity cursor group (cursors_{id}_levity/gravity); receive_json routes cursor_move to cursor group; new handlers all_roles_filled, sig_select_started, cursor_move; CursorMoveConsumerTest (TransactionTestCase, @tag channels): levity cursor reaches fellow levity player, does not reach gravity player
game kit gear menu: #id_game_kit_menu registered in _applets.scss %applet-menu + fixed-position + landscape offset; id_gk_sections_container added to appletContainerIds in applets.js so OK submit dismisses menu; _game_kit_sections.html sections use entry.applet.grid_cols/grid_rows (was hardcoded 6); %applets-grid applied to #id_gk_sections_container (direct parent of sections, not outer wrapper); FT setUp seeds gk-* applets via get_or_create
drama test reorg: integrated/test_views.py deleted (no drama views); two test classes moved to epic/tests/integrated/test_views.py + GameEvent import added; drama/tests/unit/test_models.py → drama/tests/integrated/test_models.py; unit/ dir removed
login form: position:fixed + vertically centred in base styles across all breakpoints; 24rem width, text-align:center; landscape block reduced to left/right sidebar offsets; alert moved below h2; left-side position indicator slots 3/4/5 column order flipped via CSS data-slot selectors
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-04 14:33:35 -04:00
Disco DeDisco
188365f412
game kit gear menu + login form UX polish; left-side position indicator flip
...
ci/woodpecker/push/woodpecker Pipeline failed
game kit: new Applet model rows (context=game-kit) for Trinkets, Tokens, Card Decks, Dice Sets via applets migration 0008; _game_kit_context() helper in gameboard.views; toggle_game_kit_sections view + URL; new _game_kit_sections.html (HTMX-swappable, visibility-conditional) + _game_kit_applet_menu.html partials; game_kit.html wired to gear btn + menu; Dice Sets now renders _forthcoming.html partial; 16 new green ITs in GameKitViewTest + ToggleGameKitSectionsViewTest
login form: .input-group now position:fixed + vertically centred (top:50%) across all breakpoints as default; landscape block reduced to left/right sidebar offsets only; form-control width 24rem, text-align:center; alert block moved below h2 in base.html; alert margin 0.75rem all sides; home.html header switches between Howdy Stranger (anon) and Dashboard (authed)
room.html position indicators: slots 3/4/5 (AC/SC/EC) column order flipped via SCSS data-slot selectors so .fa-chair sits table-side and label+status icon sit outward
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-04-04 13:49:48 -04:00
Disco DeDisco
824f35590b
minor styling fixes
ci/woodpecker/push/woodpecker Pipeline was successful
2026-04-03 14:55:37 -04:00
Disco DeDisco
8538f76b13
new core.middleware sets cookie for scroll timestamp view to local browser time, w. new corresponding tests in core.tests.UTs.test_middleware; apps.lyric.templatetags.lyric_extras determines timestamp format based on duration elapsed since timestamp; apps.bill.tests.ITs.test_views renamed, now also asserts scroll renders event body and time in columns
ci/woodpecker/push/woodpecker Pipeline failed
2026-04-02 14:51:08 -04:00
Disco DeDisco
ed10e58383
small tweaks to h2 text-shadow attr rootvars values
ci/woodpecker/push/woodpecker Pipeline was successful
2026-04-02 00:00:14 -04:00
Disco DeDisco
b65cba5ed2
wrapped room table in .room-table-scene div, built styles and scripts to ensure table scales w. available viewport or aperture space
ci/woodpecker/push/woodpecker Pipeline was successful
2026-04-01 23:24:17 -04:00
Disco DeDisco
afe79f1a48
other minor styling fixes for gatekeeper modal, position circles
2026-04-01 23:12:49 -04:00
Disco DeDisco
0e5e39b0dc
ensured .fa-ban next to empty seat changes to .fa-circle-check at the same time that .fa-chair glows & the pos circle fades out (i.e., when the gamer 'sits') not during or after the role card deposits itself in the tray; minor styling fixes for title h2, incl. text-shadow attr values when selected palette ends in *-light & opacity increases
ci/woodpecker/push/woodpecker Pipeline was successful
2026-04-01 22:11:43 -04:00
Disco DeDisco
4860b6ee2a
real fix this time, rule overridden last time
ci/woodpecker/push/woodpecker Pipeline was successful
2026-04-01 15:41:19 -04:00
Disco DeDisco
c025a38709
small pipeline z-index hierarchy fix
ci/woodpecker/push/woodpecker Pipeline failed
2026-04-01 15:30:20 -04:00
Disco DeDisco
581ea7e349
stopped card deck nav arrows from inheriting global .btn box-shadow attrs
ci/woodpecker/push/woodpecker Pipeline failed
2026-04-01 15:14:19 -04:00
Disco DeDisco
596175cd1c
refined _room.scss styles, incl. .launch-game-btn & .gate-slot
ci/woodpecker/push/woodpecker Pipeline failed
2026-04-01 15:10:20 -04:00
Disco DeDisco
1aaf353066
renamed the Popes/0-card trumps from Earthman deck (feat. new apps.epic migrations to reseed); fixes to card deck horizontal scroll speed, game_kit.html, to make scrolling feel more natural
2026-04-01 14:45:53 -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
a8592aeaec
hex position indicators: chair icons at hex edge midpoints replace gate-slot circles
...
- Split .gate-overlay into .gate-backdrop (z-100, blur) + .gate-overlay modal (z-120) so .table-position elements (z-110) render above backdrop but below modal
- New _table_positions.html partial: 6 .table-position divs with .fa-chair, role label, and .fa-ban/.fa-circle-check status icons; included unconditionally in room.html
- New epic:room view at /gameboard/room/<uuid>/; gatekeeper redirects there when table_status set; pick_roles redirects there
- role-select.js: adds .active glow to position on selectRole(); swaps .fa-ban→.fa-circle-check in placeCard onComplete; handleTurnChanged clears stale .active from all positions
- FTs: PositionIndicatorsTest (5 tests) + RoleSelectTest 8a/8b (glow + check state)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-30 18:31:05 -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
224f5e2ad0
fixed Inferno palette --priUser rootvar hue
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-29 22:57:29 -04:00
Disco DeDisco
7f927741d4
oops, forgot the normal .grid-cell styles, had only updated the landscape media query & not the base condition
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-29 19:46:59 -04:00
Disco DeDisco
3bf48546e3
tagged some further tests as 'two-browser' in persisting attempt to unclog pipeline fails; _tray.scss .grid-cell border-color changed
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-29 19:43:48 -04:00
Disco DeDisco
6817323f8e
further tweaked sepia palette; shored up TestTray for headless browser pipeline testing
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-29 19:10:42 -04:00
Disco DeDisco
11283118d6
small rootvars hue changes to sepia palette (should rename to 'cedar'); new FTs skipped via unittest to try to unclog pipeline fails
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-29 18:35:20 -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
39db59c71a
styles related to #id_tray & apparatus separated out into _tray.scss; new tray.js computes the cell size of the tray grid for item organization; room.html now sports the grid as a separate div so as not to interfere w. tray styling or size; new tests in FTs.test_room_tray
2026-03-29 13:36:44 -04:00
Disco DeDisco
ab41797e57
refined styling for #id_tray & .table-hex, which now mirror ea. other visually as parts of a befelted table
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-29 00:48:19 -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
d63a4bec4a
new .active styling to #id_tray_btn, _handle & _grip whenever drawer is open
2026-03-28 19:06:09 -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
30ea0fad9d
fixed sig-select deck styling, room.html aperture styling
ci/woodpecker/push/woodpecker Pipeline was successful
2026-03-25 15:50:57 -04:00
Disco DeDisco
db1608fa38
Earthman card naming conventions overhauled: group-relative Arabic ordinals throughout (Implicit/Explicit Virtues, Classical/Absolute Elements, Zodiac, Wanderers, Popes); group prefix + title split across two lines in fan modal via name_group/name_title model properties; 4th suit migrated COINS → PENTACLES w. fa-star icon on both decks; pip names 2–10 spelled out; Classical Element 2 renamed Earth → Stone; migrations 0012–0015
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-25 00:46:48 -04:00
Disco DeDisco
4728cde771
Jacks & Cavaliers replaced in Earthman deck w. Maids & Jacks; numerals or numbers + symbols added to cards; migrations made in apps.epic to rename cards; _tarot_fan.html partial updated accordingly
2026-03-25 00:24:26 -04:00
Disco DeDisco
7370fd611f
tolltips added to card deck; supported in game-kit.js, _wallet-tokens.js (we should rename this for broader concept than just wallet)
2026-03-24 23:29:32 -04:00
Disco DeDisco
f5a5ed9d8d
currently equipped card deck & placeholder for dice set added to kit bag; scrollability of tokens added to styling; equipped_deck added to apps.dash.views.kit_bag; html structure added to templates/core/_partials/_kit_bag_panel.html; two new test cases added to FTs.test_game_kit.GameKitTest
2026-03-24 23:18:04 -04:00
Disco DeDisco
a5d71925fc
game kit page: four 6×3 applets (trinkets, tokens, card decks, dice sets) with applet grid; tarot fan modal with coverflow, sessionStorage position memory, and 403 guard on locked decks; unlocked_decks M2M on User with backfill migration; game kit icon wrap fix; tarot_deck.html moved to gameboard/ per template dir convention (now documented in CLAUDE.md); FTs 6–13, 2 new ITs; 360 passing [log Co-Authored-By: Claude Sonnet 4.6]
2026-03-24 22:57:12 -04:00
Disco DeDisco
befa61e1e9
several fixes, incl. location of templates/apps/epic/tarot_deck.html to apps/gameboard/tarot_deck.html; added this convention to CLAUDE.md; Game Kit applet items now plentiful enough to bother w. text wrapping in _gameboard.scss; unlocked_decks differentiates from equipped_deck in apps.lyric.models; new migrations accordingly; apps.gameboard.views accounts for only unlocked_decks in deck_variants now; apps.epic.views redirected to new tarot_deck.html location
2026-03-24 22:25:25 -04:00
Disco DeDisco
8bab26e003
scroll position save fix attempt no. 1 feat. 'What happens next…?' text at bottom of scroll; buffer added to scroll, accounter for in FTs
2026-03-24 19:02:29 -04:00
Disco DeDisco
bc78d2c470
offloaded templates/core/_partials/_forthcoming.html to inject in any applet or other feature under construction; used immediately in Contacts billboard applet; styles updated accordingly
2026-03-24 18:40:16 -04:00
Disco DeDisco
a0f8aeb791
similar pseudo-applet styling added to _scroll.html
2026-03-24 17:31:51 -04:00
Disco DeDisco
2ca4e9d39f
fixed #id_gear_btn styling on billboard.html; removed redundant padding from %billboard-page-base
2026-03-24 17:22:49 -04:00
Disco DeDisco
c71f4eb68c
styled more of Most Recent applet, allowing for scrolling of 36 most recent events and Load More link
2026-03-24 17:19:09 -04:00
Disco DeDisco
189d329e76
new applet structure for apps.billboard, incl. My Scrolls, Contacts & Most Recent applets; completely revamped _billboard.scss, tho some styling inconsistencies persist; ensured #id_billboard_applets_container inherited base styles found in _applets.scss; a pair of new migrations in apps.applets to support new applet models & fields; billboard gets its first ITs, new urls & views; pair of new FT classes in FTs.test_billboard
2026-03-24 16:46:46 -04:00