import{_ as w,o as r,c as i,k as e,F as u,D as m,t as o,a1 as A,a2 as f,p as _,m as C,H as k,a as p,Q as y}from"./chunks/framework.3bcc5f8c.js";const b={data(){return{tracker:2,components:[{name:"ESP Microcontroller",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:1.85,costAll:()=>this.tracker*0,links:"If you already have a supported camera capable ESP32 or sourced elsewhere."},{name:"Seeed Studio XIAO Sense ESP32-S3",amount:()=>this.tracker,cost:12.87,costAll:()=>this.tracker*12.87+3.18,links:'AliExpress XIAO Sense Recommended'},{name:"ESP32-CAM",amount:()=>this.tracker,cost:12.87,costAll:()=>this.tracker*4.69+3.18,links:'AliExpress ESP32 CAM Requires additional programmer'},{name:"FREENOVE ESP32-S3-WROOM",amount:()=>this.tracker,cost:19.95,costAll:()=>this.tracker*19.95,links:'Amazon Large, more expensive than XIAO'}],selectedChoice:1},{name:"Camera",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:"If you already have a supported camera or sourced elsewhere."},{name:"130 Degree NO-IR",amount:()=>this.tracker,cost:5.41,costAll:()=>this.tracker*5.41,links:'AliExpress Select "Color: 75MM-130 Degree" Must manually remove IR filter'},{name:"160 Degree IR",amount:()=>this.tracker,cost:4.26,costAll:()=>this.tracker*4.26,links:'AliExpress Select "Color: 75MM-160 850nm"'}],selectedChoice:1},{name:"IR LEDs",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:'IR LED Safety If you already have safe IR LED hardware and know what you are doing.'},{name:"Official V4 mini Solder-less Kit",amount:()=>1,cost:28,costAll:()=>this.tracker+28+3,links:'ETVR Store Length depending on HMD'},{name:"Official V4 mini Bring Your Own Wires Kit",amount:()=>1,cost:24,costAll:()=>this.tracker+24+3,links:'ETVR Store Must solder up your own wires'},{name:"Official V4 lite Assemble Yourself",amount:()=>1,cost:7,costAll:()=>this.tracker+7+3,links:'ETVR Store Must assemble yourself'}],selectedChoice:2},{name:"USB Hub",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:"If you already have safe IR LED hardware and know what you are doing."},{name:"4 port USB 3.2 LDLrui (MTT Usually)",amount:()=>1,cost:17.99,costAll:()=>this.tracker+17.99,links:'Amazon Usually these are MTT, but sometimes not'},{name:"4 port USB 3.2 Sitecom CN-385 Hub (MTT)",amount:()=>1,cost:40.53,costAll:()=>this.tracker+17.99,links:'Amazon Known good MTT hub, but expensive'},{name:"4 port USB 2.0 Breakout (Not MTT)",amount:()=>1,cost:1.41,costAll:()=>this.tracker+1.41+1.99,links:'AliExpress Small but non MTT hub breakout'},{name:"3 port USB 3.0 Hub With Power Passthrough (MTT)",amount:()=>1,cost:17.99,costAll:()=>this.tracker+1.41,links:'Amazon Great for Quest due to power passthrough'}],selectedChoice:1},{name:"3D Printed Mounts",choices:[{name:"Print Yourself",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:"If you have a 3d printer or have access to one somewhere."},{name:"JLCPCB Print Service, JLC3DP",amount:()=>this.tracker,cost:2,costAll:()=>this.tracker*2+5,links:'JLC3DP '}],selectedChoice:0}],total:0}},methods:{updatePrices(){let s=0;this.components.forEach(a=>{if(a.choices.length>1){const c=a.choices[a.selectedChoice];s+=c.costAll(this.tracker)}else a.choices.length===1&&(s+=a.choices[0].costAll(this.tracker))}),this.total=s},switchSelect(s,a){this.$set(a,"selectedChoice",s.target.value),this.updatePrices()}},mounted(){this.updatePrices()}},g=s=>(_("data-v-0dd51bc3"),s=s(),C(),s),E=g(()=>e("thead",null,[e("tr",null,[e("th",null,"Component"),e("th",null,"Choice"),e("th",null,"Amount"),e("th",null,"Cost"),e("th",null,"Cost All"),e("th",null,"Links")])],-1)),v=["onUpdate:modelValue"],x=["value"],B={key:1},P=["innerHTML"];function T(s,a,c,S,n,h){return r(),i("div",null,[e("table",null,[E,e("tbody",null,[(r(!0),i(u,null,m(n.components,t=>(r(),i("tr",{key:t.name},[e("th",null,o(t.name),1),e("td",null,[t.choices.length>1?A((r(),i("select",{key:0,"onUpdate:modelValue":l=>t.selectedChoice=l,onChange:a[0]||(a[0]=(...l)=>h.updatePrices&&h.updatePrices(...l))},[(r(!0),i(u,null,m(t.choices,(l,d)=>(r(),i("option",{key:d,value:d},o(l.name),9,x))),128))],40,v)),[[f,t.selectedChoice]]):(r(),i("span",B,o(t.choices[0].name),1))]),e("td",null,o(t.selectedChoice?t.choices[t.selectedChoice].amount(n.tracker):0),1),e("td",null,o(t.selectedChoice?"$"+t.choices[t.selectedChoice].cost.toFixed(2):0),1),e("td",null,o(t.selectedChoice?"~$"+t.choices[t.selectedChoice].costAll().toFixed(2):0),1),e("td",{innerHTML:t.selectedChoice?t.choices[t.selectedChoice].links:""},null,8,P)]))),128))])]),e("p",null,"Total: $"+o(n.total.toFixed(2)),1)])}const O=w(b,[["render",T],["__scopeId","data-v-0dd51bc3"]]);const I={data(){return{tracker:2,components:[{name:"Type A USB Breakout",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:1.85,costAll:()=>this.tracker*0,links:"If you do not need or already have."},{name:"Type A USB Breakout Bare (AliExpress)",amount:()=>1,cost:1.18,costAll:()=>this.tracker+1.18,links:'AliExpress'},{name:"Type A USB Breakout Bare (Amazon)",amount:()=>1,cost:6.49,costAll:()=>this.tracker+5.49,links:'Amazon'},{name:"Type A USB Breakout With Cover (AliExpress)",amount:()=>1,cost:2.2,costAll:()=>this.tracker+1.2+1.99,links:'AliExpress'},{name:"Type A USB Breakout With Wire and Cover (Amazon)",amount:()=>1,cost:9.6,costAll:()=>this.tracker+8.6,links:'Amazon'}],selectedChoice:0},{name:"USB-C Breakout",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:"If you do not need or already have."},{name:"AliExpress Male & Female",amount:()=>1,cost:1.19,costAll:()=>this.tracker+1.19+1.37,links:'AliExpress Choose: "Color: 5Set".'},{name:"AliExpress Vertical Male",amount:()=>1,cost:2.37,costAll:()=>this.tracker+.37+1.99,links:'AliExpress'}],selectedChoice:0},{name:"Wire for ESPs",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:"If you do not need wire or already have."},{name:"Silicone Wire Kit",amount:()=>1,cost:5.96,costAll:()=>this.tracker+5.96+.99,links:'AliExpress 30 AWG or lower'},{name:"Generic Wire",amount:()=>1,cost:.7,costAll:()=>this.tracker+.7+1.24,links:'AliExpress Select "Specification: 30 AWG or lower"'}],selectedChoice:0},{name:"Wire for LEDs",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:"If you do not need wire or already have."},{name:"Silicone Wire Kit",amount:()=>1,cost:5.96,costAll:()=>this.tracker+5.96+.99,links:'AliExpress 30 AWG or higher'},{name:"Generic Wire",amount:()=>1,cost:.7,costAll:()=>this.tracker+.7+1.24,links:'AliExpress Select "Specification: 30 AWG or higher"'}],selectedChoice:0},{name:"Camera Extension Cables",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:"If you do not need or already have."},{name:"AliExpress 24pin 0.5mm Pitch",amount:()=>1,cost:1.33,costAll:()=>this.tracker+.33+1.99,links:'AliExpress Choose: "Insert Type: 24p 0.5mm pitch" and Type A. Length depends on HMD, usually 150mm or 200mm.'},{name:"Adafruit 24 pin 0.5mm pitch",amount:()=>this.tracker,cost:1.35,costAll:()=>this.tracker*1.35+6,links:'Adafruit 250mm'}],selectedChoice:0},{name:"Camera Extension Connectors",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:"If you do not need or already have."},{name:"AliExpress 24 pin",amount:()=>1,cost:1.32,costAll:()=>this.tracker+.32+1.99,links:'AliExpress Choose: "Pins: 24P".'},{name:"Adafruit 24 pin",amount:()=>this.tracker,cost:.86,costAll:()=>this.tracker*.865+6,links:'Adafruit'}],selectedChoice:0},{name:"External Antennas",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:"If you do not need or already have."},{name:"AliExpress Small",amount:()=>1,cost:.16,costAll:()=>this.tracker*.16+3.48,links:'AliExpress Choose: "Color: 2.4G Antenna".'},{name:"Amazon Large",amount:()=>1,cost:9.99,costAll:()=>this.tracker+7.99,links:'Amazon'}],selectedChoice:0},{name:"USB-C Cables",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:"If you do not need or already have."},{name:"Short USB-C to USB-C Amazon",amount:()=>1,cost:6.29,costAll:()=>this.tracker+5.29,links:'Amazon'},{name:"Short USB-A to USB-C Amazon",amount:()=>1,cost:7.99,costAll:()=>this.tracker+5.99,links:'Amazon'}],selectedChoice:0},{name:"V4 LED Wire Extensions/Replacements",choices:[{name:"Bring Your Own",amount:()=>this.tracker,cost:0,costAll:()=>this.tracker*0,links:"If you do not need or already have."},{name:"110mm Extension/Replacement",amount:()=>1,cost:1.5,costAll:()=>this.tracker+1.5+5,links:'ETVR Store'},{name:"200mm Extension/Replacement",amount:()=>1,cost:1.5,costAll:()=>this.tracker+1.5+5,links:'ETVR Store'}],selectedChoice:0}],total:0}},methods:{updatePrices(){let s=0;this.components.forEach(a=>{if(a.choices.length>1){const c=a.choices[a.selectedChoice];s+=c.costAll()}}),this.total=s}},mounted(){this.updatePrices()}},M=s=>(_("data-v-c6f79ca2"),s=s(),C(),s),D=M(()=>e("thead",null,[e("tr",null,[e("th",null,"Component"),e("th",null,"Choice"),e("th",null,"Amount"),e("th",null,"Cost"),e("th",null,"Cost All"),e("th",null,"Links")])],-1)),R=["onUpdate:modelValue"],W=["value"],V={key:1},U=["innerHTML"];function z(s,a,c,S,n,h){return r(),i("div",null,[e("table",null,[D,e("tbody",null,[(r(!0),i(u,null,m(n.components,t=>(r(),i("tr",{key:t.name},[e("th",null,o(t.name),1),e("td",null,[t.choices.length>1?A((r(),i("select",{key:0,"onUpdate:modelValue":l=>t.selectedChoice=l,onChange:a[0]||(a[0]=(...l)=>h.updatePrices&&h.updatePrices(...l))},[(r(!0),i(u,null,m(t.choices,(l,d)=>(r(),i("option",{key:d,value:d},o(l.name),9,W))),128))],40,R)),[[f,t.selectedChoice]]):(r(),i("span",V,o(t.choices[0].name),1))]),e("td",null,o(t.selectedChoice?t.choices[t.selectedChoice].amount(n.tracker):0),1),e("td",null,o(t.selectedChoice?"$"+t.choices[t.selectedChoice].cost.toFixed(2):0),1),e("td",null,o(t.selectedChoice?"~$"+t.choices[t.selectedChoice].costAll().toFixed(2):0),1),e("td",{innerHTML:t.selectedChoice?t.choices[t.selectedChoice].links:""},null,8,U)]))),128))])]),e("p",null,"Total: $"+o(n.total.toFixed(2)),1)])}const L=w(I,[["render",z],["__scopeId","data-v-c6f79ca2"]]),F=e("p",null,"WIP new parts list. 3D printed parts will live on their own page.",-1),q=e("p",null,[p("Use the "),e("strong",null,"interactive"),p(" tables below to select parts!")],-1),N=e("h1",{id:"required-parts",tabindex:"-1"},[p("Required Parts: "),e("a",{class:"header-anchor",href:"#required-parts","aria-label":'Permalink to "Required Parts:"'},"")],-1),$=e("h1",{id:"additional-parts",tabindex:"-1"},[p("Additional Parts: "),e("a",{class:"header-anchor",href:"#additional-parts","aria-label":'Permalink to "Additional Parts:"'},"")],-1),Y=y("",19),K=JSON.parse('{"title":"Required Parts:","description":"","frontmatter":{},"headers":[],"relativePath":"how_to_build/part_list.md","filePath":"how_to_build/part_list.md","lastUpdated":1710897358000}'),H={name:"how_to_build/part_list.md"},Q=Object.assign(H,{setup(s){return(a,c)=>(r(),i("div",null,[F,q,N,k(O),$,k(L),Y]))}});export{K as __pageData,Q as default};