Skip to content

Tags: martysama0134/m2ui-skill

Tags

v2.15.0

Toggle v2.15.0's commit message
v2.15.0 — skill distillation

SKILL.md 2677 -> 1462 words; modes deduped against SKILL.md;
anchor tables single-sourced in anchors/README.md; tests gain
word budget + exact anchor-ref + augmentor-presence checks.

v2.14.0

Toggle v2.14.0's commit message
chore: bump version to 2.14.0

v2.13.0

Toggle v2.13.0's commit message
chore: bump version to 2.13.0

v2.12.0

Toggle v2.12.0's commit message
chore: bump version to 2.12.0

v2.11.0

Toggle v2.11.0's commit message
v2.11.0

Phase C: anchors 24-page-history-browser + 25-expandable-tree-list + failure-atlas entry 29 (history-navigation-leaks-hidden-pages) + reviewer audit cat 9 v3.

v2.10.0

Toggle v2.10.0's commit message
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

Toggle v2.9.0's commit message
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

Toggle v2.8.0's commit message
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

Toggle v2.7.0's commit message
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

Toggle v2.6.0's commit message
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