Skip to content

Releases

v0.4.2 — both packages are on npm

Choose a tag to compare

@tony1duan tony1duan released this 08 Oct 03:43

Both packages are on npm:

cd ~/.dsh/profiles/desktop
pnpm add dsh-plugin-builder-hud

That brings the skin in as its own dependency, and the bundle's cordis.patch.yml
already carries the row that loads it.

What changed

Nothing in the plugin. The skin and the bundle are otherwise identical to v0.4.1 —
git diff v0.4.1 v0.4.2 is two version fields, the issue form's placeholder, and the
documentation. This release exists because publishing to npm needs a version number and
the install instructions had to stop saying "from a checkout".

Installing from npm

Add the bundle's name to the profile's bundle list too:

{ "dsh": { "profile": { "bundles": ["…", "dsh-plugin-builder-hud"] } } }

Two packages rather than one, on purpose: the card's name comes from the bundle and the
row's name and browser half come from the skin.
The Souls Style README
sets the whole thing out.

If you install 0.4.1 instead of 0.4.2

Both work and they are the same code. 0.4.1 reached the registry a few minutes after
the CLI had already given up on it — see below.

Two things about publishing, recorded for the next time

Both cost real time and neither is obvious.

  • A brand-new package cannot be staged. npm refuses to stage a package that does
    not exist yet, and the error that says so only appears after a stage-only token has
    already failed, so the two look like one problem. The first publish of a name needs a
    token with Read and write (publish and stage).
  • The registry is slow, and its errors mislead. npm publish prints
    + name@version and returns while the version is still being processed. A second
    attempt during that window fails with 409 Cannot publish over previously staged version, which reads exactly like a burnt version number. It is not one: waiting a
    few minutes and re-querying showed 0.4.1 live for both packages. That is why this
    release is 0.4.2 — the bump was made on the 409.

Both packages also carry a permanent 0.0.0-stage version, npm's own artifact for
staged publishing, which cannot be removed: deleting a package is an account-governance
action, and granular tokens that bypass 2FA have been barred from those since August
2026.

Verifying

node plugins/souls-hud/test/harness.mjs          # offline: fakes the Cordis context + services
node plugins/souls-hud/test/form.mjs             # renders the settings page in Node
node plugins/souls-hud/test/upload.mjs           # the upload path and the fracture light, in headless Chrome
node plugins/souls-hud/test/preview.mjs          # rebuilds preview/preview.html
node plugins/builder-hud/test/icon.mjs --check   # the card artwork matches the renderer
node test/repo.mjs                               # the .github files, and every link in the docs

Full changelog: v0.4.1...v0.4.2

v0.4.1 — the light in the fractures, and a shot that shows it

Choose a tag to compare

@tony1duan tony1duan released this 07 Oct 17:46

A fix release for the light in the fractures. Nothing about the plugin's behaviour
changes — same settings, same readings, same tariff rule — only what a lit fracture
looks like.

Off-peak with nothing in the fractures, and at peak with the arc's five alight

The light now comes in from the rim

A fracture lit from behind is brightest where it opens onto the rim: the gap is widest
there, and the metal is what the light has to travel through afterwards. Each pass is
now drawn in the same three runs the taper already produced, at falling opacity — the
run at the rim carries the arc's own strength rather than a fraction of it, and the
tip nearest the centre is the dimmest part of the crack. Drawn at one brightness end to
end it read as a neon tube, which is what "the light does not look like light" turned
out to mean.

And the metal scatters it

A wide stroke with a hard edge is a fatter tube, not a haze. There are now two blurred
passes outside the band, and the wide one strokes the travelling gradient — the light
the ring's own flow pass is made of. That is deliberate: it makes the haze the light
colour rather than the tariff colour, and at peak the plate is already orange, so the
tariff colour alone has almost nothing left to separate from. The haze also breathes on
its own, at the ring's period.

Also

  • #burn-detail, a new scene on the preview page: the peak frame at 3x. The existing
    #zoom scene magnifies the medal with nothing burning in it, so it could only ever
    show the resting dark red.
  • heat-peak.png regenerated. Worth recording, because the old recipe was quietly
    wrong: under headless Chrome's virtual clock a CSS transition never advances, so a
    capture taken with the stylesheet as shipped catches every fracture at the opacity it
    had before the poll lit it — lit in the markup, invisible in the pixels.

Verifying

node plugins/souls-hud/test/harness.mjs          # offline: fakes the Cordis context + services
node plugins/souls-hud/test/form.mjs             # renders the settings page in Node
node plugins/souls-hud/test/upload.mjs           # the upload path and the fracture light, in headless Chrome
node plugins/souls-hud/test/preview.mjs          # rebuilds preview/preview.html
node plugins/builder-hud/test/icon.mjs --check   # the card artwork matches the renderer
node test/repo.mjs                               # the .github files, and every link in the docs

test/upload.mjs grew nine assertions for this, each proved by breaking the thing it
watches: that the mouth of a lit fracture is at full strength, that every run behind it
is dimmer, that the mouth is at least as bright as the arc that lit it, that both
scatter passes are blurred and the wider one softer, that the haze strokes the same
gradient the arc travels on, and that it drifts.

Full changelog: v0.4.0...v0.4.1

v0.4.0 — Souls Style: the medallion, and a ring that burns

Choose a tag to compare

@tony1duan tony1duan released this 07 Oct 17:08

First release. Souls Style — a vitals-cluster skin for the DSH sidebar: three
Dark Souls style bars beside an engraved covenant medallion whose edge doubles as
a live token-burn gauge.

The cluster: an engraved covenant medallion beside the three bars

Bar Meaning Colour
HP API balance — the account's recharge wallet crimson
FP gift/bonus wallet balance, on the same ¥ scale deep blue
Stamina the context window still available to the session on screen yellow-green

Highlights

  • The medallion is built at runtime, from settings. Shape (round or octagon),
    device (whale, sword, sun, moon, wolf, hammer — or an SVG you upload), metal
    (bronze, iron, silver, gold), and a light or dark cut. Every device is cast from
    the same metal as the rim.
  • The ring is a live token-burn gauge, coloured by whether the current hour is
    inside DeepSeek's off-peak window — including Chinese public holidays and 调休
    make-up workdays. Its lit arc glows and breathes.
  • Fractures are lit by that arc. In the peak state a heat overlay washes the
    plate; the six fractures struck into it stay dark red until the burn arc sweeps
    over them, and only the covered ones light. Covered fractures take the ring's own
    colour — blue off-peak — and carry a Tyndall-style light whose brightness drifts.
  • Floating mode paints no surface. Detached from the card, the cluster simply
    hangs in the air: the mark, the bars, the badge and the text carry their own
    shadows instead of sitting on a panel.
  • The settings form renders the real thing, including a theme × tariff preview
    board, so a change is visible before it is saved.

Install

From a checkout, point one row at the skin's host entry in your profile's
cordis.patch.yml:

- insert:
    - id: souls-hud
      name: "/absolute/path/to/plugins/souls-hud/lib/host.js"
      config:
        hpTargetCny: 100
        fpTargetCny: 50
        shape: round
        device: whale
        material: bronze

The repository ships two packages on purpose: plugins/builder-hud is the bundle
(the card the Plugins page lists, and the patch layer that puts a row on it) and
plugins/souls-hud is the skin. Full instructions, every setting, the artwork, the
tariff rule and the holiday calendar are in
the Souls Style README.

Verifying

node plugins/souls-hud/test/harness.mjs          # offline: fakes the Cordis context + services
node plugins/souls-hud/test/form.mjs             # renders the settings page in Node
node plugins/souls-hud/test/upload.mjs           # the upload path, in headless Chrome
node plugins/souls-hud/test/preview.mjs          # rebuilds preview/preview.html
node plugins/builder-hud/test/icon.mjs --check   # the card artwork matches the renderer
node test/repo.mjs                               # the .github files, and every link in the docs

No dependencies — plain Node, and a local Chrome for the browser-side tests.

Notes

The plugin is free: no paid edition, no licence key, nothing to unlock. If it earns
its place in your sidebar, the tip jar is in the app on BuilderHUD's card page. It
buys nothing; the licence is MIT either way.

This is an independent, third-party plugin. It is not affiliated with, endorsed
by, or supported by DeepSeek, and it ships none of their artwork — the medallion,
its devices and the whale are this project's own drawings. "Dark Souls" is a
trademark of FromSoftware, Inc. and Bandai Namco Entertainment Inc.; it is used here
descriptively, to say what the drawing looks like. This project is not affiliated
with, endorsed by, or supported by FromSoftware or Bandai Namco, ships none of their
artwork or data, and is not a product of theirs. The covenant-medal style is homage,
not a claim.