1"use strict";(globalThis.webpackChunkdocs=globalThis.webpackChunkdocs||[]).push([[1893],{6956(e,t,n){n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>h,frontMatter:()=>c,metadata:()=>r,toc:()=>d});const r=JSON.parse('{"id":"guides/creating-themes/editor/index","title":"Editor","description":"dddice dice editor is an online tool that anyone can use to create","source":"@site/docs/guides/creating-themes/editor/index.mdx","sourceDirName":"guides/creating-themes/editor","slug":"/guides/creating-themes/editor/","permalink":"/docs/guides/creating-themes/editor/","draft":false,"unlisted":false,"tags":[],"version":"current","sidebarPosition":99,"frontMatter":{"sidebar_position":99},"sidebar":"guideSidebar","previous":{"title":"Creating Themes","permalink":"/docs/guides/creating-themes/"},"next":{"title":"Shaders","permalink":"/docs/guides/creating-themes/editor/shaders"}}');var s=n(4848),o=n(8453),i=n(3021);const c={sidebar_position:99},a="Editor",l={},d=[];function u(e){const t={a:"a",h1:"h1",header:"header",p:"p",...(0,o.R)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(t.header,{children:(0,s.jsx)(t.h1,{id:"editor",children:"Editor"})}),"\n",(0,s.jsxs)(t.p,{children:["dddice ",(0,s.jsx)(t.a,{href:"https://dddice.com/editor",children:"dice editor"})," is an online tool that anyone can use to create\ntheir very own custom 3D Dice. Players with limited 3D graphics knowledge can use custom colors,\nfonts and add images to the faces of the die. Those with advanced skills can create truly beautiful\ncreations."]}),"\n",(0,s.jsx)(t.p,{children:"Explore the sections below for more detail on each of the options that he editor provides."}),"\n",(0,s.jsx)("br",{}),"\n",(0,s.jsx)(i.A,{})]})}function h(e={}){const{wrapper:t}={...(0,o.R)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(u,{...e})}):u(e)}},3021(e,t,n){n.d(t,{A:()=>D});var r=n(6540),s=n(4164),o=n(4718),i=n(8774),c=n(4586);const a=["zero","one","two","few","many","other"];function l(e){return a.filter(t=>e.includes(t))}const d={locale:"en",pluralForms:l(["one","other"]),select:e=>1===e?"one":"other"};function u(){const{i18n:{currentLocale:e}}=(0,c.A)();return(0,r.useMemo)(()=>{try{return function(e){const t=new Intl.PluralRules(e);return{locale:e,pluralForms:l(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".\nDocusaurus will fallback to the default (English) implementation.\nError: ${t.message}\n`),d}},[e])}function h(){const e=u();return{selectMessage:(t,n)=>function(e,t,n){const r=e.split("|");if(1===r.length)return r[0];r.length>n.pluralForms.length&&console.error(`For locale=${n.locale}, a maximum of ${n.pluralForms.length} plural forms are expected (${n.pluralForms.join(",")}), but the message contains ${r.length}: ${e}`);const s=n.select(t),o=n.pluralForms.indexOf(s);return r[Math.min(o,r.length-1)]}(n,t,e)}}var m=n(6654),f=n(1312),p=n(1107);const g="cardContainer_fWXF",x="cardTitle_rnsV",j="cardDescription_PWke";var N=n(4848);function b({className:e,href:t,children:n}){return(0,N.jsx)(i.A,{href:t,className:(0,s.A)("card padding--lg",g,e),children:n})}function w({className:e,href:t,icon:n,title:r,description:o}){return(0,N.jsxs)(b,{href:t,className:e,children:[(0,N.jsxs)(p.A,{as:"h2",className:(0,s.A)("text--truncate",x),title:r,children:[n," ",r]}),o&&(0,N.jsx)("p",{className:(0,s.A)("text--truncate",j),title:o,children:o})]})}function y({item:e}){const t=(0,o.Nr)(e),n=function(){const{selectMessage:e}=h();return t=>e(t,(0,f.T)({message:"1 item|{count} items",id:"theme.docs.DocCard.categoryDescription.plurals",description:"The default description for a category card in the generated index about how many items this category includes"},{count:t}))}();return t?(0,N.jsx)(w,{className:e.className,href:t,icon:"\ud83d\uddc3\ufe0f",title:e.label,description:e.description??n(e.items.length)}):null}function v({item:e}){const t=(0,m.A)(e.href)?"\ud83d\udcc4\ufe0f":"\ud83d\udd17",n=(0,o.cC)(e.docId??void 0);return(0,N.jsx)(w,{className:e.className,href:e.href,icon:t,title:e.label,description:e.description??n?.description})}function k({item:e}){switch(e.type){case"link":return(0,N.jsx)(v,{item:e});case"category":return(0,N.jsx)(y,{item:e});default:throw new Error(`unknown item type ${JSON.stringify(e)}`)}}const A="docCardListItem_W1sv";function C({className:e}){const t=(0,o.a4)();return(0,N.jsx)(D,{items:t,className:e})}function F({item:e}){return(0,N.jsx)("article",{className:(0,s.A)(A,"col col--6"),children:(0,N.jsx)(k,{item:e})})}function D(e){const{items:t,className:n}=e;if(!t)return(0,N.jsx)(C,{...e});const r=(0,o.d1)(t);return(0,N.jsx)("section",{className:(0,s.A)("row",n),children:r.map((e,t)=>(0,N.jsx)(F,{item:e},t))})}},8453(e,t,n){n.d(t,{R:()=>i,x:()=>c});var r=n(6540);const s={},o=r.createContext(s);function i(e){const t=r.useContext(o);return r.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:i(e.components),r.createElement(o.Provider,{value:t},e.children)}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.