Skip to content

Playmark 0.5.0

Latest

Choose a tag to compare

@github-actions github-actions released this 14 Oct 11:15
· 1 commit to main since this release
6dc9a2f
  • Engines: Godot and Unity, now also Cocos Creator and three.js (both beta, by Shahar Bar). Agents: Claude Code, now also Codex (by Sam).
  • Codex. The plugin installs in Codex (codex plugin marketplace add barmoshe/playmark, then codex plugin add playmark@playmark), with the same skill and helpers as Claude Code: install, triage, resolve, start a new game. Thanks to SJ for the first version (#1). Tested end to end with codex exec on a Godot game.
  • Cocos Creator (beta). cocos/playmark/playmark.ts, one script that starts by itself in debug web builds and the browser preview of Cocos Creator 3.8+: Ctrl+Shift+M (three fingers on a phone) freezes the game into a DOM overlay with pins, boxes, categories, a note and a 5 s rewind; each mark lists the 2D/UI nodes and 3D renderers under it. A browser can't write files, so scripts/sink.mjs (local only, Node built-ins) receives each mark and writes the same .playmark/ folder; toasts, ghosts and automatic error marks work as in the other engines. /playmark:install detects a Cocos project. warp and smoke say they aren't available for Cocos yet. Release builds keep a 0.7 KB stub that never starts. Checked with 3.8.8 web-mobile builds in Chrome on Windows; see cocos/README.md.
  • three.js (beta). three/playmark.js, one ES module with no dependency but the game's three. The game calls Playmark.attach({ renderer, scene, camera }) in development; the same overlay, clip, toasts, ghosts and automatic error marks as Cocos, through the same sink. Pins are raycast against the scene, boxes list objects whose bounds center is inside; each mark names the objects, their material, geometry and userData keys. It freezes the game through onPause/onResume or by stopping a setAnimationLoop loop, and says so when it can't. /playmark:install detects a package.json that depends on three. warp and smoke say they aren't available yet. Checked with r170 in Chromium on Windows on a demo scene; see three/README.md.
  • Cocos: test on your phone. sink.mjs --lan serves the debug web build to the Wi-Fi as well, prints its URL with a session token and a QR code, and refuses any other device without the token (status and the game files included). Requests from the PC itself keep the localhost rules. The page talks to the sink on its own origin, shows a MARK button next to the three-finger tap, and the overlay fits a portrait phone (44 px buttons, 16 px note, follows the soft keyboard). Marks land in the same .playmark/inbox, and "Fixed #N" reaches the phone. Node built-ins only; the QR encoder is scripts/qr.mjs.
  • Approve or reopen a fix from the game (Cocos). Tap a fixed ghost: Approve hides it for good (approved), Still broken sends the mark back to the inbox with the fix that did not hold (reopened[]). An open mark can be dismissed from its card. On a phone, hold MARK to show or hide ghosts; switched off, they stay off on that device. The sink takes POST /playmark/marks/<id>/verdict.
  • One skill for both agents: install, triage and new-game flows live in skills/playmark/SKILL.md; the Claude Code commands point to it.
  • inbox.mjs export [--all]: one HTML page with every mark (frame, note, code under each pin, clip, log), images inside. Playmark without any agent: install, play, mark, export, share.
  • New games get an AGENTS.md (Codex and most agents read it) and a CLAUDE.md that imports it.
  • Godot: a game never opened in the editor no longer gets two automatic bug marks for the addon's fonts on first run. Found by Codex during testing.
  • Submitted to Anthropic's plugin directory (in review). To pass its checks: no .gitattributes export-ignore (the release's addon-only zip is built from named paths instead), a plugin icon, homepage, documentation, support and privacy links in plugin.json, and a PRIVACY.md (Playmark collects nothing).
  • The finished showcase videos live on the site, not in the repo: every install downloads about 37 MB instead of 58.
  • Docs: the README, the Unity README (screenshots, a tested table) and the skill cover Godot, Unity, Claude Code, Codex and no agent.
  • Review fixes for Cocos, phone mode and three.js (PRs #7-#9 by Shahar Bar, merged with fixes): ?playmark_sink= only points at this machine; a page can't forge a mark's verdict or fix fields; no dismiss while the agent is working; status polling survives a bad reply; early errors become marks once the sink answers; keyups reach the game. Phone mode: the token leaves the page address at once, no referrer, the sink only answers its own page, cross-site script loads and Windows short-name paths refused. three.js: an engine project wins over a three.js package.json above it; nothing is listed under a mark when the game kept running (frozen: false); Playmark.detach() and re-attaching a new renderer; clicks on the overlay stay out of the game.

Install in Claude Code: /plugin marketplace add barmoshe/playmark, /plugin install playmark@playmark, then /playmark:install in your game. In Codex: codex plugin marketplace add barmoshe/playmark, codex plugin add playmark@playmark.