A host-supplied pen palette as the toolbar/host will use it: a frozen copy holding only the
trimmed STRING entries that are hex colors (IsWhiteboardHexColor), or null when the
value is not an array or nothing survives. The type stops TypeScript callers from passing
junk; a channel's BindSurface assigns from JSON and does not, and anything that got through
would be painted into style.background (which Angular does not sanitize, so a url(...)
entry would be fetched) and persisted as an ink item's Color. The same guard the agent
tools apply to a text color, so a palette entry is always something the tools would accept.
A host-supplied pen palette as the toolbar/host will use it: a frozen copy holding only the trimmed STRING entries that are hex colors (IsWhiteboardHexColor), or
nullwhen the value is not an array or nothing survives. The type stops TypeScript callers from passing junk; a channel'sBindSurfaceassigns from JSON and does not, and anything that got through would be painted intostyle.background(which Angular does not sanitize, so aurl(...)entry would be fetched) and persisted as an ink item'sColor. The same guard the agent tools apply to a text color, so a palette entry is always something the tools would accept.