-
Notifications
You must be signed in to change notification settings - Fork 114
zone_painter_icon_manifest
2026-07-29. The complete listing of every spot in the zone painter UI that wants an icon or cursor, audited against generic 3D-editor toolbar expectations (common editor conventions artists already know) and against the legacy plugins' art. Shopping list for the art-preparation pass; each entry is a motif description for new art.
Provenance: nel_patch_paint art (fullscreen painter cursors and HUD badges) is
Nevrax-original and may be converted. Patch-edit cursors are redraw-only from the motif
descriptions here (and in zone_painter_legacy_rollout_spec.md).
Where art goes (mechanism, from the in-code cursor manifest): shared shapes →
ryzomcore_graphics/interfaces/v3 (packed into every tool's atlas); painter-only shapes →
ZONE_PAINTER_EXTRA_TEXTURES in the tool's CMakeLists. A name must land in the atlas
.txt before it can resolve. Buttons take tx_normal/tx_pushed/tx_over; pressed
states come from the pushed face, so one glyph per icon suffices.
Style: the w_ legacy skin's flat chrome; glyphs should read at 16–20 px inside the 26 px toolbar buttons. Phase-in is icon+text or icon-with-tooltip — nothing here blocks on art; every face works as text today.
| Face (today) | Function | Motif |
|---|---|---|
| BOARD | toggle session board | 3×3 grid of squares, one square filled |
| SAVE | save current zone | classic floppy disk (universal), or down-arrow-into-tray |
| UNDO | undo | arc arrow curving left |
| REDO | redo | arc arrow curving right (mirror of undo) |
| TILE | paint mode: tiles | a quad subdivided 2×2 with one sub-square textured/hatched |
| COLOR | paint mode: vertex color | paint brush over a color swatch corner |
| DISP | paint mode: displace | surface profile with a bump and a small up arrow |
| PROP | property edit mode | tag/label glyph, or slider row |
| PATCH | patch edit mode | quad lattice with corner dots (echoes the sub-object strip) |
| SPRING… | season face + menu | keep text (it names the season); optional leading glyph per season: sprout leaf / sun / falling leaf / snowflake |
| SCRIPT | script window toggle | scroll or >_ console glyph |
| SEL… | pivot face + menu (patch mode) | keep text label; optional leading pivot glyph (see §4) |
Future toolbar residents once patch tools grow beyond hotkeys (generic-editor expectation, select/move/rotate/scale quartet): Select (arrow), Move (four-way cross arrows), Rotate (circular arrow around a dot), Scale (nested squares with diagonal arrow). W/E/R already drive these; the buttons make them discoverable.
| Spot | Function | Motif |
|---|---|---|
| Tiles → "Tiles" / Displace → "Palette" | open palette window | painter's palette board, or tile grid with pointer |
| Tiles → 256 toggle | 128/256 texture mode | "256" text badge is already the right answer (legacy did the same); optional big/small square pair |
| Tiles → group indicator | tile group All/0–7 | text digits (legacy used colored digit badges; text suffices) |
| Brush → size | brush size small/med/large | three concentric or side-by-side filled circles (legacy motif, worth keeping) |
| Brush → mask cycle (none/R/G/B) | color mask channel | keep text — channel letters are clearer than any glyph |
| Fill → Fill / F1 / F2 / F3 | fill patch at rotation 0–3 | paint bucket pouring; rotation variants add a small quarter-turn arrow badge (0 = plain bucket) |
| Fill → Lock borders | border lock | padlock (legacy had exactly this badge) |
| Session → dirty markers | file state | filled dot (dirty) / hollow dot (clean) if ever iconified; currently * text |
The sub-object level strip, four icons ~24 px (motifs from
zone_painter_legacy_rollout_spec.md):
- Vertex — four small plus-cross markers at the corners of an implied quad.
- Edge — the outline of a quad drawn as beaded/dotted segments, unfilled.
- Patch — a solid filled quad, slightly foreshortened, dark outline, corner ticks.
- Tile — the same filled quad subdivided into a 2×2 grid.
Geometry-block buttons stay text (Bind, Unbind, Weld, Subdivide… — the legacy panel used text buttons too); only the level strip is iconic.
Five modes, shown today as text menu + 3-letter face. If given glyphs: Selection center (dots with a center mark), World center (axis origin tripod), Center of all objects (two rectangles, center mark), Center of sel. objects (highlighted rectangle, center mark), User pivot (a placed crosshair pin). The face keeps its text label either way.
| Spot | Function | Motif |
|---|---|---|
| board cell: rotate CW / CCW | instance rotate actions (menu/legend) | quarter-circle arrows, both windings |
| board cell: mirror | instance mirror | butterfly / mirrored-triangle pair with a dashed axis |
| board cell: locked | non-openable empty cell | small padlock (currently "L:" prefix + dim) |
| board cell: read-only | neighbor context | half-dim overlay (state, not glyph — no art needed) |
| board cell: dirty | unsaved file | small filled dot or corner triangle (currently *) |
| browser: view toggle | list vs large-icon cards | classic pair: stacked rows glyph / 2×2 squares glyph |
| browser: Back | return to world list | left arrow |
| folder picker: Up | parent directory | up arrow with folder |
| script window: RUN | run script | right-pointing play triangle |
| script window: REC | record toggle | filled circle (red when live — the one color-coded glyph) |
| script window: REC>ED | copy recording to editor | filled circle + right arrow |
Already packed (interfaces/v3): default/select, eyedropper pick, rotate (also orbit), scale, pan, can-pan, container resizers.
To prepare — paint modes: tile brush (brush over a small quad grid), color brush (plain brush tip), displace brush (brush over a bumped profile). Prop mode uses the default select cursor.
To prepare — patch edit: move (four-way cross arrows; the legacy plugin only had axis-constrained variants, so this is new art), region select (dashed rectangle corner), bind (two beaded segments angled together + small cross: "drag vertex onto edge"), weld (two dots merging into one, or cross with converging arrows), attach (small circle with an arrow leading out to lower right + cross), subdivide (a segment with an inserted midpoint dot). Extrude/bevel cursors (motifs in the rollout spec: face lifted off a hatched base; trapezoid profile) only if those ops ever come.
To prepare — navigation: zoom/dolly (magnifier). Pan and orbit reuse packed shapes.
Convertible from nel_patch_paint (Nevrax art): the eyedropper, paint bucket,
eyedropper+question (inspect), and cross+tick (trick) cursors. Everything in the
patch-edit list above is redraw-only per the provenance rule.
For completeness — the old painter's on-screen state badges, in case the immersive UI wants equivalents: brush size = three sizes of filled circle; tile group = "all" + digit badges; texture mode = "128"/"256" text badges; border lock = padlock; lighting toggle = torch/flashlight; tile-orientation mode = letter badges plus a circular-arrow glyph for "oriented". Our rollout column already carries these as text/spinners; badges become relevant only for HUD-style presentations (fullscreen/XR milestones).