greenflame089 fe0e8b9c7f
All checks were successful
CI (no marketplace actions, fixed) / build-and-test (push) Successful in 1m58s
chore: bump version to 2.4.0
Release 2.4.0: Replay respects filters, Pause + History scrubber, paused filter updates, and persistent replay speed. Update changelog.
2025-09-08 02:31:27 -04:00
2025-08-15 18:23:13 -04:00
2025-08-13 01:06:28 -04:00
2025-08-13 01:06:28 -04:00
2025-08-15 23:41:47 -04:00
2025-09-08 02:31:27 -04:00
2025-08-16 06:34:01 -04:00
2025-08-15 17:53:47 -04:00
2025-08-13 01:06:28 -04:00
2025-08-13 01:06:28 -04:00
2025-08-15 17:53:47 -04:00
2025-08-13 01:06:28 -04:00
2025-08-13 01:06:28 -04:00
2025-09-08 02:31:27 -04:00
2025-09-08 02:31:27 -04:00
2025-08-16 06:34:01 -04:00
2025-08-16 06:34:01 -04:00
2025-08-16 02:52:30 -04:00
2025-08-16 06:34:01 -04:00
2025-08-13 01:06:28 -04:00
2025-08-13 01:06:28 -04:00
2025-08-16 06:34:01 -04:00
2025-08-16 06:34:01 -04:00

QPlace

A lightweight, r/placestyle collaborative pixel board focused on simplicity, responsiveness, and accessibility.

Getting started

pnpm install
pnpm dev

Run tests (JSDOM + Vitest + Testing Library):

pnpm test

Build:

pnpm build

Controls & Shortcuts

  • Zoom: mouse wheel around the pointer, or press + / -.
  • Reset: press 0 to reset zoom and recenter.
  • Pan: hold Space and drag.
  • Place: toggle Place in the header, then click to queue a pixel (see Pending).
  • Zoom popover: click the Zoom readout for Fit, 100%, custom percent, and Crisp toggle.
  • Copy: copy the visible canvas as PNG. Choose 1× / 2× / 4× to avoid tiny pastes. Hidden artists stay hidden.

Accessibility

  • Stable accessible names; all controls keyboard-reachable with visible focus.
  • Place toggle uses aria-pressed. Pending uses a polite live region and only announces when > 0.
  • Zoom change announcements are throttled to integer percent changes.

Project structure

  • src/componentsPixelCanvas, HeaderBar, ArtistsPanel.
  • src/contentHowTo.tsx, ChangeLog.tsx.
  • tests — small, focused tests; JSDOM and a minimal canvas mock (tests/tests-canvas-mock.ts).
  • vite.config.ts / vitest.config.ts — aligned aliases and ESM handling.

Release notes

See HowTo → Change log in the app, or src/content/ChangeLog.tsx.

Description
No description provided
Readme 2.3 MiB
2025-09-08 06:32:56 +00:00
Languages
TypeScript 94.3%
Shell 2.2%
JavaScript 2.1%
CSS 1.2%
HTML 0.2%