Releases: osuki-dev/muqun-theme-cli
Release list
v2.3.1
Patch Changes
- #34
5faed09Thanks @ryuhzk! - Support optionaliconDirectionsmetadata so one theme arrow can be rotated correctly for Home quick actions and the Gateway picker. Authors declare the direction actually drawn into the image; older Apps ignore this metadata and keep their existing icon behavior.
npm: https://www.npmjs.com/package/@osuki-dev/muqun-theme/v/2.3.1
v2.3.0
Minor Changes
-
#32
3a9470fThanks @ryuhzk! - Acceptdust,embers,snow, andstarsambient effects in theme manifests and generated authoring schema. Document static speed, restrained particle settings, and the requirement for a compatible App release before publishing themes with these new values.Add bounded density and size controls, theme color role palettes, and eight motion directions. Unsupported controls remain valid and produce authoring warnings instead of validation errors.
npm: https://www.npmjs.com/package/@osuki-dev/muqun-theme/v/2.3.0
v2.2.0
Minor Changes
- #30
188b766Thanks @ryuhzk! - Document and scaffold the optional chrome.create icon for OpenCode’s new-session control. Existing Apps ignore the new icon name and keep their native Plus; no theme schema version change is required. Clarify chrome.attach usage across composer controls.
npm: https://www.npmjs.com/package/@osuki-dev/muqun-theme/v/2.2.0
v2.1.0
Minor Changes
-
#28 Thanks @ryuhzk! - Theme System v2 architecture, slot normalization, and ambient effects.
- Standardize decoration slots to v2 architecture:
shell.background->shell.wallpaperhome.background->home.wallpaperemptyState.illustration->empty.artwork
- Introduce
home.arrownavigation icon toTHEME_ICON_SLOTSand CLI scaffolding with fallback to system chevrons. - Add
effectsambient shader schema support and validation (rain,particles,scanlines,bloom). - Update starter manifest, scaffold, and bundled authoring documentation.
- Standardize decoration slots to v2 architecture:
npm: https://www.npmjs.com/package/@osuki-dev/muqun-theme/v/2.1.0
v2.0.0
Major Changes
-
#26
1d0e899Thanks @ryuhzk! - Unify Home artwork authoring and synchronize previews with the current Classic and Editorial layouts.This is a breaking theme-contract change. Replace
home.heroandhome.decorationwith onehome.artworkforeground indecorationand every light/dark override. When both old slots exist, choose the intended foreground rather than rendering both. RenamehomeIdentity.herotohomeIdentity.artwork; keephome.backgroundas separate wallpaper.Use the optional
launch.artworkslot only when startup needs different artwork. Without a resolved override (including an explicit null override), startup falls back tohome.artwork, then branding. Provide compact/regular overrides and focal points for phone and tablet crops. Legacy foreground slots have no aliases and are no longer recognized by validation; the old identity field is rejected.The starter now creates one Home foreground asset shared with the example startup override, avoiding duplicate illustrations. The bundled authoring skill, schema, and layout guidance use the new contract. Editorial themes may configure
homePresentation.headerand independenttoolbarBackground, with custom scan/settings glyphs. CLI preview accepts layout, device, and mode selections for the website preview.Upgrade the CLI and theme sources together, then run
muqun-theme validate,muqun-theme pack, andmuqun-theme checkbefore distribution. Consumers must use App and website builds supporting the unified artwork contract; older clients do not render the new foreground slot. No Gateway or Herdr update is required for this theme-only change.
npm: https://www.npmjs.com/package/@osuki-dev/muqun-theme/v/2.0.0
v1.9.0
Minor Changes
-
#23
fd9f4f5Thanks @ryuhzk! -home.herois a decoration slot this build knows, andhomeIdentity.heroits
default/hiddenswitch — parity with the Muqun app, which now draws the
theme's own illustration between Home's header row and the server list. The
slot is validated likeemptyState.illustration: an image reference with
fit,opacity,focalPointand per-mode and per-width overrides, sized
against the same 1024px budget.checkandvalidatestop reportinghome.heroas a slot they have never
heard of, andinitnow scaffolds a seventeenth placeholder,home-hero.png,
wired to the slot with the switch written out beside the Home name and logo.
NoschemaVersionbump: the field is additive, and a pack that declares it
still installs on an app that has not heard of it.
npm: https://www.npmjs.com/package/@osuki-dev/muqun-theme/v/1.9.0
v1.8.1
Patch Changes
- #21
26d3d11Thanks @ryuhzk! - The vendored agent skill is 1.4.0: every theme is asked for a 1024x640 preview
cover, light on the left half and dark on the right, named inpreview.
npm: https://www.npmjs.com/package/@osuki-dev/muqun-theme/v/1.8.1
v1.8.0
Minor Changes
-
#19
a5fd650Thanks @ryuhzk! - A theme's preview image is published beside its package. When a manifest
declarespreview,buildcopies that asset out of the packed theme -- the
bytes as packed, so the optimised WebP -- intodist/previews/<id>.<ext>,
with the extension (webp,pngorjpg) chosen by inspecting the bytes,
and the index entry gainspreview: "dist/previews/<id>.<ext>". A gallery
can show the picture without downloading the package.dist/previews/mirrors the index: a theme that stops declaring a preview,
or whose source is gone, loses its file, andbuildremoves anything the
index does not name.checkreports a missing, stale or stray preview file
and namesmuqun-theme buildas the fix.list --jsoncarriespreviewUrl
besideurlwhen the index came from a URL and the entry has a preview. -
#19
d9d4cc5Thanks @ryuhzk! -initscaffolds a placeholder preview cover (assets/preview.png, 1024x640)
and names it inpreview, so a fresh theme already has what galleries show.
check --sources --require-previewrefuses a source without one; the themes
repository's CI uses it.
npm: https://www.npmjs.com/package/@osuki-dev/muqun-theme/v/1.8.0
v1.7.1
Patch Changes
- #17
60521baThanks @ryuhzk! -validateno longer warns that a theme'spreviewimage is "declared but
never drawn". The gallery draws it.
npm: https://www.npmjs.com/package/@osuki-dev/muqun-theme/v/1.7.1
v1.7.0
Minor Changes
-
#15
306a0feThanks @BANG88! -chrome.attachis the third chrome glyph a theme may replace, beside
chrome.backandchrome.send. It is the composer's attachment control, drawn
at 17pt in the primary colour by default.src/schema.tsstays byte-identical to the app'ssrc/theme/schema.tsand the
vendored skill is regenerated from it, both pinned by tests.initnow
scaffolds a placeholder for the new glyph as it does for the other two, so an
author sees the mechanism rather than having to read about it.No
schemaVersionchange:iconsSchemais an open record, so a pack naming
chrome.attachalready parsed — it was simply not drawn. Older app builds keep
ignoring it, which is the forward compatibility the contract provides.
npm: https://www.npmjs.com/package/@osuki-dev/muqun-theme/v/1.7.0