mirror of
https://github.com/nexu-io/open-design.git
synced 2026-09-20 06:15:06 +08:00
da7c4ae051
* fix(web): rank Community "Newest" by shipped publishedAt, not local install timestamps
The Community gallery Newest toggle sorted by the installed-record
updatedAt/installedAt. Those are stamped when a machine seeds its own
database, so a fresh install (or an upgrade that re-stamps the catalog)
writes the whole bundled catalog milliseconds apart in folder-walk
order — Newest showed reverse walk order (roughly reverse-alphabetical),
unrelated to publication recency.
Root-cause fix: bundled templates now ship a real publication date.
- packages/contracts: add optional manifest field publishedAt (ISO 8601).
- apps/web sortByNewest: freshness = publishedAt when parseable, else
updatedAt (right signal for user-installed plugins); tie-breaks and
stability unchanged.
- plugins/_official: backfill publishedAt into all 460 bundled manifests
from each folder's first-appearance commit date in upstream git
history.
- e2e: repository-resource guard requiring every bundled manifest to
declare a parseable publishedAt, so the signal cannot silently erode.
- docs: field reference entries in plugins-spec (en + zh-CN).
Issue: https://plane.powerformer.net/open-design/projects/49832a02-3158-4faf-bf2f-d0e39c40c7e6/issues/ca0778af-97f5-4fc0-bc63-739280904979
Generated-By: looper 0.0.0-dev (runner=worker, agent=claude-code)
* worker: 模板用最新筛选,筛选出来的不是最新的
Generated-By: looper 0.0.0-dev (runner=worker, agent=claude-code)
* fix(web): keep shipped appeal order inside same-publishedAt batches
Review follow-up (#5597, nettee): after the freshness tie on an equal
publishedAt, the comparator still consulted local updatedAt/installedAt,
which a fresh install stamps in folder-walk order — so every
same-publication batch (largest: 322 manifests on one catalog date)
re-sorted per machine instead of keeping the shipped visual-appeal
ranking. Same-publishedAt records now preserve their incoming position;
local timestamps break ties only when at least one side has no usable
publishedAt. Adds the requested regression spec pinning
same-publishedAt / different-updatedAt records.
Generated-By: looper 0.0.0-dev (runner=worker, agent=claude-code)
* fix(web): gate publishedAt freshness to bundled records; untrack oversized looper attachment
Review follow-up (#5597, nettee round 2): publishedAt was overriding
updatedAt for every visible plugin, so a user-installed github/local/
marketplace plugin carrying an old manifest publishedAt would be buried
behind bundled templates despite a newer local install. publishedAtMs
now returns null for non-bundled records — "Newest" means install
recency for user installs, catalog publication for bundled ones. Adds
the requested regression (non-bundled, old publishedAt, newer
updatedAt) and clarifies the field docs (en + zh-CN).
CI repair: commit 578f7a9 tracked .looper-attachments/bug13_1.png
(3.8MB bug screenshot), tripping the Static gate 1MiB blob guard and
the Validate workspace aggregate. Untrack it and gitignore
.looper-attachments/ so harness attachments stay out of the repo.
Generated-By: looper 0.0.0-dev (runner=worker, agent=claude-code)
127 lines
11 KiB
JSON
127 lines
11 KiB
JSON
{
|
||
"$schema": "https://open-design.ai/schemas/plugin.v1.json",
|
||
"specVersion": "1.0.0",
|
||
"name": "example-wireframe-annotated",
|
||
"title": "Wireframe Annotated",
|
||
"title_i18n": {
|
||
"zh-CN": "标注线框图",
|
||
"zh-TW": "標註線框圖",
|
||
"ja": "注釈付きワイヤーフレーム",
|
||
"ko": "주석 와이어프레임",
|
||
"de": "Annotiertes Wireframe",
|
||
"fr": "Wireframe Annoté",
|
||
"ru": "Аннотированный вайрфрейм",
|
||
"es": "Wireframe Anotado",
|
||
"pt-BR": "Wireframe Anotado",
|
||
"it": "Wireframe Annotato",
|
||
"vi": "Wireframe Chú Thích",
|
||
"pl": "Wireframe z Adnotacjami",
|
||
"id": "Wireframe Beranotasi",
|
||
"nl": "Geannoteerde Wireframe",
|
||
"ar": "إطار سلكي مشروح",
|
||
"tr": "Açıklamalı Wireframe",
|
||
"uk": "Анотований вайрфрейм",
|
||
"en": "Wireframe Annotated"
|
||
},
|
||
"version": "0.1.0",
|
||
"publishedAt": "2026-06-25T03:56:14Z",
|
||
"description": "An annotated / redline lo-fi wireframe of a desktop landing page — greybox blocks inside a browser frame, numbered annotation pins (①–⑤), and a right-hand spec panel mapping each pin to a short engineering / UX note. Use when the brief asks for \"annotated wireframe\", \"redline\", \"wireframe spec\", \"lo-fi landing\", \"low fidelity\", \"线框图\", or \"标注线框\".",
|
||
"description_i18n": {
|
||
"zh-CN": "桌面落地页的标注/红线低保真线框图——浏览器框架内的灰盒区块、带编号的标注图钉(①–⑤),以及将每个图钉映射到简短工程/UX 说明的右侧规格面板。适用于「标注线框图」「红线」「线框规格」「低保真落地页」「低保真」「线框图」「标注线框」等需求。",
|
||
"zh-TW": "桌面著陸頁的標註/紅線低保真線框圖——瀏覽器框架內的灰盒區塊、帶編號的標註圖釘(①–⑤),以及將每個圖釘對應到簡短工程/UX 說明的右側規格面板。適用於「標註線框圖」「紅線」「線框規格」「低保真著陸頁」「低保真」「線框圖」「標註線框」等需求。",
|
||
"ja": "デスクトップのランディングページの注釈付き/レッドライン・ローファイ・ワイヤーフレーム。ブラウザフレーム内のグレーボックス、番号付きの注釈ピン(①–⑤)、各ピンを短いエンジニアリング/UX 注記に対応させる右側のスペックパネルを収録。「注釈付きワイヤーフレーム」「レッドライン」「ワイヤーフレーム仕様」「ローファイ・ランディング」「ローファイ」などの要件に最適。",
|
||
"ko": "데스크톱 랜딩 페이지의 주석/레드라인 로우파이 와이어프레임. 브라우저 프레임 안의 그레이박스 블록, 번호가 매겨진 주석 핀(①–⑤), 각 핀을 짧은 엔지니어링/UX 노트에 매핑하는 우측 스펙 패널을 포함. '주석 와이어프레임', '레드라인', '와이어프레임 스펙', '로우파이 랜딩', '로우파이' 등의 요구사항에 적합.",
|
||
"de": "Ein annotiertes/Redline-Lo-Fi-Wireframe einer Desktop-Landingpage — Greybox-Blöcke in einem Browser-Rahmen, nummerierte Anmerkungs-Pins (①–⑤) und ein rechtes Spec-Panel, das jeden Pin einer kurzen Engineering-/UX-Notiz zuordnet. Ideal für Anfragen nach annotiertem Wireframe, Redline, Wireframe-Spec, Lo-Fi-Landing oder Low-Fidelity.",
|
||
"fr": "Un wireframe lo-fi annoté/redline d'une page de destination desktop — blocs greybox dans un cadre de navigateur, pins d'annotation numérotés (①–⑤) et un panneau de spécifications à droite reliant chaque pin à une courte note ingénierie/UX. Idéal pour les demandes de wireframe annoté, redline, spec de wireframe, landing lo-fi ou basse fidélité.",
|
||
"ru": "Аннотированный/redline lo-fi вайрфрейм десктопной лендинг-страницы — серые блоки в рамке браузера, пронумерованные пины-аннотации (①–⑤) и правая панель спецификаций, связывающая каждый пин с короткой инженерной/UX-заметкой. Подходит для запросов «аннотированный вайрфрейм», «redline», «спецификация вайрфрейма», «lo-fi лендинг», «низкая детализация».",
|
||
"es": "Un wireframe lo-fi anotado/redline de una página de aterrizaje de escritorio — bloques greybox dentro de un marco de navegador, pines de anotación numerados (①–⑤) y un panel de especificaciones a la derecha que asocia cada pin con una breve nota de ingeniería/UX. Ideal para solicitudes de wireframe anotado, redline, especificación de wireframe, landing lo-fi o baja fidelidad.",
|
||
"pt-BR": "Um wireframe lo-fi anotado/redline de uma página de destino desktop — blocos greybox dentro de um quadro de navegador, pins de anotação numerados (①–⑤) e um painel de especificações à direita que associa cada pin a uma breve nota de engenharia/UX. Ideal para solicitações de wireframe anotado, redline, especificação de wireframe, landing lo-fi ou baixa fidelidade.",
|
||
"it": "Un wireframe lo-fi annotato/redline di una landing page desktop — blocchi greybox dentro una cornice browser, pin di annotazione numerati (①–⑤) e un pannello specifiche a destra che mappa ogni pin a una breve nota di ingegneria/UX. Ideale per richieste di wireframe annotato, redline, specifica di wireframe, landing lo-fi o bassa fedeltà.",
|
||
"vi": "Một wireframe lo-fi có chú thích/redline cho trang đích desktop — các khối greybox trong khung trình duyệt, các pin chú thích đánh số (①–⑤) và bảng đặc tả bên phải ánh xạ mỗi pin tới một ghi chú kỹ thuật/UX ngắn. Phù hợp cho yêu cầu wireframe chú thích, redline, đặc tả wireframe, landing lo-fi hoặc độ chi tiết thấp.",
|
||
"pl": "Adnotowany/redline wireframe lo-fi desktopowej strony docelowej — bloki greybox w ramce przeglądarki, numerowane pinezki adnotacji (①–⑤) oraz prawy panel specyfikacji mapujący każdą pinezkę na krótką notatkę inżynieryjną/UX. Idealny do zapytań o adnotowany wireframe, redline, specyfikację wireframe, landing lo-fi lub niską wierność.",
|
||
"id": "Wireframe lo-fi beranotasi/redline untuk halaman arahan desktop — blok greybox di dalam bingkai browser, pin anotasi bernomor (①–⑤), dan panel spesifikasi di kanan yang memetakan setiap pin ke catatan teknik/UX singkat. Cocok untuk permintaan wireframe beranotasi, redline, spesifikasi wireframe, landing lo-fi, atau fidelitas rendah.",
|
||
"nl": "Een geannoteerde/redline lo-fi wireframe van een desktop-landingspagina — greybox-blokken in een browserframe, genummerde annotatiepins (①–⑤) en een spec-paneel rechts dat elke pin koppelt aan een korte engineering-/UX-notitie. Ideaal voor verzoeken naar geannoteerde wireframe, redline, wireframe-spec, lo-fi landing of lage detaillering.",
|
||
"ar": "إطار سلكي منخفض الدقة مشروح/خط أحمر لصفحة هبوط على سطح المكتب — كتل رمادية داخل إطار متصفح، ودبابيس تعليق مرقمة (①–⑤)، ولوحة مواصفات على اليمين تربط كل دبوس بملاحظة هندسية/تجربة مستخدم قصيرة. مثالي لطلبات الإطار السلكي المشروح أو الخط الأحمر أو مواصفات الإطار السلكي أو صفحة الهبوط منخفضة الدقة.",
|
||
"tr": "Bir masaüstü açılış sayfasının açıklamalı/redline lo-fi wireframe'i — tarayıcı çerçevesi içinde greybox bloklar, numaralı açıklama pinleri (①–⑤) ve her pini kısa bir mühendislik/UX notuna eşleyen sağ taraftaki spec paneli. Açıklamalı wireframe, redline, wireframe spec, lo-fi landing veya düşük sadakat talepleri için ideal.",
|
||
"uk": "Анотований/redline lo-fi вайрфрейм десктопної лендинг-сторінки — сірі блоки в рамці браузера, пронумеровані пін-анотації (①–⑤) та права панель специфікацій, що зіставляє кожен пін із короткою інженерною/UX-нотаткою. Підходить для запитів «анотований вайрфрейм», «redline», «специфікація вайрфрейму», «lo-fi лендинг», «низька деталізація».",
|
||
"en": "An annotated / redline lo-fi wireframe of a desktop landing page — greybox blocks inside a browser frame, numbered annotation pins (①–⑤), and a right-hand spec panel mapping each pin to a short engineering / UX note. Use when the brief asks for \"annotated wireframe\", \"redline\", \"wireframe spec\", \"lo-fi landing\", \"low fidelity\", \"线框图\", or \"标注线框\"."
|
||
},
|
||
"license": "MIT",
|
||
"author": {
|
||
"name": "Open Design",
|
||
"url": "https://github.com/nexu-io"
|
||
},
|
||
"homepage": "https://github.com/nexu-io/open-design/tree/main/plugins/_official/examples/wireframe-annotated",
|
||
"tags": [
|
||
"example",
|
||
"first-party",
|
||
"prototype",
|
||
"design",
|
||
"web",
|
||
"desktop",
|
||
"wireframe",
|
||
"annotated-wireframe",
|
||
"redline",
|
||
"wireframe-spec",
|
||
"lo-fi-landing",
|
||
"low-fidelity",
|
||
"untitled"
|
||
],
|
||
"compat": {
|
||
"agentSkills": [
|
||
{
|
||
"path": "./SKILL.md"
|
||
}
|
||
]
|
||
},
|
||
"od": {
|
||
"kind": "scenario",
|
||
"taskKind": "new-generation",
|
||
"mode": "prototype",
|
||
"platform": "desktop",
|
||
"scenario": "design",
|
||
"surface": "web",
|
||
"preview": {
|
||
"type": "html",
|
||
"entry": "./example.html"
|
||
},
|
||
"useCase": {
|
||
"query": {
|
||
"en": "Lay out an annotated redline wireframe of a landing page — greybox nav, hero, logo strip, feature grid, and footer with numbered annotation pins and a right-hand spec panel of engineering notes.",
|
||
"zh-CN": "使用这个插件完成以下任务:排布一个落地页的标注红线线框图——灰盒导航、主视觉、Logo 横条、功能网格和页脚,配上带编号的标注图钉,以及右侧的工程说明规格面板。"
|
||
},
|
||
"exampleOutputs": [
|
||
{
|
||
"path": "./example.html",
|
||
"title": "Wireframe Annotated"
|
||
}
|
||
]
|
||
},
|
||
"context": {
|
||
"skills": [
|
||
{
|
||
"path": "./SKILL.md"
|
||
}
|
||
],
|
||
"assets": [
|
||
"./example.html"
|
||
]
|
||
},
|
||
"pipeline": {
|
||
"stages": [
|
||
{
|
||
"id": "generate",
|
||
"atoms": [
|
||
"file-write",
|
||
"live-artifact"
|
||
]
|
||
}
|
||
]
|
||
},
|
||
"capabilities": [
|
||
"prompt:inject",
|
||
"fs:write"
|
||
]
|
||
}
|
||
}
|