add super basic 3d
|
@ -2,6 +2,7 @@ module.exports = {
|
|||
root: true,
|
||||
env: {
|
||||
node: true,
|
||||
"vue/setup-compiler-macros": true
|
||||
},
|
||||
extends: [
|
||||
"plugin:vue/vue3-essential",
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
.discover[data-v-14187736]{flex-direction:column;gap:1em;height:100%;width:100%;display:flex;justify-content:center;align-items:center}.colorpicker[data-v-14187736]{border-style:none}button[data-v-14187736]{cursor:pointer;background-color:transparent;border-style:none;font-size:large;color:#aaf0d1}button[data-v-14187736]:focus,button[data-v-14187736]:hover{color:#f0d1aa}
|
|
@ -1 +0,0 @@
|
|||
.star[data-v-b4d872b2]{position:absolute}.star-color[data-v-b4d872b2]{border-radius:9999999px;aspect-ratio:1/1;opacity:.8;background-color:var(--ddbaf688);filter:drop-shadow(0 0 7.5px var(--ddbaf688)) drop-shadow(0 0 10px white)}.star[data-v-b4d872b2]:hover{filter:drop-shadow(0 0 50px var(--ddbaf688)) drop-shadow(0 0 24px white)}[data-v-03f299f5]:root{--fs-small:0.8rem;--fs-regular:calc(var(--fs-small)*1.61803);--fs-large:calc(var(--fs-regular)*1.61803);--fs-xl:calc(var(--fs-large)*1.61803);--fs-xxl:calc(var(--fs-xl)*1.61803);--pad-size-small:calc(var(--fs-small));--pad-size:var(--fs-regular);--radius:calc(var(--fs-large));--border-width:calc(var(--pad-size-small)*0.618);--accent:#aaf0d1;--ternary-accent:#d1aaf0;--secondary-accent:#f0d1aa;--black:#030f0a;--white:#fdfffe;--black-transparent:rgba(3,15,10,.6)}.starchart[data-v-03f299f5]{padding:420px;position:relative;left:0;top:0}.app[data-v-03f299f5]{display:flex;flex-direction:column}.nav[data-v-03f299f5]{width:100%;background-color:orange}
|
|
@ -0,0 +1 @@
|
|||
h1[data-v-39e997a1]{color:#f0d1aa;text-align:center}.error[data-v-39e997a1]{height:100%;display:flex;justify-content:center;align-items:center}
|
|
@ -0,0 +1 @@
|
|||
.star[data-v-6d90fabb]{position:absolute}img[data-v-6d90fabb]{width:100%;aspect-ratio:1/1}.star-color[data-v-6d90fabb]{border-radius:9999999px;aspect-ratio:1/1;opacity:.8}
|
|
@ -0,0 +1 @@
|
|||
.discover[data-v-2134d9ee]{flex-direction:column;gap:1em;height:100%;width:100%;display:flex;justify-content:center;align-items:center}.colorpicker[data-v-2134d9ee],[data-v-2134d9ee]::-moz-color-swatch{cursor:pointer;border:none;border-color:transparent;background-color:transparent;outline-style:none}button[data-v-2134d9ee],label[data-v-2134d9ee]{color:#aaf0d1;cursor:pointer}button[data-v-2134d9ee]{background-color:transparent;border-style:none;font-size:large}button[data-v-2134d9ee]:focus,button[data-v-2134d9ee]:hover{color:#f0d1aa}
|
|
@ -0,0 +1 @@
|
|||
.star[data-v-6d90fabb]{position:absolute}img[data-v-6d90fabb]{width:100%;aspect-ratio:1/1}.star-color[data-v-6d90fabb]{border-radius:9999999px;aspect-ratio:1/1;opacity:.8}[data-v-bc8ceaa8]:root{--fs-small:0.8rem;--fs-regular:calc(var(--fs-small)*1.61803);--fs-large:calc(var(--fs-regular)*1.61803);--fs-xl:calc(var(--fs-large)*1.61803);--fs-xxl:calc(var(--fs-xl)*1.61803);--pad-size-small:calc(var(--fs-small));--pad-size:var(--fs-regular);--radius:calc(var(--fs-large));--border-width:calc(var(--pad-size-small)*0.618);--accent:#aaf0d1;--ternary-accent:#d1aaf0;--secondary-accent:#f0d1aa;--black:#030f0a;--white:#fdfffe;--black-transparent:rgba(3,15,10,.6)}.starchart[data-v-bc8ceaa8]{padding:420px;position:relative;left:0;top:0}.app[data-v-bc8ceaa8]{display:flex;flex-direction:column}.nav[data-v-bc8ceaa8]{width:100%;background-color:orange}
|
|
@ -0,0 +1 @@
|
|||
*{padding:0;margin:0;font-family:Daisy}@font-face{font-family:Daisy;src:url(/fonts/HeadUpDaisy.17a30b4e.ttf)}html{height:100%;width:100%;background-color:#030f0a;color:#aaf0d1}@keyframes movebg-96fb61fe{0%{background-position:0 0}to{background-position:0 1080px}}.app[data-v-96fb61fe]{overflow:hidden;display:flex;flex-direction:column;height:100vh}.content[data-v-96fb61fe]{overflow:scroll;flex-grow:1;width:100%;background-image:url(/img/background.08e112eb.webp);animation-name:movebg-96fb61fe;animation-timing-function:linear;animation-iteration-count:infinite;animation-duration:30s}nav[data-v-96fb61fe]{border-top-style:solid;padding:1em;display:flex;justify-content:space-around;flex-wrap:wrap}nav a[data-v-96fb61fe]{text-decoration:none;font-size:large;color:#aaf0d1}nav a[data-v-96fb61fe]:focus,nav a[data-v-96fb61fe]:hover{color:#f0d1aa}
|
|
@ -1 +0,0 @@
|
|||
*{padding:0;margin:0;font-family:ScanLine}@font-face{font-family:ScanLine;src:url(/fonts/ScanLine.cfa540f4.ttf)}html{height:100%;width:100%;background-color:#030f0a;color:#aaf0d1}.app[data-v-100e0134]{overflow:hidden;display:flex;flex-direction:column;height:100vh}.content[data-v-100e0134]{overflow:scroll;flex-grow:1;width:100%}nav[data-v-100e0134]{padding:1em;display:flex;justify-content:space-around;flex-wrap:wrap}nav a[data-v-100e0134]{text-decoration:none;font-size:large;color:#aaf0d1}nav a[data-v-100e0134]:focus,nav a[data-v-100e0134]:hover{color:#f0d1aa}
|
Before Width: | Height: | Size: 297 KiB After Width: | Height: | Size: 297 KiB |
Before Width: | Height: | Size: 575 KiB After Width: | Height: | Size: 575 KiB |
After Width: | Height: | Size: 503 KiB |
After Width: | Height: | Size: 824 KiB |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 503 KiB |
|
@ -1 +1 @@
|
|||
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>starchart</title><script defer="defer" src="/js/chunk-vendors.16ef6a1e.js"></script><script defer="defer" src="/js/app.06b1abfd.js"></script><link href="/css/app.d570f3d7.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but starchart doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
|
||||
<!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/favicon.ico"><title>starchart</title><script defer="defer" src="/js/chunk-vendors.503fd127.js"></script><script defer="defer" src="/js/app.469295fb.js"></script><link href="/css/app.9472f46c.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but starchart doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
|
|
@ -1,2 +0,0 @@
|
|||
"use strict";(self["webpackChunkstarchart"]=self["webpackChunkstarchart"]||[]).push([[192],{6192:function(a,e,o){o.r(e),o.d(e,{default:function(){return f}});o(7658);var c=o(3396),t=o(9242),n=o(4870),r=o(3120),l=o(3824);const s=a=>((0,c.dD)("data-v-14187736"),a=a(),(0,c.Cn)(),a),i={class:"discover"},u=s((()=>(0,c._)("label",{for:"planet-color"},"pick a color",-1)));var v=(0,c.aZ)({__name:"DiscoverView",setup(a){const e=(0,r.g)(),o=(0,n.iH)("#f0d1aa");async function s(){await e.discover(o.value),console.log(o.value),l.Z.push(`/visit/${e.visiting?.core.id}`)}return(a,e)=>((0,c.wg)(),(0,c.iD)("div",i,[u,(0,c.wy)((0,c._)("input",{type:"color",id:"planet-color","onUpdate:modelValue":e[0]||(e[0]=a=>o.value=a),class:"colorpicker"},null,512),[[t.nr,o.value]]),(0,c._)("button",{onClick:e[1]||(e[1]=a=>s())},"discover!")]))}}),d=o(89);const p=(0,d.Z)(v,[["__scopeId","data-v-14187736"]]);var f=p}}]);
|
||||
//# sourceMappingURL=192.3712522d.js.map
|
|
@ -1,2 +0,0 @@
|
|||
"use strict";(self["webpackChunkstarchart"]=self["webpackChunkstarchart"]||[]).push([[270],{5270:function(t,o,i){i.r(o),i.d(o,{default:function(){return _}});var s=i(3396),r=i(7139),n=i(4870),a=i(3120);const e=t=>((0,s.dD)("data-v-b4d872b2"),t=t(),(0,s.Cn)(),t),c=e((()=>(0,s._)("div",{class:"star-color"},null,-1)));function d(t,o,i,n,a,e){const d=(0,s.up)("router-link");return(0,s.wg)(),(0,s.j4)(d,{to:"/visit/"+t.id,class:"star",style:(0,r.j5)({left:`${t.positionRight}%`,top:`${t.positionBottom}%`,width:`${t.width}px`})},{default:(0,s.w5)((()=>[c])),_:1},8,["to","style"])}var l=i(9242);const p=(0,s.aZ)({name:"SmallStar",props:{color:String,id:Number,positionRight:Number,positionBottom:Number,width:Number}}),h=()=>{(0,l.sj)((t=>({ddbaf688:t.color})))},u=p.setup;p.setup=u?(t,o)=>(h(),u(t,o)):h;var w=p,b=i(89);const g=(0,b.Z)(w,[["render",d],["__scopeId","data-v-b4d872b2"]]);var f=g,m=(0,s.aZ)({__name:"ChartView",setup(t){const o=(0,a.g)();return o.fetchChart(),(t,i)=>((0,s.wg)(),(0,s.iD)("div",{class:"starchart",style:(0,r.j5)({width:64*(0,n.SU)(o).stars.length+"px",height:64*(0,n.SU)(o).stars.length+"px"})},[((0,s.wg)(!0),(0,s.iD)(s.HY,null,(0,s.Ko)((0,n.SU)(o).stars,(t=>((0,s.wg)(),(0,s.j4)(f,{key:t.core.id,id:t.core.id,color:t.core.color,"position-bottom":t.position.bottom,"position-right":t.position.right,width:t.position.width},null,8,["id","color","position-bottom","position-right","width"])))),128))],4))}});const v=(0,b.Z)(m,[["__scopeId","data-v-03f299f5"]]);var _=v}}]);
|
||||
//# sourceMappingURL=270.76995b00.js.map
|
|
@ -0,0 +1,2 @@
|
|||
"use strict";(self["webpackChunkstarchart"]=self["webpackChunkstarchart"]||[]).push([[300],{300:function(r,a,e){e.r(a),e.d(a,{default:function(){return f}});var n=e(3396);const t=r=>((0,n.dD)("data-v-39e997a1"),r=r(),(0,n.Cn)(),r),c={class:"error"},s=t((()=>(0,n._)("h1",null,"you're all alone here...",-1))),u=[s];function l(r,a){return(0,n.wg)(),(0,n.iD)("div",c,u)}var o=e(89);const d={},h=(0,o.Z)(d,[["render",l],["__scopeId","data-v-39e997a1"]]);var f=h}}]);
|
||||
//# sourceMappingURL=300.2462eb59.js.map
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"js/300.2462eb59.js","mappings":"0OACOA,MAAM,S,UACTC,EAAAA,EAAAA,GAAiC,UAA7B,4BAAwB,K,GAA5BC,G,kCADFC,EAAAA,EAAAA,IAEM,MAFNC,EAEMC,E,aCFR,MAAMC,EAAS,CAAC,EAKVC,GAA2B,OAAgBD,EAAQ,CAAC,CAAC,SAASE,GAAQ,CAAC,YAAY,qBAEzF,O","sources":["webpack://starchart/./src/views/NotFoundVue.vue","webpack://starchart/./src/views/NotFoundVue.vue?88bb"],"sourcesContent":["<template>\n <div class=\"error\">\n <h1>you're all alone here...</h1>\n </div>\n</template>\n\n<style scoped>\nh1 {\n color: #f0d1aa;\n text-align: center;\n}\n\n.error {\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n</style>\n","import { render } from \"./NotFoundVue.vue?vue&type=template&id=39e997a1&scoped=true\"\nconst script = {}\n\nimport \"./NotFoundVue.vue?vue&type=style&index=0&id=39e997a1&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-39e997a1\"]])\n\nexport default __exports__"],"names":["class","_createElementVNode","_hoisted_2","_createElementBlock","_hoisted_1","_hoisted_3","script","__exports__","render"],"sourceRoot":""}
|
|
@ -0,0 +1,2 @@
|
|||
"use strict";(self["webpackChunkstarchart"]=self["webpackChunkstarchart"]||[]).push([[325],{5184:function(t,r,a){a.r(r),a.d(r,{default:function(){return p}});var s=a(3396),n=a(4870),i=a(9218),e=a(2752),u=a(2483),c=(0,s.aZ)({__name:"StarView",setup(t){const r=(0,u.yj)(),a=r.params.id.toString(),c=(0,e.g)();return c.visit(parseInt(a)??1),(t,r)=>(0,n.SU)(c).visiting?((0,s.wg)(),(0,s.j4)(i.Z,{key:0,star:(0,n.SU)(c).visiting},null,8,["star"])):(0,s.kq)("",!0)}});const k=c;var p=k}}]);
|
||||
//# sourceMappingURL=325.c318954d.js.map
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"js/325.c318954d.js","mappings":"oNAQA,GAA4BA,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,WACRC,KAAAA,CAAMC,GAER,MAAMC,GAAQC,EAAAA,EAAAA,MACRC,EAAaF,EAAMG,OAAOD,GAAGE,WAE7BC,GAAQC,EAAAA,EAAAA,KAGd,OAFAD,EAAME,MAAMC,SAASN,IAAO,GAErB,CAACO,EAAUC,KACRC,EAAAA,EAAAA,IAAON,GAAOO,WACjBC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAaC,EAAAA,EAAW,CACrCC,IAAK,EACLC,MAAMN,EAAAA,EAAAA,IAAON,GAAOO,UACnB,KAAM,EAAG,CAAC,WACbM,EAAAA,EAAAA,IAAoB,IAAI,EAE9B,ICvBA,MAAMC,EAAc,EAEpB,O","sources":["webpack://starchart/./src/views/StarView.vue?4cb9","webpack://starchart/./src/views/StarView.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from \"vue\"\n\nimport SmallStar from \"@/components/SmallStar.vue\";\nimport { useChartStore } from \"@/state/stars\";\nimport { useRoute } from \"vue-router\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'StarView',\n setup(__props) {\n\nconst route = useRoute();\nconst id: string = route.params.id.toString();\n\nconst store = useChartStore();\nstore.visit(parseInt(id) ?? 1);\n\nreturn (_ctx: any,_cache: any) => {\n return (_unref(store).visiting)\n ? (_openBlock(), _createBlock(SmallStar, {\n key: 0,\n star: _unref(store).visiting!\n }, null, 8, [\"star\"]))\n : _createCommentVNode(\"\", true)\n}\n}\n\n})","import script from \"./StarView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./StarView.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__"],"names":["_defineComponent","__name","setup","__props","route","useRoute","id","params","toString","store","useChartStore","visit","parseInt","_ctx","_cache","_unref","visiting","_openBlock","_createBlock","SmallStar","key","star","_createCommentVNode","__exports__"],"sourceRoot":""}
|
|
@ -1,2 +0,0 @@
|
|||
"use strict";(self["webpackChunkstarchart"]=self["webpackChunkstarchart"]||[]).push([[814],{8814:function(r,t,a){a.r(t),a.d(t,{default:function(){return l}});var n=a(3396);const s={class:"about"},u=(0,n._)("h1",null,"This is an star page",-1),c=[u];function e(r,t){return(0,n.wg)(),(0,n.iD)("div",s,c)}var i=a(89);const h={},f=(0,i.Z)(h,[["render",e]]);var l=f}}]);
|
||||
//# sourceMappingURL=814.b0b2b790.js.map
|
|
@ -1 +0,0 @@
|
|||
{"version":3,"file":"js/814.b0b2b790.js","mappings":"qLACOA,MAAM,S,GACTC,EAAAA,EAAAA,GAA6B,UAAzB,wBAAoB,G,GAAxBC,G,kCADFC,EAAAA,EAAAA,IAEM,MAFNC,EAEMC,E,aCFR,MAAMC,EAAS,CAAC,EAGVC,GAA2B,OAAgBD,EAAQ,CAAC,CAAC,SAASE,KAEpE,O","sources":["webpack://starchart/./src/views/StarView.vue","webpack://starchart/./src/views/StarView.vue?8918"],"sourcesContent":["<template>\n <div class=\"about\">\n <h1>This is an star page</h1>\n </div>\n</template>\n","import { render } from \"./StarView.vue?vue&type=template&id=4bd07fc8\"\nconst script = {}\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__"],"names":["class","_createElementVNode","_hoisted_2","_createElementBlock","_hoisted_1","_hoisted_3","script","__exports__","render"],"sourceRoot":""}
|
|
@ -0,0 +1,2 @@
|
|||
"use strict";(self["webpackChunkstarchart"]=self["webpackChunkstarchart"]||[]).push([[858],{6858:function(e,a,o){o.r(a),o.d(a,{default:function(){return f}});o(7658);var c=o(3396),t=o(9242),n=o(4870),r=o(2752),l=o(3824);const s=e=>((0,c.dD)("data-v-2134d9ee"),e=e(),(0,c.Cn)(),e),i={class:"discover"},u=s((()=>(0,c._)("label",{for:"planet-color"},"pick a color",-1)));var d=(0,c.aZ)({__name:"DiscoverView",setup(e){const a=(0,r.g)(),o=(0,n.iH)("#aaf0d1");async function s(){await a.discover(o.value),console.log(o.value),l.Z.push(`/visit/${a.visiting?.core.id}`)}return(e,a)=>((0,c.wg)(),(0,c.iD)("div",i,[u,(0,c.wy)((0,c._)("input",{type:"color",id:"planet-color","onUpdate:modelValue":a[0]||(a[0]=e=>o.value=e),class:"colorpicker"},null,512),[[t.nr,o.value]]),(0,c._)("button",{onClick:a[1]||(a[1]=e=>s())},"discover!")]))}}),v=o(89);const p=(0,v.Z)(d,[["__scopeId","data-v-2134d9ee"]]);var f=p}}]);
|
||||
//# sourceMappingURL=858.3d9fc85d.js.map
|
|
@ -1 +1 @@
|
|||
{"version":3,"file":"js/192.3712522d.js","mappings":"4NAGA,MAAMA,EAAeC,KAAMC,EAAAA,EAAAA,IAAa,mBAAmBD,EAAEA,KAAIE,EAAAA,EAAAA,MAAcF,GACzEG,EAAa,CAAEC,MAAO,YACtBC,EAA2BN,GAAa,KAAmBO,EAAAA,EAAAA,GAAoB,QAAS,CAAEC,IAAK,gBAAkB,gBAAiB,KAOxI,OAA4BC,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,eACRC,KAAAA,CAAMC,GAER,MAAMC,GAAQC,EAAAA,EAAAA,KACRC,GAAQC,EAAAA,EAAAA,IAAI,WAElBC,eAAeC,UACPL,EAAMM,SAASJ,EAAMK,OAC3BC,QAAQC,IAAIP,EAAMK,OAClBG,EAAAA,EAAOC,KAAK,UAAUX,EAAMY,UAAUC,KAAKC,KAE7C,CAEA,MAAO,CAACC,EAAUC,MACRC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO3B,EAAY,CAC3DE,GACA0B,EAAAA,EAAAA,KAAgBzB,EAAAA,EAAAA,GAAoB,QAAS,CAC3C0B,KAAM,QACNN,GAAI,eACJ,sBAAuBE,EAAO,KAAOA,EAAO,GAAMK,GAAkBnB,EAAOK,MAAQc,GACnF7B,MAAO,eACN,KAAM,KAAM,CACb,CAAC8B,EAAAA,GAAapB,EAAMK,UAEtBb,EAAAA,EAAAA,GAAoB,SAAU,CAC5B6B,QAASP,EAAO,KAAOA,EAAO,GAAMK,GAAiBhB,MACpD,eAGP,I,QCpCA,MAAMmB,GAA2B,OAAgB,EAAQ,CAAC,CAAC,YAAY,qBAEvE,O","sources":["webpack://starchart/./src/views/DiscoverView.vue?1a59","webpack://starchart/./src/views/DiscoverView.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-14187736\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"discover\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { for: \"planet-color\" }, \"pick a color\", -1))\n\nimport { ref } from \"vue\";\nimport { useChartStore } from \"@/state/stars\";\nimport router from \"@/router\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'DiscoverView',\n setup(__props) {\n\nconst store = useChartStore();\nconst color = ref(\"#f0d1aa\");\n\nasync function send() {\n await store.discover(color.value);\n console.log(color.value);\n router.push(`/visit/${store.visiting?.core.id}`);\n return;\n}\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _hoisted_2,\n _withDirectives(_createElementVNode(\"input\", {\n type: \"color\",\n id: \"planet-color\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((color).value = $event)),\n class: \"colorpicker\"\n }, null, 512), [\n [_vModelText, color.value]\n ]),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (send()))\n }, \"discover!\")\n ]))\n}\n}\n\n})","import script from \"./DiscoverView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./DiscoverView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./DiscoverView.vue?vue&type=style&index=0&id=14187736&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-14187736\"]])\n\nexport default __exports__"],"names":["_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","class","_hoisted_2","_createElementVNode","for","_defineComponent","__name","setup","__props","store","useChartStore","color","ref","async","send","discover","value","console","log","router","push","visiting","core","id","_ctx","_cache","_openBlock","_createElementBlock","_withDirectives","type","$event","_vModelText","onClick","__exports__"],"sourceRoot":""}
|
||||
{"version":3,"file":"js/858.3d9fc85d.js","mappings":"4NAGA,MAAMA,EAAeC,KAAMC,EAAAA,EAAAA,IAAa,mBAAmBD,EAAEA,KAAIE,EAAAA,EAAAA,MAAcF,GACzEG,EAAa,CAAEC,MAAO,YACtBC,EAA2BN,GAAa,KAAmBO,EAAAA,EAAAA,GAAoB,QAAS,CAAEC,IAAK,gBAAkB,gBAAiB,KAOxI,OAA4BC,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,eACRC,KAAAA,CAAMC,GAER,MAAMC,GAAQC,EAAAA,EAAAA,KACRC,GAAQC,EAAAA,EAAAA,IAAI,WAElBC,eAAeC,UACPL,EAAMM,SAASJ,EAAMK,OAC3BC,QAAQC,IAAIP,EAAMK,OAClBG,EAAAA,EAAOC,KAAK,UAAUX,EAAMY,UAAUC,KAAKC,KAE7C,CAEA,MAAO,CAACC,EAAUC,MACRC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO3B,EAAY,CAC3DE,GACA0B,EAAAA,EAAAA,KAAgBzB,EAAAA,EAAAA,GAAoB,QAAS,CAC3C0B,KAAM,QACNN,GAAI,eACJ,sBAAuBE,EAAO,KAAOA,EAAO,GAAMK,GAAkBnB,EAAOK,MAAQc,GACnF7B,MAAO,eACN,KAAM,KAAM,CACb,CAAC8B,EAAAA,GAAapB,EAAMK,UAEtBb,EAAAA,EAAAA,GAAoB,SAAU,CAC5B6B,QAASP,EAAO,KAAOA,EAAO,GAAMK,GAAiBhB,MACpD,eAGP,I,QCpCA,MAAMmB,GAA2B,OAAgB,EAAQ,CAAC,CAAC,YAAY,qBAEvE,O","sources":["webpack://starchart/./src/views/DiscoverView.vue?1a59","webpack://starchart/./src/views/DiscoverView.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { createElementVNode as _createElementVNode, vModelText as _vModelText, withDirectives as _withDirectives, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2134d9ee\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"discover\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"label\", { for: \"planet-color\" }, \"pick a color\", -1))\n\nimport { ref } from \"vue\";\nimport { useChartStore } from \"@/state/stars\";\nimport router from \"@/router\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'DiscoverView',\n setup(__props) {\n\nconst store = useChartStore();\nconst color = ref(\"#aaf0d1\");\n\nasync function send() {\n await store.discover(color.value);\n console.log(color.value);\n router.push(`/visit/${store.visiting?.core.id}`);\n return;\n}\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _hoisted_2,\n _withDirectives(_createElementVNode(\"input\", {\n type: \"color\",\n id: \"planet-color\",\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => ((color).value = $event)),\n class: \"colorpicker\"\n }, null, 512), [\n [_vModelText, color.value]\n ]),\n _createElementVNode(\"button\", {\n onClick: _cache[1] || (_cache[1] = ($event: any) => (send()))\n }, \"discover!\")\n ]))\n}\n}\n\n})","import script from \"./DiscoverView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./DiscoverView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./DiscoverView.vue?vue&type=style&index=0&id=2134d9ee&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-2134d9ee\"]])\n\nexport default __exports__"],"names":["_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","class","_hoisted_2","_createElementVNode","for","_defineComponent","__name","setup","__props","store","useChartStore","color","ref","async","send","discover","value","console","log","router","push","visiting","core","id","_ctx","_cache","_openBlock","_createElementBlock","_withDirectives","type","$event","_vModelText","onClick","__exports__"],"sourceRoot":""}
|
|
@ -0,0 +1,2 @@
|
|||
"use strict";(self["webpackChunkstarchart"]=self["webpackChunkstarchart"]||[]).push([[919],{1737:function(t,a,s){s.r(a),s.d(a,{default:function(){return d}});var r=s(3396),e=s(7139),c=s(4870),n=s(2752),h=s(9218),u=(0,r.aZ)({__name:"ChartView",setup(t){const a=(0,n.g)();return a.fetchChart(),(t,s)=>((0,r.wg)(),(0,r.iD)("div",{class:"starchart",style:(0,e.j5)({width:24*(0,c.SU)(a).stars.length+"px",height:24*(0,c.SU)(a).stars.length+"px"})},[((0,r.wg)(!0),(0,r.iD)(r.HY,null,(0,r.Ko)((0,c.SU)(a).stars,(t=>((0,r.wg)(),(0,r.j4)(h.Z,{key:t.core.id,star:t},null,8,["star"])))),128))],4))}}),l=s(89);const i=(0,l.Z)(u,[["__scopeId","data-v-bc8ceaa8"]]);var d=i}}]);
|
||||
//# sourceMappingURL=919.b3504ac5.js.map
|
|
@ -0,0 +1 @@
|
|||
{"version":3,"file":"js/919.b3504ac5.js","mappings":"oNAMA,GAA4BA,EAAAA,EAAAA,IAAiB,CAC3CC,OAAQ,YACRC,KAAAA,CAAMC,GAER,MAAMC,GAAQC,EAAAA,EAAAA,KAGd,OAFAD,EAAME,aAEC,CAACC,EAAUC,MACRC,EAAAA,EAAAA,OAAcC,EAAAA,EAAAA,IAAoB,MAAO,CAC/CC,MAAO,YACPC,OAAOC,EAAAA,EAAAA,IAAgB,CACrBC,MAAuC,IAA7BC,EAAAA,EAAAA,IAAOX,GAAOY,MAAMC,OAAvB,KACPC,OAAwC,IAA7BH,EAAAA,EAAAA,IAAOX,GAAOY,MAAMC,OAAvB,QAET,GACAR,EAAAA,EAAAA,KAAW,IAAOC,EAAAA,EAAAA,IAAoBS,EAAAA,GAAW,MAAMC,EAAAA,EAAAA,KAAYL,EAAAA,EAAAA,IAAOX,GAAOY,OAAQK,KAChFZ,EAAAA,EAAAA,OAAca,EAAAA,EAAAA,IAAaC,EAAAA,EAAW,CAC5CC,IAAKH,EAAKI,KAAKC,GACfL,KAAMA,GACL,KAAM,EAAG,CAAC,YACX,OACH,GAEL,I,QCvBA,MAAMM,GAA2B,OAAgB,EAAQ,CAAC,CAAC,YAAY,qBAEvE,O","sources":["webpack://starchart/./src/views/ChartView.vue?ec53","webpack://starchart/./src/views/ChartView.vue"],"sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, normalizeStyle as _normalizeStyle } from \"vue\"\n\nimport { useChartStore } from \"@/state/stars\";\nimport SmallStar from \"@/components/SmallStar.vue\";\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ChartView',\n setup(__props) {\n\nconst store = useChartStore();\nstore.fetchChart();\n\nreturn (_ctx: any,_cache: any) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: \"starchart\",\n style: _normalizeStyle({\n width: `${_unref(store).stars.length * 24}px`,\n height: `${_unref(store).stars.length * 24}px`,\n })\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(store).stars, (star) => {\n return (_openBlock(), _createBlock(SmallStar, {\n key: star.core.id,\n star: star\n }, null, 8, [\"star\"]))\n }), 128))\n ], 4))\n}\n}\n\n})","import script from \"./ChartView.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ChartView.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./ChartView.vue?vue&type=style&index=0&id=bc8ceaa8&scoped=true&lang=scss\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-bc8ceaa8\"]])\n\nexport default __exports__"],"names":["_defineComponent","__name","setup","__props","store","useChartStore","fetchChart","_ctx","_cache","_openBlock","_createElementBlock","class","style","_normalizeStyle","width","_unref","stars","length","height","_Fragment","_renderList","star","_createBlock","SmallStar","key","core","id","__exports__"],"sourceRoot":""}
|
|
@ -13,6 +13,8 @@
|
|||
"vue-router": "^4.0.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/color-convert": "^2.0.0",
|
||||
"@types/three": "^0.155.1",
|
||||
"@typescript-eslint/eslint-plugin": "^5.4.0",
|
||||
"@typescript-eslint/parser": "^5.4.0",
|
||||
"@vue/cli-plugin-babel": "~5.0.0",
|
||||
|
@ -29,7 +31,9 @@
|
|||
"prettier": "^2.4.1",
|
||||
"sass": "^1.32.7",
|
||||
"sass-loader": "^12.0.0",
|
||||
"three": "^0.155.0",
|
||||
"typescript": "~4.5.5",
|
||||
"vue-dragscroll": "^4.0.5",
|
||||
"vue-router": "^4.2.4"
|
||||
}
|
||||
},
|
||||
|
@ -2152,6 +2156,12 @@
|
|||
"node": ">=10.13.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@tweenjs/tween.js": {
|
||||
"version": "18.6.4",
|
||||
"resolved": "https://registry.npmjs.org/@tweenjs/tween.js/-/tween.js-18.6.4.tgz",
|
||||
"integrity": "sha512-lB9lMjuqjtuJrx7/kOkqQBtllspPIN+96OvTCeJ2j5FEzinoAXTdAMFnDAQT1KVPRlnYfBrqxtqP66vDM40xxQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/body-parser": {
|
||||
"version": "1.19.2",
|
||||
"resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
|
||||
|
@ -2171,6 +2181,21 @@
|
|||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/color-convert": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/color-convert/-/color-convert-2.0.0.tgz",
|
||||
"integrity": "sha512-m7GG7IKKGuJUXvkZ1qqG3ChccdIM/qBBo913z+Xft0nKCX4hAU/IxKwZBU4cpRZ7GS5kV4vOblUkILtSShCPXQ==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@types/color-name": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/color-name": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz",
|
||||
"integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/connect": {
|
||||
"version": "3.4.35",
|
||||
"resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
|
||||
|
@ -2360,12 +2385,38 @@
|
|||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/stats.js": {
|
||||
"version": "0.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@types/stats.js/-/stats.js-0.17.0.tgz",
|
||||
"integrity": "sha512-9w+a7bR8PeB0dCT/HBULU2fMqf6BAzvKbxFboYhmDtDkKPiyXYbjoe2auwsXlEFI7CFNMF1dCv3dFH5Poy9R1w==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/three": {
|
||||
"version": "0.155.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/three/-/three-0.155.1.tgz",
|
||||
"integrity": "sha512-uNUwnz/wWRxahjIqTtDYQ1qdE1R1py21obxfuILkT+kKrjocMwRLQQA1l8nMxfQU7VXb7CXu04ucMo8OqZt4ZA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@tweenjs/tween.js": "~18.6.4",
|
||||
"@types/stats.js": "*",
|
||||
"@types/webxr": "*",
|
||||
"fflate": "~0.6.9",
|
||||
"lil-gui": "~0.17.0",
|
||||
"meshoptimizer": "~0.18.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@types/webpack-env": {
|
||||
"version": "1.18.1",
|
||||
"resolved": "https://registry.npmjs.org/@types/webpack-env/-/webpack-env-1.18.1.tgz",
|
||||
"integrity": "sha512-D0HJET2/UY6k9L6y3f5BL+IDxZmPkYmPT4+qBrRdmRLYRuV0qNKizMgTvYxXZYn+36zjPeoDZAEYBCM6XB+gww==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/webxr": {
|
||||
"version": "0.5.4",
|
||||
"resolved": "https://registry.npmjs.org/@types/webxr/-/webxr-0.5.4.tgz",
|
||||
"integrity": "sha512-41gfGLTtqXZhcmoDlLDHqMJDuwAMwhHwXf9Q2job3TUBsvkNfPNI/3IWVEtLH4tyY1ElWtfwIaoNeqeEX238/Q==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/@types/ws": {
|
||||
"version": "8.5.5",
|
||||
"resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz",
|
||||
|
@ -6527,6 +6578,12 @@
|
|||
"node": ">=0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/fflate": {
|
||||
"version": "0.6.10",
|
||||
"resolved": "https://registry.npmjs.org/fflate/-/fflate-0.6.10.tgz",
|
||||
"integrity": "sha512-IQrh3lEPM93wVCEczc9SaAOvkmcoQn/G8Bo1e8ZPlY3X3bnAxWaBdvTdvM1hP62iZp0BXWDy4vTAy4fF0+Dlpg==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/figures": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz",
|
||||
|
@ -7854,6 +7911,12 @@
|
|||
"node": ">= 0.8.0"
|
||||
}
|
||||
},
|
||||
"node_modules/lil-gui": {
|
||||
"version": "0.17.0",
|
||||
"resolved": "https://registry.npmjs.org/lil-gui/-/lil-gui-0.17.0.tgz",
|
||||
"integrity": "sha512-MVBHmgY+uEbmJNApAaPbtvNh1RCAeMnKym82SBjtp5rODTYKWtM+MXHCifLe2H2Ti1HuBGBtK/5SyG4ShQ3pUQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/lilconfig": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
|
||||
|
@ -8273,6 +8336,12 @@
|
|||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/meshoptimizer": {
|
||||
"version": "0.18.1",
|
||||
"resolved": "https://registry.npmjs.org/meshoptimizer/-/meshoptimizer-0.18.1.tgz",
|
||||
"integrity": "sha512-ZhoIoL7TNV4s5B6+rx5mC//fw8/POGyNxS/DZyCJeiZ12ScLfVwRE/GfsxwiTkMYYD5DmK2/JXnEVXqL4rF+Sw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/methods": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
|
||||
|
@ -11187,6 +11256,12 @@
|
|||
"url": "https://opencollective.com/webpack"
|
||||
}
|
||||
},
|
||||
"node_modules/three": {
|
||||
"version": "0.155.0",
|
||||
"resolved": "https://registry.npmjs.org/three/-/three-0.155.0.tgz",
|
||||
"integrity": "sha512-sNgCYmDijnIqkD/bMfk+1pHg3YzsxW7V2ChpuP6HCQ8NiZr3RufsXQr8M3SSUMjW4hG+sUk7YbyuY0DncaDTJQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/thunky": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
|
||||
|
@ -11598,6 +11673,15 @@
|
|||
"@vue/shared": "3.3.4"
|
||||
}
|
||||
},
|
||||
"node_modules/vue-dragscroll": {
|
||||
"version": "4.0.5",
|
||||
"resolved": "https://registry.npmjs.org/vue-dragscroll/-/vue-dragscroll-4.0.5.tgz",
|
||||
"integrity": "sha512-1V4/2rUlNTM8vYC6/y2yfjKjOynuCfp1VRpj+IOGCcj8FWl4/3FMs9GBUJShd5mLoD4BvhY1xveezeuD+9i/mw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"vue": "^3.2.37"
|
||||
}
|
||||
},
|
||||
"node_modules/vue-eslint-parser": {
|
||||
"version": "8.3.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz",
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
"vue-router": "^4.0.3"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/color-convert": "^2.0.0",
|
||||
"@types/three": "^0.155.1",
|
||||
"@typescript-eslint/eslint-plugin": "^5.4.0",
|
||||
"@typescript-eslint/parser": "^5.4.0",
|
||||
"@vue/cli-plugin-babel": "~5.0.0",
|
||||
|
@ -30,7 +32,9 @@
|
|||
"prettier": "^2.4.1",
|
||||
"sass": "^1.32.7",
|
||||
"sass-loader": "^12.0.0",
|
||||
"three": "^0.155.0",
|
||||
"typescript": "~4.5.5",
|
||||
"vue-dragscroll": "^4.0.5",
|
||||
"vue-router": "^4.2.4"
|
||||
}
|
||||
}
|
||||
|
|
After Width: | Height: | Size: 297 KiB |
After Width: | Height: | Size: 575 KiB |
After Width: | Height: | Size: 503 KiB |
After Width: | Height: | Size: 824 KiB |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 4.3 KiB |
After Width: | Height: | Size: 3.5 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 4.1 KiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 6.5 KiB |
After Width: | Height: | Size: 6.3 KiB |
|
@ -0,0 +1,121 @@
|
|||
{
|
||||
"asset":{
|
||||
"generator":"Khronos glTF Blender I/O v3.5.30",
|
||||
"version":"2.0"
|
||||
},
|
||||
"scene":0,
|
||||
"scenes":[
|
||||
{
|
||||
"name":"Scene",
|
||||
"nodes":[
|
||||
0
|
||||
]
|
||||
}
|
||||
],
|
||||
"nodes":[
|
||||
{
|
||||
"mesh":0,
|
||||
"name":"Icosphere"
|
||||
}
|
||||
],
|
||||
"materials":[
|
||||
{
|
||||
"doubleSided":true,
|
||||
"name":"Material.001",
|
||||
"pbrMetallicRoughness":{
|
||||
"baseColorFactor":[
|
||||
0.8000000715255737,
|
||||
0.07428835332393646,
|
||||
0.07428835332393646,
|
||||
1
|
||||
],
|
||||
"metallicFactor":0,
|
||||
"roughnessFactor":0.5
|
||||
}
|
||||
}
|
||||
],
|
||||
"meshes":[
|
||||
{
|
||||
"name":"Icosphere",
|
||||
"primitives":[
|
||||
{
|
||||
"attributes":{
|
||||
"POSITION":0,
|
||||
"TEXCOORD_0":1,
|
||||
"NORMAL":2
|
||||
},
|
||||
"indices":3,
|
||||
"material":0
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"accessors":[
|
||||
{
|
||||
"bufferView":0,
|
||||
"componentType":5126,
|
||||
"count":92,
|
||||
"max":[
|
||||
0.9954347610473633,
|
||||
1.0196396112442017,
|
||||
1.0188261270523071
|
||||
],
|
||||
"min":[
|
||||
-0.9746291637420654,
|
||||
-1,
|
||||
-0.9999999403953552
|
||||
],
|
||||
"type":"VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView":1,
|
||||
"componentType":5126,
|
||||
"count":92,
|
||||
"type":"VEC2"
|
||||
},
|
||||
{
|
||||
"bufferView":2,
|
||||
"componentType":5126,
|
||||
"count":92,
|
||||
"type":"VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView":3,
|
||||
"componentType":5123,
|
||||
"count":378,
|
||||
"type":"SCALAR"
|
||||
}
|
||||
],
|
||||
"bufferViews":[
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":1104,
|
||||
"byteOffset":0,
|
||||
"target":34962
|
||||
},
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":736,
|
||||
"byteOffset":1104,
|
||||
"target":34962
|
||||
},
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":1104,
|
||||
"byteOffset":1840,
|
||||
"target":34962
|
||||
},
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":756,
|
||||
"byteOffset":2944,
|
||||
"target":34963
|
||||
}
|
||||
],
|
||||
"buffers":[
|
||||
{
|
||||
"byteLength":3700,
|
||||
"uri":"data:application/octet-stream;base64,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B86ZPtk9OT9m9+S+RpQGvwyTib6lLAO+OGd0v+F6lD1LyCc/93VAv/s6ED/LEKe+001CP1pkOz+Hpyc/pU5APuwvW79KewO/07xjvU2Ejb5m9+S+7MBZP02Ejb5m9+S+7MBZP9cScj3vycM9IGN+P8sQB740gGe/INLPPssQB740gGe/INLPPnL5P78CvAW/INLPPqW9Ib/vycM9S+pEP6W9Ib/vycM9S+pEPyV1gj3lYSG9gEh/v4Y4Nr+TOuE+9igMP0VHEj/Jdh4/zO4Jv0VHEj/Jdh4/zO4JvyL91j5Qjdc+8tJNP8pUQb7AWxC/8tJNPwAAFgAUAAUAFwAZAAQAFQAdAAMAHAAgAAIAHwAbAAUAGQAjACkAHgBTACkAUwBVAAcAHgAnAAgAIQAqACwAJABMACwATABKAAUAIwAmABgAJQBQABgAUAAJAAcAJwArAAgAKgAtACIALABKACIASgBJAAoALgA0AAsALwA3ADAAOABaADAAWgBXADEAOwBEADEARAA8AA8AMgA2ADsAEgBCADsAQgBEABEANQA+ABEAPgBAADYAMgBFADYARQA/ADsAOQASADsAMQA5ADEADQA5ADoAOAATADkADQBWADkAVgBYADAADAA4ADcAMwAQADcALwAzAC8ACgAzADQANQARADQALgA1AC4ADwA1ACQAMgAPACQALAAyACwADgAyAC0AMQAOAC0AKgAxACoADQAxAA0AKwAGAA0ABgBWACcAMABXACcAVwBbACcADAAwACgALwALACgAJQAvACUACgAvACYALgAKACYAIwAuACMADwAuACwALQAOACwAIgAtACIACAAtACoAKwANACoAIQArACEABwArACcAKQAMACcAHgApAB4AFQBSAB4AUgBTACUAJgAKACUAGAAmABgABQAmACMAJAAPACMAGQAkACQAGQBLACQASwBMABsAHwBNABsATQBHABkAGgBGABkARgBLAB8ACAAiACAAIQAIACAAHAAhABwABwAhAB0AHgAHAB0AFQAeABQAGAAJABQACQBRAB8AIgBJAB8ASQBNABkAFwAaABcAAQAaACUAKABUACUAVABQABQAFgAYABYABQAYAD0APABEAD8AQwBBAD8ARQBDAEUAPQBDAA4AMQA8AA4APAA9ADIADgA9ADIAPQBFAEgASQBKAEgASgBMAEsASABMAEcASQBIAEcATQBJAEsARgBIAE4ACQBQAE4AUABUAFMATwBVAFIATwBTAFEACQBOAFYAVwBZAFkAVwBaAAYAVwBWAAYAWwBXADgAOgBZADgAWQBaACsAJwBbACsAWwAGAA=="
|
||||
}
|
||||
]
|
||||
}
|
|
@ -1,6 +1,6 @@
|
|||
<template>
|
||||
<div class="app">
|
||||
<div class="content">
|
||||
<div class="content" v-dragscroll:nochildscroll>
|
||||
<router-view class="page" />
|
||||
</div>
|
||||
<nav>
|
||||
|
@ -18,12 +18,12 @@
|
|||
}
|
||||
|
||||
@font-face {
|
||||
font-family: ScanLine;
|
||||
src: url("@/assets/ScanLine.ttf");
|
||||
font-family: Daisy;
|
||||
src: url("@/assets/HeadUpDaisy.ttf");
|
||||
}
|
||||
|
||||
* {
|
||||
font-family: ScanLine;
|
||||
font-family: Daisy;
|
||||
}
|
||||
|
||||
html {
|
||||
|
@ -32,9 +32,23 @@ html {
|
|||
background-color: #030f0a;
|
||||
color: #aaf0d1;
|
||||
}
|
||||
|
||||
canvas {
|
||||
image-rendering: pixelated;
|
||||
}
|
||||
</style>
|
||||
|
||||
<style scoped>
|
||||
@keyframes movebg {
|
||||
from {
|
||||
background-position: 0px 0px;
|
||||
}
|
||||
|
||||
to {
|
||||
background-position: 0px 1080px;
|
||||
}
|
||||
}
|
||||
|
||||
.app {
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
|
@ -42,12 +56,18 @@ html {
|
|||
height: 100vh;
|
||||
}
|
||||
.content {
|
||||
overflow: scroll;
|
||||
overflow: hidden;
|
||||
flex-grow: 1;
|
||||
width: 100%;
|
||||
background-image: url("../public/images/background.webp");
|
||||
animation-name: movebg;
|
||||
animation-timing-function: linear;
|
||||
animation-iteration-count: infinite;
|
||||
animation-duration: 30s;
|
||||
}
|
||||
|
||||
nav {
|
||||
border-top-style: solid;
|
||||
padding: 1em;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
|
|
|
@ -0,0 +1,81 @@
|
|||
<template>
|
||||
<div class="weh">
|
||||
<div class="star-model">
|
||||
<canvas id="can" />
|
||||
<div class="data">wawa</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="js">
|
||||
import * as THREE from "three";
|
||||
import { PropType, onMounted } from "vue";
|
||||
import { Star } from "@/swagger";
|
||||
import { GLTFLoader } from "three/examples/jsm/loaders/GLTFLoader";
|
||||
|
||||
const props = defineProps({
|
||||
star: { type: Star, required: true },
|
||||
});
|
||||
|
||||
onMounted(async () => {
|
||||
const canvas = document.getElementById("can");
|
||||
console.log(canvas);
|
||||
const loader = new GLTFLoader();
|
||||
const renderer = new THREE.WebGLRenderer({ canvas: canvas ?? undefined });
|
||||
renderer.setClearAlpha(0.0);
|
||||
const scene = new THREE.Scene();
|
||||
const model = await loader.loadAsync("/models/generic.gltf");
|
||||
model.scene.traverse((child) => {
|
||||
if (child.isMesh) {
|
||||
child.material = new THREE.MeshToonMaterial({
|
||||
map: child.map != undefined ? child.map : null,
|
||||
color: child.material.color,
|
||||
});
|
||||
scene.add(model.scene);
|
||||
}
|
||||
});
|
||||
const camera = new THREE.PerspectiveCamera(10);
|
||||
camera.position.z = 20;
|
||||
|
||||
// set up light
|
||||
const rightLight = new THREE.PointLight(0xd1aaf0);
|
||||
rightLight.position.set(5, 5, 5);
|
||||
rightLight.intensity = 100;
|
||||
scene.add(rightLight);
|
||||
|
||||
const leftLight = new THREE.PointLight(0xaaf0d1);
|
||||
leftLight.position.set(-5, 0, 5);
|
||||
leftLight.intensity = 150;
|
||||
scene.add(leftLight);
|
||||
|
||||
scene.add(model.scene);
|
||||
scene.add(camera);
|
||||
|
||||
function resizeCanvas() {
|
||||
const width = canvas?.clientWidth;
|
||||
const height = canvas?.clientHeight;
|
||||
|
||||
renderer.setSize(width, height, false);
|
||||
camera.aspect = width / height;
|
||||
camera.updateProjectionMatrix();
|
||||
renderer.setPixelRatio(1 / (width / 125));
|
||||
}
|
||||
|
||||
function animate() {
|
||||
model.scene.rotation.y += 0.01;
|
||||
requestAnimationFrame(animate);
|
||||
resizeCanvas();
|
||||
renderer.render(scene, camera);
|
||||
}
|
||||
|
||||
resizeCanvas();
|
||||
animate();
|
||||
})
|
||||
</script>
|
||||
|
||||
<style>
|
||||
canvas {
|
||||
width: 100%;
|
||||
aspect-ratio: 1/1;
|
||||
}
|
||||
</style>
|
|
@ -1,29 +1,38 @@
|
|||
<template>
|
||||
<router-link
|
||||
:to="'/visit/' + id"
|
||||
:to="'/visit/' + star.core.id"
|
||||
class="star"
|
||||
:style="{
|
||||
left: `${positionRight}%`,
|
||||
top: `${positionBottom}%`,
|
||||
width: `${width}px`,
|
||||
left: `${star.position.bottom}%`,
|
||||
top: `${star.position.right}%`,
|
||||
width: `${star.position.width}px`,
|
||||
filter: `drop-shadow(0 0 5px ${
|
||||
star.core.color
|
||||
}) drop-shadow(0 0 10px white) sepia(1) hue-rotate(${hue - 38}deg)`,
|
||||
}"
|
||||
>
|
||||
<div class="star-color"></div>
|
||||
<div class="star-color">
|
||||
<img :src="image" />
|
||||
</div>
|
||||
</router-link>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { defineComponent } from "vue";
|
||||
<script setup lang="ts">
|
||||
import { computed, PropType } from "vue";
|
||||
import { Star } from "@/swagger";
|
||||
import { getHue } from "@/scripts/convert_color";
|
||||
|
||||
export default defineComponent({
|
||||
name: "SmallStar",
|
||||
props: {
|
||||
color: String,
|
||||
id: Number,
|
||||
positionRight: Number,
|
||||
positionBottom: Number,
|
||||
width: Number,
|
||||
},
|
||||
const props = defineProps({
|
||||
star: { type: Object as PropType<Star>, required: true },
|
||||
});
|
||||
|
||||
const image = computed(() => {
|
||||
var src = props.star.kind.toString().toLowerCase();
|
||||
return `/images/${src}.webp`;
|
||||
});
|
||||
|
||||
const hue = computed(() => {
|
||||
return getHue(props.star.core.color);
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -32,15 +41,14 @@ export default defineComponent({
|
|||
position: absolute;
|
||||
}
|
||||
|
||||
img {
|
||||
width: 100%;
|
||||
aspect-ratio: 1/1;
|
||||
}
|
||||
|
||||
.star-color {
|
||||
border-radius: 9999999px;
|
||||
aspect-ratio: 1/1;
|
||||
opacity: 0.8;
|
||||
background-color: v-bind(color);
|
||||
filter: drop-shadow(0 0 7.5px v-bind(color)) drop-shadow(0 0 10px white);
|
||||
}
|
||||
|
||||
.star:hover {
|
||||
filter: drop-shadow(0 0 50px v-bind(color)) drop-shadow(0 0 24px white);
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -3,9 +3,12 @@ import { createPinia } from "pinia";
|
|||
import "vue-router";
|
||||
import App from "./App.vue";
|
||||
import router from "./router";
|
||||
import VueDragscroll from "vue-dragscroll";
|
||||
|
||||
const pinia = createPinia();
|
||||
const app = createApp(App).use(router);
|
||||
const app = createApp(App);
|
||||
|
||||
app.use(pinia);
|
||||
app.use(router);
|
||||
app.use(VueDragscroll);
|
||||
app.mount("#app");
|
||||
|
|
|
@ -16,6 +16,11 @@ const routes: Array<RouteRecordRaw> = [
|
|||
name: "starchart 🗺️",
|
||||
component: () => import("../views/ChartView.vue"),
|
||||
},
|
||||
{
|
||||
path: "/:pathMatch(.*)*",
|
||||
name: "error 404 😓",
|
||||
component: () => import("../views/NotFoundVue.vue"),
|
||||
},
|
||||
];
|
||||
|
||||
const router = createRouter({
|
||||
|
|
|
@ -0,0 +1,6 @@
|
|||
import { hex } from "color-convert";
|
||||
|
||||
export function getHue(hexString: string): number {
|
||||
const color = hex.hsv(hexString);
|
||||
return color[0];
|
||||
}
|
|
@ -57,7 +57,10 @@ export const useChartStore = defineStore({
|
|||
this.loading = true;
|
||||
await new StarsApi(conf())
|
||||
.visit({ planetId: id })
|
||||
.then((star) => this.stars.push(star))
|
||||
.then((star) => {
|
||||
this.stars.push(star);
|
||||
this.visiting = star;
|
||||
})
|
||||
.catch((e) => {
|
||||
console.error(e);
|
||||
})
|
||||
|
|
|
@ -3,6 +3,7 @@ apis/StarsApi.ts
|
|||
apis/index.ts
|
||||
index.ts
|
||||
models/DiscoveryLog.ts
|
||||
models/Kind.ts
|
||||
models/Position.ts
|
||||
models/Protostar.ts
|
||||
models/Size.ts
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
/**
|
||||
* starchart
|
||||
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
||||
*
|
||||
* The version of the OpenAPI document: 0.1.0
|
||||
*
|
||||
*
|
||||
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
||||
* https://openapi-generator.tech
|
||||
* Do not edit the class manually.
|
||||
*/
|
||||
|
||||
import { exists, mapValues } from '../runtime';
|
||||
/**
|
||||
*
|
||||
* @export
|
||||
* @interface Kind
|
||||
*/
|
||||
export interface Kind {
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if a given object implements the Kind interface.
|
||||
*/
|
||||
export function instanceOfKind(value: object): boolean {
|
||||
let isInstance = true;
|
||||
|
||||
return isInstance;
|
||||
}
|
||||
|
||||
export function KindFromJSON(json: any): Kind {
|
||||
return KindFromJSONTyped(json, false);
|
||||
}
|
||||
|
||||
export function KindFromJSONTyped(json: any, ignoreDiscriminator: boolean): Kind {
|
||||
return json;
|
||||
}
|
||||
|
||||
export function KindToJSON(value?: Kind | null): any {
|
||||
return value;
|
||||
}
|
||||
|
|
@ -13,6 +13,12 @@
|
|||
*/
|
||||
|
||||
import { exists, mapValues } from '../runtime';
|
||||
import type { Kind } from './Kind';
|
||||
import {
|
||||
KindFromJSON,
|
||||
KindFromJSONTyped,
|
||||
KindToJSON,
|
||||
} from './Kind';
|
||||
import type { Position } from './Position';
|
||||
import {
|
||||
PositionFromJSON,
|
||||
|
@ -44,6 +50,12 @@ export interface Star {
|
|||
* @memberof Star
|
||||
*/
|
||||
core: Protostar;
|
||||
/**
|
||||
*
|
||||
* @type {Kind}
|
||||
* @memberof Star
|
||||
*/
|
||||
kind: Kind;
|
||||
/**
|
||||
*
|
||||
* @type {Position}
|
||||
|
@ -64,6 +76,7 @@ export interface Star {
|
|||
export function instanceOfStar(value: object): boolean {
|
||||
let isInstance = true;
|
||||
isInstance = isInstance && "core" in value;
|
||||
isInstance = isInstance && "kind" in value;
|
||||
isInstance = isInstance && "position" in value;
|
||||
isInstance = isInstance && "size" in value;
|
||||
|
||||
|
@ -81,6 +94,7 @@ export function StarFromJSONTyped(json: any, ignoreDiscriminator: boolean): Star
|
|||
return {
|
||||
|
||||
'core': ProtostarFromJSON(json['core']),
|
||||
'kind': KindFromJSON(json['kind']),
|
||||
'position': PositionFromJSON(json['position']),
|
||||
'size': SizeFromJSON(json['size']),
|
||||
};
|
||||
|
@ -96,6 +110,7 @@ export function StarToJSON(value?: Star | null): any {
|
|||
return {
|
||||
|
||||
'core': ProtostarToJSON(value.core),
|
||||
'kind': KindToJSON(value.kind),
|
||||
'position': PositionToJSON(value.position),
|
||||
'size': SizeToJSON(value.size),
|
||||
};
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
/* tslint:disable */
|
||||
/* eslint-disable */
|
||||
export * from './DiscoveryLog';
|
||||
export * from './Kind';
|
||||
export * from './Position';
|
||||
export * from './Protostar';
|
||||
export * from './Size';
|
||||
|
|
|
@ -2,19 +2,11 @@
|
|||
<div
|
||||
class="starchart"
|
||||
:style="{
|
||||
width: `${store.stars.length * 64}px`,
|
||||
height: `${store.stars.length * 64}px`,
|
||||
width: `${store.stars.length * 24}px`,
|
||||
height: `${store.stars.length * 24}px`,
|
||||
}"
|
||||
>
|
||||
<SmallStar
|
||||
v-for="star in store.stars"
|
||||
:key="star.core.id"
|
||||
:id="star.core.id"
|
||||
:color="star.core.color"
|
||||
:position-bottom="star.position.bottom"
|
||||
:position-right="star.position.right"
|
||||
:width="star.position.width"
|
||||
/>
|
||||
<SmallStar v-for="star in store.stars" :key="star.core.id" :star="star" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
@ -27,7 +19,9 @@ store.fetchChart();
|
|||
|
||||
<style scoped lang="scss">
|
||||
@import "@/assets/scss/colors.scss";
|
||||
|
||||
.starchart {
|
||||
cursor: grab;
|
||||
padding: 420px;
|
||||
position: relative;
|
||||
left: 0px;
|
||||
|
|
|
@ -12,7 +12,7 @@ import { useChartStore } from "@/state/stars";
|
|||
import router from "@/router";
|
||||
|
||||
const store = useChartStore();
|
||||
const color = ref("#f0d1aa");
|
||||
const color = ref("#aaf0d1");
|
||||
|
||||
async function send() {
|
||||
await store.discover(color.value);
|
||||
|
@ -34,8 +34,30 @@ async function send() {
|
|||
align-items: center;
|
||||
}
|
||||
|
||||
.colorpicker {
|
||||
border-style: none;
|
||||
.colorpicker,
|
||||
::-moz-color-swatch {
|
||||
cursor: pointer;
|
||||
border: none;
|
||||
border-color: transparent;
|
||||
background-color: transparent;
|
||||
outline-style: none;
|
||||
}
|
||||
|
||||
input[type="color"]::-webkit-color-swatch-wrapper {
|
||||
padding: 0;
|
||||
}
|
||||
input[type="color"]::-webkit-color-swatch {
|
||||
border: none;
|
||||
}
|
||||
input[type="color"] {
|
||||
-webkit-appearance: none;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
label {
|
||||
color: #aaf0d1;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
button {
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
<template>
|
||||
<div class="error">
|
||||
<h1>you're all alone here...</h1>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
h1 {
|
||||
color: #f0d1aa;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.error {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
</style>
|
|
@ -1,5 +1,19 @@
|
|||
<template>
|
||||
<div class="about">
|
||||
<h1>This is an star page</h1>
|
||||
<div>
|
||||
<Suspense>
|
||||
<LargeStar v-if="store.visiting" :star="store.visiting" />
|
||||
</Suspense>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import LargeStar from "@/components/LargeStar.vue";
|
||||
import { useChartStore } from "@/state/stars";
|
||||
import { useRoute } from "vue-router";
|
||||
|
||||
const route = useRoute();
|
||||
const id: string = route.params.id.toString();
|
||||
|
||||
const store = useChartStore();
|
||||
store.visit(parseInt(id) ?? 1);
|
||||
</script>
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"allowJs": true,
|
||||
"target": "esnext",
|
||||
"module": "esnext",
|
||||
"strict": true,
|
||||
|
|