[{"data":1,"prerenderedAt":327},["ShallowReactive",2],{"navigation_docs":3,"-icons":194,"-icons-surround":322},[4,22,82,124,146,168,190],{"title":5,"path":6,"stem":7,"children":8},"Getting started","/getting-started","1.getting-started/0.index",[9,10,14,18],{"title":5,"path":6,"stem":7},{"title":11,"path":12,"stem":13},"MCP quickstart","/getting-started/mcp-quickstart","1.getting-started/1.mcp-quickstart",{"title":15,"path":16,"stem":17},"REST quickstart","/getting-started/rest-quickstart","1.getting-started/2.rest-quickstart",{"title":19,"path":20,"stem":21},"UI quickstart","/getting-started/ui-quickstart","1.getting-started/3.ui-quickstart",{"title":23,"path":24,"stem":25,"children":26},"MCP server","/mcp","2.mcp/0.index",[27,28,32,36,40],{"title":23,"path":24,"stem":25},{"title":29,"path":30,"stem":31},"Connecting","/mcp/connection","2.mcp/1.connection",{"title":33,"path":34,"stem":35},"Envelope","/mcp/envelope","2.mcp/2.envelope",{"title":37,"path":38,"stem":39},"Resources","/mcp/resources","2.mcp/3.resources",{"title":41,"path":42,"stem":43,"children":44},"Tools","/mcp/tools","2.mcp/4.tools/0.index",[45,46,50,54,58,62,66,70,74,78],{"title":41,"path":42,"stem":43},{"title":47,"path":48,"stem":49},"list_schema_versions","/mcp/tools/list-schema-versions","2.mcp/4.tools/1.list-schema-versions",{"title":51,"path":52,"stem":53},"get_schema","/mcp/tools/get-schema","2.mcp/4.tools/2.get-schema",{"title":55,"path":56,"stem":57},"list_categories","/mcp/tools/list-categories","2.mcp/4.tools/3.list-categories",{"title":59,"path":60,"stem":61},"list_elements","/mcp/tools/list-elements","2.mcp/4.tools/4.list-elements",{"title":63,"path":64,"stem":65},"get_element","/mcp/tools/get-element","2.mcp/4.tools/5.get-element",{"title":67,"path":68,"stem":69},"get_elements","/mcp/tools/get-elements","2.mcp/4.tools/6.get-elements",{"title":71,"path":72,"stem":73},"validate_datachain","/mcp/tools/validate-datachain","2.mcp/4.tools/7.validate-datachain",{"title":75,"path":76,"stem":77},"render_datachain","/mcp/tools/render-datachain","2.mcp/4.tools/8.render-datachain",{"title":79,"path":80,"stem":81},"get_icon_url","/mcp/tools/get-icon-url","2.mcp/4.tools/9.get-icon-url",{"title":83,"path":84,"stem":85,"children":86},"REST API (v2)","/rest","3.rest/0.index",[87,88,92,96,100,104,108,112,116,120],{"title":83,"path":84,"stem":85},{"title":89,"path":90,"stem":91},"GET /schemas","/rest/schemas","3.rest/1.schemas",{"title":93,"path":94,"stem":95},"GET /schemas/:version/manifest","/rest/manifest","3.rest/2.manifest",{"title":97,"path":98,"stem":99},"GET /schemas/:version/categories","/rest/categories","3.rest/3.categories",{"title":101,"path":102,"stem":103},"GET /schemas/:version/elements","/rest/elements-list","3.rest/4.elements-list",{"title":105,"path":106,"stem":107},"GET /schemas/:version/elements/:element_id","/rest/element-detail","3.rest/5.element-detail",{"title":109,"path":110,"stem":111},"POST /schemas/:version/validate","/rest/validate","3.rest/6.validate",{"title":113,"path":114,"stem":115},"Icon routes","/rest/icons","3.rest/7.icons",{"title":117,"path":118,"stem":119},"Pagination & fields","/rest/pagination-and-fields","3.rest/8.pagination-and-fields",{"title":121,"path":122,"stem":123},"Errors","/rest/errors","3.rest/9.errors",{"title":125,"path":126,"stem":127,"children":128},"Icon composition","/icons","4.icons/0.index",[129,130,134,138,142],{"title":125,"path":126,"stem":127},{"title":131,"path":132,"stem":133},"Shapes","/icons/shapes","4.icons/1.shapes",{"title":135,"path":136,"stem":137},"Symbols","/icons/symbols","4.icons/2.symbols",{"title":139,"path":140,"stem":141},"Composed variants","/icons/composed-variants","4.icons/3.composed-variants",{"title":143,"path":144,"stem":145},"URLs","/icons/urls","4.icons/4.urls",{"title":147,"path":148,"stem":149,"children":150},"@dtpr/ui","/ui","5.ui/0.index",[151,152,156,160,164],{"title":147,"path":148,"stem":149},{"title":153,"path":154,"stem":155},"@dtpr/ui/core","/ui/core","5.ui/1.core",{"title":157,"path":158,"stem":159},"@dtpr/ui/vue","/ui/vue","5.ui/2.vue",{"title":161,"path":162,"stem":163},"@dtpr/ui/html","/ui/html","5.ui/3.html",{"title":165,"path":166,"stem":167},"Theming","/ui/theming","5.ui/4.theming",{"title":169,"path":170,"stem":171,"children":172},"Concepts","/concepts","6.concepts/0.index",[173,174,178,182,186],{"title":169,"path":170,"stem":171},{"title":175,"path":176,"stem":177},"Datachains","/concepts/datachains","6.concepts/1.datachains",{"title":179,"path":180,"stem":181},"Elements & categories","/concepts/elements-categories","6.concepts/2.elements-categories",{"title":183,"path":184,"stem":185},"Versions & releases","/concepts/versions-and-releases","6.concepts/3.versions-and-releases",{"title":187,"path":188,"stem":189},"Content hash","/concepts/content-hash","6.concepts/4.content-hash",{"title":191,"path":192,"stem":193},"Changelog","/changelog","7.changelog",{"id":195,"title":125,"body":196,"description":315,"extension":316,"links":317,"meta":318,"navigation":319,"path":126,"seo":320,"stem":127,"__hash__":321},"docs/4.icons/0.index.md",{"type":197,"value":198,"toc":310},"minimark",[199,203,207,218,233,238,279,283],[200,201,125],"h1",{"id":202},"icon-composition",[204,205,206],"p",{},"Every DTPR icon is a 36×36 SVG composed on demand from three independent inputs:",[208,209,214],"pre",{"className":210,"code":212,"language":213},[211],"language-text","shape (from category) + symbol (from element) + variant (default | dark | context color) → SVG\n","text",[215,216,212],"code",{"__ignoreMap":217},"",[204,219,220,221,224,225,228,229,232],{},"This composition is deterministic. The same ",[215,222,223],{},"(version, element_id, variant)"," triple always returns a byte-identical SVG, and the response carries a long ",[215,226,227],{},"Cache-Control"," header and an ",[215,230,231],{},"X-DTPR-Content-Hash"," for cache invalidation.",[234,235,237],"h2",{"id":236},"in-this-section","In this section",[239,240,241,248,257,274],"ul",{},[242,243,244,247],"li",{},[245,246,131],"a",{"href":132}," — the primitive shape family and how a category picks one.",[242,249,250,252,253,256],{},[245,251,135],{"href":136}," — release-pinned symbol SVGs and the ",[215,254,255],{},"symbol_id"," link.",[242,258,259,261,262,265,266,269,270,273],{},[245,260,139],{"href":140}," — ",[215,263,264],{},"default",", ",[215,267,268],{},"dark",", and ",[215,271,272],{},"{ kind: 'colored', color }","; the inner-color luminance rule.",[242,275,276,278],{},[245,277,143],{"href":144}," — how to derive and discover icon URLs.",[234,280,282],{"id":281},"related","Related",[239,284,285,291,299],{},[242,286,287,290],{},[245,288,289],{"href":114},"REST: icon routes"," — the HTTP surface.",[242,292,293,298],{},[245,294,295,296],{"href":80},"MCP: ",[215,297,79],{}," — the MCP tool that resolves these URLs.",[242,300,301,309],{},[245,302,303,305,306],{"href":158},[215,304,147],{}," ",[215,307,308],{},"DtprIcon"," — the Vue component that renders composed icons.",{"title":217,"searchDepth":311,"depth":311,"links":312},2,[313,314],{"id":236,"depth":311,"text":237},{"id":281,"depth":311,"text":282},"Shape × symbol × variant mental model behind every DTPR icon.","md",null,{},true,{"title":125,"description":315},"8fiGvw37RCUcPDMiIeXfy-hu91Q1PYJkCIDhqU_vgEc",[323,325],{"title":121,"path":122,"stem":123,"description":324,"children":-1},"The shared error shape and canonical code list.",{"title":131,"path":132,"stem":133,"description":326,"children":-1},"The four DTPR shape primitives.",1776525921439]