Tags: martysama0134/m2ui-skill
Tags
v2.10.0 Phase B: anchors 17-23 (search-filter, mailbox two-pane, daily-reward grid, leaderboard table, wheel-roulette, compare-tooltip, auto-hide chrome) + anchor 13 variation 6 (multi-input combination) + new reference timer-patterns.md (OnUpdate idiom catalog) + atlas entries 22-28 + reviewer audit category 9 v2 + tests/test-similarity-scan.sh.
v2.9.0 **16 anchors** (up from 6), grouped by 2-step decision tree: **Primary archetypes (Step 1 - pick one):** 01-simple-dialog, 02-board-with-list, 03-list-selector, 04-9slice-panel, 06-tooltip-bound, 07-shop-exchange, 08-inventory-equipment, 09-options-settings, 10-paginated-slot-grid, 11-quest-npc-dialog, 12-storage-warehouse, 13-craft-refine-window **Augmentors (Step 2 - pick zero or more):** 05-feature-gated, 14-drag-and-drop, 15-network-coupled-flow, 16-tabbed-content - skills/m2ui/reference/integration.md - canonical interfacemodule.py integration template - SlotWindow vs GridSlotWindow - EditLine IME composition (OnIMEUpdate vs OnIMEReturn, focus loss, maxlen-under-IME) - AniImage frame timing (SetDelay ms units) - Color hex format 0xAARRGGBB (foot-gun: web-style 0xRRGGBBAA flips channels) - InsertChild vs SetParent - SetTop + "float" flag interaction New entries 15-21: - Window position not persisted across login - Drag stops mid-op when source slot hides - ItemTooltip references wrong item after rebind - EditLine maxlen ignored under IME composition - Grid slot click selects wrong cell (off-by-one) - Sound on button never plays - ARGB/RGBA channel swap Plus a debug-snippets appendix (temp not_pick removal, expanded_image rect borders, dbg.TraceError walk-up). - New audit category: augmentor under-loading detection - New tests/test-decision-tree.sh: tree shape + augmentor body declarations + strict mirror-list comparison across SKILL.md / anchors/README.md / rules/m2ui-activate.md - Anchor 02 Pattern B violation on SlotWindow.Set*ItemEvent setters fixed (downgraded to Pattern C proxy lambda) - ASCII em-dashes inside Python code comments scrubbed across new anchors
v2.8.0 - **Critical Rule 19** + Pre-Emit item 19: verify a receiver's setter accepts `*args` before applying Pattern B / Pattern E with extra args. If it does not, augment `ui.py` (preferred) or fall back to Pattern C (proxy lambda). - **NEW reference** `skills/m2ui/reference/framework-augmentations.md` — covers two framework augmentations: - **Setter `*args`** — three-piece template (init, setter, dispatch) with per-setter dispatch table for `EditLine` and `SlotWindow`. Preserves native dispatch args + appends stored. - **`__mem_func__` idempotency** — single early-return at top of `__init__` reuses inner `.call` when input is already wrapped. Kills the "AttributeError: __mem_func__ instance has no attribute 'im_func'" double-wrap crash. - **diagnose.md** — new "Callback Binding Crashes (Critical)" section flags Pattern B applied to 1-arg setters as a runtime `TypeError` source. - **patterns.md / event-binding.md** — extra-args examples rewritten so they no longer teach the bug. - **rules/m2ui-activate.md** — slim mirrors for IDE rule files. - **tests/test-mode-dispatch.sh** — `EXTREMELY-IMPORTANT` count bumped 8 → 10. Both augmentations applied to a real fork's `ui.py` end-to-end: 11 setters augmented; 15+ Pattern B sites that previously crashed now run; 8+ pre-existing 1-arg call sites still work (backwards-compat verified); double-wrap passthrough no longer crashes.
v2.7.0 - **`/m2ui` slash command** — discoverable via `/help`, delegates to the m2ui skill (PR #13). - **README**: dual invocation paths documented (slash + natural language) + Notes section (restart, scope, subagent). - **CI hardening**: pre-sync structural-test gate in `sync-skill.yml`; Codex marketplace descriptor (`.agents/plugins/marketplace.json`) emitted on every sync. - **Release workflow**: new `release.yml` with `workflow_dispatch` — manifest bump + atomic main+tag push + GitHub Release. (This release is the first run.) Both Codex-flagged hardenings applied: env-passed inputs (no shell injection); `git push --atomic origin main vX.Y.Z` (no race).
v2.6.0: preserve Destroy bodies + ASCII-only emission rules - Critical Rule 17 + Pre-Emit item 17: preserve existing Destroy bodies when adding @ui.WindowDestroy - Critical Rule 18 + Pre-Emit item 18: ASCII-only when emitting new code/comments - patterns.md Section 5.11 with WOC-aware guard pattern - diagnose.md Step 4 warning against body-stripping - Mirrored to rules/m2ui-activate.md for IDE rule files
PreviousNext