mirror of
https://github.com/nexu-io/open-design.git
synced 2026-10-27 09:51:12 +01:00
* add social-media-matrix-tracker template skill Package a new template-mode live-artifacts skill for a cinematic social media matrix dashboard, including a default example and reusable template seed. Co-authored-by: Cursor <cursoragent@cursor.com> * fix(skill): unblock CI for social-media-matrix-tracker-template - Add skill id to DE/FR/RU EN-fallback skill lists in content.{ts,fr.ts,ru.ts} to satisfy localized-content.test.ts coverage assertion (Validate workspace CI). - Expand SKILL.md triggers with social analytics / content performance / TikTok / Instagram / YouTube + 中文 关键词 (新媒体 / 数据看板 / 抖音 / 小红书) per reviewer feedback (lefarcen P2#7). Addresses merge-blocking CI failure flagged by @mrcfps and the discoverability gap flagged by @lefarcen. Other code-level findings (chart precision, drag overlay, tooltip clipping, touch input) will be addressed in follow-up commits. * fix(i18n): add Indonesian translations for Cloudflare Pages deploy keys Adds 18 fileViewer.* keys for Cloudflare Pages deploy support that were introduced on main but never localized to id.ts, blocking typecheck for any branch synced with main. Translations cover: deploy provider selection (Vercel/Cloudflare Pages), Cloudflare API token + Account ID inputs, generic provider deploy/error messaging. * fix(skill): address all P2 reviewer findings on social-media-matrix-tracker-template Code fixes (template.html): - ROI chart redraw now respects per-chart decimals from chartState (was hard-coded 0, lost roiChart precision after first interaction) - Drag overlay state now cleared BEFORE redraw on mouseup, and on mouseleave during drag (was leaving stale overlay until next interaction) - mixChart hover now updates insights focus panel with stack breakdown (was tooltip-only) - sentimentChart hover now updates insights focus panel with sentiment label + share (was tooltip-only) - Tooltip now measures itself + clamps inside viewport with edge-flip (was clipping at right/bottom edges) - Added touchstart/move/end/cancel handlers + keyboard arrow-key navigation + Escape (was mouse-only, unusable on touch devices and keyboards) - drawLineChart guards 0/1-element datasets (renders 'No data' or single labelled dot instead of NaN axis labels / Infinity min-max) Docs (SKILL.md): - Workflow now explicitly mentions tooltip clamping, panel update on every chart type, and touch/keyboard a11y - Added 'Adapting the sample data safely' section with array shape, unit, decimals, and KPI lock-step contract - Output contract now spells out artifact wrapper requirements, identifier convention, no external CDN/fonts, and single-document rule (no parallel index.html) Addresses lefarcen P2 #1-5, P2 #7-10, and P3 #6. * fix(skill): mrcfps round-2 review — fix touch dispatch + sync example.html mrcfps Looper bot 0.6.2 caught two regressions in the round-1 fix push: 1. Touch dispatch threw TypeError: the previous adapter built a real Event then Object.assign-ed clientX/clientY/target onto it. Event.target is a read-only getter, so the assignment threw before the synthetic mousedown ever reached the line chart. Touch support was effectively broken on real devices. Replaced with plain pointer objects passed directly into dedicated handleTouchStart / handleTouchMove / handleTouchEnd handlers (which reuse nearestByMouse, redraw, updateInsights, etc). No more synthetic event dispatch, no read-only field assignment. 2. example.html was untouched in round 1, so the showcase that users open directly still had x+14/y+14 tooltip clipping, no touch support, no decimals state, no overlay-clearing fix, no insights update on mix/sentiment hover, no short-series guard — all the things the reusable template was just fixed for. example.html is identical to template.html except for the JS block (verified via diff of body + data calls), so we copy template.html over example.html so the two stay in lock-step. Future template fixes should mirror by 'cp assets/template.html example.html' until we adopt build-time generation. --------- Co-authored-by: tuolaji <tuola@tuolajideMacBook-Air.local> Co-authored-by: Cursor <cursoragent@cursor.com> Co-authored-by: Tuola-waj <tuola@nexu.io>