---
description: Loads healthKit 1.0.0 under a guard (with retries), so markersKit loads and runs when healthKit cannot. G.proxy stands in with "no healthKit targets" answers; used by hud, api, Gallery and the test suite.
---
# markersKit.healthGuard
Exposes `available`, `api`, `error`, `proxy`, `refresh()` and `status()`. When healthKit is missing, `proxy` answers as if no entity has health: no damage, no events, no health on plates.
# draw
Shared drawing helpers for the renderer modules: UI node shortcuts (`box`, `row`, `label`, `svgNode`), colour maths (`rgb`, `rgba`, `mix`, `isColor`), easing, an SVG pen with outline and glow (`pen`), arc paths, a 5×7 pixel font drawn as SVG (`pixelSvg`, `pixelText`), number formatting with thousands separators (`num`) and a stable hash for per-number jitter. Internal, but safe to use for your own HUD pieces.
# hud
The per-peer runtime behind `api`. It keeps the settings and the live queues of markers, numbers and directions. It listens to healthKit's `damaged`, `healed` and `killed` events, decides what this peer sees (`isMine`: the attacker gets markers and numbers, the victim gets the direction), tracks nameplates and player plates, eases the dynamic-crosshair spread and the lock-on, and draws one UI screen (`markersKit.hud`, layer 45) scaled for the screen it is on. Driven each frame by the Feedback component, or by `api.start` and `api.frame`. Most games only touch it through `api`.
# nameplates
10 overhead nameplate styles: name only, name plus health, team-coloured, boss, pixel, and sci-fi, fantasy, cartoon, minimal and realistic ones. Every health bar is a barsKit look (overhead, segmented, boss, pixel, hologram, ornate, bubbly, line, ghost), so it matches barsKit bars elsewhere in your game. `render(id, { name, frac, trail, value, max, team, teamColor, showHealth, scale, dist }, W, H)` returns the plate. `barLook(id)` names the barsKit look, `teamColor(team)` resolves a team colour.
# catalog
The list of every style in every category (`crosshair`, `hitMarker`, `direction`, `numbers`, `nameplate`) with its id, name, theme families and a one-line purpose, plus the six themes (`realistic`, `scifi`, `fantasy`, `cartoon`, `pixel`, `minimal`) and the style each picks. `catalog(category?)`, `styles(category)`, `has`, `describe`, `family`, `themes`, `counts`, and `category(name)`, which accepts plurals such as "crosshairs". The api, the components and the gallery all read from here, so a new style appears everywhere once it is registered in its renderer module.