icons.module
README.md
game.rpg.icons
Procedural neon line-art item icons for the Banana 2077 inventory grid, as
standalone SVG strings for the UI's svg widget. Pure Luau: requires nothing.
local Icons = require("@root::game.rpg.icons")
local svg = Icons.svg("katana", "#FF7A1A") -- tier colour, default accent
local svg2 = Icons.svg("eyes", "#22E6FF", "#F4F1FF") -- explicit accent
-- { type = "svg", id = "slot_3", props = { svg = svg, fit = "meet" }, style = { width = 64, height = 64 } }
Icons.svg(kind, color, accent?) -> string— a complete<svg viewBox="0 0 64 64">document with a transparent background.coloris the tier colour of the glowing main strokes, halo and faint body fill;accent(default#F4F1FF) paints the 1-2 highlight strokes. An unknown kind draws a generic chip icon. Results are memoised per kind/colour/accent.Icons.kinds— every supported kind:katana,baton,eyes,frontal,arms,skeleton,legs,quickhack,heal,food,ram,gift,junk,component,key.
Each icon is four layers over the same geometry: a blurred halo
(feGaussianBlur under a wide low-opacity stroke), a body fill at
fill-opacity 0.18, round-capped 3 px main strokes and thin accent strokes.
Designed to read at 48-72 px on a dark tile.