fix: page imports

This commit is contained in:
RedHawk989 2025-05-01 15:24:59 +00:00
parent e2e15c6838
commit 491a38b1d5
49 changed files with 131 additions and 131 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{V as i,a as r,b as s,c as u}from"./chunks/theme.fbeca61e.js";import{o as m,c as p,E as n,w as o,l,k as t,a}from"./chunks/framework.47aa8d5b.js";const h=[{name:"Prohurtz",avatar:"https://avatars.githubusercontent.com/u/48768484?v=4",title:"Creator / Lead Software Developer / Documentor / Hardware Developer",links:[{icon:"github",link:"https://github.com/RedHawk989"}]},{name:"Summer",avatar:"https://avatars.githubusercontent.com/u/115666235?v=4",title:"Machine Learning Engineer / Data Scientist / App Developer",links:[{icon:"github",link:"https://github.com/Summer404NotFound"}]},{name:"lorow",avatar:"https://avatars.githubusercontent.com/u/14099558?v=4",title:"Lead Firmware Developer / App Developer",links:[{icon:"github",link:"https://github.com/lorow"}]},{name:"DaOfficialWizard",avatar:"https://avatars.githubusercontent.com/u/45744329?v=4",title:"Firmware Developer / Documentation Manager / App Developer",links:[{icon:"github",link:"https://github.com/ZanzyTHEbar"}]}],b=[{name:"qdot",avatar:"https://avatars.githubusercontent.com/u/34539?v=4",links:[{icon:"github",link:"https://github.com/qdot"}]},{name:"dfgHiatus",avatar:"https://avatars.githubusercontent.com/u/51272212?v=4",links:[{icon:"github",link:"https://github.com/dfgHiatus"}]},{name:"PallasNeko",avatar:"https://avatars.githubusercontent.com/u/124042774?v=4",links:[{icon:"github",link:"https://github.com/PallasNeko"}]}],f=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"page"},"headers":[],"relativePath":"about.md","filePath":"about.md","lastUpdated":1700510338000}'),d={name:"about.md"},w=Object.assign(d,{setup(c){return(g,e)=>(m(),p("div",null,[n(l(u),null,{default:o(()=>[n(l(i),null,{title:o(()=>e[0]||(e[0]=[t("div",{class:"text-[#ab5ac7]"}," Our Team ",-1)])),lead:o(()=>e[1]||(e[1]=[a(" The development of EyeTrackVR is guided by an international team, some of whom have chosen to be featured below."),t("br",null,null,-1),t("br",null,null,-1),a(" EyeTrackVR developers are a group of people who are passionate about the field of augmented and virtual reality. ")])),_:1}),n(l(r),{size:"medium",members:l(h)},null,8,["members"]),n(l(s),null,{title:o(()=>e[2]||(e[2]=[a("Contributors")])),lead:o(()=>e[3]||(e[3]=[a("Those who have actively contributed to development."),t("br",null,null,-1),a(" Community Support")])),members:o(()=>[n(l(r),{size:"small",members:l(b)},null,8,["members"])]),_:1}),n(l(s),null,{title:o(()=>e[4]||(e[4]=[a("Philosophy")])),lead:o(()=>e[5]||(e[5]=[a(" The "),t("a",{class:"custom-links",href:"/intro",target:"_blank"},"guides",-1),a(" on this website include some of our team's own notes (not all of them are polished) that we disclose for other people to use."),t("br",null,null,-1),t("br",null,null,-1),a(" Here, we hope you may find something useful to you."),t("br",null,null,-1),t("br",null,null,-1),a(" We advocate the "),t("a",{class:"custom-links",href:"https://en.wikipedia.org/wiki/Open-source_model",target:"_blank"},"Open Source model",-1),a("."),t("br",null,null,-1),t("br",null,null,-1),a(" This is why we strive to make our work open to other people for consultation, replication and reuse. ")])),_:1})]),_:1})]))}});export{f as __pageData,w as default};
import{V as i,a as r,b as s,c as u}from"./chunks/theme.cd06fb64.js";import{o as m,c as p,E as n,w as o,l,k as t,a}from"./chunks/framework.47aa8d5b.js";const h=[{name:"Prohurtz",avatar:"https://avatars.githubusercontent.com/u/48768484?v=4",title:"Creator / Lead Software Developer / Documentor / Hardware Developer",links:[{icon:"github",link:"https://github.com/RedHawk989"}]},{name:"Summer",avatar:"https://avatars.githubusercontent.com/u/115666235?v=4",title:"Machine Learning Engineer / Data Scientist / App Developer",links:[{icon:"github",link:"https://github.com/Summer404NotFound"}]},{name:"lorow",avatar:"https://avatars.githubusercontent.com/u/14099558?v=4",title:"Lead Firmware Developer / App Developer",links:[{icon:"github",link:"https://github.com/lorow"}]},{name:"DaOfficialWizard",avatar:"https://avatars.githubusercontent.com/u/45744329?v=4",title:"Firmware Developer / Documentation Manager / App Developer",links:[{icon:"github",link:"https://github.com/ZanzyTHEbar"}]}],b=[{name:"qdot",avatar:"https://avatars.githubusercontent.com/u/34539?v=4",links:[{icon:"github",link:"https://github.com/qdot"}]},{name:"dfgHiatus",avatar:"https://avatars.githubusercontent.com/u/51272212?v=4",links:[{icon:"github",link:"https://github.com/dfgHiatus"}]},{name:"PallasNeko",avatar:"https://avatars.githubusercontent.com/u/124042774?v=4",links:[{icon:"github",link:"https://github.com/PallasNeko"}]}],f=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"page"},"headers":[],"relativePath":"about.md","filePath":"about.md","lastUpdated":1700510338000}'),d={name:"about.md"},w=Object.assign(d,{setup(c){return(g,e)=>(m(),p("div",null,[n(l(u),null,{default:o(()=>[n(l(i),null,{title:o(()=>e[0]||(e[0]=[t("div",{class:"text-[#ab5ac7]"}," Our Team ",-1)])),lead:o(()=>e[1]||(e[1]=[a(" The development of EyeTrackVR is guided by an international team, some of whom have chosen to be featured below."),t("br",null,null,-1),t("br",null,null,-1),a(" EyeTrackVR developers are a group of people who are passionate about the field of augmented and virtual reality. ")])),_:1}),n(l(r),{size:"medium",members:l(h)},null,8,["members"]),n(l(s),null,{title:o(()=>e[2]||(e[2]=[a("Contributors")])),lead:o(()=>e[3]||(e[3]=[a("Those who have actively contributed to development."),t("br",null,null,-1),a(" Community Support")])),members:o(()=>[n(l(r),{size:"small",members:l(b)},null,8,["members"])]),_:1}),n(l(s),null,{title:o(()=>e[4]||(e[4]=[a("Philosophy")])),lead:o(()=>e[5]||(e[5]=[a(" The "),t("a",{class:"custom-links",href:"/intro",target:"_blank"},"guides",-1),a(" on this website include some of our team's own notes (not all of them are polished) that we disclose for other people to use."),t("br",null,null,-1),t("br",null,null,-1),a(" Here, we hope you may find something useful to you."),t("br",null,null,-1),t("br",null,null,-1),a(" We advocate the "),t("a",{class:"custom-links",href:"https://en.wikipedia.org/wiki/Open-source_model",target:"_blank"},"Open Source model",-1),a("."),t("br",null,null,-1),t("br",null,null,-1),a(" This is why we strive to make our work open to other people for consultation, replication and reuse. ")])),_:1})]),_:1})]))}});export{f as __pageData,w as default};

View File

@ -1 +1 @@
import{V as i,a as r,b as s,c as u}from"./chunks/theme.fbeca61e.js";import{o as m,c as p,E as n,w as o,l,k as t,a}from"./chunks/framework.47aa8d5b.js";const h=[{name:"Prohurtz",avatar:"https://avatars.githubusercontent.com/u/48768484?v=4",title:"Creator / Lead Software Developer / Documentor / Hardware Developer",links:[{icon:"github",link:"https://github.com/RedHawk989"}]},{name:"Summer",avatar:"https://avatars.githubusercontent.com/u/115666235?v=4",title:"Machine Learning Engineer / Data Scientist / App Developer",links:[{icon:"github",link:"https://github.com/Summer404NotFound"}]},{name:"lorow",avatar:"https://avatars.githubusercontent.com/u/14099558?v=4",title:"Lead Firmware Developer / App Developer",links:[{icon:"github",link:"https://github.com/lorow"}]},{name:"DaOfficialWizard",avatar:"https://avatars.githubusercontent.com/u/45744329?v=4",title:"Firmware Developer / Documentation Manager / App Developer",links:[{icon:"github",link:"https://github.com/ZanzyTHEbar"}]}],b=[{name:"qdot",avatar:"https://avatars.githubusercontent.com/u/34539?v=4",links:[{icon:"github",link:"https://github.com/qdot"}]},{name:"dfgHiatus",avatar:"https://avatars.githubusercontent.com/u/51272212?v=4",links:[{icon:"github",link:"https://github.com/dfgHiatus"}]},{name:"PallasNeko",avatar:"https://avatars.githubusercontent.com/u/124042774?v=4",links:[{icon:"github",link:"https://github.com/PallasNeko"}]}],f=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"page"},"headers":[],"relativePath":"about.md","filePath":"about.md","lastUpdated":1700510338000}'),d={name:"about.md"},w=Object.assign(d,{setup(c){return(g,e)=>(m(),p("div",null,[n(l(u),null,{default:o(()=>[n(l(i),null,{title:o(()=>e[0]||(e[0]=[t("div",{class:"text-[#ab5ac7]"}," Our Team ",-1)])),lead:o(()=>e[1]||(e[1]=[a(" The development of EyeTrackVR is guided by an international team, some of whom have chosen to be featured below."),t("br",null,null,-1),t("br",null,null,-1),a(" EyeTrackVR developers are a group of people who are passionate about the field of augmented and virtual reality. ")])),_:1}),n(l(r),{size:"medium",members:l(h)},null,8,["members"]),n(l(s),null,{title:o(()=>e[2]||(e[2]=[a("Contributors")])),lead:o(()=>e[3]||(e[3]=[a("Those who have actively contributed to development."),t("br",null,null,-1),a(" Community Support")])),members:o(()=>[n(l(r),{size:"small",members:l(b)},null,8,["members"])]),_:1}),n(l(s),null,{title:o(()=>e[4]||(e[4]=[a("Philosophy")])),lead:o(()=>e[5]||(e[5]=[a(" The "),t("a",{class:"custom-links",href:"/intro",target:"_blank"},"guides",-1),a(" on this website include some of our team's own notes (not all of them are polished) that we disclose for other people to use."),t("br",null,null,-1),t("br",null,null,-1),a(" Here, we hope you may find something useful to you."),t("br",null,null,-1),t("br",null,null,-1),a(" We advocate the "),t("a",{class:"custom-links",href:"https://en.wikipedia.org/wiki/Open-source_model",target:"_blank"},"Open Source model",-1),a("."),t("br",null,null,-1),t("br",null,null,-1),a(" This is why we strive to make our work open to other people for consultation, replication and reuse. ")])),_:1})]),_:1})]))}});export{f as __pageData,w as default};
import{V as i,a as r,b as s,c as u}from"./chunks/theme.cd06fb64.js";import{o as m,c as p,E as n,w as o,l,k as t,a}from"./chunks/framework.47aa8d5b.js";const h=[{name:"Prohurtz",avatar:"https://avatars.githubusercontent.com/u/48768484?v=4",title:"Creator / Lead Software Developer / Documentor / Hardware Developer",links:[{icon:"github",link:"https://github.com/RedHawk989"}]},{name:"Summer",avatar:"https://avatars.githubusercontent.com/u/115666235?v=4",title:"Machine Learning Engineer / Data Scientist / App Developer",links:[{icon:"github",link:"https://github.com/Summer404NotFound"}]},{name:"lorow",avatar:"https://avatars.githubusercontent.com/u/14099558?v=4",title:"Lead Firmware Developer / App Developer",links:[{icon:"github",link:"https://github.com/lorow"}]},{name:"DaOfficialWizard",avatar:"https://avatars.githubusercontent.com/u/45744329?v=4",title:"Firmware Developer / Documentation Manager / App Developer",links:[{icon:"github",link:"https://github.com/ZanzyTHEbar"}]}],b=[{name:"qdot",avatar:"https://avatars.githubusercontent.com/u/34539?v=4",links:[{icon:"github",link:"https://github.com/qdot"}]},{name:"dfgHiatus",avatar:"https://avatars.githubusercontent.com/u/51272212?v=4",links:[{icon:"github",link:"https://github.com/dfgHiatus"}]},{name:"PallasNeko",avatar:"https://avatars.githubusercontent.com/u/124042774?v=4",links:[{icon:"github",link:"https://github.com/PallasNeko"}]}],f=JSON.parse('{"title":"","description":"","frontmatter":{"layout":"page"},"headers":[],"relativePath":"about.md","filePath":"about.md","lastUpdated":1700510338000}'),d={name:"about.md"},w=Object.assign(d,{setup(c){return(g,e)=>(m(),p("div",null,[n(l(u),null,{default:o(()=>[n(l(i),null,{title:o(()=>e[0]||(e[0]=[t("div",{class:"text-[#ab5ac7]"}," Our Team ",-1)])),lead:o(()=>e[1]||(e[1]=[a(" The development of EyeTrackVR is guided by an international team, some of whom have chosen to be featured below."),t("br",null,null,-1),t("br",null,null,-1),a(" EyeTrackVR developers are a group of people who are passionate about the field of augmented and virtual reality. ")])),_:1}),n(l(r),{size:"medium",members:l(h)},null,8,["members"]),n(l(s),null,{title:o(()=>e[2]||(e[2]=[a("Contributors")])),lead:o(()=>e[3]||(e[3]=[a("Those who have actively contributed to development."),t("br",null,null,-1),a(" Community Support")])),members:o(()=>[n(l(r),{size:"small",members:l(b)},null,8,["members"])]),_:1}),n(l(s),null,{title:o(()=>e[4]||(e[4]=[a("Philosophy")])),lead:o(()=>e[5]||(e[5]=[a(" The "),t("a",{class:"custom-links",href:"/intro",target:"_blank"},"guides",-1),a(" on this website include some of our team's own notes (not all of them are polished) that we disclose for other people to use."),t("br",null,null,-1),t("br",null,null,-1),a(" Here, we hope you may find something useful to you."),t("br",null,null,-1),t("br",null,null,-1),a(" We advocate the "),t("a",{class:"custom-links",href:"https://en.wikipedia.org/wiki/Open-source_model",target:"_blank"},"Open Source model",-1),a("."),t("br",null,null,-1),t("br",null,null,-1),a(" This is why we strive to make our work open to other people for consultation, replication and reuse. ")])),_:1})]),_:1})]))}});export{f as __pageData,w as default};

View File

@ -1 +1 @@
import{u as p,v as i,p as s,a1 as c,a2 as l,a3 as d,a4 as f,a5 as m,a6 as h,a7 as g,a8 as A,a9 as v,aa as C,S as P,d as y,j as _,ab as w,ac as T,ad as b,ae as E}from"./chunks/framework.47aa8d5b.js";import{t as R}from"./chunks/theme.fbeca61e.js";const S={};const D={...R,setup(){const{lang:e}=p();i(()=>{s&&(document.cookie=`nf_lang=${e.value}; expires=Mon, 1 Jan 2024 00:00:00 UTC; path=/`)})},...S};function u(e){if(e.extends){const t=u(e.extends);return{...t,...e,async enhanceApp(a){t.enhanceApp&&await t.enhanceApp(a),e.enhanceApp&&await e.enhanceApp(a)}}}return e}const o=u(D),j=y({name:"VitePressApp",setup(){const{site:e}=p();return _(()=>{i(()=>{document.documentElement.lang=e.value.lang,document.documentElement.dir=e.value.dir})}),w(),T(),b(),o.setup&&o.setup(),()=>E(o.Layout)}});async function x(){const e=$(),t=O();t.provide(l,e);const a=d(e.route);return t.provide(f,a),t.component("Content",m),t.component("ClientOnly",h),Object.defineProperties(t.config.globalProperties,{$frontmatter:{get(){return a.frontmatter.value}},$params:{get(){return a.page.value.params}}}),o.enhanceApp&&await o.enhanceApp({app:t,router:e,siteData:g}),{app:t,router:e,data:a}}function O(){return A(j)}function $(){let e=s,t;return v(a=>{let n=C(a),r=null;return n&&(e&&(t=n),(e||t===n)&&(n=n.replace(/\.js$/,".lean.js")),r=P(()=>import(n),[])),s&&(e=!1),r},o.NotFound)}s&&x().then(({app:e,router:t,data:a})=>{t.go().then(()=>{c(t.route,a.site),e.mount("#app")})});export{x as createApp};
import{u as p,v as i,p as s,a1 as c,a2 as l,a3 as d,a4 as f,a5 as m,a6 as h,a7 as g,a8 as A,a9 as v,aa as C,S as P,d as y,j as _,ab as w,ac as T,ad as b,ae as E}from"./chunks/framework.47aa8d5b.js";import{t as R}from"./chunks/theme.cd06fb64.js";const S={};const D={...R,setup(){const{lang:e}=p();i(()=>{s&&(document.cookie=`nf_lang=${e.value}; expires=Mon, 1 Jan 2024 00:00:00 UTC; path=/`)})},...S};function u(e){if(e.extends){const t=u(e.extends);return{...t,...e,async enhanceApp(a){t.enhanceApp&&await t.enhanceApp(a),e.enhanceApp&&await e.enhanceApp(a)}}}return e}const o=u(D),j=y({name:"VitePressApp",setup(){const{site:e}=p();return _(()=>{i(()=>{document.documentElement.lang=e.value.lang,document.documentElement.dir=e.value.dir})}),w(),T(),b(),o.setup&&o.setup(),()=>E(o.Layout)}});async function x(){const e=$(),t=O();t.provide(l,e);const a=d(e.route);return t.provide(f,a),t.component("Content",m),t.component("ClientOnly",h),Object.defineProperties(t.config.globalProperties,{$frontmatter:{get(){return a.frontmatter.value}},$params:{get(){return a.page.value.params}}}),o.enhanceApp&&await o.enhanceApp({app:t,router:e,siteData:g}),{app:t,router:e,data:a}}function O(){return A(j)}function $(){let e=s,t;return v(a=>{let n=C(a),r=null;return n&&(e&&(t=n),(e||t===n)&&(n=n.replace(/\.js$/,".lean.js")),r=P(()=>import(n),[])),s&&(e=!1),r},o.NotFound)}s&&x().then(({app:e,router:t,data:a})=>{t.go().then(()=>{c(t.route,a.site),e.mount("#app")})});export{x as createApp};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
import{o as a,c as s,O as n}from"./chunks/framework.47aa8d5b.js";const o=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"getting_started/led_safety.md","filePath":"getting_started/led_safety.md","lastUpdated":1746112070000}'),t={name:"getting_started/led_safety.md"},p=Object.assign(t,{setup(r){return(l,e)=>(a(),s("div",null,e[0]||(e[0]=[n(`<h2 id="neareye-infrared-ir-emitter-safety" tabindex="-1">NearEye Infrared (IR) Emitter Safety <a class="header-anchor" href="#neareye-infrared-ir-emitter-safety" aria-label="Permalink to &quot;NearEye Infrared (IR) Emitter Safety&quot;"></a></h2><p><strong>Please exercise caution when messing around with IR emitters.</strong></p><p>IR can be dangerous to your eyes once at a certain power level. <strong>It is not recommended to use different emitters unless you know exactly what you are doing as it could result in harm to your eyes. If you doubt yourself or do not understand something, just do exactly what we do. Don&#39;t use different emitters, don&#39;t use different means of power, etc.</strong></p><div class="danger custom-block"><p class="custom-block-title">It is important that you DO NOT BYPASS (OR NOT DO) ANY SAFETY FEATURES PUT IN PLACE. This can result in irreversible bodily harm. :::</p><p>The safety measures were put in place to REDUCE the potential failure risk. All further safety responsibilities are on the user. This includes visually checking with an IR camera that the brightness is correct and that you do not feel warmth, excessive eye-strain or experience short-term effects after being exposed to the IR light (symptoms such as dark spots or dry/warm feeling eyes while actively using). While we have designed EyeTrackVR to be as safe as possible, we do not hold any responsibility for damage done.</p><p><a href="https://store.eyetrackvr.dev/" target="_blank" rel="noreferrer">Our official kits</a> are made with known safe parts, undergo design testing to ensure failures are safe, and have calculated exposure nummbers below.</p><hr><h3 id="relevant-safety-limits" tabindex="-1">Relevant Safety Limits <a class="header-anchor" href="#relevant-safety-limits" aria-label="Permalink to &quot;Relevant Safety Limits&quot;"></a></h3><p>We design for compliance with these key international safety standards:</p><ul><li><strong>ICNIRP 2013</strong>: For exposures &gt;1000 seconds, the <strong>anterior eye</strong> (cornea and lens) irradiance limit is<br><strong>10mW/cm²</strong> (equivalent to 100W/m²).</li><li><strong>IEC 62471</strong> and <strong>IEC 60825-1</strong>: For sources in the <strong>retinal hazard region</strong> (4001400nm), and a worst-case exposure of ≥10s, the irradiance limit is<br><strong>4mW/cm²</strong> (averaged over a 7mm pupil projected cone of 11mrad).</li></ul><p>EyeTrackVR emitters operate at <strong>850nm</strong>, within the retinal hazard region.<br> Our calculated output is well below both thresholds:<br><strong>≤0.8mW/cm²</strong> at 1cm — <strong>5×</strong> below the retinal limit, <strong>13×</strong> below the corneal limit.</p><hr><h3 id="why-current-ma-isn-t-enough" tabindex="-1">Why Current (mA) Isnt Enough <a class="header-anchor" href="#why-current-ma-isn-t-enough" aria-label="Permalink to &quot;Why Current (mA) Isnt Enough&quot;"></a></h3><p>LED current (mA) is not a direct measure of safety. <strong>Irradiance</strong> (power per unit area) determines actual eye exposure:</p><div class="language- line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#babed8;">Irradiance E = Radiant Intensity Ie / Illuminated Area A</span></span>
import{o as a,c as s,O as n}from"./chunks/framework.47aa8d5b.js";const o=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"getting_started/led_safety.md","filePath":"getting_started/led_safety.md","lastUpdated":1746112988000}'),t={name:"getting_started/led_safety.md"},p=Object.assign(t,{setup(r){return(l,e)=>(a(),s("div",null,e[0]||(e[0]=[n(`<h2 id="neareye-infrared-ir-emitter-safety" tabindex="-1">NearEye Infrared (IR) Emitter Safety <a class="header-anchor" href="#neareye-infrared-ir-emitter-safety" aria-label="Permalink to &quot;NearEye Infrared (IR) Emitter Safety&quot;"></a></h2><p><strong>Please exercise caution when messing around with IR emitters.</strong></p><p>IR can be dangerous to your eyes once at a certain power level. <strong>It is not recommended to use different emitters unless you know exactly what you are doing as it could result in harm to your eyes. If you doubt yourself or do not understand something, just do exactly what we do. Don&#39;t use different emitters, don&#39;t use different means of power, etc.</strong></p><div class="danger custom-block"><p class="custom-block-title">DANGER</p><p>It is important that you DO NOT BYPASS (OR NOT DO) ANY SAFETY FEATURES PUT IN PLACE. This can result in irreversible bodily harm.</p></div><p>The safety measures were put in place to REDUCE the potential failure risk. All further safety responsibilities are on the user. This includes visually checking with an IR camera that the brightness is correct and that you do not feel warmth, excessive eye-strain or experience short-term effects after being exposed to the IR light (symptoms such as dark spots or dry/warm feeling eyes while actively using). While we have designed EyeTrackVR to be as safe as possible, we do not hold any responsibility for damage done.</p><p><a href="https://store.eyetrackvr.dev/" target="_blank" rel="noreferrer">Our official kits</a> are made with known safe parts, undergo design testing to ensure failures are safe, and have calculated exposure nummbers below.</p><hr><h3 id="relevant-safety-limits" tabindex="-1">Relevant Safety Limits <a class="header-anchor" href="#relevant-safety-limits" aria-label="Permalink to &quot;Relevant Safety Limits&quot;"></a></h3><p>We design for compliance with these key international safety standards:</p><ul><li><strong>ICNIRP 2013</strong>: For exposures &gt;1000 seconds, the <strong>anterior eye</strong> (cornea and lens) irradiance limit is<br><strong>10mW/cm²</strong> (equivalent to 100W/m²).</li><li><strong>IEC 62471</strong> and <strong>IEC 60825-1</strong>: For sources in the <strong>retinal hazard region</strong> (4001400nm), and a worst-case exposure of ≥10s, the irradiance limit is<br><strong>4mW/cm²</strong> (averaged over a 7mm pupil projected cone of 11mrad).</li></ul><p>EyeTrackVR emitters operate at <strong>850nm</strong>, within the retinal hazard region.<br> Our calculated output is well below both thresholds:<br><strong>≤0.8mW/cm²</strong> at 1cm — <strong>5×</strong> below the retinal limit, <strong>13×</strong> below the corneal limit.</p><hr><h3 id="why-current-ma-isn-t-enough" tabindex="-1">Why Current (mA) Isnt Enough <a class="header-anchor" href="#why-current-ma-isn-t-enough" aria-label="Permalink to &quot;Why Current (mA) Isnt Enough&quot;"></a></h3><p>LED current (mA) is not a direct measure of safety. <strong>Irradiance</strong> (power per unit area) determines actual eye exposure:</p><div class="language- line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#babed8;">Irradiance E = Radiant Intensity Ie / Illuminated Area A</span></span>
<span class="line"><span style="color:#babed8;">A = · Ω where Ω = 2π(1cosθ)</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br></div></div><ul><li><em>Ie</em> = radiant intensity (in <strong>mW/sr</strong>, from datasheet)</li><li><em>r</em> = distance from LED to cornea (worst-case 1cm)</li><li><em>θ</em> = half-angle of LED emission cone (datasheet: 60°, full angle 120°)</li><li><em>Ω</em> = solid angle in <strong>steradians</strong><br> (for θ = 60° Ω πsr)<br> A = πcm² at 1cm</li></ul><hr><h2 id="hardware-exposure-calculations" tabindex="-1">Hardware Exposure Calculations <a class="header-anchor" href="#hardware-exposure-calculations" aria-label="Permalink to &quot;Hardware Exposure Calculations&quot;"></a></h2><h3 id="led-xl3216hirc850" tabindex="-1">LED: XL3216HIRC850 <a class="header-anchor" href="#led-xl3216hirc850" aria-label="Permalink to &quot;LED: XL3216HIRC850&quot;"></a></h3><table><thead><tr><th>Datasheet Value</th><th>Symbol</th><th>Notes</th></tr></thead><tbody><tr><td>Radiant intensity @ 20mA</td><td><em>Ie20</em> = 5mW/sr</td><td>Typical max value, 60° half-angle</td></tr><tr><td>Full emission angle</td><td>120°</td><td> θ = 60°, Ω πsr</td></tr></tbody></table><p>Radiant intensity scales roughly linearly with current:</p><div class="language- line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#babed8;">Ie = Ie20 × (I_drive / 20mA)</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><hr><h3 id="v3-module-2-leds-3-2-ma-each" tabindex="-1">V3 Module (2 LEDs @ 3.2mA each) <a class="header-anchor" href="#v3-module-2-leds-3-2-ma-each" aria-label="Permalink to &quot;V3 Module (2 LEDs @ 3.2mA each)&quot;"></a></h3><div class="language- line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#babed8;">Ie_single = 5 × (3.2 / 20) = 0.80mW/sr</span></span>
<span class="line"><span style="color:#babed8;">E_single = 0.80 / π = 0.25mW/cm²</span></span>
<span class="line"><span style="color:#babed8;">E_total = 0.25 × 2 = 0.51mW/cm²</span></span>
@ -15,4 +15,4 @@ import{o as a,c as s,O as n}from"./chunks/framework.47aa8d5b.js";const o=JSON.pa
<span class="line"><span style="color:#babed8;">A = Ω × (illuminated area)</span></span>
<span class="line"><span style="color:#babed8;">Ie = Ie20ₘₐ × I / 20mA</span></span>
<span class="line"><span style="color:#babed8;">E (per LED) = Ie / A</span></span>
<span class="line"><span style="color:#babed8;">E_total = E × (# of LEDs)</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br></div></div><hr><h2 id="appendix-b--quoted-guideline-icnirp-2013" tabindex="-1">Appendix B Quoted Guideline (ICNIRP 2013) <a class="header-anchor" href="#appendix-b--quoted-guideline-icnirp-2013" aria-label="Permalink to &quot;Appendix B Quoted Guideline (ICNIRP 2013)&quot;"></a></h2><blockquote><p>To avoid thermal injury of the cornea and possible delayed effects on the lens of the eye (cataractogenesis), infrared radiation (780nm &lt; λ &lt; 3µm) should be limited to 100Wm² (10mWcm²) for lengthy exposures (&gt;1000s).</p></blockquote><blockquote><p> <em>ICNIRP Guidelines on Limits of Exposure to Incoherent Optical Radiation (2013)</em><br><a href="https://docs.eyetrackvr.dev/safety/ICNIRP_optical_radiation.pdf" target="_blank" rel="noreferrer">PDF</a></p></blockquote><hr><p>If you have suggestions, believe these calculations are inaccurate, or wish to contribute improvements, please <a href="https://github.com/EyeTrackVR/EyetrackVR-Docs" target="_blank" rel="noreferrer">open a discussion on GitHub</a>. Your feedback helps us keep everyone safe.</p></div>`,4)])))}});export{o as __pageData,p as default};
<span class="line"><span style="color:#babed8;">E_total = E × (# of LEDs)</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br></div></div><hr><h2 id="appendix-b--quoted-guideline-icnirp-2013" tabindex="-1">Appendix B Quoted Guideline (ICNIRP 2013) <a class="header-anchor" href="#appendix-b--quoted-guideline-icnirp-2013" aria-label="Permalink to &quot;Appendix B Quoted Guideline (ICNIRP 2013)&quot;"></a></h2><blockquote><p>To avoid thermal injury of the cornea and possible delayed effects on the lens of the eye (cataractogenesis), infrared radiation (780nm &lt; λ &lt; 3µm) should be limited to 100Wm² (10mWcm²) for lengthy exposures (&gt;1000s).</p></blockquote><blockquote><p> <em>ICNIRP Guidelines on Limits of Exposure to Incoherent Optical Radiation (2013)</em><br><a href="https://docs.eyetrackvr.dev/safety/ICNIRP_optical_radiation.pdf" target="_blank" rel="noreferrer">PDF</a></p></blockquote><hr><p>If you have suggestions, believe these calculations are inaccurate, or wish to contribute improvements, please <a href="https://github.com/EyeTrackVR/EyetrackVR-Docs" target="_blank" rel="noreferrer">open a discussion on GitHub</a>. Your feedback helps us keep everyone safe.</p>`,47)])))}});export{o as __pageData,p as default};

View File

@ -1,4 +1,4 @@
import{o as a,c as s,O as n}from"./chunks/framework.47aa8d5b.js";const o=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"getting_started/led_safety.md","filePath":"getting_started/led_safety.md","lastUpdated":1746112070000}'),t={name:"getting_started/led_safety.md"},p=Object.assign(t,{setup(r){return(l,e)=>(a(),s("div",null,e[0]||(e[0]=[n(`<h2 id="neareye-infrared-ir-emitter-safety" tabindex="-1">NearEye Infrared (IR) Emitter Safety <a class="header-anchor" href="#neareye-infrared-ir-emitter-safety" aria-label="Permalink to &quot;NearEye Infrared (IR) Emitter Safety&quot;"></a></h2><p><strong>Please exercise caution when messing around with IR emitters.</strong></p><p>IR can be dangerous to your eyes once at a certain power level. <strong>It is not recommended to use different emitters unless you know exactly what you are doing as it could result in harm to your eyes. If you doubt yourself or do not understand something, just do exactly what we do. Don&#39;t use different emitters, don&#39;t use different means of power, etc.</strong></p><div class="danger custom-block"><p class="custom-block-title">It is important that you DO NOT BYPASS (OR NOT DO) ANY SAFETY FEATURES PUT IN PLACE. This can result in irreversible bodily harm. :::</p><p>The safety measures were put in place to REDUCE the potential failure risk. All further safety responsibilities are on the user. This includes visually checking with an IR camera that the brightness is correct and that you do not feel warmth, excessive eye-strain or experience short-term effects after being exposed to the IR light (symptoms such as dark spots or dry/warm feeling eyes while actively using). While we have designed EyeTrackVR to be as safe as possible, we do not hold any responsibility for damage done.</p><p><a href="https://store.eyetrackvr.dev/" target="_blank" rel="noreferrer">Our official kits</a> are made with known safe parts, undergo design testing to ensure failures are safe, and have calculated exposure nummbers below.</p><hr><h3 id="relevant-safety-limits" tabindex="-1">Relevant Safety Limits <a class="header-anchor" href="#relevant-safety-limits" aria-label="Permalink to &quot;Relevant Safety Limits&quot;"></a></h3><p>We design for compliance with these key international safety standards:</p><ul><li><strong>ICNIRP 2013</strong>: For exposures &gt;1000 seconds, the <strong>anterior eye</strong> (cornea and lens) irradiance limit is<br><strong>10mW/cm²</strong> (equivalent to 100W/m²).</li><li><strong>IEC 62471</strong> and <strong>IEC 60825-1</strong>: For sources in the <strong>retinal hazard region</strong> (4001400nm), and a worst-case exposure of ≥10s, the irradiance limit is<br><strong>4mW/cm²</strong> (averaged over a 7mm pupil projected cone of 11mrad).</li></ul><p>EyeTrackVR emitters operate at <strong>850nm</strong>, within the retinal hazard region.<br> Our calculated output is well below both thresholds:<br><strong>≤0.8mW/cm²</strong> at 1cm — <strong>5×</strong> below the retinal limit, <strong>13×</strong> below the corneal limit.</p><hr><h3 id="why-current-ma-isn-t-enough" tabindex="-1">Why Current (mA) Isnt Enough <a class="header-anchor" href="#why-current-ma-isn-t-enough" aria-label="Permalink to &quot;Why Current (mA) Isnt Enough&quot;"></a></h3><p>LED current (mA) is not a direct measure of safety. <strong>Irradiance</strong> (power per unit area) determines actual eye exposure:</p><div class="language- line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#babed8;">Irradiance E = Radiant Intensity Ie / Illuminated Area A</span></span>
import{o as a,c as s,O as n}from"./chunks/framework.47aa8d5b.js";const o=JSON.parse('{"title":"","description":"","frontmatter":{},"headers":[],"relativePath":"getting_started/led_safety.md","filePath":"getting_started/led_safety.md","lastUpdated":1746112988000}'),t={name:"getting_started/led_safety.md"},p=Object.assign(t,{setup(r){return(l,e)=>(a(),s("div",null,e[0]||(e[0]=[n(`<h2 id="neareye-infrared-ir-emitter-safety" tabindex="-1">NearEye Infrared (IR) Emitter Safety <a class="header-anchor" href="#neareye-infrared-ir-emitter-safety" aria-label="Permalink to &quot;NearEye Infrared (IR) Emitter Safety&quot;"></a></h2><p><strong>Please exercise caution when messing around with IR emitters.</strong></p><p>IR can be dangerous to your eyes once at a certain power level. <strong>It is not recommended to use different emitters unless you know exactly what you are doing as it could result in harm to your eyes. If you doubt yourself or do not understand something, just do exactly what we do. Don&#39;t use different emitters, don&#39;t use different means of power, etc.</strong></p><div class="danger custom-block"><p class="custom-block-title">DANGER</p><p>It is important that you DO NOT BYPASS (OR NOT DO) ANY SAFETY FEATURES PUT IN PLACE. This can result in irreversible bodily harm.</p></div><p>The safety measures were put in place to REDUCE the potential failure risk. All further safety responsibilities are on the user. This includes visually checking with an IR camera that the brightness is correct and that you do not feel warmth, excessive eye-strain or experience short-term effects after being exposed to the IR light (symptoms such as dark spots or dry/warm feeling eyes while actively using). While we have designed EyeTrackVR to be as safe as possible, we do not hold any responsibility for damage done.</p><p><a href="https://store.eyetrackvr.dev/" target="_blank" rel="noreferrer">Our official kits</a> are made with known safe parts, undergo design testing to ensure failures are safe, and have calculated exposure nummbers below.</p><hr><h3 id="relevant-safety-limits" tabindex="-1">Relevant Safety Limits <a class="header-anchor" href="#relevant-safety-limits" aria-label="Permalink to &quot;Relevant Safety Limits&quot;"></a></h3><p>We design for compliance with these key international safety standards:</p><ul><li><strong>ICNIRP 2013</strong>: For exposures &gt;1000 seconds, the <strong>anterior eye</strong> (cornea and lens) irradiance limit is<br><strong>10mW/cm²</strong> (equivalent to 100W/m²).</li><li><strong>IEC 62471</strong> and <strong>IEC 60825-1</strong>: For sources in the <strong>retinal hazard region</strong> (4001400nm), and a worst-case exposure of ≥10s, the irradiance limit is<br><strong>4mW/cm²</strong> (averaged over a 7mm pupil projected cone of 11mrad).</li></ul><p>EyeTrackVR emitters operate at <strong>850nm</strong>, within the retinal hazard region.<br> Our calculated output is well below both thresholds:<br><strong>≤0.8mW/cm²</strong> at 1cm — <strong>5×</strong> below the retinal limit, <strong>13×</strong> below the corneal limit.</p><hr><h3 id="why-current-ma-isn-t-enough" tabindex="-1">Why Current (mA) Isnt Enough <a class="header-anchor" href="#why-current-ma-isn-t-enough" aria-label="Permalink to &quot;Why Current (mA) Isnt Enough&quot;"></a></h3><p>LED current (mA) is not a direct measure of safety. <strong>Irradiance</strong> (power per unit area) determines actual eye exposure:</p><div class="language- line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#babed8;">Irradiance E = Radiant Intensity Ie / Illuminated Area A</span></span>
<span class="line"><span style="color:#babed8;">A = · Ω where Ω = 2π(1cosθ)</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br></div></div><ul><li><em>Ie</em> = radiant intensity (in <strong>mW/sr</strong>, from datasheet)</li><li><em>r</em> = distance from LED to cornea (worst-case 1cm)</li><li><em>θ</em> = half-angle of LED emission cone (datasheet: 60°, full angle 120°)</li><li><em>Ω</em> = solid angle in <strong>steradians</strong><br> (for θ = 60° Ω πsr)<br> A = πcm² at 1cm</li></ul><hr><h2 id="hardware-exposure-calculations" tabindex="-1">Hardware Exposure Calculations <a class="header-anchor" href="#hardware-exposure-calculations" aria-label="Permalink to &quot;Hardware Exposure Calculations&quot;"></a></h2><h3 id="led-xl3216hirc850" tabindex="-1">LED: XL3216HIRC850 <a class="header-anchor" href="#led-xl3216hirc850" aria-label="Permalink to &quot;LED: XL3216HIRC850&quot;"></a></h3><table><thead><tr><th>Datasheet Value</th><th>Symbol</th><th>Notes</th></tr></thead><tbody><tr><td>Radiant intensity @ 20mA</td><td><em>Ie20</em> = 5mW/sr</td><td>Typical max value, 60° half-angle</td></tr><tr><td>Full emission angle</td><td>120°</td><td> θ = 60°, Ω πsr</td></tr></tbody></table><p>Radiant intensity scales roughly linearly with current:</p><div class="language- line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#babed8;">Ie = Ie20 × (I_drive / 20mA)</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br></div></div><hr><h3 id="v3-module-2-leds-3-2-ma-each" tabindex="-1">V3 Module (2 LEDs @ 3.2mA each) <a class="header-anchor" href="#v3-module-2-leds-3-2-ma-each" aria-label="Permalink to &quot;V3 Module (2 LEDs @ 3.2mA each)&quot;"></a></h3><div class="language- line-numbers-mode"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#babed8;">Ie_single = 5 × (3.2 / 20) = 0.80mW/sr</span></span>
<span class="line"><span style="color:#babed8;">E_single = 0.80 / π = 0.25mW/cm²</span></span>
<span class="line"><span style="color:#babed8;">E_total = 0.25 × 2 = 0.51mW/cm²</span></span>
@ -15,4 +15,4 @@ import{o as a,c as s,O as n}from"./chunks/framework.47aa8d5b.js";const o=JSON.pa
<span class="line"><span style="color:#babed8;">A = Ω × (illuminated area)</span></span>
<span class="line"><span style="color:#babed8;">Ie = Ie20ₘₐ × I / 20mA</span></span>
<span class="line"><span style="color:#babed8;">E (per LED) = Ie / A</span></span>
<span class="line"><span style="color:#babed8;">E_total = E × (# of LEDs)</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br></div></div><hr><h2 id="appendix-b--quoted-guideline-icnirp-2013" tabindex="-1">Appendix B Quoted Guideline (ICNIRP 2013) <a class="header-anchor" href="#appendix-b--quoted-guideline-icnirp-2013" aria-label="Permalink to &quot;Appendix B Quoted Guideline (ICNIRP 2013)&quot;"></a></h2><blockquote><p>To avoid thermal injury of the cornea and possible delayed effects on the lens of the eye (cataractogenesis), infrared radiation (780nm &lt; λ &lt; 3µm) should be limited to 100Wm² (10mWcm²) for lengthy exposures (&gt;1000s).</p></blockquote><blockquote><p> <em>ICNIRP Guidelines on Limits of Exposure to Incoherent Optical Radiation (2013)</em><br><a href="https://docs.eyetrackvr.dev/safety/ICNIRP_optical_radiation.pdf" target="_blank" rel="noreferrer">PDF</a></p></blockquote><hr><p>If you have suggestions, believe these calculations are inaccurate, or wish to contribute improvements, please <a href="https://github.com/EyeTrackVR/EyetrackVR-Docs" target="_blank" rel="noreferrer">open a discussion on GitHub</a>. Your feedback helps us keep everyone safe.</p></div>`,4)])))}});export{o as __pageData,p as default};
<span class="line"><span style="color:#babed8;">E_total = E × (# of LEDs)</span></span></code></pre><div class="line-numbers-wrapper" aria-hidden="true"><span class="line-number">1</span><br><span class="line-number">2</span><br><span class="line-number">3</span><br><span class="line-number">4</span><br><span class="line-number">5</span><br></div></div><hr><h2 id="appendix-b--quoted-guideline-icnirp-2013" tabindex="-1">Appendix B Quoted Guideline (ICNIRP 2013) <a class="header-anchor" href="#appendix-b--quoted-guideline-icnirp-2013" aria-label="Permalink to &quot;Appendix B Quoted Guideline (ICNIRP 2013)&quot;"></a></h2><blockquote><p>To avoid thermal injury of the cornea and possible delayed effects on the lens of the eye (cataractogenesis), infrared radiation (780nm &lt; λ &lt; 3µm) should be limited to 100Wm² (10mWcm²) for lengthy exposures (&gt;1000s).</p></blockquote><blockquote><p> <em>ICNIRP Guidelines on Limits of Exposure to Incoherent Optical Radiation (2013)</em><br><a href="https://docs.eyetrackvr.dev/safety/ICNIRP_optical_radiation.pdf" target="_blank" rel="noreferrer">PDF</a></p></blockquote><hr><p>If you have suggestions, believe these calculations are inaccurate, or wish to contribute improvements, please <a href="https://github.com/EyeTrackVR/EyetrackVR-Docs" target="_blank" rel="noreferrer">open a discussion on GitHub</a>. Your feedback helps us keep everyone safe.</p>`,47)])))}});export{o as __pageData,p as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
{"how_to_build_creating_your_own_mount.md":"70ac1088","development_docs_dev_docs.md":"b7b0d76e","archive_fox_ir_v2_build_instructions.md":"ebf3c880","firmware_guide_environments.md":"6b0604e7","firmware_guide_firmware.md":"6c8e1ae6","firmware_guide_flashing_tool.md":"c180a2ca","getting_started_intro.md":"d6d8f855","how_to_build_led_setup.md":"6d99addb","firmware_guide_mdns.md":"8a95e855","development_docs_standards.md":"f9558435","about.md":"d83210d0","dev_roadmap.md":"2f96c918","firmware_guide_update_platformio.md":"d52a99e0","contact.md":"034a53d4","how_to_build_part_list.md":"3640f4dd","development_docs_pages.md":"85e22694","how_to_build_preparing_xiao.md":"fcacda59","headset_guides_valve_index.md":"891da17f","index.md":"269511a8","headset_guides_what_is_this.md":"60052a7d","misc_faq.md":"8d641c6c","how_to_build_parts_list.md":"d57cd54a","firmware_guide_configure_firmware.md":"4eb536cf","firmware_guide_rest_api.md":"8a0ea54a","getting_started_things_to_know.md":"4cd89e47","misc_vrc_avatar_setup.md":"2d1bc492","how_to_build_v4_full_build.md":"0dd3c5e7","how_to_build_full_build.md":"f324b1f6","firmware_guide_setup_vscode.md":"fefbbc55","software_guide_eyetrackvr_app_guide.md":"dce4a9fb","misc_jlc3dp.md":"5e8875c4","software_guide_vrcft_tracking_module.md":"d148b9dc","how_to_build_preparing_cameras.md":"0a4aab5a","software_guide_osc_setup.md":"af1d1fce","firmware_guide_upload_and_update_firmware.md":"0806ea0f","how_to_build_3d_printed_mounts.md":"5d2aa5cb","software_guide_build_software.md":"b0d1c681","getting_started_led_safety.md":"90b53f85"}
{"contact.md":"034a53d4","firmware_guide_firmware.md":"6c8e1ae6","firmware_guide_environments.md":"6b0604e7","firmware_guide_flashing_tool.md":"c180a2ca","firmware_guide_mdns.md":"8a95e855","archive_fox_ir_v2_build_instructions.md":"ebf3c880","getting_started_led_safety.md":"78277ff3","how_to_build_parts_list.md":"d57cd54a","how_to_build_creating_your_own_mount.md":"70ac1088","how_to_build_full_build.md":"f324b1f6","getting_started_intro.md":"d6d8f855","firmware_guide_rest_api.md":"8a0ea54a","getting_started_things_to_know.md":"4cd89e47","headset_guides_valve_index.md":"891da17f","headset_guides_what_is_this.md":"60052a7d","dev_roadmap.md":"2f96c918","firmware_guide_upload_and_update_firmware.md":"0806ea0f","how_to_build_3d_printed_mounts.md":"5d2aa5cb","software_guide_vrcft_tracking_module.md":"d148b9dc","software_guide_build_software.md":"b0d1c681","development_docs_pages.md":"85e22694","how_to_build_v4_full_build.md":"0dd3c5e7","misc_jlc3dp.md":"5e8875c4","development_docs_standards.md":"f9558435","development_docs_dev_docs.md":"b7b0d76e","how_to_build_part_list.md":"3640f4dd","how_to_build_preparing_cameras.md":"0a4aab5a","how_to_build_preparing_xiao.md":"fcacda59","how_to_build_led_setup.md":"6d99addb","index.md":"269511a8","misc_faq.md":"8d641c6c","misc_vrc_avatar_setup.md":"2d1bc492","about.md":"055b7111","software_guide_osc_setup.md":"af1d1fce","firmware_guide_setup_vscode.md":"fefbbc55","firmware_guide_update_platformio.md":"d52a99e0","firmware_guide_configure_firmware.md":"4eb536cf","software_guide_eyetrackvr_app_guide.md":"dce4a9fb"}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long