Skip to content
Nick Hamze edited this page Apr 25, 2026 · 2 revisions

ODD Developer Wiki

ODD is a decorator plugin for WP Desktop Mode. It paints the WordPress admin with generative PixiJS wallpapers and re-skins the dock and desktop shortcuts with themed SVG icon packs — all switched from a single native desktop window.

Everything ODD does happens through documented extension points: wp.desktop.registerWallpaper(), wp_register_desktop_window(), and the wp_desktop_dock_item + wp_desktop_icons filters. No host-side patches, no reaching into WP Desktop internals.

This wiki is the contributor-facing docs. End users should start with the README or try the Playground demo.

Pages

  • Architecture — file tree, the single-window / single-REST / server-canonical-icons contracts, live scene swaps, icon accent pipeline.
  • Developing — local iteration workflow, CI checks, validators.
  • Adding a Scene — four-file contract for a new wallpaper, the scene module API.
  • Adding an Icon Set — manifest + 13 SVGs, the currentColor accent convention, the three-size rule.
  • Releasing — version bumps, tagging, the release-odd.yml workflow.
  • Gotchas — prior incidents worth remembering: SVG control bytes, client-side live-swap rabbit hole, Playground CORS, Pixi v8 ticker traps.

Host plugin contract

ODD requires WP Desktop Mode v0.5.0+. The specific extension points ODD uses:

  • wp.desktop.registerWallpaper( 'odd', ... ) — registers the motion layer.
  • wp_register_desktop_window( 'odd', ... ) — registers the Control Panel as a native desktop window.
  • wp_desktop_dock_item and wp_desktop_icons filters — priority 20; re-skin the dock + desktop shortcuts server-side per the active icon set.
  • wp-desktop.wallpaper.visibility — hook subscribed by the Pixi runner to pause motion when the wallpaper isn't visible.

ODD — under the hood

How the plugin's built: the Pixi engine, the icon pipeline, and the sharp edges between them.


Clone this wiki locally