first commit

This commit is contained in:
Leon van Kammen 2026-02-05 17:47:13 +01:00
commit 41131d4a29
23 changed files with 1267 additions and 0 deletions

4
asset/css/pico.min.css vendored Normal file

File diff suppressed because one or more lines are too long

844
asset/css/style.css Normal file
View file

@ -0,0 +1,844 @@
:root {
--pico-line-height: 2;
}
.container{
}
header{
height:210px;
}
main{
margin-bottom:120px;
}
small{
color: var(--pico-contrast-underline);
}
.hue-1{ filter: hue-rotate(45deg); }
.hue-2{ filter: hue-rotate(90deg); }
.hue-3{ filter: hue-rotate(135deg); }
.hue-4{ filter: hue-rotate(180deg); }
a,
a:active{
color: #95F;
}
a:visited{
color: #888;
}
header > .spectrum,
div#logo{
width:290px;
}
/* images (hidden for html2text browsers like lynx) */
div#logo{
background: url(../img/xrh-full.svg);
height:112px;
display:inline-block;
background-size:cover;
}
div#lvk{
background: url(../img/lvk.jpg);
height:100px;
width:100px;
background-size:cover;
display:inline-block;
border-radius:50%;
float:left;
margin-right:25px;
}
div#fabien{
background: url(../img/fabien.jpg);
height:100px;
width:100px;
background-size:cover;
display:inline-block;
border-radius:50%;
float:left;
margin-right:25px;
}
.btn{
-webkit-appearance: button;
--pico-background-color: var(--pico-primary-background);
--pico-border-color: var(--pico-primary-border);
--pico-color: var(--pico-primary-inverse);
--pico-box-shadow: var(--pico-button-box-shadow, 0 0 0 rgba(0, 0, 0, 0));
padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal);
border: var(--pico-border-width) solid var(--pico-border-color);
border-radius: var(--pico-border-radius);
outline: 0;
background-color: var(--pico-background-color);
box-shadow: var(--pico-box-shadow);
color: var(--pico-color);
font-weight: var(--pico-font-weight);
font-size: 1rem;
line-height: var(--pico-line-height);
text-align: center;
text-decoration: none;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
user-select: none;
transition: background-color var(--pico-transition),border-color var(--pico-transition),color var(--pico-transition),box-shadow var(--pico-transition);
}
div.banner,
div#banner {
overflow:hidden;
height: 40vh;
max-height:200px;
width: 100%;
margin:30px 0px;
border-radius:7px;
}
div#banner{
background: url(../img/banner.jpg);
background-size: 10%;
background-position: center;
-webkit-animation: scrolly 20s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
animation: scrolly 20s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
}
div#hint{
background: url(../img/blinkhint.svg);
height: 160px;
background-size: cover;
width: 200px;
position: absolute;
top: 20px;
left: 60%;;
}
div#xrecosystem{
background: url(../img/xrecosystem.png);
height: 200px;
background-size: contain;
width: 100%;
border-radius:7px;
margin:15px 0px;
}
div#translators{
background: url(../img/translators.jpg);
height: 400px;
background-repeat:no-repeat;
background-size: contain;
width: 100%;
border-radius:7px;
margin:15px 0px;
}
div#xrfragment{
background: url(../img/xrfragments.jpg);
height: 400px;
background-repeat:no-repeat;
background-size: cover;
width: 100%;
}
div#xrsh{
background: url(../img/xrsh-thumb.jpg);
height: 400px;
background-repeat:no-repeat;
background-size: cover;
width: 100%;
}
div#janusweb{
background: url(../img/janusweb.jpg);
height: 400px;
background-repeat:no-repeat;
background-size: cover;
width: 100%;
}
div#janus1{
background: url(../img/janus1.jpg);
height: 100px;
background-repeat:no-repeat;
background-size: cover;
width: 100%;
border-radius:7px;
}
div#xrflogo{
background: url(../img/xrf.svg);
height: 46px;
background-repeat:no-repeat;
background-size: cover;
width: 120px;
border-radius:7px;
}
div#searxrlogo{
background: url(../img/searxr.jpg);
height: 46px;
background-repeat:no-repeat;
background-size: cover;
width: 200px;
border-radius:7px;
}
div#janusxrlogo{
background: url(../img/janusxr-logo.png);
height: 71px;
filter: brightness(0.66);
background-repeat:no-repeat;
background-size: cover;
width: 200px;
border-radius:7px;
}
div#xrforge{
background: url(../img/xrforge-thumb.jpg);
height: 400px;
background-repeat:no-repeat;
background-size: cover;
width: 100%;
}
div#biggu_s_gate{
background: url(../img/biggu_s_gate.jpg);
height: 400px;
background-repeat:no-repeat;
background-size: cover;
width: 100%;
}
div#searxr{
background: url(../img/searxr.gif);
height: 400px;
background-repeat:no-repeat;
background-size: cover;
width: 100%;
}
div#januswebbrowser{
background: url(../img/januswebbrowser.jpg);
height: 400px;
background-repeat:no-repeat;
background-size: cover;
width: 100%;
}
div#translators{
position:absolute;
background: url(../img/translators.svg);
height: 400px;
background-repeat:no-repeat;
background-size: contain;
width: 100%;
opacity:0.5;
z-index:100;
}
div#euvalues{
background: url(../img/EUvalues.webp);
height: 400px;
background-size: cover;
width: 100%;
border-radius:7px;
margin:15px 0px;
background-position:center;
}
.spectrum{
margin-top:10px;
box-shadow: 0px 0px 5px #F0F;
}
.spectrum > div,
.ruler{
margin:3px 0px;
clear:both;
background:linear-gradient(90deg, #F07, #77F, #F07);
height:2px;
}
/* sticky footer */
.footer {
position: fixed;
bottom: 0;
/* Optional: Add background, padding, etc. */
background: linear-gradient( 0deg, var(--pico-background-color) 66%, #0000);
padding: 1rem;
width:100%;
z-index: 1000; /* Ensures it stays above other content */
}
.clear{
clear:both;
}
/* telescopic text */
u {
cursor: pointer;
display: inline;
text-decoration:none;
white-space:nowrap;
font-weight:bold;
padding:0;
}
u > u,
u > span{
display: none;
}
u:focus-within > u,
u:focus-within > span {
display: inline;
}
u span{
font-weight:normal;
white-space: normal;
background:none;
}
/* underline settings */
.telescopic u:nth-child(odd)::before,
.telescopic u:nth-child(even)::before{
border-bottom:4px solid #F0F;
content:' ';
display:inline-block;
margin-right:5px;
width:23px;
height:38px;
position: absolute;
animation:fade 1000ms infinite;
-webkit-animation:fade 1000ms infinite;
}
.telescopic u:nth-child(odd)::before{
border-bottom:4px solid #77F;
}
.vertical u:focus-within > u::after,
.vertical u:focus-within > span::after {
content:' ';
display:block;
}
.show > u,
.show > span{
display:inline;
}
.telescopic u.show::before,
.telescopic u.show::after{
display:none;
}
/* bg mode */
.bg > u,
.bg u:focus-within > u {
background:#EEE;
border-radius:4px;
padding:4px;
}
.bg u.show {
background:#FFF;
}
@keyframes fade {
from { opacity: 1.0; }
50% { opacity: 0.3; }
to { opacity: 1.0; }
}
@-webkit-keyframes fade {
from { opacity: 1.0; }
50% { opacity: 0.3; }
to { opacity: 1.0; }
}
/* cards filter */
input[type="radio"] {
display:none;
}
label {
padding-bottom:10px;
cursor:pointer;
}
input[type="radio"][id="openlearning"]:checked ~ .protocol,
input[type="radio"][id="openlearning"]:checked ~ .xrdiscovery,
input[type="radio"][id="openlearning"]:checked ~ .browser,
input[type="radio"][id="openlearning"]:checked ~ .webtranslator,
input[type="radio"][id="protocol"]:checked ~ .openlearning,
input[type="radio"][id="protocol"]:checked ~ .xrdiscovery,
input[type="radio"][id="protocol"]:checked ~ .browser,
input[type="radio"][id="protocol"]:checked ~ .webtranslator,
input[type="radio"][id="xrdiscovery"]:checked ~ .openlearning,
input[type="radio"][id="xrdiscovery"]:checked ~ .protocol,
input[type="radio"][id="xrdiscovery"]:checked ~ .browser,
input[type="radio"][id="xrdiscovery"]:checked ~ .webtranslator,
input[type="radio"][id="webtranslator"]:checked ~ .openlearning,
input[type="radio"][id="webtranslator"]:checked ~ .protocol,
input[type="radio"][id="webtranslator"]:checked ~ .browser,
input[type="radio"][id="webtranslator"]:checked ~ .xrdiscovery,
input[type="radio"][id="browser"]:checked ~ .protocol,
input[type="radio"][id="browser"]:checked ~ .xrdiscovery,
input[type="radio"][id="browser"]:checked ~ .webtranslator,
input[type="radio"][id="browser"]:checked ~ .openlearning {
width:0;
height:0;
padding:0;
margin:0;
opacity:0;
}
.tile {
width:30%;
border: 1px solid #FFF2;
height:550px;
float:left;
overflow:hidden;
transition:all 0.3s;
margin:0 1% 1% 0;
background:#7773;
border-radius:7px;
position:relative;
}
.tile .description{
color:#888;
font-size:16px;
display:block;
text-decoration:none;
cursor:pointer;
padding:15px;
}
.tile .description:hover{
text-decoration:underline;
}
/* pulsating circle */
.pulsating-circle {
position: absolute;
left: 4px;
top: 20px;
transform: translateX(-50%) translateY(-50%);
width: 30px;
height: 30px;
z-index:-100;
opacity:0.3;
}
.pulsating-circle:before {
content: "";
position: relative;
display: block;
width: 300%;
height: 300%;
box-sizing: border-box;
margin-left: -100%;
margin-top: -100%;
border-radius: 45px;
background-color: #A4F;
-webkit-animation: pulse-ring 1.25s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
animation: pulse-ring 1.25s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
}
.pulsating-circle:after {
content: "";
position: absolute;
left: 0;
top: 0;
display: block;
width: 100%;
height: 100%;
background-color: white;
border-radius: 15px;
box-shadow: 0 0 8px rgba(0, 0, 0, 0.3);
-webkit-animation: pulse-dot 1.25s cubic-bezier(0.455, 0.03, 0.515, 0.955) -0.4s infinite;
animation: pulse-dot 1.25s cubic-bezier(0.455, 0.03, 0.515, 0.955) -0.4s infinite;
}
@-webkit-keyframes pulse-ring {
0% {
transform: scale(0.33);
}
80%, 100% {
opacity: 0;
}
}
@keyframes pulse-ring {
0% {
transform: scale(0.33);
}
80%, 100% {
opacity: 0;
}
}
@-webkit-keyframes pulse-dot {
0% {
transform: scale(0.8);
}
50% {
transform: scale(1);
}
100% {
transform: scale(0.8);
}
}
@keyframes pulse-dot {
0% {
transform: scale(0.8);
}
50% {
transform: scale(1);
}
100% {
transform: scale(0.8);
}
}
@-webkit-keyframes scrolly {
0% {
transform: scale(1);
}
50% {
transform: scale(10);
}
100% {
transform: scale(1);
}
}
@keyframes scrolly {
0% {
transform: scale(1);
}
50% {
transform: scale(10);
}
100% {
transform: scale(1);
}
}
@media (max-width: 600px) {
@-webkit-keyframes scrolly {
0% {
transform: scale(1);
}
50% {
transform: scale(27);
}
100% {
transform: scale(1);
}
}
@keyframes scrolly {
0% {
transform: scale(1);
}
50% {
transform: scale(27);
}
100% {
transform: scale(1);
}
}
}
/* ================ The Timeline ================ */
.timeline {
font-size:17px;
position: relative;
width: 660px;
margin: 0 auto;
margin-top: 20px;
padding: 1em 0;
list-style-type: none;
}
.timeline:before {
position: absolute;
left: 50%;
top: 0;
content: ' ';
display: block;
width: 6px;
height: 100%;
margin-left: -3px;
background: rgb(80,80,80);
background: -moz-linear-gradient(top, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(30,87,153,1)), color-stop(100%,rgba(125,185,232,1)));
background: -webkit-linear-gradient(top, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
background: -o-linear-gradient(top, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
background: -ms-linear-gradient(top, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
background: linear-gradient(to bottom, rgba(80,80,80,0) 0%, rgb(80,80,80) 8%, rgb(80,80,80) 92%, rgba(80,80,80,0) 100%);
z-index: 5;
}
.timeline li {
padding: 0 0;
list-style: none;
text-decoration:none;
}
.timeline *,
.timeline *::after,
.timeline *::before{
box-sizing:content-box;
}
.timeline li:after {
content: "";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
.direction-l {
position: relative;
width: 300px;
float: left;
text-align: right;
}
.direction-r {
position: relative;
width: 300px;
float: right;
}
.flag-wrapper {
position: relative;
display: inline-block;
text-align: center;
}
.flag {
position: relative;
display: inline;
background: rgb(248,248,248);
padding: 6px 10px;
border-radius: 5px;
font-weight: 600;
text-align: left;
}
.direction-l .flag {
-webkit-box-shadow: -1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
-moz-box-shadow: -1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
box-shadow: -1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
}
.direction-r .flag {
-webkit-box-shadow: 1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
-moz-box-shadow: 1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
box-shadow: 1px 1px 1px rgba(0,0,0,0.15), 0 0 1px rgba(0,0,0,0.15);
}
.direction-l .flag:before,
.direction-r .flag:before {
position: absolute;
top: 50%;
right: -40px;
content: ' ';
display: block;
width: 12px;
height: 12px;
margin-top: -10px;
background: #fff;
border-radius: 10px;
border: 4px solid rgb(255,80,80);
z-index: 10;
}
.direction-r .flag:before {
left: -40px;
}
.direction-l .flag:after {
content: "";
position: absolute;
left: 100%;
top: 50%;
height: 0;
width: 0;
margin-top: -8px;
border: solid transparent;
border-left-color: rgb(248,248,248);
border-width: 8px;
pointer-events: none;
}
.direction-r .flag:after {
content: "";
position: absolute;
right: 100%;
top: 50%;
height: 0;
width: 0;
margin-top: -8px;
border: solid transparent;
border-right-color: rgb(248,248,248);
border-width: 8px;
pointer-events: none;
}
.time-wrapper {
display: inline;
line-height: 1em;
font-size: 0.96666em;
color: #07F;
vertical-align: middle;
}
.direction-l .time-wrapper {
float: left;
}
.direction-r .time-wrapper {
float: right;
}
.time {
display: inline-block;
padding: 4px 6px;
margin: 5px 15px;
background: rgb(248,248,248);
}
.desc {
margin: 1em 0.75em 0 0;
font-size: 0.77777em;
font-style: italic;
line-height: 1.5em;
}
.direction-r .desc {
margin: 1em 0 0 0.75em;
}
/* ================ Timeline Media Queries ================ */
@media screen and (max-width: 660px) {
.timeline {
width: 100%;
padding: 4em 0 1em 0;
}
.timeline ul li {
padding: 2em 0;
}
.direction-l,
.direction-r {
float: none;
width: 100%;
text-align: center;
}
.flag-wrapper {
text-align: center;
}
.flag {
background: rgb(255,255,255);
z-index: 15;
}
.direction-l .flag:before,
.direction-r .flag:before {
position: absolute;
top: -30px;
left: 50%;
content: ' ';
display: block;
width: 12px;
height: 12px;
margin-left: -9px;
background: #fff;
border-radius: 10px;
border: 4px solid rgb(255,80,80);
z-index: 10;
}
.direction-l .flag:after,
.direction-r .flag:after {
content: "";
position: absolute;
left: 50%;
top: -8px;
height: 0;
width: 0;
margin-left: -8px;
border: solid transparent;
border-bottom-color: rgb(255,255,255);
border-width: 8px;
pointer-events: none;
}
.time-wrapper {
display: block;
position: relative;
margin: 4px 0 0 0;
z-index: 14;
}
.direction-l .time-wrapper {
float: none;
}
.direction-r .time-wrapper {
float: none;
}
.desc {
position: relative;
margin: 1em 0 0 0;
padding: 1em;
background: rgb(245,245,245);
-webkit-box-shadow: 0 0 1px rgba(0,0,0,0.20);
-moz-box-shadow: 0 0 1px rgba(0,0,0,0.20);
box-shadow: 0 0 1px rgba(0,0,0,0.20);
z-index: 15;
}
.direction-l .desc,
.direction-r .desc {
position: relative;
margin: 1em 1em 0 1em;
padding: 1em;
z-index: 15;
}
}
@media screen and (min-width: 400px ?? max-width: 660px) {
.direction-l .desc,
.direction-r .desc {
margin: 1em 4em 0 4em;
}
}

BIN
asset/img/EUvalues.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

BIN
asset/img/banner.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 KiB

BIN
asset/img/biggu_s_gate.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

4
asset/img/blinkhint.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 6.4 KiB

BIN
asset/img/fabien.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
asset/img/janus1.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
asset/img/janusweb.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 720 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
asset/img/janusxr-logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 76 KiB

BIN
asset/img/lvk.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
asset/img/searxr.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

BIN
asset/img/searxr.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
asset/img/translators.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 8.1 KiB

BIN
asset/img/xrecosystem.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 638 KiB

62
asset/img/xrf.svg Normal file
View file

@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="113.38142mm"
height="43.847782mm"
version="1.1"
viewBox="0 0 113.38142 43.847784"
xml:space="preserve"
id="svg29"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs17"><linearGradient
id="linearGradient8637"
x1="154.78"
x2="273.13"
y1="24.048"
y2="24.048"
gradientUnits="userSpaceOnUse"><stop
stop-color="#276fff"
offset="0"
id="stop3" /><stop
stop-color="#ff16bc"
offset="1"
id="stop4" /></linearGradient></defs><g
transform="translate(-58.856523,-44.49679)"
id="g29"><g
transform="matrix(2.7826,0,0,3.2096,58.857,44.498)"
filter="url(#filter12743)"
id="g28"
style="display:inline"><g
transform="translate(-47.668,-15.506)"
id="g27"><g
transform="scale(0.26458)"
fill="#f7f7f7"
style="font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;display:inline"
aria-label="SEARXR"
id="g26"><path
d="m 158.52,0.12891 c -1.1293,0.010438 -2.3334,0.038083 -3.5879,0.09375 -0.30457,-0.134 -0.0547,13.736 -0.0547,13.736 2.819,0.06348 6.7944,-0.31507 8.3398,1.041 3.9748,3.094 3.1915,2.418 5.7773,5.0039 2.5859,2.5859 5.236,5.1719 7.9512,7.7578 l -21.293,18.782 c -1.2934,1.293 -2.4553,1.5706 8.4254,1.3029 9.5932,-0.08935 8.1924,0.72076 10.737,-1.1372 7.8396,-6.1216 9.6129,-7.4704 12.328,-10.185 3.0599,2.4348 5.7548,4.0928 10.435,7.2182 0,0 4.5675,2.327 9.0355,3.4666 5.1614,0.86971 19.065,0.8565 19.629,0.65998 h 4.7207 c 0,0 0.0977,-8.958 0.16992,-16.066 0.12771,-10.91 2.172,-13.092 4.7578,-15.807 2.7151,-2.7151 6.0119,-2.0723 9.8906,-2.0723 h 21.346 v -13.77 h -21.346 c -7.6279,0 -14.158,2.7143 -19.588,8.1445 -5.3009,5.3009 -7.9512,11.767 -7.9512,19.395 v 9.0977 c -2.0502,0.03977 -4.1264,0.0029 -5.9297,-0.16016 -1.858,-0.1679 -4.6841,-1.3207 -8.3076,-3.0888 0,0 -4.8858,-3.0652 -7.4717,-5.7803 l 15.003,-15.778 c 1.2599,-1.325 3.9009,-4.6189 8.5281,-9.5835 1.6357,-1.7549 0.84973,-2.3113 -4.041,-2.1953 -2.4125,0.00862 -6.6915,0.017578 -8.6309,0.017578 -1.8101,0 -3.4255,0.71063 -4.8477,2.1328 l -15.709,15.709 c -2.7151,-2.5859 -5.3654,-5.1719 -7.9512,-7.7578 l -7.9512,-7.9512 c -1.4222,-1.4222 -3.0395,-2.1328 -4.8496,-2.1328 -1.4545,0 -4.1766,-0.12506 -7.5644,-0.09375 z"
fill-opacity="0.99608"
stroke="url(#linearGradient8637)"
stroke-width="3.7795"
style="font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;display:inline;stroke:url(#linearGradient8637)"
id="path25"
transform="translate(27.273,60.371)" /><path
d="m 267.39,88.252 c 0,-7.6656 2.6505,-14.162 7.9515,-19.489 5.4303,-5.4569 11.96,-8.1854 19.588,-8.1854 h 37.345 v 13.837 h -37.345 c -3.8788,0 -7.1758,1.3642 -9.8909,4.0926 -2.5859,2.7285 -3.8788,5.9766 -3.8788,9.7445 v 19.635 h -13.77 z"
fill-opacity="0.99736"
stroke="#54438e"
stroke-width="3.7888"
style="font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;display:inline"
id="path26" /><rect
x="269.92999"
y="62.515999"
width="29.441"
height="9.8189001"
fill-opacity="0.99608"
id="rect26" /></g></g><path
d="M 40.244,6.872 31.1577,6.82707 c 0,0 -1.8872,0.04494 -1.8423,1.5727 0.04493,1.5278 1.8772,1.4828 1.8772,1.4828 h 9.0514 z"
fill="#fefefe"
stroke="#54438e"
id="path27"
style="opacity:1;fill-rule:nonzero;stroke-width:0.999838;stroke-dasharray:none" /></g></g></svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

BIN
asset/img/xrforge-thumb.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

BIN
asset/img/xrfragments.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

99
asset/img/xrh-full.svg Normal file
View file

@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="113.38142mm"
height="43.847782mm"
version="1.1"
viewBox="0 0 113.38142 43.847784"
xml:space="preserve"
id="svg29"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg"><defs
id="defs17"><linearGradient
id="linearGradient1"><stop
style="stop-color:#003ad1;stop-opacity:1;"
offset="0"
id="stop1" /><stop
style="stop-color:#eb04bf;stop-opacity:1;"
offset="0.5"
id="stop5" /><stop
style="stop-color:#22a2af;stop-opacity:1;"
offset="1"
id="stop2" /></linearGradient><rect
x="429.14212"
y="58.686104"
width="1093.0287"
height="187.06195"
id="rect29" /><linearGradient
id="linearGradient8637"
x1="154.78"
x2="273.13"
y1="24.048"
y2="24.048"
gradientUnits="userSpaceOnUse"><stop
stop-color="#276fff"
offset="0"
id="stop3" /><stop
stop-color="#ff16bc"
offset="1"
id="stop4" /></linearGradient><linearGradient
xlink:href="#linearGradient1"
id="linearGradient2"
x1="425.34225"
y1="127.16445"
x2="1181.6075"
y2="127.16445"
gradientUnits="userSpaceOnUse" /></defs><g
transform="translate(-58.856523,-44.49679)"
id="g29"><g
transform="matrix(2.7826,0,0,3.2096,58.857,52.964672)"
filter="url(#filter12743)"
id="g28"
style="display:inline"><rect
style="fill:#ffffff;fill-opacity:1;stroke:#824dd4;stroke-width:1.91602;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
id="rect1"
width="15.620686"
height="2.7872779"
x="24.112293"
y="7.089004" /></g><g
transform="matrix(2.7825999,0,0,3.2096001,-73.783976,-5.2700571)"
id="g27"
style="display:inline"><g
transform="scale(0.26458)"
fill="#f7f7f7"
style="font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;display:inline"
aria-label="SEARXR"
id="g26"><path
d="m 158.52,0.12891 c -1.1293,0.010438 -2.3334,0.038083 -3.5879,0.09375 -0.30457,-0.134 -0.0547,13.736 -0.0547,13.736 2.819,0.06348 6.7944,-0.31507 8.3398,1.041 3.9748,3.094 3.1915,2.418 5.7773,5.0039 2.5859,2.5859 5.236,5.1719 7.9512,7.7578 l -21.293,18.782 c -1.2934,1.293 -2.4553,1.5706 8.4254,1.3029 9.5932,-0.08935 8.1924,0.72076 10.737,-1.1372 7.8396,-6.1216 9.6129,-7.4704 12.328,-10.185 3.0599,2.4348 5.7548,4.0928 10.435,7.2182 0,0 4.5675,2.327 9.0355,3.4666 5.1614,0.86971 19.065,0.8565 19.629,0.65998 h 4.7207 c 0,0 0.0977,-8.958 0.16992,-16.066 0.12771,-10.91 2.172,-13.092 4.7578,-15.807 2.7151,-2.7151 6.0119,-2.0723 9.8906,-2.0723 l 59.02898,0.136307 V 0.28984634 L 245.78162,0.15354 c -7.62788,-0.0176139 -14.158,2.7143 -19.588,8.1445 -5.3009,5.3009 -7.9512,11.767 -7.9512,19.395 v 9.0977 c -2.0502,0.03977 -4.1264,0.0029 -5.9297,-0.16016 -1.858,-0.1679 -4.6841,-1.3207 -8.3076,-3.0888 0,0 -4.8858,-3.0652 -7.4717,-5.7803 l 15.003,-15.778 c 1.2599,-1.325 3.9009,-4.6189 8.5281,-9.5835 1.6357,-1.7549 0.84973,-2.3113 -4.041,-2.1953 -2.4125,0.00862 -6.6915,0.017578 -8.6309,0.017578 -1.8101,0 -3.4255,0.71063 -4.8477,2.1328 l -15.709,15.709 c -2.7151,-2.5859 -5.3654,-5.1719 -7.9512,-7.7578 l -7.9512,-7.9512 c -1.4222,-1.4222 -3.0395,-2.1328 -4.8496,-2.1328 -1.4545,0 -4.1766,-0.12506 -7.5644,-0.09375 z"
fill-opacity="0.99608"
stroke="url(#linearGradient8637)"
stroke-width="3.7795"
style="font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-feature-settings:normal;display:inline;fill:#ffffff;fill-opacity:1;stroke:url(#linearGradient8637)"
id="path25"
transform="translate(27.273,60.371)" /></g></g><text
xml:space="preserve"
transform="matrix(0.05313799,0,0,0.05313799,104.086,62.583943)"
id="text29"
style="font-weight:600;font-size:133.333px;font-family:Montserrat;-inkscape-font-specification:'Montserrat Semi-Bold';text-align:start;writing-mode:lr-tb;direction:ltr;white-space:pre;shape-inside:url(#rect29);display:none;opacity:1;fill:#8e8e8e;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient2);stroke-width:9.48474;stroke-linejoin:miter;stroke-dasharray:none;paint-order:stroke markers fill"><tspan
x="429.14258"
y="181.23104"
id="tspan4"><tspan
style="font-weight:900;-inkscape-font-specification:'Montserrat Heavy';fill:none"
id="tspan2">federation</tspan></tspan></text><text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:5.64444px;font-family:'MxPlus ToshibaSat 9x14';-inkscape-font-specification:'MxPlus ToshibaSat 9x14';text-align:start;writing-mode:lr-tb;direction:ltr;text-anchor:start;fill:none;fill-opacity:1;stroke:#54438e;stroke-width:0.504;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke markers fill"
x="178.69518"
y="61.019711"
id="text5"><tspan
id="tspan5"
style="stroke-width:0.504"
x="178.69518"
y="61.019711" /></text><path
style="fill:#000000;fill-opacity:0.628531;stroke:none;stroke-width:0.270834;stroke-dasharray:none;stroke-opacity:1"
d="m 160.84552,81.675036 c -0.51473,-0.102052 -0.75028,-0.211142 -1.04145,-0.482327 -0.32106,-0.299041 -0.43054,-0.715005 -0.30333,-1.152591 0.12477,-0.429211 0.53867,-0.762338 1.15607,-0.930466 0.36252,-0.09872 1.24538,-0.100195 1.64633,-0.0027 0.53637,0.130352 0.94175,0.402536 1.13471,0.761848 0.12802,0.238416 0.1281,0.767767 1.4e-4,1.006444 -0.18893,0.352395 -0.57451,0.619402 -1.093,0.756839 -0.34568,0.09163 -1.13938,0.114395 -1.49947,0.043 z m 1.34196,-0.550003 c 0.44773,-0.116618 0.69147,-0.383478 0.69174,-0.757345 2.5e-4,-0.343216 -0.23825,-0.616521 -0.64569,-0.739864 -0.22632,-0.06852 -1.24971,-0.06852 -1.47604,0 -0.40291,0.121982 -0.64584,0.397105 -0.64584,0.731464 0,0.39354 0.26341,0.671715 0.743,0.784642 0.26908,0.06337 1.06008,0.05215 1.33283,-0.0189 z m -34.32397,-0.77403 v -1.341925 h 1.88707 1.88709 v 0.293545 0.293547 h -1.57257 -1.57257 v 0.251611 0.25161 h 1.46773 1.46774 v 0.293547 0.293546 h -1.46774 -1.46773 v 0.503222 0.503223 h -0.31451 -0.31451 z m 4.27738,0 v -1.341925 h 1.86613 1.86611 v 0.272578 0.272578 h -1.55161 -1.5516 v 0.251611 0.251612 h 1.4887 1.48869 v 0.272578 0.272579 h -1.48869 -1.4887 v 0.27258 0.272577 h 1.5516 1.55161 v 0.272579 0.272579 h -1.86611 -1.86613 z m 4.4032,8.31e-4 v -1.347608 l 1.49919,0.01291 1.49918,0.01291 0.23511,0.110255 c 0.23351,0.109495 0.3721,0.252025 0.52482,0.53974 0.0633,0.11934 0.0779,0.240829 0.0783,0.649994 3.9e-4,0.465635 -0.008,0.520922 -0.11593,0.740162 -0.0656,0.133477 -0.1829,0.287687 -0.26872,0.353154 -0.30967,0.236195 -0.37017,0.24419 -1.97377,0.260817 l -1.47822,0.01533 z m 2.91768,0.674498 c 0.22791,-0.103513 0.32366,-0.304763 0.32366,-0.680251 0,-0.356115 -0.10009,-0.563957 -0.32956,-0.684335 -0.15153,-0.0795 -0.25159,-0.08778 -1.22389,-0.101246 l -1.05887,-0.01467 v 0.779986 0.779986 l 1.05887,-9.14e-4 c 0.93974,-8.31e-4 1.07809,-0.0097 1.22979,-0.07855 z m 1.52744,-0.675361 v -1.341926 h 1.86612 1.86612 v 0.272579 0.272578 h -1.57257 -1.57257 v 0.251612 0.25161 h 1.50967 1.50967 v 0.272579 0.272578 h -1.50967 -1.50967 v 0.27258 0.272578 h 1.57257 1.57257 v 0.272578 0.272579 h -1.86612 -1.86612 z m 4.36127,-0.0022 v -1.344229 l 1.62498,0.01275 c 1.80368,0.01415 1.75478,0.0068 2.01486,0.303007 0.20424,0.23261 0.26872,0.574468 0.17323,0.918346 -0.0572,0.206108 -0.29765,0.471781 -0.48199,0.532619 -0.0792,0.02615 -0.14401,0.05746 -0.14401,0.06958 0,0.01795 0.3183,0.416193 0.6224,0.778694 0.0579,0.06897 0.0398,0.07338 -0.29923,0.07338 h -0.36079 l -0.32296,-0.419352 -0.32295,-0.419352 h -0.93726 -0.93725 v 0.419352 0.419352 h -0.31452 -0.31451 z m 3.13583,-0.126583 c 0.23556,-0.08211 0.25519,-0.47394 0.0289,-0.577037 -0.074,-0.0337 -0.48548,-0.04894 -1.32157,-0.04894 h -1.21416 v 0.335482 0.335481 h 1.18889 c 0.73804,0 1.23781,-0.01706 1.31791,-0.04498 z m 1.30928,0.128848 v -1.341925 h 1.80323 1.80321 v 1.341925 1.341925 h -0.29353 -0.29356 v -0.440318 -0.44032 h -1.21612 -1.21612 v 0.44032 0.440318 h -0.29355 -0.29356 z m 3.0105,-0.450804 -0.0121,-0.366932 h -1.19515 -1.19515 l -0.0121,0.366932 -0.0121,0.366933 h 1.21938 1.21939 z m 2.67871,1.764772 c -0.0154,-0.01538 -0.0279,-0.487146 -0.0279,-1.048379 v -1.020421 h -0.77581 -0.77579 v -0.293547 -0.293546 h 1.90805 1.90805 v 0.293546 0.293547 h -0.77581 -0.7758 v 1.048378 1.048379 h -0.32849 c -0.18066,0 -0.34107,-0.01259 -0.35645,-0.02796 z m 2.7817,-1.312204 v -1.343689 h 0.33608 0.33606 l -0.011,1.331441 -0.0111,1.331442 -0.325,0.01225 -0.32499,0.01225 z m 5.829,-0.0019 v -1.341926 h 0.37693 0.37691 l 1.08032,0.959685 1.08034,0.959685 0.0113,-0.959685 0.0113,-0.959685 h 0.33472 0.33469 v 1.341926 1.341926 h -0.369 -0.36901 l -1.08824,-0.966393 -1.08824,-0.966392 -0.0113,0.966392 -0.0113,0.966393 h -0.33471 -0.33471 z"
id="path5" /></g><path
style="fill:#000000;fill-opacity:0.58952;stroke-width:1.08132"
d="M 67.236801,7.4740212 V 6.129296 h 0.30912 0.30912 l 0.01155,0.5482347 0.01155,0.5482335 h 1.261973 1.261973 l 0.01155,-0.5482335 0.01155,-0.5482347 h 0.30912 0.309121 V 7.4740212 8.8187465 H 70.7331 70.422778 V 8.3015446 7.7843428 h -1.28266 -1.282661 v 0.5172018 0.5172019 h -0.310321 -0.310321 z m 5.834037,0.7917285 V 7.7127529 L 72.232972,6.9551877 C 71.772145,6.538527 71.377416,6.1822493 71.355796,6.1634592 c -0.02161,-0.018793 0.176711,-0.034159 0.440731,-0.034159 h 0.480038 l 0.42817,0.4010259 c 0.235492,0.2205645 0.49698,0.4654077 0.581084,0.5440965 l 0.152916,0.1430684 0.575641,-0.5440954 0.575642,-0.5440954 h 0.461171 0.461171 l -0.867282,0.7964906 -0.867283,0.7964917 -0.0017,0.5482335 -0.0017,0.5482347 H 73.422536 73.070838 Z M 75.801665,7.4740212 V 6.129296 h 1.487505 c 0.925431,0 1.56768,0.017193 1.699685,0.045502 0.406086,0.08709 0.658975,0.4268943 0.658975,0.8854594 0,0.4087379 -0.167793,0.6801968 -0.515949,0.8347109 -0.143345,0.063614 -0.331521,0.075184 -1.437257,0.088322 l -1.272317,0.015117 v 0.4101706 0.4101717 h -0.310321 -0.310321 z m 3.218709,-0.1576369 c 0.167752,-0.1519298 0.130722,-0.4964297 -0.0612,-0.5694005 -0.05558,-0.021129 -0.649112,-0.038419 -1.31896,-0.038419 h -1.217903 v 0.3534144 0.3534143 l 1.257692,-0.012057 c 1.145533,-0.010986 1.265066,-0.018739 1.340375,-0.086949 z m 1.167163,0.1576369 V 6.129296 h 1.861927 1.861927 v 0.2689448 0.2689449 h -1.572293 -1.572295 v 0.2689459 0.2689448 h 1.51023 1.51023 v 0.2689448 0.2689449 h -1.51023 -1.51023 v 0.2689448 0.2689448 h 1.572295 1.572293 v 0.2689459 0.2689449 h -1.861927 -1.861927 z m 4.385873,-0.0026 v -1.347328 l 1.627345,0.012943 1.627347,0.012943 0.200336,0.1241291 c 0.301886,0.1870478 0.402718,0.4042212 0.385644,0.830604 -0.01681,0.4198301 -0.129893,0.6168834 -0.443767,0.773293 l -0.208377,0.1038392 0.308001,0.3793444 c 0.169401,0.2086385 0.318877,0.3969406 0.33217,0.4184481 0.01446,0.023389 -0.117413,0.0391 -0.328046,0.0391 H 87.72185 L 87.399498,8.4049815 87.077145,7.9912198 H 86.135598 85.194053 V 8.4049815 8.8187432 H 84.883731 84.57341 Z m 3.190704,-0.114661 c 0.07695,-0.036981 0.160765,-0.2021625 0.160765,-0.3168257 0,-0.043177 -0.04492,-0.1307392 -0.09982,-0.19459 l -0.0998,-0.1160867 h -1.255258 -1.255258 l -0.01238,0.2855279 c -0.0068,0.1570401 -0.0023,0.3118949 0.01006,0.3441215 0.01887,0.049168 0.220416,0.056293 1.253662,0.04428 0.677147,-0.00789 1.261238,-0.028763 1.297981,-0.046421 z m 1.277921,0.1172686 V 6.1293036 l 0.403418,0.00141 0.403417,0.00141 0.76026,1.0330272 c 0.418144,0.5681644 0.77191,1.0320907 0.786148,1.0309478 0.01424,-0.00119 0.367777,-0.4666242 0.785643,-1.0344037 l 0.759757,-1.0323254 h 0.388432 0.388431 V 7.4740861 8.8188113 H 93.365843 93.014146 V 8.0326636 c 0,-0.4323799 -0.01396,-0.7854157 -0.03103,-0.7845225 -0.01706,8.921e-4 -0.291701,0.3539279 -0.610298,0.7845225 l -0.579266,0.7829005 -0.398756,0.00162 -0.398757,0.00162 -0.594271,-0.7938208 -0.594271,-0.7938197 -0.01123,0.7938197 -0.01123,0.7938208 h -0.371492 -0.371492 z m 5.668534,0 V 6.1293036 h 1.861927 1.861927 V 6.397751 6.6661984 l -1.561951,0.010846 -1.561949,0.010846 v 0.248257 0.248256 l 1.499886,0.010856 1.499885,0.010857 v 0.268429 0.268429 h -1.51023 -1.510229 v 0.2689449 0.2689448 h 1.572293 1.572295 V 8.54981 8.8187548 h -1.861927 -1.861927 z m 4.385868,-0.0027 V 6.1238559 l 1.520573,0.013084 c 1.50131,0.012922 1.52335,0.014338 1.7396,0.112055 0.26529,0.1198708 0.47687,0.3558884 0.57488,0.6412822 0.086,0.2503332 0.0967,0.8647662 0.0198,1.1302822 -0.0606,0.2090992 -0.27037,0.4944606 -0.45487,0.6188059 -0.23297,0.1569947 -0.47981,0.1794256 -1.97449,0.1794256 h -1.42545 z m 3.012473,0.685452 c 0.19356,-0.12587 0.27699,-0.3257779 0.27626,-0.6620187 -8.6e-4,-0.4015233 -0.0864,-0.5853153 -0.32656,-0.7015658 -0.16208,-0.078461 -0.25163,-0.084581 -1.23744,-0.084581 h -1.062707 v 0.7678908 0.7678907 l 1.127487,-0.012781 c 0.91631,-0.010381 1.14538,-0.024405 1.22296,-0.074838 z m 1.53891,-0.6827065 V 6.1293458 h 0.3517 0.35169 V 7.474071 8.8187962 h -0.35169 -0.3517 z m 1.65504,0 V 6.1293458 h 1.65505 1.94112 V 7.474071 8.8187962 h -0.43089 -0.14482 V 8.3843467 7.9498961 h -1.2206 -1.22059 v 0.4344506 0.4344495 h -0.28963 -0.28964 z m 3.02046,-0.4344495 V 6.6672354 h -1.2206 -1.22059 v 0.3723861 0.372385 h 1.22059 1.2206 z"
id="path2" /></svg>

After

Width:  |  Height:  |  Size: 13 KiB

BIN
asset/img/xrsh-thumb.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

250
index.html Normal file
View file

@ -0,0 +1,250 @@
<!doctype html>
<html lang="en" _data-theme="light">
<head>
<meta charset="utf-8">
<title>XR Hypermedia Federation 🥽</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="color-scheme" content="light dark">
<meta name="description" content="XR Hypermedia Federation 🥽" />
<meta name="publisher" content="XR Hypermedia Federation" />
<meta name="author" content="Leon van Kammen - XR Hypermedia Federation"/>
<link rel="stylesheet" href="asset/css/pico.min.css"/>
<link rel="stylesheet" type="text/css" href="asset/css/style.css" />
</head>
<body>
<header class="container">
<div id="logo"></div>
<div id="hint"></div>
<div class="spectrum">
<div></div>
<div></div>
</div>
<hgroup style="margin-top:12px">
<small>digital commons for XR hypermedia 🥽</small>
<h1 style="opacity:0">The XR Federation</h1>
</hgroup>
</header>
<!-- ./ Header -->
<!-- Main -->
<main class="container">
<br>
<div class="telescopic">
We connect, and <b>help fund</b> open XR ecosystems 🥦<br>
We <b>support</b> public AR/VR/MR
<u tabindex="0">highways
<span>, seamlessly connected XR experiences: public <b>XR hypermedia</b>.
<div id="xrecosystem"></div>
</span>
</u>
without
<u tabindex="0">obstacles 🈚
<span>like appstores, rent-seeking, blockchain-minting etc</span>
</u>
<br>
We encourage <b>spatialisation</b> of existing
<u tabindex="0">ecosystems
<span>like the 2D web, or file-collections</span>
</u> using open
<u tabindex="0">protocols 🔌
<span>: <a href="https://en.wikipedia.org/wiki/RSS" target="_blank">RSS</a>, HTML, <a href="https://janusxr.org/docs/build/introtojml/index.html" target="_blank">JML</a>, Fediverse's <a href="https://activitypub.rocks/" target="_blank">ActivityPub</a> and <a href="https://xrfragment.org">URI's using XR Fragments</a> e.g.</span>
</u>
<br>
<div class="banner">
<div id="banner"></div>
</div>
Our
<u tabindex="0">mission
<span>
<blockquote>
<cite>
to promote the exchange of <b>electronic spatial experiences</b> and all that is related or beneficial to that purpose
</cite>
</blockquote>
</span>
</u>
100% piggybacks <a href="https://nlnet.nl/foundation" target="_blank">NLnet</a> and
<u tabindex="0">European
<span>values: European Digital Rights and Principles to promote feelgood XR experiences for everybody.<br>
<div id="euvalues"></div>
</span>
</u>
, American <a href="https://www.state.gov/wp-content/uploads/2022/04/Declaration-for-the-Future-for-the-Internet.pdf" target="_blank">DFI</a>- and <a href="https://en.wikipedia.org/wiki/Peer-to-peer#Social_implications">P2P</a>-values, narrowed down to XR experiences.<br>
XR Federation similarly promotes <a href="https://en.wikipedia.org/wiki/Pluralism" _target="_blank">pluralism</a>, <a target="https://en.wikipedia.org/wiki/Altruism" target="_blank">altruism</a> and <a href="https://en.wikipedia.org/wiki/Opensource">opensource</a>.
</div>
<br>
<blockquote>
<div id="lvk"></div>
<cite>
"XR hypermedia drives XR cost-efficiency beyond VR games: it enables spatial education and innovation for all of us."
</cite>
~
<br><b>Leon van Kammen</b> / Founder, Strategy Director / <a href="https://mastodon.online/@lvk" target="_blank">@lvk@mastodon.online</a>
</blockquote>
<center>
<button onclick="alert('Hi there!\nPlease send a mail to\n\nleonvankammen @ isvery.ninja\n\nthanks!')" style="padding:30px;margin:20px">Contact us</button>
<br/>
<br/>
</center>
<div id="cards">
<h3 id="projects">Projects:&nbsp;&nbsp;</h3>
<hr/>
<input type="radio" id="protocol" name="color" />
<label for="protocol"><kbd>#protocol</kbd></label>
<input type="radio" id="openlearning" name="color"/>
<label for="openlearning"><kbd>#openlearning</kbd></label>
<input type="radio" id="browser" name="color"/>
<label for="browser"><kbd>#browser</kbd></label>
<input type="radio" id="xrdiscovery" name="color"/>
<label for="xrdiscovery"><kbd>#xrdiscovery</kbd></label>
<input type="radio" id="webtranslator" name="color"/>
<label for="webtranslator"><kbd>#webtranslator</kbd></label>
<input type="radio" id="reset" name="color"/>
<label for="reset"><kbd>#all</kbd></label>
<br/>
<br/>
<div class="tile xrdiscovery">
<div id="xrforge" class="thumb"></div>
<a class="description" href="https://xrforge.isvery.ninja" target="_blank">
<b>XR Forge</b> is a selfhostable platform for JanusWeb/File-based XR Experiences.
#cost-efficient #collaboration #Universities #E-learning
</a>
</div>
<div class="tile protocol">
<div id="xrfragment" class="thumb"></div>
<a class="description" href="https://xrfragment.org" target="_blank">
XR (URI) Fragments is a browser-protocol for
spatial anchors in URLs (to 3D files).<br>
In <b>gamer language</b>: spawnpoints via URLs.
</a>
</div>
<div class="tile browser">
<div id="januswebbrowser" class="thumb"></div>
<a class="description" href="https://coderofsalvation.github.io/janus-guide/" target="_blank">
<b>JanusWeb</b> is the XR browser for the browser.<br>
Its JML allows for an XR web <b>within existing</b> files/web</b>.<br>
It also supports browsing 3D files via XR (URI) Fragments.
</a>
</div>
<div class="tile openlearning">
<div id="biggu_s_gate" class="thumb"></div>
<a class="description" href="https://git.benetou.fr/utopiah/biggu_s_gate" target="_blank">
<b>Biggu's Gate</b> is self-hostable web-software to remix simple pedagogical XR games. Learners themselves can then, together with parents and teachers.
</a>
</div>
<div class="tile webtranslator">
<div id="translators" class="thumb"></div>
<div id="janusweb" class="thumb hue-1"></div>
<a class="description" href="https://coderofsalvation.github.io/janus-guide/" target="_blank">
<b>JanusWeb's</b> translators spatialize the web, embedding webstandards like (RSS/HTML) and popular fediverse platforms (peertube/mastodon e.g.).<br>
</a>
</div>
<div class="tile xrdiscovery">
<div id="searxr" class="thumb"></div>
<a class="description" href="https://searxr.me" target="_blank">
<b>SearXR</b> is a SearX-based meta-searchengine for <b>WebXR</b> experiences.
</a>
</div>
<div class="tile webtranslator">
<div id="xrsh" class="thumb"></div>
<a class="description" href="https://xrsh.isvery.ninja" target="_blank">
<b>XRSH</b> is a Linux Shell for <b>WebXR</b>, which makes the Linux ecosystem of cli-tools available in <b>WebXR</b>.
</a>
</div>
<div class="clear"></div>
</div>
<!-- The Timeline -->
<center>
<h3>Timeline</h3>
</center>
<ul class="timeline" id="timeline">
<!-- Item 1 -->
<li id="janusxr">
<div class="direction-r">
<div class="flag-wrapper">
<span class="flag">JML invented</span>
<span class="time-wrapper"><span class="time">2013</span></span>
</div>
<div class="desc">URL-decentralized virtual worlds (JanusVR) by James McCrae (incl. URL portalsystem). Rebrands in 2020 to (opensource) <b>JanusXR</b> with focus on <a href="https://github.com/jbaicoianu/janusweb" target="_blank">janusweb</a>
<br>
<div id="janus1"></div>
</div>
</div>
</li>
<!-- Item 3 -->
<li>
<div class="direction-l">
<div class="flag-wrapper">
<span class="flag">Facebook rebrand</span>
<span class="time-wrapper"><span class="time">2021</span></span>
</div>
<div class="desc">8 years after <b>JanusXR</b>, Facebook attempts proprietary <b>centralized</b> 'metaverse' (rebrands to 'Meta')</div>
</div>
</li>
<li id="searxr">
<div class="direction-r">
<div class="flag-wrapper">
<span class="flag">SearXR Funded</span>
<span class="time-wrapper"><span class="time">2020</span></span>
</div>
<div class="desc">NLnet #NGI #EU funds <a href="https://searxr.me" target="_blank">SearXR</a> an opensource selfhostable meta-searchengine for <b>public</b> URL-based virtual worlds.<br>
<div id="searxrlogo" style="display:inline-block;"></div>
</div>
</div>
<li>
<div class="direction-l">
<div class="flag-wrapper">
<span class="flag">XR Fragments Funded</span>
<span class="time-wrapper"><span class="time">2021</span></span>
</div>
<div class="desc">NLnet #NGI #EU funds <a href="https://xrfragment.org" target="_blank">XR URI Fragments</a> by Leon van Kammen. Standardisation of spatial anchors in <b>URI's</b>. Supported by <a href="https://github.com/jbaicoianu/janusweb" target="_blank">janusweb</a> and adopted by startups like Alkebulan.
<br>
<div id="xrflogo" style="display:inline-block;"></div>
</div>
</div>
</li>
</ul>
<h3>Funding FAQ</h3>
<b>Q: Do you fund things made with Unity/Unreal?</b><br>
<b>A:</b> Proprietary things are hard to fund (public money public code). The opensource <a href="https://godot.org" target="_blank">Godot</a> is going to be your best bet.
<br>
<div class="footer">
<small>Jump to:</small>
<a href="#projects"><kbd>#projects</kbd></a>
<a href="#timeline"><kbd>#timeline</kbd></a>
</div>
</main>
<script>
// telescopic text:
// a JS cheat whicht allows persisting unfolds
// uncomment this if you really want this
([...document.querySelectorAll('u')]).map( (u) => {
u.addEventListener('click', e => e.target.className = 'show' )
});
</script>
</body>
</html>