๐ต Custom sounds (max 5s / ~600KB each, up to 3)
๐ค Voice-Activated Reveal
Requires microphone permission. Works in Chrome/Edge.
๐ค
Listening
๐ฑ๏ธ Vote Interaction
A brief 440 Hz sine tone on each vote cast. Very subtle.
๐ Desktop Notifications
Fires a browser notification when you're in another tab and votes are revealed. Requires notification permission. Works in Chrome/Edge/Firefox.
Changes your name in the current room immediately.
Observers can see voting but cannot cast votes.
Loads your social profile photo.
(circle color for Initials; wrapper bg for RoboHash/Social)
Estimation Station by mjdalways
A real-time Planning Poker tool for agile teams. Run story point estimation sessions, reveal votes together, and keep your sprint planning focused and fun.
๐ Vote with classic Fibonacci, T-shirt sizes, or custom decks
๐ Celebrations, animations, and seasonal themes to keep things lively
๐ Jira integration to pull in and estimate tickets directly
๐จ Fully customizable themes with a live preview editor
๐ Vote distribution, team temperature meter, and streak bonuses
๐ฌ Built-in chat and emoji reactions during sessions
โจ๏ธ Keyboard Shortcuts
Space / Enter
Reveal votes
R
Reset votes
1โ9
Select vote card by position
0
Select โ (skip/coffee) card
Esc
Unselect vote / close modal
N
Focus "Add story" input
F
Toggle full-screen presentation mode
?
Open this shortcuts help
๐ถ Walk Mode (3D Room)
Keys shown are your current bindings โ change them in โ๏ธ Room โ Walk controls.
T
Enter / exit walk mode
โ
Walk forward
โ
Walk backward
โ
Strafe left
โ
Strafe right
Alt
Jump
Ctrl
Crouch
E
Interact (sit in chair / open whiteboard / play jukebox)
Drag
Look around (in walk mode)
Esc
Exit walk mode
๐ What's New
7/13/2026 (205)
โ๏ธ Edit-layout mode (Feature 9, P10): viewing and sitting is now the default โ plain clicks/drags never rearrange the room. Toggle the new โ๏ธ button (or open Setup Room) to select/move chairs, furniture, decor, and the table; Esc backs out of it.
๐ Connection loss is now visible (Feature 9, P3): a banner now shows when the connection drops or reconnects, reconnect retries forever with backoff instead of giving up, and actions taken while disconnected (vote, reveal, chair claim/release, chat) toast instead of silently failing.
๐ถ Stop marching in place (Feature 9, P4): holding a movement key into a wall (or standing still in walk mode) no longer spams peers with a frozen "walking" pose ~10x/second โ it now sends one idle update and goes quiet.
๐ท Camera never lands inside a wall (Feature 9, P5): exiting walk mode now restores your exact pre-walk orbit view instead of leaving the camera wherever you stopped; the third-person follow camera also stays clear of walls.
๐ช 2D top-down avatar bodies (Feature 9, P6): root-caused and verified live โ robots were rendering at true scale (~1-2 pixels against the whole-room view, invisible), not actually missing. Now visually exaggerated in top-down so bodies show clearly under each name chip.
๐ถ Walk-mode exit feedback (Feature 9, P7): leaving walk mode on an unexpected event (e.g. clicking a vote card) now shows a "Left walk mode" toast, the HUD hint matches reality, and Escape reliably closes an open selection toolbar.
๐ฌ Quieter window-media errors (Feature 9, P8): an unplayable or stale custom window video now warns once and falls back to a static image instead of erroring on every page load; a failure toast only shows when you just picked that media.
๐ฅ Standing-row + host-modal polish (Feature 9, P9): standing spots now use a stable sort so everyone sees the same layout after a claim/release; the host's first-join sound-prefs and settings-lock prompts now show one at a time instead of stacked.
7/13/2026 (204)
โจ๏ธ Walk-mode E now sits you (Feature 9, P2): standing beside a free chair (not just facing it) now shows the "E sit" prompt and seats you โ previously the facing cone made E miss almost every real approach.
7/13/2026 (203)
๐ช Reliable sitting, take 1 (Feature 9, P1): double-clicking a chair now sits you even when the click grazes another user's robot on the way there, and a chair click no longer flashes the "drag to move" toolbar mid double-click.
7/8/2026 (202)
๐ Non-blocking "removed from room" notice (review C6): getting kicked, timed out, or idle-removed now shows a toast instead of a blocking alert(), then returns you to the lobby a moment later.
๐ Jira API migration (review B9): switched story import from the deprecated /rest/api/3/search endpoint to /rest/api/3/search/jql ahead of Atlassian's sunset. Not yet verified against a live Jira instance โ flag it if imports start failing.
7/8/2026 (201)
๐ Room state hardening (review B3/B9): fixed several rare race conditions where reading the participant list without the room lock could throw or produce inconsistent data (private messages/reactions/sounds, avatar movement, host transfer, the "are you there?" timeout sweep). Reveal/Reset/Hide Votes, story switching, story completion, and starting the timer now honor the room's settings lock the same way other room settings already did.
โ๏ธ Round-reset consistency (review B4): switching the current story now fully clears confidence/ghost/vibe state to match a real vote reset, instead of leaving stale values that could show up on the next reveal.
๐พ Whiteboard persistence fix (review B5): strokes drawn on the whiteboard are now saved with the room, so a restart shortly after drawing no longer loses the board.
๐ก๏ธ Input validation (review B6/B7): capped vote and custom-estimate-set input server-side, and fixed a crash-on-malformed-request path in the estimate-set change handler.
๐งบ Room memory cleanup (review B8): rooms deleted by the 30-day stale-room sweep are now also dropped from the in-memory cache, so they can no longer resurrect their file via a lingering connection.
๐ Lobby PIN fix (review C3): a PIN entered at the lobby is now saved under the same normalized room key the room page reads it back from, so typing a room name with spaces/punctuation + a PIN no longer loses the PIN and re-prompts.
๐ Private reactions now show the sender (review C4): AD6 private emoji reactions float above the sender's badge instead of appearing anonymously mid-screen.
๐ Stale card selection fix (review C5): after a reconnect, your card highlight now syncs with the server's authoritative vote state instead of showing a selection the server doesn't have.
๐ฅ Join/leave reconciliation cleanup (review A2/A3/A4): fixed a brief window where rejoining under the same name could show two entries for one person; if a different person joins using your display name, your session is now told explicitly and returns to the lobby instead of silently going stale.
๐งน Misc cleanup (review B9/C6): server-side PIN format validation, CSV export now properly quotes commas/quotes in story titles, "Reset Votes" always confirms (not just before a reveal), removed a duplicate script load, escaped the recent-rooms list against a stored-XSS edge case, factory reset now preserves Jira credentials and recent rooms, and excluded a dev-only test script from production builds.
7/8/2026 (200)
๐ Server bug fixes (review B1/B2): vote stats and the "shame" outlier no longer silently drop votes on comma-decimal locales (fixed culture-invariant number parsing). Fixed a rare race where a fast join right after another join/leave could throw and leave the joiner seeing an empty room (room state is now built and materialized entirely under lock).
๐ Unified sound-mute/receive settings (review C1): the "๐ No sounds", "๐ต My sounds only", and "๐ป Received only" choices in the sound preference prompt now actually take effect โ they were writing to storage keys nothing else read. Everything now routes through the one real mute flag and one real sound-receive setting.
๐งน 3D scene cache-bust bump (review C2): bumped the room-scene-3d.js version tag so the ghost-avatar fix and other pending 3D changes actually reach browsers instead of being served from cache.
7/8/2026 (199)
๐ป Fixed ghost avatars after kick/timeout/idle removal (review A1): kicking a participant, letting an "are you there?" prompt time out, or the 2-hour idle sweep removing someone now also frees their chair claim server-side โ so later joiners and reloading clients no longer see a non-interactive gray robot sitting in an empty chair. Added a client-side fallback too, so any already-stale claim renders as an open seat instead of a ghost.
7/8/2026 (198)
๐๏ธ Solid furniture in walk mode (P5): in first/third-person walk mode you now bump into sofas, bookshelves, plants, and the confetti/jukebox props instead of walking straight through them โ the same collision the 2D view and click-to-walk routing always had, so movement feels identical everywhere. Furniture you're carrying never blocks you, and if someone drops a sofa right on top of your avatar you can simply walk back out.
7/8/2026 (197)
๐ช Walk to your seat (P4): double-clicking an empty chair now walks your avatar over to it (routing around the table and furniture) and sits you down on arrival, instead of teleporting you into the seat โ the target chair glows green while you're on your way. If someone grabs the chair first, your avatar simply finishes the stroll and stays standing. Clicking the floor, steering, or entering walk mode cancels the trip; if you're already next to the chair (or have click-to-walk turned off) you sit instantly, and switching seats now walks you from one chair to the other.
7/8/2026 (196)
๐ถ Walk mode starts at your avatar (P3): pressing T (or the Walk button) in the 3D room now drops you into first/third-person right where your avatar is standing โ your roaming spot, beside your chair if seated, or your standing spot along the wall โ facing the way it was facing. Previously walk mode spawned you wherever the orbit camera happened to hover, visibly teleporting your robot for everyone else in the room.
7/8/2026 (195)
๐ช Stand up naturally (P2): moving now means standing โ walking off in first/third-person, clicking the floor, or steering with the arrow keys while seated all stand you up automatically and free your chair for others (no more "Press Space first" toast; Space still works as an explicit stand-up). And standing up โ however you do it โ now places your avatar right beside your chair facing the table, instead of teleporting it to the far wall. Everyone in the room sees you stand in place.
7/8/2026 (194)
๐ถ Movement fixes (P1): your avatar no longer keeps walking in place after arriving at a click-to-walk destination or releasing the arrow keys in the 2D view. Also, pressing E to sit on a chair while in first/third-person walk mode now properly exits walk mode and seats you โ previously you'd claim the chair but keep walking, and everyone else (including late joiners) saw your robot stuck walking on the spot.
6/12/2026 (193)
๐ช Rejoin/seat fix: closing and reopening the room tab now instantly reclaims your name, avatar, host crown, and chair โ no more doppelganger or non-interactive "ghost" avatar sitting in your seat. Stale chair claims left over from a server restart are also cleared, and any remaining stale claim can be double-clicked to sit, just like an empty chair.
6/12/2026 (192)
๐ฑ๏ธ Hover highlight fix: hovering near the main table no longer highlights furniture tucked underneath it (e.g. a plant) when the table is actually in front โ hover now matches drag/click targeting, so the table highlights when it occludes the item beneath it.
6/12/2026 (191)
๐ช 3D polish: an uploaded window image/video now sits flush behind the glass instead of floating 0.7m back, so it fills the window frame from any viewing angle instead of leaving a visible gap around its edges. Also, the room's background/fog colour now tints to match the active room theme (Conference, War Room, Cozy, Skyline, or a custom wall colour) instead of always being a fixed dark navy.
6/12/2026 (190)
๐ฅ 2D camera follow (P10): in the top-down 2D room view, zooming in now keeps your avatar in frame as you steer or walk โ the view gently glides to follow you and stays within the room's walls. Manually dragging the view pauses following until you move again; zooming back out returns to the full-room view with no drift.
6/12/2026 (189)
๐ Wide room size (P9): the 3D room now defaults to a new "Wide" size that better fills the panel. A "Wide (default)" option has been added to the room size picker alongside Small, Medium, and Large โ existing rooms with a saved size are unaffected.
6/12/2026 (188)
โบ Reset room to defaults (P8): the Room Designer now has a "Reset room to defaults" button that restores the default table, chairs, furniture, and design (wall colour, window view, lighting, etc.) for everyone โ undoing any dragged/rearranged layout. Seated participants stay seated.
6/12/2026 (187)
โก Faster page loads (P7): the 3D Room Scene's graphics engine, models, and textures now only load when the Room Scene panel is actually shown โ pages with the panel hidden (new users, or anyone who's hidden it) skip that download entirely. Showing the panel loads it on demand, same as before.
6/12/2026 (186)
๐ Room Scene hidden for new users (P6): first-time visitors no longer get the 3D Room Scene panel automatically โ a one-time "Room Scene is available" hint with a "Show now" button lets you turn it on, and it stays on after that. Existing users who've already used the Room Scene or arranged panels are unaffected.
6/11/2026 (185)
๐ Halo cleanup (P5): avatars who haven't voted yet no longer show an unexplained gray ring over their head. Casting a vote shows the amber ring, reveal turns it green, and observers keep their ring โ unclaimed chairs' blue floor ring is unchanged.
6/11/2026 (184)
๐ชด Furniture pick-area fixes (P4): hovering, dragging, and "E pick up" now respond across the whole visible shape of the plant (leaves included), projector screen, monitor, and jukebox โ previously only a small base/box near the bottom registered.
6/11/2026 (183)
๐ฏ E-interact reliability (P3): in walk mode, pressing E (sit/stand, open whiteboard, confetti/music props, pick up furniture) now works reliably for whatever you're facing and standing near โ including chairs in third-person and while looking up/down in first-person, which previously could miss.
6/11/2026 (182)
๐ถ Walk-mode facing fixed (P2): in third-person walk, your robot avatar now faces the direction you're walking (its back to the camera) instead of facing the camera โ strafing and walking backward look correct, and other participants see you walking forward instead of moonwalking.
6/11/2026 (181)
๐ค Fixed: gray robot on rejoin (P1): if you left and rejoined a room (e.g. closed and reopened the tab) and then clicked Walk before the participant list fully refreshed, your avatar could appear as an anonymous gray robot. It now reliably shows your real colour and name.
6/11/2026 (180)
๐ท๏ธ Room scene label cleanup (P0): the "Press E to ..." walk-mode prompt no longer sticks around after you exit walk mode or switch to 2D view. Changing room settings (lighting, walls, etc.) while in the 3D room no longer leaves behind duplicate ๐/๐ต prop icons or story-screen labels.
6/11/2026 (179)
๐ชด Fixed: furniture under the table: a plant (or other furniture) placed under the main table now drags correctly โ clicking and dragging it no longer moves the table instead.
6/11/2026 (178)
๐ฅ๏ธ Project screen opens Stories: double-clicking the in-room project screen now opens the Stories panel (the bottom sheet on mobile, or expands it if collapsed on desktop) โ it still drags along the walls like before.
๐ช Stand up before steering in 2D: in the top-down 2D view, pressing an arrow/movement key while seated now shows a "Press Space to stand up first" reminder instead of doing nothing. Pressing Space while seated in 2D stands you up so you can walk.
6/11/2026 (177)
๐งน Room scene polish (P9): a batch of small fixes to the 3D/2D room โ your click-to-walk on/off choice is now remembered between visits; the host's "free this seat" and the furniture "โบ Reset" button now use an in-canvas โ/โ confirm instead of a browser popup; pressing the walk key while in 2D shows a quick "Walk mode is 3D-only" reminder instead of doing nothing; if someone else's chair move overwrites a chair you just repositioned, you'll see a brief heads-up; hover tooltips (e.g. "Double-click to sit") now stay visible while holding Shift; and returning visitors will see the room's onboarding tips once more to reflect the new click/double-click controls.
6/11/2026 (176)
โป Rotate chairs & props (P8): clicking a chair, the jukebox/confetti machine, or the main table now selects it and shows a small control bar with โบ/โป rotate buttons (and Delete, for furniture only). A step picker on that bar lets you choose 45ยฐ, 30ยฐ, 15ยฐ, or Free rotation (your choice is remembered). In Free mode, drag the handle on the green selection ring to spin the item to any angle. R / Shift+R still rotate whatever is selected by the chosen step. Rotating your own chair turns your seated robot to match, and rotations sync and persist for everyone. The whiteboard and project screen keep their wall-mounted orientation and aren't rotatable.
6/11/2026 (175)
๐ถ Walk around in 2D (P7): in the top-down 2D room view, your arrow keys (or rebound WASD) now steer your avatar around the floor with the same wall/furniture collision as 3D walking โ click-to-walk and arrow steering can be mixed freely. Walking up to an empty chair still auto-sits you, and everyone else sees your movement live. Arrow steering is paused while you're seated โ stand up first.
6/11/2026 (174)
๐ฑ๏ธ Click-to-walk in 2D (P6): the top-down 2D room view now keeps its toolbar โ click anywhere on the floor to glide your avatar there (with auto-sit near an empty chair), and the click-to-walk and "add furniture" buttons work the same as in 3D. Only the first-person Walk button (3D-only) is hidden in 2D.
6/11/2026 (173)
๐ช Draggable table โ chairs follow (P5): in the 3D room, drag the main table to a new spot on the floor. Any chairs still in their default ring re-arrange around the table's new location (and seated robots turn to face it); chairs you've already dragged elsewhere stay put. The move is saved and synced to everyone, and walking robots route around the table in its new spot.
6/11/2026 (172)
๐ผ๏ธ Draggable whiteboard, screen & props (P4): the whiteboard, the project screen, and the confetti/jukebox props can now be dragged to a new spot in the 3D room โ the whiteboard and screen snap flush to the nearest wall and turn to face the room, while the props can be placed anywhere on the floor. Moves are saved and synced to everyone, including after a reload. Hover tips now mention "Drag to move" for these items, and walking robots correctly route around moved props.
6/11/2026 (171)
๐ฑ๏ธ Double-click to interact (P3): in the 3D room, a single click on a chair, the whiteboard, or the confetti/jukebox props now just highlights it โ double-click to actually sit, stand up, free a seat (host), open the whiteboard, or trigger the prop. The old "Sit Here / Cancel" confirm bar is gone โ double-clicking an empty chair sits you down instantly. Hover tips now say "Double-click toโฆ". Floor clicks still walk your avatar there immediately (no double-click needed).
6/11/2026 (170)
๐ช Instant furniture drag (P2): pressing and dragging a furniture item now moves it right away, just like chairs โ no need to click to select it first. A plain click (no drag) selects it, showing the rotate/delete bar. Hover text now reads "Drag to move โข Click for options".
6/11/2026 (169)
๐ค Clicking people fixed (P1): clicking or hovering a robot avatar no longer "selects" the chair they're sitting on (no more surprise Sit Here bar on an occupied seat). Hovering or clicking someone now shows their name (and their vote once revealed); clicking your own seated robot stands you up, same as clicking your chair.
6/10/2026 (168)
๐ Host setup prompt only once: the "You're the host! choose a settings lock" prompt now appears only the first time a brand-new room is opened โ not every time the host rejoins.
๐ก Hover hints in the 3D room: in orbit view, hovering a chair, the whiteboard, a prop, or furniture now gently highlights it and shows a tip ("Click to sit", "Click to stand up", "Click to open", "Drag to move").
๐งญ Smart click-to-walk: clicking across the room now walks your avatar around the table, furniture, and props instead of gliding through them (A* pathfinding on the room grid); everyone sees the same route.
๐ฎ Gamepad support (walk mode): left stick moves, right stick looks, A jumps, B crouches, X interacts, Start exits walk.
๐ฑ Touch controls (walk mode): on touch devices, walk mode now shows an on-screen joystick plus Jump / Interact / Exit buttons; drag the room to look around.
๐ชต Real stool model: the stool chair style now renders as a real 3D model (KayKit, CC0). Gaming, bean bag, and throne keep their stylized look for now.
๐งฐ Input engine cleanup: chair-drag / furniture-drag / look handling moved to a single input state machine โ fixes stuck-orbit and swallowed-click edge cases.
๐ฆต Seated robots fixed: avatars no longer sit backwards โ knees now bend forward over the front of the chair instead of poking out through the backrest (the crouch pose had the same mirrored legs and is fixed too).
6/10/2026 (167)
๐ ๏ธ 3D room fixes: the 3D view loads again (the Three.js import map was being stripped by the server, and a missing engine file 404'd); the office chair model no longer faces away from the table; clicking a chair reliably shows the floating "Sit Here" bar (tiny mouse jitter no longer cancels it, and the bar itself was previously invisible); the Sit Here / โ buttons are clickable (clicks were being swallowed by the room canvas); sitting down now seats your robot immediately; and late joiners / reloads correctly see who is already seated (seat claims from the server were being lost during page load). Walking avatars keep their colour after reloads instead of leaving a gray ghost behind.
6/10/2026 (166)
๐งญ 3D toolbar & onboarding (P15): the Walk, Click-to-walk, and Add Furniture buttons are now a single icon toolbar in the top-right of the 3D room, with active-state highlighting. First-time visitors to the 3D view see a few quick callout tips pointing at the key controls (dismiss anytime by clicking anywhere).
๐ช Floating "Sit Here" bar (P15): when you click an empty chair, the Sit Here / Cancel confirmation now appears anchored right above that chair instead of a fixed bottom bar.
๐ถ Walk mode toast (P15): entering walk mode shows a brief reminder of your move keys and how to look around / exit.
6/10/2026 (165)
๐ Room size & floor colour (P14): in the Room Designer's "Room" section, pick a Small, Medium, or Large room footprint (everyone sees the new size, chairs and the window wall reflow to fit) and optionally tint the floor with a custom colour, just like the wall colour override.
๐ถ Walk feel controls (P14): under "Walk controls", adjust your personal walk speed and mouse-look sensitivity, and toggle inverted vertical look โ these only affect your own view.
6/10/2026 (164)
๐ค Avatar accessories (P13): in the Room Designer's "My avatar" section, pick a hat (cap, antenna bobble, crown, or headphones), switch your robot's eyes to a visor, and optionally override your robot's body colour โ everyone in the room sees your customized robot, and it persists across reloads. Your existing 2D profile avatar (initials/Dicebear/RoboHash/etc.) is unaffected.
6/10/2026 (163)
๐ค Smoother robot avatars (P12): participant robots now have rounded, capsule-shaped limbs and torso instead of blocky boxes/cylinders, a brushed-metal finish, a small glowing chest badge in your team colour, and higher-detail eyes/antenna tip. All poses (seated, walking, crouching, jumping, vote-reveal arm-raise, idle sway) are unchanged.
6/10/2026 (162)
๐ช Real 3D office chair model (P11): the office chair (the default chair type) now renders as a detailed 3D model instead of a blocky placeholder, loaded once and reused for every seat. Other chair styles (gaming, bean bag, stool, throne) keep their stylized look for now โ more real models will arrive in later updates.
6/10/2026 (161)
๐ Room Designer side panel (P10): Room Scene settings (presets, appearance, furniture, walk controls, room icon) moved out of the Settings modal into a new Room Designer panel that stays open alongside the live 3D room while you tweak it โ open it from "โ๏ธ Setup Room". Settings are now grouped into "Room โ everyone sees these" (shared with all participants) and "My view & controls" (personal display/interaction prefs). The four separate "Add furniture" buttons were combined into one "๐ช Open furniture panel" button that opens the richer in-canvas furniture picker.
6/10/2026 (160)
๐ฌ Walk mode interact prompt (P9): in first-person walk mode, walking up to a chair, the whiteboard, furniture, or a room prop now shows a small floating prompt (e.g. "E Sit here", "E Open whiteboard", "E Pick up") so it's easier to discover what you can interact with. The prompt always shows your current interact key, even if you've rebound it.
6/10/2026 (159)
๐ Furniture rotation (P8): select a furniture item in the 3D room and press R to rotate it 45ยฐ (Shift+R to rotate the other way), or use the new โป button on the selection bar. Rotation is saved and synced to everyone, including after a reload.
6/10/2026 (158)
๐ฑ๏ธ Walk mode mouse-look (P7): in first-person walk mode, clicking into the room now locks the mouse pointer so moving the mouse looks around directly (press Esc once to release the pointer, again to exit walk mode). If pointer lock isn't available, drag-to-look still works as before. Clicking outside the room view (e.g. opening settings) now exits walk mode automatically. The walk-mode key-binding screen no longer shows "this key conflicts with a page shortcut" warnings.
6/10/2026 (157)
๐งฐ Room scene state refactor (P6b): under-the-hood only โ room scene config, seat claims, chair positions, and furniture layout now flow through a single shared state store, making the room view's sync logic easier to maintain. No visible changes; behaviour and saved settings are unaffected.
6/10/2026 (156)
๐งน Simplified room view (P6a): the old flat 2D diagram has been retired โ 2D mode is now always the same 3D room viewed from above, so it shows everything (window scenes, furniture, roamers) the 3D view does. The "2D view style" and "3D move / orbit control" settings have been removed; furniture select-and-drag now always works the same simple way (click to select, drag the selected piece to move it).
6/10/2026 (155)
๐ง 3D engine upgrade (P4): the Room Scene's 3D engine now runs on a current Three.js release (r0.184) loaded as ES modules instead of the older bundled version, with lighting retuned to match. This is an under-the-hood update โ the room should look and behave the same; let us know if anything in the 3D view looks or acts differently.
โจ Realistic lighting + materials (P5): the 3D room now uses image-based lighting, giving every surface soft ambient reflections instead of flat shading. Wood, carpet, tile, and concrete floors (and wood/marble table tops) now show real photo-based textures with bump and roughness detail. The table also casts a soft contact shadow onto the floor for a more grounded look.
6/9/2026 (154)
๐ Room scene bug fixes (P0): large window-media uploads no longer crash silently when the local storage quota is exceeded; rebuilding the room while a custom video plays no longer leaves orphaned hidden <video> elements; the custom video window now fills the opening at the correct position (matching static images); upload help text now correctly reads "Images up to 600 KB, MP4 video up to 10 MB"; clicking your own chair to stand up is now a single code path; pressing Esc while capturing a key binding now cancels instead of binding Escape, and clicking away or re-clicking the button also cancels.
๐ฌ WebM window video (P1): the custom window upload now also accepts .webm video (looping, same 10 MB cap as MP4); existing MP4 windows are unaffected. If your browser can't play a chosen video format, you'll now see a message instead of a silent black window.
๐๏ธ Server-side room media + persisted scene config (P2): the server now has a per-room media library (/api/rooms/<room>/window-media) for window images/video, and room-scene settings (table, chairs, window view, etc.) are now saved on the server so they survive a restart and reach late joiners even if the original host has left. (Backend only โ no new UI yet; the upload control still uses the old path until P3.)
๐ผ๏ธ Shared window media library (P3): uploading a custom window image or video now saves it to the room's shared media library on the server (images up to 5 MB, MP4/WebM video up to 15 MB) instead of only your browser. A new dropdown under the upload button lets everyone pick from previously uploaded media or ๐๏ธ delete it from the room; deleting the active window reverts everyone to the skyline view. Room scene settings (including the window view) now sync from the server on join/reconnect, so late joiners see the same room without waiting for the host. If you previously set a custom window image locally, a "๐ค Share this window with the room" button appears so you can migrate it to the shared library.
6/7/2026 (153)
๐๏ธ Animated GIF window views: upload any animated GIF (up to 4 MB) as the room's window view. The browser animates the GIF natively and each frame is captured to a canvas texture every tick โ space, storm, lava, fire, anything plays live behind the window glass. Static images still work as before; GIFs are detected automatically.
๐ค Gray roamer fixed: roaming avatars created before the participant list has loaded (timing edge case) now automatically rebuild with the correct body colour and label as soon as the participant data arrives. No more mystery gray robots walking around.
6/7/2026 (152)
๐ค Duplicate remote avatar fixed: a participant could appear as both a seated robot AND a standing robot simultaneously when their chair claim was stored under one identity key but the standing filter checked a different one (CID vs name mismatch). Both the seated-ID map and the unseated filter now index by both CID and name, guaranteeing at most one robot per person regardless of reconnect history.
๐จ Avatar colours now correct in 3D: robot body colours finally reflect each participant's chosen profile colour โ previously every robot used a name-hash fallback colour because avatarData was never being parsed for the hex suffix.
๐ Avatar colour updates live: changing your profile avatar colour now immediately updates your robot in all other participants' 3D rooms (was silently ignored before).
๐ Room scene config syncs between participants: chair count, window view, table shape, chair type, floor/wall material, and lighting are now broadcast in real-time so everyone in the room sees the same room layout. Previously each client had its own independent local settings, causing mismatched chair counts and wrong skylines.
๐ Late-joiner room sync: when a new participant joins, the host automatically pushes their current room config so the joiner renders the correct room immediately.
6/7/2026 (151)
๐ฏ Interact range fixed: pressing E now uses per-target proximity โ whiteboard only triggers within 2.2 m of the left wall, props within 2.5 m, chairs within 1.9 m. No more accidentally opening the whiteboard from across the room.
๐ค Double avatar fixed: exiting walk mode no longer leaves a seated ghost in your chair alongside your idle roamer. The seated robot is suppressed whenever you are roaming, even if your connection ID wasn't synced at walk entry time.
๐ฆ Jump animation overhaul: whole body lifts 0.35 m, legs tuck back hard, arms fly out and up โ a dramatic air pose that resets cleanly on landing.
๐๏ธ Full furniture catalog: + Furniture HUD now adds all 10 types โ sofa, floor lamp, bookshelf, monitor, jukebox cabinet, waste bin, coffee table and projector screen all have procedural 3D meshes.
6/7/2026 (150)
๐ช Chair duplicate fix: fixed a critical bug where chairs would visually stack on every seating rebuild โ chairs now properly clear from the scene before being re-placed.
๐จ Gray avatar fix: your roaming avatar now correctly shows your colour even before your connection ID is synced to the participant list.
๐ช Click to stand up: click your own claimed chair (in non-walk mode) to stand up and free your seat instantly.
โฌ๏ธ Bigger jump: jump height tripled (vy 4.2 โ 7.5) and gravity tuned โ much more noticeable leap.
๐ Canvas resize fixed: resizing the floating Room Scene panel now correctly resizes the 3D canvas in real time.
๐ซ Label overflow fixed: confetti / jukebox emoji labels no longer appear outside the room canvas.
๐ฑ๏ธ Click-to-walk toggle: new ๐ฑ๏ธ Click-walk button on the canvas โ turn off if you don't want floor clicks to move your avatar.
๐ช Furniture HUD on canvas: new + Furniture button directly on the 3D room โ quickly add whiteboard, plant, lamp, sofa, etc. without opening Settings.
โจ๏ธ Dynamic keyboard shortcuts: the โจ๏ธ Shortcuts table in About now shows your current walk-mode key bindings in real time.
๐ Key-bind highlight fix: opening Settings now immediately refreshes the walk-key binding display.
6/7/2026 (149)
๐ฆพ Jointed avatar redesign: avatars now have full arm and leg segments โ upper arm, forearm, thigh, shin, and foot โ with joint spheres. They walk with a leg-swing cycle, crouch with bent knees (Ctrl), and go into a jump pose (Alt). Seated avatars have thighs horizontal and shins hanging.
๐ Walk key capture fixed: walk-mode keys (including Alt/Ctrl/Arrow) are now intercepted before any page-level handler, so Space no longer triggers vote reveal while walking.
๐ช No more accidental sitting: proximity auto-sit is disabled in walk mode โ press E facing a chair, or click it, to sit.
๐ฏ Interact range improved: pressing E now reaches the whiteboard, confetti, and jukebox from across the room (5.5 m range).
6/7/2026 (148)
๐ฅ Third-person walk mode: choose First person or Third person camera in Room โ Walk controls. Third person follows your avatar from behind so you can see yourself walking. Your self-avatar is shown to others in both modes.
โจ๏ธ Walk key defaults changed: default walk controls are now Arrow keys to move, Alt to jump, Ctrl to crouch โ avoiding conflicts with Space (reveal votes), C, and other page shortcuts. Update yours in Room โ Walk controls.
๐งฑ Walk collision: you can no longer walk through the table or get stuck in corners โ smooth sliding collision pushes you along surfaces.
๐ Walk key priority: while in walk mode, walk keys are captured first so Space/Ctrl/Alt no longer accidentally trigger page shortcuts.
โ ๏ธ Key conflict warning: rebinding a walk key that's already used or is a page shortcut now shows a warning before applying.
6/7/2026 (147)
๐บ๏ธ Room minimap: a small overhead map in the corner of the 3D room shows where everyone is, with your own dot highlighted โ handy for finding people in a busy room.
๐ค Away dimming: avatars who've been idle for a while have their name tag fade, so you can tell who's actively around.
6/7/2026 (146)
๐ช Walk up and sit: just walk your avatar onto an empty chair and pause โ you'll sit down automatically (no need to press a key). Walk away to get up again.
๐ Interactive room props: the 3D room now has a confetti and a music prop โ click them (or press interact while facing them in walk mode) to celebrate or play a sound for the whole room.
๐ Story screen: a screen on the room wall shows the current story being estimated, updating as you change stories.
6/7/2026 (145)
๐ฑ๏ธ Click-to-walk: in the 3D room you can now just click a spot on the floor and your avatar walks there โ no need to enter first-person mode. Everyone sees you glide over.
๐ Spatial emojis: emoji reactions now pop above your avatar in the room and float up, so reactions have a place in space (Kumospace-style).
6/7/2026 (144)
๐ง Walk around together (live presence): the 3D room is now a real shared space โ when you enter ๐ถ Walk mode and move around, everyone sees your avatar moving in real time, with your name tag following you. You see everyone else roam too, and you stay where you stopped. Sit in a chair and your avatar takes the seat; get up and you're roaming again. (The first step toward a Kumospace-style room.)
6/7/2026 (143)
๐ช Move chairs around: in the 3D room (and top-down view) you can now drag your own chair and any empty chair to reposition it โ they no longer have to sit in a fixed ring. Moves sync to everyone and persist with the room. (Other people's occupied chairs stay put; a quick click on an empty chair still claims it.)
6/7/2026 (142)
๐๏ธ The in-room whiteboard is now the real one: the whiteboard on the wall in the 3D room shows the live shared drawing, and clicking it (in 3D, or pressing the interact key while facing it in walk mode) opens it to draw. In the 2D diagram, clicking the whiteboard panel opens it too. Same board everywhere โ draw in one place, everyone sees it.
6/7/2026 (141)
๐๏ธ Whiteboard shapes, text & sticky notes: the shared whiteboard now has a full tool set โ pen, eraser, line, rectangle, ellipse, text, and sticky notes โ all synced live to everyone in the room.
๐ Arrow clock hands: analog clock hands can now be styled as arrows (in addition to solid and dashed), with an arrowhead at the tip.
6/7/2026 (140)
โฑ Timer & clock bar polish: the count-up timer now shows a subtle "โฑ โ:โโ ยท ready, pick a story" hint when it's enabled but no story is active yet (previously the whole bar could vanish), and the analog clock is size-capped in the top bar so a large configured clock no longer stretches the navbar row.
6/7/2026 (139)
๐ Custom clock face: the story-bar clock is now deeply customisable โ background colour (or transparent), digital font & 12/24-hour toggle, analog number style (none / 1โ12 / Roman / ticks), and per-hand width, length and solid/dashed styling for the hour, minute and second hands.
๐ท๏ธ Room identity icon: the host can give the room an icon โ pick from a built-in set (๐ ๐ ๐ฏ ๐ง โ โฆ) or upload your own image. It shows in the navbar and the browser tab for everyone in the room.
6/7/2026 (138)
๐๏ธ Shared whiteboard: a new ๐๏ธ Whiteboard button opens a collaborative drawing surface โ draw freehand together in real time (strokes sync over SignalR), pick colour & size, erase, Clear for everyone, and export to PNG. Late joiners see the existing drawing.
๐ More window views: added Space (twinkling stars, drifting nebula, a distant planet) and Custom image (upload your own photo for the view), plus a Time of day control (Day / Dusk / Night / Auto) that tints the scenery.
๐ Host seat control: the host can click an occupied chair (2D or 3D) to free that seat, so people can be reseated.
6/7/2026 (137)
๐ฅ๏ธ Living window views: the 3D room's window scenes now move โ clouds drift across the skyline / mountains / forest, stars twinkle and city windows flicker at night, the sea shimmers and a sailboat drifts at the beach, and forest trees sway in the breeze. Toggle it under Settings โ ๐ Room โ Appearance โ Animate (respects your system's reduced-motion setting).
6/7/2026 (136)
๐ 2D and 3D are now one world: the 2D view can be a true top-down camera looking straight down into the same 3D room โ same chairs, robots and furniture, just seen from above. Move a chair or piece of furniture, claim a seat, or rearrange in either view and it's the same object, so the two views always mirror each other. Choose it under Settings โ ๐ Room โ Appearance โ 2D view style (Top-down 3D by default, or switch back to the classic Flat diagram). The overhead view hides the ceiling and pans/zooms (no rotation).
6/7/2026 (135)
๐ถ Walk around the 3D room (first-person): click ๐ถ Walk in the 3D room (or press its key) to drop into first-person โ WASD/arrows to move, Space to jump, C to crouch, drag to look, and the interact key (E) to sit in the chair you're facing or pick up / drop furniture. Esc or the toggle returns to orbit. All keys are rebindable in Settings โ ๐ Room โ Walk controls.
๐ช Claim chairs in 2D too: the 2D top-down view now lets you click an empty chair to sit (or click your own to stand up), going through the same race-safe multiplayer path as 3D โ so 2D and 3D stay perfectly in sync.
6/7/2026 (134)
๐ช Real window views, full back wall: the Room Scene's back wall is now a floor-to-ceiling window spanning the whole wall, and the chosen view (skyline / beach / mountains / night / forest) is actually visible behind it. Previously an opaque wall sat in front of the scenery and hid it โ now the outdoor scene shows through the glass and the "space outside" matches your pick. The whiteboard moved to the side wall so it no longer covers the view.
๐ฎ One 3D room: the old CSS-3D "3D" view has been retired and the WebGL room (formerly "3D GL") is now simply 3D. The mode toggle is just 2D / 3D; any saved CSS-3D preference auto-migrates to the WebGL room.
๐ช Furniture moves are shared live: dragging, adding, removing or resetting furniture now broadcasts over SignalR, so everyone in the room sees the same layout in real time (and joiners get the current layout). Saved with the room.
โ๏ธ Full-width Room Scene: the Room Scene widget can now be resized out to (almost) the entire screen width when floating โ handy for the 3D room.
6/7/2026 (133)
๐ช Live multiplayer chair claiming: claiming a seat in the Room Scene now goes through SignalR, so everyone in the room sees seat choices update in real time โ no more localStorage-only, per-browser claims. The server holds the authoritative chair→participant map and is race-safe: if two people confirm the same chair, first-confirm-wins and the loser gets a toast โ "๐ [name] grabbed that chair first! Pick another." Seats free automatically when someone leaves, and a joiner immediately sees the current seating. New hub methods ClaimChair/ReleaseChair with ChairClaimed/ChairReleased/ChairClaimFailed broadcasts; seating now matches by connectionId (robust against duplicate names). Falls back to local-only when offline.
6/6/2026 (132)
๐ช 2D โ 3D GL seat-claim parity: the 2D and CSS-3D views now read the same chair-claim data as 3D GL, so a participant who claimed a specific chair appears in the exact same seat index across all three views. Matching 3D GL's model: claimed chairs seat their owner, unclaimed chairs stay empty (pulsing โ ring), and anyone who hasn't claimed a seat stands. A new shared RS3D.getSeatingPlan() is the single source of truth for placement.
๐ Fixed per-room claim persistence: ROOM_CONFIG was declared as a top-level const, which (unlike var) does not create a window.ROOM_CONFIG property โ so the 3D claim key resolved to es_rs3d_claims_undefined and chair claims leaked between rooms. ROOM_CONFIG is now exposed on window, so claims are correctly keyed per room.
6/6/2026 (131)
๐งน Room Scene cleanup: removed the temporary RS3D_DEBUG drag-logging and the RS3D.version cache-check marker now that furniture drag, chair claiming and 2D/3D chair parity are all confirmed working. Also pruned dead CSS left over from the Settings consolidation (the old on-panel .room-scene-toolbar, furniture-button and preset-chip styles). No functional change โ lighter code.
6/6/2026 (130)
๐ช 2D / CSS-3D chair parity: the top-down 2D and perspective 3D Room Scene views now honour the same chair settings as 3D GL. They draw the configured chair count (leave blank to match participants), show empty / unclaimed chairs with a pulsing blue "available" ring and a โ marker, and render the selected chair-type silhouette (Office / Gaming / Bean bag / Stool / Throne / Random) per seat. When there are more participants than chairs, the overflow appears as standing avatars along the front edge โ mirroring the 3D GL "standing robots near the wall" behaviour.
6/6/2026 (129)
๐ Room config moved into Settings: all Room Scene configuration now lives in a dedicated ๐ Room tab in the โ๏ธ Settings dialog โ quick presets, colour theme, window view, table shape/size, chair style/count, drag mode, room features and the add-furniture buttons, all in one place. The cramped on-panel toolbar and the separate "Setup Room" popup were removed; the panel header now just has the 2D / 3D / 3D GL view switch and a โ๏ธ button that jumps straight to Settings โ Room. The Room tab only appears on the room page.
6/6/2026 (128)
๐ช Window views + colour theme split: the old single "Preset" control is now two independent settings โ Colour theme (Conference / War room / Cozy / Skyline) controls the wall, floor and ceiling palette, while a new Window view selector chooses what you see through the window in 3D GL: ๐๏ธ City skyline, ๐๏ธ Beach, ๐๏ธ Mountains, ๐ Night city, ๐ฒ Forest, or ๐ช No view. Each view is built procedurally from Three.js primitives (sun, sea & sailboat; snow-capped peaks; a moon with stars and lit windows; layered pine trees). The redundant "Skyline" checkbox was removed (use Window view โ No view instead). Both the toolbar and the โ๏ธ Setup Room modal expose the new controls.
6/6/2026 (127)
๐๏ธ 3D GL fixes & Setup Room modal: Fixed a crash (Cannot assign to read only property 'position') that prevented the 3D GL room from rendering. All toolbar controls (Preset, Table, Size, Chairs, Chair type) now update the 3D scene in place via a new refreshScene path โ no more camera reset on every tweak. Three.js is now served locally (no CDN dependency). Added a โ๏ธ Setup Room button that opens a modal with five quick-start presets (Huddle 6, Standard 8, Boardroom 12, Gaming 6, Lounge 4) plus full custom settings for style, table shape/size, chair type/count, and room features โ all in one place.
6/6/2026 (126)
๐ 3D GL Room Scene โ Phase 3 & 4: Phase 3 โ Movable furniture: four draggable items โ ๐ฟ Plant, โ Coffee table, ๐ฝ๏ธ Projector screen, and ๐ Standing whiteboard โ can be placed anywhere on the floor. Click-drag them to any position (snaps to 0.5-unit grid); the layout is persisted per room in localStorage. Use the "+ Furniture" toolbar buttons to add new items or โบ to reset to defaults. Phase 4 โ Polish & animation: all robots now have a gentle idle head bob; standing robots have a subtle arm sway; a soft ambient-occlusion shadow disc appears under every robot. On vote reveal, seated robots perform a quick arm-raise ๐ animation. Click any floating name label to smoothly fly the camera to that participant.
6/6/2026 (125)
๐ช 3D GL Room Scene โ Phase 2: five chair types (๐ช Office, ๐ฎ Gaming, ๐๏ธ Bean bag, ๐ชต Stool, ๐ Throne) with full procedural 3D meshes and matching 2D top-down silhouettes. New toolbar controls: Table Size (Small / Medium / Large), Chair Count (0 = match participants), and Chair Type selector. Participants without a claimed chair appear as standing robots near the front wall. Chair claiming: click any empty chair directly in the 2D or 3D view to select it (highlighted in green), then confirm with Sit Here or dismiss with โ. Unclaimed chairs pulse with a blue glow ring. Chair selections are persisted per room in localStorage and restored on reload.
6/6/2026 (124)
๐ 3D GL Room Scene โ the Room Scene widget now has a 3D GL mode powered by Three.js WebGL. It renders a realistic conference room (floor, walls, ceiling, window with city skyline, whiteboard, plants, ceiling lamp) with a round or rectangular table matching the existing config. Each participant appears as a robot avatar โ a procedural mesh with colour-matched body, glowing LED eyes, and an antenna. Robots sit in chairs with arms resting on the table. Vote state is shown as a coloured halo ring above the head (grey = no vote, amber = voted, green = revealed). Labels float above each robot showing name and, when votes are revealed, the card value. The camera can be orbited, zoomed, and panned with the mouse. All participant and vote updates sync in real time. No external model files โ everything is built from Three.js primitives.
6/5/2026 (123)
๐ช Widget system overhaul (code review findings) โ Bug fixes: (1) Bot zone now covered by the widget test suite's panelIsInZone. (2) Resizing a zone then moving the last panel out no longer leaves an invisible blank gap โ the saved min-height is cleared when the zone empties. (3) Hiding a panel now saves its previous zone/float location; the settings dropdown shows a โฉ Restore to โฆ option at the top so you can get it back in one click. New features: (4) Each panel row in Settings โ Panels has an โบ per-panel reset button. (5) ๐ Bring into view button clamps all floating panels back on-screen without resetting their zones. (6) ๐ Lock layout toggle disables all dragging, floating, and resize handles. (7) Mobile now shows all panels at their home positions โ desktop dock/hide state is preserved in storage but not applied on small screens. (8) Four layout presets: ๐ Default, ๐ Focus Voting, ๐ฎ Facilitator, ๐ฌ Chat Focus.
6/5/2026 (122)
๐ช Stories collapse + panel fixes โ added a โจ / โฉ collapse toggle to the ๐ Stories left sidebar (mirrors the existing Controls toggle). Fixed the sidebar resize handle not working: .stories-panel was missing position: relative, so the absolutely-positioned drag handle anchored to the viewport instead of the panel. Fixed Controls resize handle covering the expand button when collapsed: the 8px drag strip now hides when the panel is in its collapsed state. Fixed the Controls missing scrollbar: .room-col was missing min-height: 0, preventing the flex height constraint that makes overflow-y: auto show a scrollbar. Settings โ Panels now shows a collapse toggle and a width slider for Stories and Controls columns.
6/5/2026 (121)
๐ช Bot zone fix โ panels docked to the โผโฌ Bottom strip zone were invisible because the room layout was expanding to fill the full viewport, pushing the zone off-screen. Fixed with a new --bot-zone-height CSS variable (measured via ResizeObserver) that shrinks room-layout to make room. Also fixed the Chat panel specifically: it had a hard-coded height: 48px that prevented the body from showing when docked to a zone โ now overridden to height: auto; min-height: 160px; display: flex; flex-direction: column inside any zone.
6/5/2026 (120)
๐ช Zone panel ordering โ panels in the same dock zone can now be reordered. In Settings โ Other โ Panels, rows that share a zone show โฒ/โผ buttons to move a panel up or down within that zone. The layout preview shows a numeric badge (1. 2. โฆ) on chips in multi-panel zones so the current stacking order is visible at a glance. Order is saved to localStorage and restored on reload. When dragging a floating panel onto an occupied zone, a blue insertion-line appears showing exactly where it will land โ drop it above or below existing panels for precise placement.
6/5/2026 (119)
๐ช Panel layout preview & right-column fix โ Settings โ Other โ Panels now shows a mini layout diagram (top/centre/bottom zones, left/right columns, floating and hidden rows) so you can see the full picture at a glance. Click any panel chip to jump to its row. Each panel's location is now a dropdown that lists every zone, Float, and Hide โ one control instead of three buttons. Fixed an issue where the right column (R-top / R-bot zones) was completely inaccessible while Controls was floating: the grid column collapsed to 0px during drag, hiding the drop targets. A CSS minmax(60px, โฆ) rule now keeps both side columns at least 60px wide while dragging so zones remain reachable.
6/5/2026 (118)
๐ช Panel fixes & infinite-canvas setting โ fixed the โก detach button position on ๐ Stories (it was pushed to the right by flex spacing; now correctly sits next to the title). Fixed ๐ Current Story missing its โก button entirely (caused by the session timer being nested inside the bar โ the duplicate-guard now uses a data-for attribute so nested widgets don't block each other). Fixed floating panels going off-screen: a duplicate CSS position: fixed rule was overriding position: absolute, preventing the canvas from growing scrollbars. New Settings โ Panels โ Allow panels to scroll off-screen toggle: off (default) = viewport-bound, panels cannot be dragged past the browser edge; on = infinite canvas, scrollbars appear when panels go off-screen.
6/5/2026 (117)
๐ช Floating panel drag fixed โ a duplicate CSS rule was overriding the floating panel's position: fixed with position: relative, which dropped detached panels to the bottom of the page and made them impossible to drag up. Panels now float correctly relative to the viewport and can be dragged anywhere. Also: dock zones expand instantly (not via a transition) so drag-to-dock targeting is reliable, and the drop-zone is now detected before the zones collapse so snapping into a zone works every time.
6/4/2026 (116)
๐ช Panel system bug-fix pass โ empty dock zones no longer show phantom boxes (the stray dashed area above Controls is gone); fixed the duplicate "๐ฎ Controls" title hiding all the other control-group titles; floating panels now have a clean two-row header (drag bar + dock buttons), scroll internally if tall so the header is always reachable (no more "stuck at the bottom"), and are clamped on-screen at startup; the grid column collapses whenever Stories/Controls is floated, docked elsewhere, or hidden โ and restores correctly; "Dock home" now returns a panel to its exact original spot; and the drag system was rewritten with a single controller (no more listener leaks or flicker).
6/4/2026 (115)
๐ช Panel system polish โ Settings โ Other โ Panels now shows ๐ Docked ยท โก Float ยท ร Hide buttons for each panel (active state highlighted); clicking Docked or Float also unhides a hidden panel. Floating panels that were saved off-screen are clamped to the viewport on startup. Docking or resetting a panel always clears its hidden/opacity state. Fixed duplicate "๐ฎ Controls" title (the AK1 collapse header already shows it).
6/4/2026 (114)
๐ช Resizable dock zones โ each of the 6 dock zones now has a drag handle at its bottom edge. Hover over a zone to reveal it, then drag it to set a custom height. Sizes are saved per-zone and restored on reload. โฉ Reset all in Settings โ Other โ Panels also clears zone sizes back to default.
6/4/2026 (113)
๐ช Panel dock zones & resize โ floating panels can now be docked to 6 dedicated drop zones: left top/bottom, centre top/bottom, right top/bottom. Drag a panel and drop it onto any highlighted zone (zones expand and glow during drag). The float header has buttons for all zones plus โคข home. Floating panels are resizable via a drag handle at their bottom-right corner โ size is remembered across reloads. Zones are proper independent containers so panels no longer break the layout when cross-docked.
6/4/2026 (112)
๐ช Panel system upgrades โ Stories and Controls floatable, restore hidden panels from Settings โ Other, dock-zone snap, โฉ Reset all.
6/4/2026 (111)
๐ช Four floating panels โ ๐ก๏ธ Vibe Check, โฑ๏ธ Timer & Clock, ๐ Your Vote, and ๐ฅ Participants each have a โก button in their section header. Click it to detach the panel as a floating overlay, drag it anywhere on screen, โคข to dock it back, or ร to hide it. Positions are remembered between sessions.
6/4/2026 (110)
๐ช Floating panels (AE10) โ panels can now be detached from the room layout and floated as draggable overlays. The ๐ก๏ธ Vibe Check panel has a โก button in its header: click it to pop it out, drag it anywhere, โคข to dock it back, or ร to hide it. Position persists across reloads. Desktop-only (โฅ768 px).
โฑ๏ธ Timer waiting cue โ when the timer is enabled but no story is selected, the bar now shows โฑ โ:โโ at reduced opacity (rather than disappearing) so you know the timer is ready and waiting for a story to be set.
6/4/2026 (109)
๐ True TARDIS animation + per-animation sounds โ the TARDIS effect now creates a proper TARDIS-shaped overlay (lantern, blue box, windows) that runs the full vortex-warp: stretches, twists, shrinks to nothing, then rematerializes. Each animation style also has its own Sound picker (defaults: TARDISโ๐ TARDIS synth, Bubbleโpop, Shatterโglass, Warp/Burstโrumble, Explodeโbuzz, Fly-spin/Hide/Run-awayโwhoosh, Stretchโspring). All sounds are synthesized โ no audio files needed. Use the ๐ button to preview any sound. All configurable and all speed-adjustable.
6/4/2026 (108)
๐ Two new card animations + upgraded flip physics โ ๐ช๏ธ Fly & spin arcs the card sideways, scales it up, then completes a full rotation back; ๐ช Stretch & snap collapses the card to a sliver with a rubbery skew then snaps back with an overshoot bounce. The existing ๐ Flip is also upgraded: it now lifts toward you on a Z-axis (perspective + shadow depth) with a snappier easing curve, making all three 3D-style effects feel significantly more physical.
6/4/2026 (107)
๐ด Vote card animation overhaul โ four new complex animations added: ๐ซง Bubble pop (card inflates into a soap bubble and pops), โจ Shatter & glow (card breaks into glowing fragments that scatter and reassemble), ๐ฅ Warp (heavy distortion and colour-shift destruction effect), ๐ Particle burst (22 coloured circles explode outward). The animation selector, speed slider, and live โถ Preview are now all together in Visual โ Vote Picker Card Style. Animation speed controls all eleven effects.
6/4/2026 (106)
โ Story drag-to-reorder โ stories now have a โ ฟ drag handle on the left. Grab it and drag a story to a new position in the list. The order is broadcast to everyone in the room so all participants see the same sequence.
6/4/2026 (105)
๐ Vote card animations โ Visual โ Voting Animations now has a Vote card animation picker with six styles: Flip (existing), Tardis (spin-shrink-expand), Hide & reveal (slide down and back), Run-away (sprint sideways and return), Fly-away (launch up and land), Explode (burst and reform), and None. All respect the Flip speed setting. Use the โถ Preview button to try each one before committing.
6/4/2026 (104)
๐๏ธ Fully customizable event & animation system โ The Events settings tab now lets you take full control: disable any built-in event or animation without deleting it, add your own events with a custom name and date range, add/remove animations within any event, and change the action (executor) of any animation from a full picker of all 57 registered animation types. Changes persist, round-trip with Export/Import, and the โฉ Reset all customisations button restores everything to its factory state at any time.
6/4/2026 (103)
๐ฉ Pick any country's flag โ Flag-based event animations (Presidents Day, Memorial Day, Independence Day, Veterans Day) now let you choose the flag from a country dropdown of ~250 countries instead of typing a URL. All flags are bundled with the app (no external image service), so they load fast and work offline.
6/4/2026 (102)
๐ท๏ธ Settings tabs renamed โ the Events tab (celebration animations) is now ๐ Fun, and the Seasons tab is now ๐๏ธ Events (it still groups seasons and holidays). Your existing settings are unaffected.
6/4/2026 (101)
๐ Gradient card backgrounds โ In the custom theme editor (Theme โ ๐ Cards) you can now give the vote-card background and the selected-card background a two-colour gradient. Tick "Card BG gradient" / "Selected gradient", pick two colours and a direction (diagonal, horizontal, vertical, or radial); it overrides the solid colour and saves with the theme.
6/4/2026 (100)
๐ฎ Collapsible controls panel โ The right-hand Controls panel now has a header you can click to collapse it down to a thin strip (giving the voting area more room) and click again to expand. Your choice is remembered between sessions.
6/4/2026 (99)
๐๏ธ Compact mode preview โ The Normal vs Compact participant-card mini previews in Visual settings now highlight which mode is currently active (with a โ active marker) and update live as you toggle the switch.
6/4/2026 (98)
โฑ๏ธ Timer style โ The count-up timer in the story bar can now be styled independently of the clock. Settings โ Other โ Timer & Clock has new Color, Size, and Font controls (with a live preview) for the timer text.
6/4/2026 (97)
๐ Flip speed setting โ Visual โ Vote Picker Card Style now has a Flip speed slider (0.20sโ1.00s) controlling how fast the card flip animation plays when a vote is cast. Your choice is saved and the ๐ Flip button previews it.
6/4/2026 (96)
๐ฉ Custom flags in seasonal animations โ Patriotic animations (Presidents Day, Memorial Day, Independence Day, Veterans Day) now build their flag from an image URL instead of an embedded picture. Each flag animation has a Flag URL field in its season config, so you can swap the US flag for any country's flag (e.g. flagcdn.com/gb.svg for the UK) and your choice is saved.
6/4/2026 (95)
๐ PIN prompt โ If a room requires a PIN to join and you dismiss the prompt (close, Cancel, or Esc) without entering it, you're now sent back to the home page instead of being left on an empty room screen.
6/4/2026 (94)
๐ช Remove inactive / unwanted participants โ Right-click a participant for new options. Hosts get Remove from room (immediate). Anyone gets Ask if still here, which pings that person with an "Are you there?" dialog: they can choose to leave or stay (if they stay, you're told). If they don't respond within the timeout, they're auto-removed โ or, if the person asked is the host, the host role is handed to whoever asked. The host can set the response timeout (30s / 1m / 2m / 3m / 5m) in Settings. Participants idle for 2 hours are removed automatically.
6/4/2026 (93)
๐ PIN is now host-only โ Only the room host can set or clear the room PIN. The ๐ PIN button is hidden for non-hosts (and the change is enforced on the server, not just the UI).
6/4/2026 (92)
๐ Smarter PIN dialog โ The Set Room PIN button now adapts to what you've typed: it reads Set PIN when the box has a value and Clear PIN when the box is empty and the room currently has a PIN. When there's no PIN and the box is empty there's nothing to do, so only the single Cancel button is shown.
6/4/2026 (91)
๐ Security & stability fixes โ (1) Room settings lock (Host only / Ask first) is now enforced on the server, not just hidden in the UI, so it can no longer be bypassed by a crafted client. (2) Fixed a rare race where saving a room while another participant was voting/joining could throw or persist a corrupted state โ room data is now serialized safely. (3) Host is correctly reclaimed when the previous host's connection is gone, and everyone's ๐ crown stays in sync. (4) Server now enforces length limits on display names (50) and story titles (200), matching the input fields. (5) Room names are now normalized consistently (e.g. "My Room" and "my room" resolve to the same room) โ fixes a case where look-alike names could split a team across separate rooms or clobber each other's saved state. (6) Added server-side rate limits on sounds, emoji reactions, vibes, chat and custom audio so the room can't be flooded. (7) Performance โ room state is now saved to disk in a coalesced background flush every couple of seconds instead of writing the whole room file on every single vote, vibe and reaction, keeping the real-time server responsive under load. (8) Inactive rooms are now kept for 30 days instead of 7 before automatic cleanup.
6/3/2026 (90)
โน๏ธ Branding & SEO โ Logo image replaces ๐ in navbar and lobby. Clicking the logo or "EstimationStation" text opens the About tab. About tab shows logo, tagline, and feature summary. Added meta description, Open Graph, Twitter Card tags, robots.txt, and /sitemap.xml for search engine indexing.
5/19/2026 (89)
๐ง Five Bug Fixes โ (1) Compact participant cards toggle in Settings now also updates the Participant/Revealed specimens in the live preview (previously only changed the room behind the modal). (2) Runner animation Flip checkbox now works for all motion styles (wave, bounce, hop, etc.) โ was previously cancelled by CSS animation transform conflict. (3) Clicking a ๐งช Test button while settings is open no longer causes participant cards to float above the modal. (4) Emoji reaction button rate limit reduced from 2 s โ 0.8 s so buttons no longer silently block every-other press at a normal click pace. (5) Compact toggle now calls applyCompactMode() so the live room stays in sync without redundant DOM manipulation.
5/19/2026 (88)
โจ๏ธ Keyboard shortcut discoverability โ Legend chips redesigned: each shortcut now shows as a two-section key chip (shortcut key on left, vote value on right) instead of plain text pairs. Vote card tooltips now include the keyboard shortcut (e.g. "Vote: 5 โ press 3"). Reveal and Reset buttons show inline kbd hints (Space, R). Add Story input placeholder updated to "Add storyโฆ (N to focus)". Controls panel gains a โถ Full Screen button (F shortcut) and an โจ๏ธ Shortcuts Help button that opens the keyboard shortcuts reference.
5/19/2026 (87)
๐ง Sound prompt default + UI fixes โ Added "Always use this option" toggle to the on-join sound preference prompt; when checked your choice is saved and the prompt is skipped in future (Audio tab shows the saved default with a Clear button). Fixed "โบ Change" overlay on selected vote cards โ was rendering upside-down due to a CSS transform conflict; now correctly right-side-up. Theme live preview cards widened to match actual card aspect ratio; participant badges moved to their own row below cards. Avatar "Background color" toggle is now a visible switch instead of a faint checkbox.
5/19/2026 (86)
๐ง UI Polish โ Theme live preview: vote cards now match actual card proportions (correct aspect ratio, wider). Participant badges now appear in their own row below the vote cards. Avatar "Background color" toggle converted from a faint checkbox to a visible toggle switch.
5/18/2026 (85)
๐ง Bug Sweep Round 2 (Group AI) โ Fixed: analog clock now renders in the settings preview on non-room pages (previously showed placeholder text); "Events" section in Theme tab now matches the styled uppercase header pattern of other sections; timer and clock ร close buttons each appear immediately next to their segment (no longer both stacked at the far right); "โฉ Change" on vote card hover changed to โบ (correct circular arrow). Changed: avatar background color is now encoded in the avatar data string so it's visible to all participants (not just the preview); Initials circle color is now controlled by the Background color picker; RoboHash/Social avatars show a colored background ring when a bg color is set; avatar source selector (Initials/DiceBear/RoboHash/Social/Upload) converted to a button group for clear active/inactive visual contrast; Theme live preview now shows compact card and badge specimens without overflowing.
5/18/2026 (84)
๐ง Bug Sweep + UI Polish (Group AH) โ Fixed: animation ๐งช test buttons now use current unsaved field values; clock bar ร hides properly (Bootstrap d-flex conflict resolved); clock preview now shows digital time on home page; Events tab collapsible headers now match same โพ chevron style as Other tab; "โฉ Change" hint now correctly shows on selected vote card (not participant badge); vote card now flips briefly when selected. Changed: emoji/chars inputs are unified with maxlength 25 and an input-group ๐ picker button; settings fields no longer split across lines; timer and clock each have their own separate ร close button; reactions panel has a ร close button (session-only); avatar background color now available for all avatar sources (Initials, RoboHash, Social, Upload); real participant badge + vote card specimens added to Theme tab live preview so colours update instantly; DiceBear style tiles are now clearly dimmed when unselected with accent glow on selected.
5/18/2026 (83)
๐ง Settings Safety + Reaction Preview (Group AG) โ Fixed ReferenceError: saveTimerClockSettings is not defined when opening Settings from non-room pages: clock/timer save functions moved to site.js and now available on all pages. Added live emoji reaction bar preview in Settings โ Other so you can see exactly which emojis will appear in the reaction bar before saving.
5/18/2026 (82)
๐ง Clock/Timer Fixes โ Count-up timer now starts correctly when joining a room that already has an active story. Enabling the timer while a story is running starts counting immediately. ร button on clock/timer bar is now in the HTML (not JS-injected) and reliably hides the bar. Digital color/size options now correctly hide when Analog mode is selected (Bootstrap d-flex !important conflict fixed). Emoji picker completely overhauled: new Seasonal and People categories, all emojis used across every seasonal animation are now available.
5/18/2026 (81)
๐ง Clock + Season Fixes โ Alias animations replaced with independent configurable functions (Deep Winter Snow and Snowfall, Thanksgiving Leaves and Leaves Swirl etc. are now separate with own settings). Analog clock: Classic face shows ring + cardinal dots, Filled shows opaque white face + larger dots. Analog clock size now configurable (30โ120px). Emoji picker Animals category expanded with ๐ฆ๐๐ท๏ธ๐ฆ๐ฆ and more.
5/18/2026 (80)
๐ง Fixes (Group AF) โ Season config aliases no longer crash when the target animation is in a different season. Custom animation emoji inputs now show the emoji picker on focus. The ๐งช test button for custom animations uses the current unsaved field values (no need to save first). Analog clock duplicate SVG IDs fixed โ two clocks can now render simultaneously (story bar + settings preview).
5/18/2026 (79)
โ๏ธ Settings Modal + Clock Preview (Group AF) โ settings modal can now be dragged by its header to move it anywhere on screen (resets to center on next open). Clock color pickers update the preview in real time as you drag. Clock preview ticks live (seconds hand moves) while the settings modal is open, even though the story bar clock may be behind the modal.
5/18/2026 (78)
๐ Season Dates + TC Bar Fix (Group AF) โ next occurrence dates added for Thanksgiving, Pancake Day (Shrove Tuesday), Aug Bank Holiday, Mid-Autumn Festival, and Holi. Date brackets now appear inline after the formula text (correct position for Mothering Sunday, Mother's Day, Father's Day). Static date labels updated: Awards Season โ JanโMar, Mid-Autumn โ SepโOct (lunar), Holi โ Mar (lunar). The ร button on the clock/timer bar now hides for the current session only โ clock and timer remain enabled on reload.
5/18/2026 (77)
๐ Fixes (Group AE) โ Season "next date" labels now appear inline after the date in brackets (e.g. 1st Mon Sep [7 Sep]) and duplicate dates no longer show for fixed-date seasons. Clock/timer bar hides when disabled and no story is active. Panel ร close buttons now use float layout (no stacking-context z-index conflict with vote cards). Clock preview added to the Other tab settings so you can see digital/analog style live before saving.
5/18/2026 (76)
๐ธ Seasonal Animations Fully Configurable (Group AE) โ all 22 custom seasonal animations now expose per-field controls in the season config panel: emoji, size, count, duration, color, background color, and text. Alias animations link to their parent configurable animation. Fields are rendered dynamically based on which parameters each animation supports.
5/18/2026 (75)
โฑ๏ธ Clock into Story Bar (Group AE) โ clock and count-up timer moved to the same line as "Current Story:", right-aligned with larger text. All dismissable panels (vibe check, keyboard legend, clock/timer) now have ร close buttons that save the hidden state.
5/18/2026 (74)
๐ Vote Picker Flip Preview (Group AE) โ added ๐ Flip test button to the Vote Picker Card Style section in Visual settings.
5/18/2026 (73)
๐ Celebration Defaults Off + Season Status (Group AE) โ all celebration/seasonal effects now default to OFF for new users (existing settings unaffected). Saving season settings immediately updates the active season display bar without requiring a page refresh.
5/18/2026 (72)
๐ฌ Participant Direct Messaging (Group AD) โ right-click any participant badge for a context menu: ๐จ Private Message (delivered only to them as a purple toast), ๐ Send Emoji (private floating reaction with your name), and ๐ Send Sound (plays a sound for that person only). Host also sees "๐ Transfer Host" in the menu.
5/18/2026 (71)
๐ Host Tracking + Settings Lock (Group AD) โ the first person to join a room is the host (shown with ๐ on their badge). The host chooses a settings lock mode on room creation: No Lock (anyone can change), Ask First (host must approve), Host Only (others see but can't change), or Hidden (only host sees room settings). Room-level settings are tagged with ๐ฅ. Host automatically transfers if they leave.
5/18/2026 (70)
๐ด Vote Picker Card Style (Y1) โ vote picker cards now have their own independent back style setting separate from participant badges. Choose from Baize, Deep Space, Retro, Seasonal, Checkerboard, Stripes, or Solid Color. Configure in Visual โ Vote Picker Card Style. The old es_cardBack setting is automatically migrated to es_participantCardBack.
5/18/2026 (69)
๐ Reveal Majority First (N3) โ now a room-level toggle in the โ๏ธ Settings panel (on by default). When enabled, the outlier voter's badge is revealed last with a dramatic pause. Stored server-side so all participants see the same reveal ordering regardless of their individual settings.
5/18/2026 (68)
๐ Card Back Designs โ five new styles for face-down participant badges: Checkerboard, Diagonal Stripes, Solid Color (choose any colour), Gradient (pick two colours and direction), and Custom Image (upload any image up to 200 KB). Configure in Visual โ Participant Card Backs.
5/18/2026 (67)
๐ Voting Animations โ X1: your participant badge now flips (poker-style) the instant you cast a vote; X2: hovering your own badge after voting shows a subtle โฉ Change hint so you know you can re-vote. Both toggles in Visual โ Voting Animations (default on).
5/18/2026 (66)
โจ Card Reveal Particles โ two new shape modes: ๐ฒ Mixed randomly fires star, circle, and square particles together; ๐ Custom Emoji lets you pick any emoji (e.g. ๐) to use as the confetti shape. Configure in Events โ Card Reveal Particles.
5/18/2026 (65)
๐ Room PIN โ join screen now has a collapsible "Room has a PIN?" section in the Join tab; enter the PIN before navigating so you're never prompted after landing in the room. PIN is cached in sessionStorage for reconnects. Recent Rooms show a ๐ badge when a cached PIN exists.
5/18/2026 (64)
๐ Sound & Notifications โ Q1: optional soft 440 Hz tick when casting a vote (Audio โ Vote Interaction, default off). Q2: browser desktop notification fires when votes are revealed while you're in another tab โ requires notification permission (Audio โ Desktop Notifications, default off).
5/18/2026 (63)
โฑ๏ธ Session Timer & Clock โ a compact bar above the story panel now shows how long the current story has been in discussion, plus the current time (with optional timezone). Switch between digital and analog clock face; customise hand colours. Configure in Other โ Timer & Clock.
5/17/2026 (62)
โจ๏ธ Keyboard shortcuts legend โ a compact key reference now appears below your voting cards (toggle in Other โ Keyboard Shortcuts). New keys: C selects โ, Q selects ?, โ selects skip vote.
๐ฌ Emoji reactions โ a customisable reaction bar appears below your voting cards. Click any emoji to broadcast it to the room; it floats up from your participant badge (and from the sender's badge for everyone else). Configure the palette and toggle the bar in Other โ Emoji Reactions.
5/17/2026 (61)
๐ ๏ธ Bug fixes & UX polish (Group FX): variable season next-dates (Lunar New Year, Diwali, Easter, Mother's/Father's Day, etc.); ๐งช test buttons on all animation types; 15+ animations promoted to popup/corner/alias types with full config; Star Wars crawl text + colour now configurable; emoji picker expanded with Food, Travel, Activities & Flags categories; settings search highlights matches in yellow; search bar moved into global controls row; section headers now accent-tinted; story note edit icons stay pinned right; sidebar min-width 80 px with narrow mode; resize handle shows โฎ grip; card navigation with arrow keys + comma/period; vibe deselect by clicking same vibe again (โ clear button); Card Backs moved to Visual tab with live flip preview; Visual tab preview uses real vote card HTML; d-none season status bar bug fixed.
5/17/2026 (60)
โ๏ธ Settings quality: global controls bar (All Off/On, Reset All, Export/Import); per-tab bulk toggles (โ All / โ None / โฉ Reset) on Events, Audio, Seasons, Visual tabs; real-time settings search with tab-match badges; collapsible sections in Audio tab (Ambient, Timer, Soundboard, Voice); sound preference confirmation modal on room join.
5/17/2026 (59)
๐๏ธ Seasons polish: 20+ animations promoted to fully configurable runners (direction, size, duration, motion style). Motion Style dropdown replaces Wave toggle โ choose from none/wave/bounce/hop/spin/run/wobble/zigzag. Per-animation ๐งช test buttons. Star Wars Day crawl animation added. Active season status bar. Next-occurrence dates on each season row. Frequency sliders for animation timing. Export/Import config as JSON.
5/17/2026 (58)
๐๏ธ New Visual settings tab โ card font size and compact mode moved here from Theme; live preview of participant badge and vote card; "How confident are you?" prompt can now be toggled off.
5/17/2026 (57)
๐ Emoji picker โ click the picker button (๐) next to any emoji input to browse by category, search, and insert. Opens on confetti emoji field; reusable for all emoji inputs.
5/17/2026 (56)
โ๏ธ Sidebar resize โ drag the right edge of the Stories panel to set a custom width (min 180 px, max 40% viewport). Width is saved and restored across sessions.
๐ Story titles now show a tooltip with the full text when the sidebar is too narrow to display them completely.
5/17/2026 (55)
๐๏ธ Events sections now collapse โ Confetti, Fireworks, Balloons, Discussion Timer, Shame Spotlight, Counter-Spell, and Avatar Battle each have a collapsible header in the Events settings tab.
5/17/2026 (54)
โจ UI Polish โ story notes now appear below the story title instead of far right; Accept button shows "Override to X" when you type a custom value; Card Backs renamed to Participant Card Backs; Fall/Autumn label updated; Voice recognition moved to the Audio tab; hover tooltips added to story action buttons and navbar controls.
5/17/2026 (53)
๐ Floor is Lava test โ now previews the current color and countdown duration from the settings form, even before saving.
5/17/2026 (52)
๐ Floor is Lava test fix โ the Stop button now works correctly; previously every click restarted lava instead of stopping it because the internal cleanup ran before the active flag was set.
5/17/2026 (51)
๐ฆ Ocean Week fix โ shark now swims left-to-right facing the correct direction, and is fully configurable (direction, size, speed) like other runner animations.
5/17/2026 (50)
๐ Session awards fix โ your name no longer shows as "Unknown" in the Hall of Fame. Falls back to your stored display name when the participant record has an empty name field.
5/17/2026 (49)
๐ค Voice recognition fix โ prevents InvalidStateError when the phrase changes mid-session; restart loop is now guarded against double-start. Click the ๐ค badge in the navbar to stop voice recognition at any time.
5/16/2026 (48)
๐๏ธ Compact participant cards โ toggle in Theme โ Cards shrinks badges to minimal size (56px wide, 22px avatars). Good for large teams on smaller screens.
5/16/2026 (47)
๐ก Card font size slider โ resize the number shown on voting cards (0.7โ2.0 rem). Find it in Theme โ Cards. Changes are live and persisted.
5/16/2026 (46)
๐ Card flip gap slider โ control how fast cards flip during the Poker Hand Reveal (100โ1000 ms, default 380 ms). Find it in Events under Poker Hand Reveal.
5/16/2026 (45)
๐ New Audio tab โ Ambient Audio, Timer Audio, and Soundboard are now in their own Audio tab (was: Events). A master "๐ Mute all sounds" toggle at the top overrides all sound settings at once. โ๏ธ New Other tab โ Voice-Activated Reveal and Mobile animations moved here, plus an App Install shortcut. On room join, a one-time banner asks your sound preference if sounds are configured.
5/16/2026 (44)
๐ Floor is Lava test button now toggles to "โน Stop" while the animation is running โ click it again to end the test early. ๐ก Decider Wheel now works from settings on any page โ the test opens the wheel with 5 random demo participants so you can spin without needing a live room.
5/16/2026 (43)
๐งช Test buttons now work from any page โ all setting tests show a self-contained floating preview above the modal instead of touching the room screen. Card Reveal Particles confetti now renders above the modal (z-index fix).
5/16/2026 (42)
๐งช Test improvements โ slot machine reveal now has a ๐งช Test button that runs the cycling animation on real badges (or demo badges if alone); team temperature and vote distribution meters now float above the settings modal in test mode; card reveal particles settings show a hoverable ๐ preview card; analytics test modal now shows 5 varied rounds with bingo triggers and a 2-round streak.
5/16/2026 (41)
๐ฑ Mobile nav simplified โ removed Stories, Vote, and Chat buttons from the mobile bottom nav (chat was unreliable on mobile; stories and vote are always accessible on screen). Stories panel now always stays open on desktop; close button only appears on mobile. PWA install banner no longer suppressed (browser's native banner is shown). Accessibility: Settings modal now properly blurs focus before closing so the aria-hidden warning is resolved.
5/16/2026 (40)
๐ Seasonal animation respects per-animation toggles โ disabled animations are now skipped when the scheduler fires, not just when each function runs. The โ๏ธ config button per season controls which animations are active.
5/16/2026 (39)
๐พ Room Persistence โ rooms now survive server restarts. State is saved to a JSON file per room and automatically deleted after 7 days of inactivity. No database required.
5/16/2026 (38)
๐ฑ Mobile Layout โ on screens โค 600px: vote cards become a 4-per-row grid with large tap targets, the stories panel slides up as a bottom sheet, and participants arrange in a 2-column grid. Heavy animations are off by default on mobile (toggle in Events settings).
5/16/2026 (37)
๐ Jira Polish โ imported stories now show a colour-coded issue type chip (Story, Bug, Task, Spikeโฆ), a description tooltip on hover, and an โ link that opens the issue in Jira. The JQL box pre-fills from saved settings when you expand the import panel.
5/16/2026 (36)
๐ค Jira Write-back โ click โ Accept in the stats bar to lock in an estimate and write it back to the Jira issue automatically. Non-numeric estimates (?, โ) are skipped. Configure the Story Points field ID in Settings โ Jira. Status icon (โ /โ) shows on the story row.
5/16/2026 (35)
๐ Story Notes โ click the ๐ button on any story to add a note. Notes appear as a preview under the story and as a banner below the current story title. Notes sync across all participants.
5/16/2026 (34)
๐ Room PIN โ optionally protect your room with a PIN. Click the ๐ PIN button to set or clear it. Anyone joining will be prompted to enter it. A lock badge appears next to the story title when active.
5/16/2026 (33)
๐ต Timer Audio โ choose a countdown soundtrack: Jeopardy think-music, Jaws tension riff, ticking clock, or upload your own (โค10s / 800KB). Set which final seconds trigger it. All built-ins are synthesized โ no downloads needed. Configure in Events โ Timer Audio.
5/16/2026 (32)
๐ฅ๏ธ Presentation Mode โ press F to go full-screen and hide all UI chrome, showing only participants and the current story. Press again or Esc to exit.
โจ๏ธ Expanded shortcuts โ Enter also reveals, N focuses the story input, ? opens shortcut help, 0 selects โ card.
๐ท๏ธ Browser tab title updates to the active story name (with Jira key if set).
5/16/2026 (31)
๐ Sprint Dashboard โ a running story-points total and live sparkline appear below the stories list as you complete estimates. Cross-session velocity history (last 20 sessions) shows as a dashed trend line.
5/16/2026 (30)
๐ Card Back Designs โ choose how voted (face-down) badges look: Baize (green felt), Deep Space, Retro Diamonds, or Seasonal (auto-adapts by time of year). Pick in Theme โ Card Backs. Card flip reveal upgraded with perspective for a true 3D feel.
5/16/2026 (29)
๐ฐ Suspense Reveal โ votes now cycle through random numbers like a slot machine before landing on the real value. Outlier card reveals last for drama. Toggle speed (Fast/Normal/Dramatic) or turn off in Events settings.
โจ Consensus Supernova โ 100% consensus triggers a full-screen radial burst with a chime. Toggle in Events settings under Poker Hand Reveal.
5/16/2026 (28)
๐ Jira integration โ import backlog stories directly from Jira Cloud using JQL. Configure domain, email & API token in Settings โ Jira tab, then use the "๐ Import from Jiraโฆ" section in the Stories panel.
5/16/2026 (27)
๐ก Decider Wheel test button โ the Decider Wheel now has a ๐งช Test button in Events settings so you can preview the canvas spinner without being in a room.
5/15/2026 (20)
โญ Confidence Indicator โ after you cast a vote, a 1โ5 star confidence selector appears below the voting cards. Your rating is revealed alongside your vote when the host reveals. Confidence is shown as โ โ โ โโ on each participant badge after reveal.
5/15/2026 (19)
๐ Soundboard โ four synthesized sounds (๐ Bell, ๐ Fanfare, ๐ฅ Drumroll, ๐ฏ Air Horn) in the Controls panel. Check "Broadcast to room" to play sounds for all participants simultaneously.
5/15/2026 (18)
๐ Session Analytics โ after 2+ rounds a ๐ Analytics button appears beside ๐ Awards. Shows rounds played, consensus rate, best streak, estimated story points, a velocity sparkline across sessions, and a session bingo card.
5/15/2026 (17)
๐ต Ambient Audio โ optional background sounds (Lo-Fi, Rain, Cafรฉ) playable during sessions. Local to each user, no broadcast. Configure in Events settings. Saves and auto-resumes on page load.
5/15/2026 (16)
๐บ CRT Theme โ new 13th base theme. Green phosphor text on near-black background with a scanline overlay. Monospace font throughout. Select "CRT" in the theme dropdown.
5/16/2026 (26)
๐ Sound receive toggle โ uncheck "Receive broadcast sounds" in Events โ Soundboard to mute other players' sounds. Enable "Show subtitle banner" to see a toast instead (e.g. "๐ Alice played Bell").
๐ต Custom sounds โ upload up to 3 short audio clips (max 5s / ~600KB). Play them locally or broadcast to the whole room via the ๐ก button. Custom sounds are stored in your browser.
5/16/2026 (24)
โจ Card Reveal Particles โ each card now emits a small burst of particles when it flips during Poker Hand Reveal. Toggle off or adjust shape (star/circle/square) and count in Events settings.
5/16/2026 (23)
โ๏ธ Per-animation seasonal config โ each season in the Seasons tab now has a โ๏ธ button. Tap it to enable/disable individual animations, or tweak emoji, direction, size, speed and intensity for that season.
5/15/2026 (22)
โ๏ธ Settings gear on lobby โ tap the โ๏ธ button on the join screen to configure events, voice, and seasonal settings before entering a room.
๐๏ธ New reveal toggles โ Speed Badges, Team Temperature, and Vote Distribution can now each be turned off individually in Events settings, with test buttons.
๐งช More test buttons โ Confidence Indicator, Soundboard, Team Temperature, Vote Distribution, Speed Badges, and Session Analytics all now have test buttons in Events settings.
5/15/2026 (21)
๐ค Voice mic indicator โ pulsing bars now visible inside the Events settings modal (in addition to the navbar) so you can confirm voice recognition is active while settings are open.
๐งช Test button fixes โ all test buttons now render their effects above the settings modal. Counter-spell test now shows the floating retaliation bar. Poker Hand Reveal now has a test button.
5/15/2026 (15)
๐ก Decider Wheel โ opens a canvas spinner with all active participants. Click Spin to pick who goes first. Button in Controls panel.
๐ Poker Hand Reveal โ votes are now revealed one card at a time with a 380ms gap and a flip animation. Toggle off in Events settings if you prefer instant reveal.
5/15/2026 (14)
โก Speed badges โ after reveal, the first person to vote earns a โก badge and the last earns a ๐ข badge (only shown when more than one person voted).
๐ก๏ธ Team temperature โ after 2+ rounds, the stats bar shows whether the team is ๐ฅ ON FIRE (all recent rounds consensus), โ๏ธ ICY (none), or ๐ก๏ธ WARMING UP (mixed), based on the last 3 rounds.
5/15/2026 (13)
๐ Vote distribution bar โ after reveal, a colour-coded horizontal bar chart appears in the stats bar showing how votes are spread across all values. Proportional segments, labelled by value, hides on reset.
5/15/2026 (12)
๐ Card flip reveal โ participant badges now animate with a 3D Y-axis flip when votes are revealed.
5/15/2026 (11)
โจ Visual polish โ participant badges glow gold during an active consensus streak (โฅ3). Casting a vote triggers a small confetti burst from that player's badge. Clicking a vibe emoji floats it upward from the button.
5/15/2026 (10)
๐ Spring rabbit direction fix โ the bunny now hops from right to left, matching its facing direction.
5/15/2026 (6)
10 new US Federal Holidays โ MLK Day, Presidents' Day, Memorial Day, Juneteenth, Labor Day, Indigenous Peoples' Day, and Veterans Day each have unique animations and are toggleable in the Seasons tab. Veterans Day (Nov 11) takes priority over UK Remembrance Day when enabled.
๐ 3 new family holidays โ Mothering Sunday (UK, Easter โ21 days), Mother's Day (US, 2nd Sun May), Father's Day (US, 3rd Sun Jun), each with flower/celebration animations.
Independence Day moved to the new USA Federal Holidays section in the Seasons tab; July 4th animations now show fireworks ๐, flag parade , and soaring eagle ๐ฆ .
๐๏ธ New Seasons tab in Settings โ all 49 seasonal events in a clean list with date ranges, enable/disable toggles, and per-event test buttons grouped by category (Seasons, Major Holidays, US Federal, Family, British, Global & Cultural, Niche / Pop Culture).
5/15/2026 (4)
๐ช Lone Wolf Counter-Spell โ after a non-consensus reveal, the outlier voter sees a ๐ Cast Spell button. Clicking it overlays all other participants with a bouncing chicken for a configurable duration (default 4s). Once per session. Enable/configure in Events settings.
5/15/2026 (3)
๐ป Ghost Mode โ any participant can toggle ghost mode; latecomers who join mid-vote are marked as ghosts (watch only). A Teams-style info bar notifies all participants when the mode changes. Toggle button in room controls.
โ Discussion Timer โ after a non-consensus reveal, an optional countdown banner gives the team time to discuss before ๐ Floor is Lava kicks in. Configurable duration in Events settings.
๐ค Voice-Activated Reveal โ say a configurable trigger phrase (default: "reveal") to reveal votes hands-free. A ๐ค Listening badge appears in the navbar while active. Configurable phrase and language in Events settings. Works in Chrome/Edge.
5/15/2026 (2)
๐ Spring rabbit now hops in the correct direction.
โถ Per-season test buttons โ click โถ next to any of the 39 seasonal events in settings to preview its animation immediately.
๐ฏ Shame Spotlight settings now show a live inline preview of the badge glow and toast as you adjust the colour and message.
๐ Feature Plan 3.0 reorganised โ v2.0 remaining features moved into the v3 pipeline; #17โ20 formally marked Will Not Do.
5/15/2026
๐๏ธ Seasonal expansion โ 39 events now supported (was 8). New events include Lunar New Year, Diwali, Pi Day, Star Wars Day, Pride, Bonfire Night, Oktoberfest, Space Week, and more. Priority resolver picks the most specific active event when dates overlap. Settings panel reorganised into 5 groups (Seasons, Major Holidays, British, Global & Cultural, Niche / Pop Culture) with โ All / โ None quick-toggles.
๐งช Individual test buttons for every celebration effect โ Confetti, Fireworks, Balloons, Streak, Floor is Lava, Shame Spotlight, Avatar Battle, and Seasonal Animation each have their own ๐งช Test button in the Events settings tab.
๐ Celebration tab renamed to Events.
๐ Floor is Lava: configurable countdown duration and lava color (Events tab โ ๐ sub-panel). Lava glow now respects your chosen color across all themes.
๐๏ธ Seasonal Theme: per-season enable/disable toggles (Halloween, Christmas, New Year, Valentine's, Spring, Summer, Autumn, Thanksgiving) in the Events tab.
๐จ Event colors in Theme editor โ Lava primary, Lava secondary, and Shame spotlight are now proper CSS variables available in both the Theme editor and Events tab.
๐ค RoboHash sets 3 (Robot Heads), 4 (Cats), and 5 (Humans) disabled โ these returned blank images for many seeds. Robots and Monsters remain. Saved preferences auto-migrate.
๐ Floor is Lava โ when there's an outlier after reveal, their badge glows red and a 30-second countdown banner appears. When time runs out, a lava confetti burst fires. Toggle in Events settings.
๐ก๏ธ Anonymous Vibe Check โ before voting, teammates can react with ๐๐ฑ๐ด๐ค๐ช๐คท. Counts shown live; no names attached. Resets with votes.
๐จ DiceBear background color โ optional color picker inside the DiceBear avatar panel; color baked into the preview and synced to the room.
๐๏ธ Seasonal Theme โ when enabled, celebrations auto-use seasonal confetti colors and emojis (Halloween, Christmas, Spring, Summer, etc.). Toggle in Celebration settings.
๐ Session Awards โ after 2+ rounds a trophy button appears in Vote History. Click it to see four personality awards: The Anchor, The Lone Wolf, The Dreamer, and The Pragmatist.
๐ฅ Streak Bonus โ consecutive consensus votes trigger an escalating celebration (Triple Consensus โ Godlike!) with a golden toast and enhanced confetti/fireworks burst. Toggle in Celebration settings.
๐ฆ Open Source Credits โ full attributions added to the About tab and OPEN-SOURCE-CREDITS.txt.
โ๏ธ Avatar Battle Arena โ animated fighter duel plays after votes are revealed. Each fighter wields a weapon scaled to their vote (dagger โ broadsword โ warhammer โ trident โ infinity gauntlet).
Battle settings in Celebration tab โ toggle on/off, adjust speed (slow/normal/fast), and choose when battles fire (outlier only or every reveal).
Avatar picker: ๐ฒ Randomize button generates a fun random seed for quick browsing.
Shame spotlight settings: toggle the outlier highlight on/off, pick a custom color, and customize the toast message โ in the Celebration tab.
Avatar: Upload a custom photo โ auto-cropped and resized.
5/14/2026
Participant avatars โ colored initials circles appear next to every participant's name.
Avatar ring states โ voted (solid outline), not voted (dimmed), observer (dashed), you (highlighted).
Avatar picker in Profile settings โ choose Initials, DiceBear illustrated styles, RoboHash (robots/monsters/cats), or your Social profile photo.
Avatar changes sync in real time to all participants in the room.
Shame spotlight โ after votes are revealed, the lone outlier's badge is highlighted with an animation.
4/27/2026
Unified โ๏ธ Settings modal โ Theme, Celebration, Profile, and About all in one place.
Custom theme editor always available โ customize from any theme, not just custom ones.
Vote history shown after each round (below participants).
Story import: paste a list of stories to add them all at once.
Skip vote (๐ซ) card option added to room controls.
Profile tab: change your name and observer mode directly from Settings.
Keyboard shortcut: number keys 1โ9 to quickly select a vote card.
4/27/2026
Unselecting your vote now resets it for you (no more stuck votes).
Participant badges now show correctly cleared/voted state for all users including yourself.
Confirmation dialogs added for estimate set changes and vote resets.
Participant badge border width and voted color now fully respond to the custom theme settings.
Custom theme editor completely redesigned โ grouped sections, collapsible, with a live side preview.
Theme editor now exposes all color and style variables.
3/4/2026
๐ Consensus now triggers a full celebration โ confetti, fireworks, and balloons!
All celebration effects are independently toggleable and fully configurable.
Connect to Jira Cloud to import backlog items as stories. Credentials are stored in your browser only and never saved on the server.
e.g. myteam.atlassian.net โ no https://
Import imports up to 50 issues.
Classic: customfield_10016 ยท Next-gen: customfield_10028. Find it in Project Settings โ Fields.
โจ๏ธ Keyboard Shortcuts โพ
1โ9 select nth card ยท
C โ ยท Q ? ยท โ skip vote ยท
,/โ prev ยท ./โ next ยท
Space/Enter reveal ยท
R reset ยท F fullscreen
๐ฌ Emoji Reactions โพ
Reaction palette (up to 8, space-separated):
Click a reaction during estimation to broadcast it โ floats up from your participant badge. Rate-limited to 1 per 2 seconds.
โฑ๏ธ Timer & Clock
โฑ 02:45
Mode
Hour
Min
Sec
Preview:๐
๐ฑ Mobile
๐ช Panels
Use the dropdown next to each panel below to move it to any zone, float it, or hide it. โบ resets a single panel. The preview diagram shows the current layout at a glance โ click any panel chip to jump to its row.
Presets:
๐ฒ App Install
Add Estimation Station to your home screen for a full-screen, offline-capable experience.
Button only appears when your browser supports installation.
Room Scene settings (table, chairs, window view, furniture, walk controls, and more) now live in the Room Designer โ a side panel that stays open next to the live 3D room while you tweak it.
๐ Room Designer
Configure the ๐ Room Scene. Switch between 2D and 3D views with the buttons in the Room Scene panel header โ these settings apply to every view that supports them.
๐ฅ Room โ everyone sees these
Changes here update the room for every participant.
๐ฏ Quick presets โพ
๐จ Appearance & layout โพ
Images up to 5 MB, MP4/WebM video up to 15 MB
In every mode: drag empty space to orbit the camera, and Shift+drag always orbits. When an item is selected, Delete removes it and Esc deselects.
๐ชด Features & furniture โพ
๐ท๏ธ Room icon (host only)โพ
Give this room a visual identity โ shown in the navbar and browser tab for everyone.
๐ค My view & controls
๐ฅ๏ธ View & interaction โพ
๐ค My avatar (3D room)โพ
Changes your robot's look for everyone in the room.
๐ถ Walk controls (3D room)โพ
In 3D, click ๐ถ Walk (or press its key) to walk around. Move with the arrow keys, Alt to jump, Ctrl to crouch, E facing a chair to sit / furniture to grab, V to swap first/third person. Drag to look around. Esc to exit. To rebind, click an action then press the new key.
โ๏ธ
Battle
VS
Winner!
๐ Session Awards
๐ Session Analytics
โ๏ธ Season Config
๐ก The Decider
๐ Sound Preferences
Sounds are configured for this room. How would you like to hear them this session?