initial version
|
@ -103,7 +103,7 @@ version = "0.7.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a0487f8598afe49e6bc950a613a678bd962c4a6f431022ded62643c8b990301a"
|
||||
dependencies = [
|
||||
"darling",
|
||||
"darling 0.20.3",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 2.0.29",
|
||||
|
@ -365,6 +365,42 @@ version = "1.4.0"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be"
|
||||
|
||||
[[package]]
|
||||
name = "cached"
|
||||
version = "0.44.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b195e4fbc4b6862bbd065b991a34750399c119797efff72492f28a5864de8700"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"cached_proc_macro",
|
||||
"cached_proc_macro_types",
|
||||
"futures",
|
||||
"hashbrown 0.13.2",
|
||||
"instant",
|
||||
"once_cell",
|
||||
"thiserror",
|
||||
"tokio",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cached_proc_macro"
|
||||
version = "0.17.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b48814962d2fd604c50d2b9433c2a41a0ab567779ee2c02f7fba6eca1221f082"
|
||||
dependencies = [
|
||||
"cached_proc_macro_types",
|
||||
"darling 0.14.4",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "cached_proc_macro_types"
|
||||
version = "0.1.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "3a4f925191b4367301851c6d99b09890311d74b0d43f274c0b34c86d308a3663"
|
||||
|
||||
[[package]]
|
||||
name = "cc"
|
||||
version = "1.0.83"
|
||||
|
@ -495,14 +531,38 @@ dependencies = [
|
|||
"cipher",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "darling"
|
||||
version = "0.14.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7b750cb3417fd1b327431a470f388520309479ab0bf5e323505daf0290cd3850"
|
||||
dependencies = [
|
||||
"darling_core 0.14.4",
|
||||
"darling_macro 0.14.4",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "darling"
|
||||
version = "0.20.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "0209d94da627ab5605dcccf08bb18afa5009cfbef48d8a8b7d7bdbc79be25c5e"
|
||||
dependencies = [
|
||||
"darling_core",
|
||||
"darling_macro",
|
||||
"darling_core 0.20.3",
|
||||
"darling_macro 0.20.3",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "darling_core"
|
||||
version = "0.14.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "109c1ca6e6b7f82cc233a97004ea8ed7ca123a9af07a8230878fcfda9b158bf0"
|
||||
dependencies = [
|
||||
"fnv",
|
||||
"ident_case",
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
"strsim",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
@ -519,13 +579,24 @@ dependencies = [
|
|||
"syn 2.0.29",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "darling_macro"
|
||||
version = "0.14.4"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "a4aab4dbc9f7611d8b55048a3a16d2d010c2c8334e46304b40ac1cc14bf3b48e"
|
||||
dependencies = [
|
||||
"darling_core 0.14.4",
|
||||
"quote",
|
||||
"syn 1.0.109",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "darling_macro"
|
||||
version = "0.20.3"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5"
|
||||
dependencies = [
|
||||
"darling_core",
|
||||
"darling_core 0.20.3",
|
||||
"quote",
|
||||
"syn 2.0.29",
|
||||
]
|
||||
|
@ -867,6 +938,12 @@ version = "0.12.3"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
|
||||
|
||||
[[package]]
|
||||
name = "hashbrown"
|
||||
version = "0.13.2"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e"
|
||||
|
||||
[[package]]
|
||||
name = "hashbrown"
|
||||
version = "0.14.0"
|
||||
|
@ -1068,6 +1145,15 @@ dependencies = [
|
|||
"generic-array",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "instant"
|
||||
version = "0.1.12"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c"
|
||||
dependencies = [
|
||||
"cfg-if",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "iso8601"
|
||||
version = "0.6.1"
|
||||
|
@ -2272,6 +2358,7 @@ dependencies = [
|
|||
"axum",
|
||||
"axum-jsonschema",
|
||||
"axum-macros",
|
||||
"cached",
|
||||
"confy",
|
||||
"fastrand",
|
||||
"hyper",
|
||||
|
|
|
@ -51,3 +51,4 @@ tower-http = { version = "0.4", features = [
|
|||
] }
|
||||
fastrand = { version = "2", features = ["std"] }
|
||||
strum = { version = "0.25", features = ["strum_macros", "derive"] }
|
||||
cached = "0.44.0"
|
||||
|
|
34
src/stars.rs
|
@ -1,12 +1,16 @@
|
|||
use std::hash::Hash;
|
||||
|
||||
use aide::axum::{
|
||||
routing::{get_with, post_with},
|
||||
ApiRouter,
|
||||
};
|
||||
use axum::{extract::Query, http::StatusCode, Json};
|
||||
use cached::proc_macro::cached;
|
||||
use schemars::JsonSchema;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use sqlx::FromRow;
|
||||
|
||||
mod description;
|
||||
mod kind;
|
||||
mod names;
|
||||
mod position;
|
||||
|
@ -47,17 +51,16 @@ pub fn routes() -> ApiRouter {
|
|||
/// this gets stored in the db,
|
||||
/// the other stuff is generated using
|
||||
/// the id as a seed
|
||||
#[derive(Serialize, FromRow, Clone, Deserialize, JsonSchema)]
|
||||
#[derive(Serialize, FromRow, Clone, Deserialize, JsonSchema, PartialEq, Eq, Hash)]
|
||||
pub struct Protostar {
|
||||
pub id: i32,
|
||||
/// hex code of the stars color
|
||||
pub color: String,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Deserialize, JsonSchema)]
|
||||
#[derive(Serialize, Deserialize, JsonSchema, Clone)]
|
||||
pub struct Star {
|
||||
pub core: Protostar,
|
||||
pub size: size::Size,
|
||||
pub position: position::Position,
|
||||
pub kind: kind::Kind,
|
||||
pub name: String,
|
||||
|
@ -71,16 +74,21 @@ pub struct DiscoveryLog {
|
|||
|
||||
impl Into<Star> for Protostar {
|
||||
fn into(self) -> Star {
|
||||
let mut rng = fastrand::Rng::with_seed(self.id.abs() as u64);
|
||||
let range = 0..u64::MAX;
|
||||
Star {
|
||||
core: self.clone(),
|
||||
kind: kind::Kind::random(rng.u64(range.clone())),
|
||||
size: size::Size::random(rng.u64(range.clone())),
|
||||
position: position::Position::random(rng.u64(range.clone())),
|
||||
name: format!("{}-{}", names::random_name(rng.u64(range.clone())), self.id,).into(),
|
||||
description: format!("a star!").into(),
|
||||
}
|
||||
star_from_seed(self.id.abs() as u64, self.clone())
|
||||
}
|
||||
}
|
||||
|
||||
#[cached]
|
||||
fn star_from_seed(seed: u64, protostar: Protostar) -> Star {
|
||||
let mut rng = fastrand::Rng::with_seed(seed);
|
||||
let range = 0..u64::MAX;
|
||||
let kind = kind::Kind::random(rng.u64(range.clone()));
|
||||
Star {
|
||||
core: protostar.clone(),
|
||||
position: position::Position::random(rng.u64(range.clone())),
|
||||
name: format!("{}-{}", names::random_name(rng.u64(range.clone())), seed,).into(),
|
||||
description: protostar.generate_description(&kind, rng.u64(range.clone())),
|
||||
kind,
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,333 @@
|
|||
use super::{kind::Kind, Protostar};
|
||||
use fastrand::Rng;
|
||||
use strum::{EnumIter, IntoEnumIterator};
|
||||
|
||||
impl Protostar {
|
||||
pub fn generate_description(&self, kind: &Kind, seed: u64) -> String {
|
||||
let mut rng = Rng::with_seed(seed);
|
||||
let kind_name = match kind {
|
||||
Kind::Planet => "planet",
|
||||
Kind::Star => "star",
|
||||
Kind::Nova => "nova",
|
||||
Kind::Banana => "banana shaped planet",
|
||||
Kind::Station => "space station",
|
||||
};
|
||||
|
||||
let size_multiplier = rng.u16(0..u16::MAX);
|
||||
let size_compare_item = rng.choice(comparison_items()).unwrap_or("ohio".into());
|
||||
|
||||
let life = rng.choice(Life::iter()).unwrap_or(Life::NoLife);
|
||||
let life_description = rng
|
||||
.choice(life.descriptions())
|
||||
.unwrap_or("sensor sweep for life failed".to_string());
|
||||
|
||||
let danger_warning = rng
|
||||
.choice(ThreatLevel::iter())
|
||||
.unwrap_or(ThreatLevel::Boring)
|
||||
.warning();
|
||||
|
||||
let description = format!(
|
||||
"this {kind_name} is about {size_multiplier} times the size of {size_compare_item}.
|
||||
{life_description}
|
||||
{danger_warning}
|
||||
"
|
||||
);
|
||||
description.into()
|
||||
}
|
||||
}
|
||||
|
||||
fn comparison_items() -> Vec<String> {
|
||||
let results = items();
|
||||
let mut results = results
|
||||
.iter()
|
||||
.map(|s| s.to_string())
|
||||
.collect::<Vec<String>>();
|
||||
|
||||
// add actions
|
||||
for actor in actors().iter() {
|
||||
for posession in posessions().iter() {
|
||||
results.push(format!("the {posession} of {actor}"));
|
||||
}
|
||||
}
|
||||
results
|
||||
}
|
||||
|
||||
fn actors() -> Vec<&'static str> {
|
||||
vec![
|
||||
"a manatee",
|
||||
"a machine",
|
||||
"an artist",
|
||||
"a small kobold",
|
||||
"a large kobold",
|
||||
"a kittycat",
|
||||
"a worm",
|
||||
"a dog",
|
||||
"a shrimp",
|
||||
"a tiger",
|
||||
"an elephant",
|
||||
"an engineer",
|
||||
"a clown",
|
||||
"a prawn",
|
||||
"a monster",
|
||||
"an actor",
|
||||
"a celebrity",
|
||||
"a singer",
|
||||
"a conductor",
|
||||
"a firefighter",
|
||||
"a president",
|
||||
"a farmer",
|
||||
"a queen",
|
||||
"an ant",
|
||||
"a kitten",
|
||||
"a dragon",
|
||||
"a sloth",
|
||||
"a monkey",
|
||||
"a brain in a jar",
|
||||
"a seashell",
|
||||
"a lobster",
|
||||
"a crab",
|
||||
"a shark",
|
||||
"a programmer",
|
||||
"a janitor",
|
||||
"an iguana",
|
||||
"a child",
|
||||
"an astronaut",
|
||||
"an ai",
|
||||
"an android",
|
||||
"famous actor bela lugosi",
|
||||
"famous actor bruce lee",
|
||||
"famous actor irrfan khan",
|
||||
"famous actor james avery",
|
||||
"famous actor patrick stewart",
|
||||
"famous author terry pratchett",
|
||||
"famous author douglas adams",
|
||||
"famous author neil gaiman",
|
||||
"forgotten video game mascot polygon man",
|
||||
"forgotten video game mascot segata sanshiro",
|
||||
"a perfectly spherical cow",
|
||||
"alice",
|
||||
"bob",
|
||||
"mallory",
|
||||
]
|
||||
}
|
||||
|
||||
fn posessions() -> Vec<&'static str> {
|
||||
vec![
|
||||
"dreams",
|
||||
"hopes",
|
||||
"aspirations",
|
||||
"sleepyness",
|
||||
"fanbase",
|
||||
"home",
|
||||
"beliefs",
|
||||
"honesty",
|
||||
"belief",
|
||||
"love",
|
||||
"justifications",
|
||||
"breakdancing ability",
|
||||
"ability",
|
||||
"memory",
|
||||
]
|
||||
}
|
||||
|
||||
fn items() -> Vec<&'static str> {
|
||||
vec![
|
||||
"florida",
|
||||
"a pack of rats",
|
||||
"the eiffel tower",
|
||||
"ohio",
|
||||
"texas",
|
||||
"a baseball field",
|
||||
"a football field (american)",
|
||||
"a football field (european)",
|
||||
"a ford f-150",
|
||||
"a 1:3900 scale replica of the starship voyager",
|
||||
"the potassium atoms in a banana",
|
||||
"the great pyramid of giza",
|
||||
"a small boulder the size of a large boulder",
|
||||
"a large boulder the size of a small boulder",
|
||||
"a banana (for scale)",
|
||||
"a pebble",
|
||||
"a basketball court",
|
||||
"100,000,000,000$ in small and unmarked bills",
|
||||
"a box of donuts",
|
||||
"zeng jinlian, the tallest woman ever as reported by guiness world records",
|
||||
"a candle",
|
||||
"a box of of chocolates",
|
||||
"an airbus A318",
|
||||
"an embraer ERJ135",
|
||||
"a fairchild dornier 328-300JET",
|
||||
"a sunflower",
|
||||
"a pebble",
|
||||
"the great wall of china",
|
||||
"a funny joke",
|
||||
"an unfunny joke",
|
||||
"the oldest joke",
|
||||
"france",
|
||||
"china",
|
||||
"hawaii",
|
||||
"the kīlauea lighthouse",
|
||||
"the forbidden city",
|
||||
"bowl of hot soup",
|
||||
"a cold drink",
|
||||
]
|
||||
}
|
||||
|
||||
#[derive(EnumIter)]
|
||||
pub enum ThreatLevel {
|
||||
Boring,
|
||||
Harmless,
|
||||
MostlyHarmless,
|
||||
SlightlyDangerous,
|
||||
Dangerous,
|
||||
CertainDeath,
|
||||
}
|
||||
|
||||
impl ThreatLevel {
|
||||
pub fn warning(&self) -> &'static str {
|
||||
match self {
|
||||
ThreatLevel::Boring => "it's a bit boring here.",
|
||||
ThreatLevel::Harmless => "this place is harmless.",
|
||||
ThreatLevel::MostlyHarmless => "this place is mostly harmless.",
|
||||
ThreatLevel::SlightlyDangerous => "this place is slightly dangerous! watch out!",
|
||||
ThreatLevel::Dangerous => "this place is seriously messed up! don't go here!",
|
||||
ThreatLevel::CertainDeath => "this place means certain death! STAY CLEAR!",
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#[derive(EnumIter)]
|
||||
pub enum Life {
|
||||
NoLife,
|
||||
LifePossible,
|
||||
Primitive,
|
||||
Intelligent,
|
||||
}
|
||||
|
||||
impl Life {
|
||||
pub fn descriptions(&self) -> Vec<String> {
|
||||
match self {
|
||||
Life::NoLife => no_life_descriptions(),
|
||||
Life::LifePossible => life_possible_description(),
|
||||
Life::Primitive => primitive_life_description(),
|
||||
Life::Intelligent => intelligent_life_description(),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fn no_life_descriptions() -> Vec<String> {
|
||||
vec!["life is not possible here..."]
|
||||
.iter()
|
||||
.map(|s| s.to_string())
|
||||
.collect::<Vec<String>>()
|
||||
}
|
||||
|
||||
fn life_possible_description() -> Vec<String> {
|
||||
vec![
|
||||
"life seems possible but our sensors aren't picking anything up.",
|
||||
"our sensor sweep for life failed.",
|
||||
]
|
||||
.iter()
|
||||
.map(|s| s.to_string())
|
||||
.collect::<Vec<String>>()
|
||||
}
|
||||
|
||||
fn primitive_life_description() -> Vec<String> {
|
||||
vec!["our sensors are picking up single celled lifeforms."]
|
||||
.iter()
|
||||
.map(|s| s.to_string())
|
||||
.collect::<Vec<String>>()
|
||||
}
|
||||
|
||||
fn intelligent_life_description() -> Vec<String> {
|
||||
let mut results = vec![];
|
||||
for inhabitant in inhabitants().iter() {
|
||||
for action in inhabitant_actions().iter() {
|
||||
results.push(format!(
|
||||
"our life sensors have picked up {inhabitant} {action}"
|
||||
))
|
||||
}
|
||||
}
|
||||
results
|
||||
}
|
||||
|
||||
fn inhabitants() -> Vec<&'static str> {
|
||||
vec![
|
||||
"strange creatures",
|
||||
"clowns",
|
||||
"androids",
|
||||
"slime people",
|
||||
"sea creatures",
|
||||
"lizards",
|
||||
"hamsters",
|
||||
"mice",
|
||||
"dolphins",
|
||||
"fish",
|
||||
"crows",
|
||||
"snakes",
|
||||
"snake monsters",
|
||||
"dragons",
|
||||
"kobolds",
|
||||
"tentacle monsters",
|
||||
"rats",
|
||||
"vampires",
|
||||
"spooky skeletons",
|
||||
"punks",
|
||||
"werewolfs",
|
||||
"minotaurs",
|
||||
"ghouls",
|
||||
"krakens",
|
||||
"eldritch horrors",
|
||||
"tadpoles",
|
||||
"frog people",
|
||||
"beings made of smoke",
|
||||
"ghosts",
|
||||
"scary monsters",
|
||||
"ancient romans",
|
||||
"cool guys with sunglasses and leather jackets",
|
||||
"clones of you",
|
||||
]
|
||||
}
|
||||
|
||||
fn inhabitant_actions() -> Vec<&'static str> {
|
||||
vec![
|
||||
"who throw rocks at intruders.",
|
||||
"who like to make music.",
|
||||
"who like to climb.",
|
||||
"who like to swim.",
|
||||
"who program computers.",
|
||||
"who bake.",
|
||||
"who make dangerous potions.",
|
||||
"who like to collect rocks.",
|
||||
"who like to write strongly worded letters.",
|
||||
"who scare off intruders by debating politics with them.",
|
||||
"who like to make lifelike chocolate statues.",
|
||||
"who grow soap on trees!",
|
||||
"who like to make video games.",
|
||||
"who like to sleep all day!",
|
||||
"who like to watch anime.",
|
||||
"who drive expensive cars!",
|
||||
"who collect little figures.",
|
||||
"who start projects but never finish them.",
|
||||
"who like to play video games.",
|
||||
"who like to paint each others nails.",
|
||||
"who like to swim in clear lakes.",
|
||||
"who grow their own tomatoes.",
|
||||
"who fall asleep on the train.",
|
||||
"who tell each other lies for fun.",
|
||||
"who pirate music.",
|
||||
"who like to sleep on warm rocks.",
|
||||
"who think digital watches are cool.",
|
||||
"who like to repair electronics.",
|
||||
"who like to repair machines.",
|
||||
"who give visitors a little kiss on the forehead.",
|
||||
"who forget to drink enough water.",
|
||||
"who are too sleepy to do anything today.",
|
||||
"who want to achieve more in life.",
|
||||
"who like to braid each others hair.",
|
||||
"who watch movies together.",
|
||||
"who like to fly model airplanes.",
|
||||
"who are trying to get over their social media addiction.",
|
||||
"who are waiting for the year of linux on the desktop.",
|
||||
]
|
||||
}
|
|
@ -3,7 +3,7 @@ use schemars::JsonSchema;
|
|||
use serde::{Deserialize, Serialize};
|
||||
use strum::{EnumIter, IntoEnumIterator};
|
||||
|
||||
#[derive(Serialize, Deserialize, JsonSchema, EnumIter)]
|
||||
#[derive(Clone, Copy, Serialize, Deserialize, JsonSchema, EnumIter)]
|
||||
pub enum Kind {
|
||||
Planet,
|
||||
Star,
|
||||
|
|
|
@ -3,7 +3,7 @@ use fastrand::Rng;
|
|||
use schemars::JsonSchema;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
#[derive(JsonSchema, Serialize, Deserialize)]
|
||||
#[derive(JsonSchema, Serialize, Deserialize, Clone, Copy)]
|
||||
pub struct Position {
|
||||
pub right: f64,
|
||||
pub bottom: f64,
|
||||
|
|
|
@ -1 +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}
|
||||
.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-184dbf25]: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-184dbf25]{cursor:grab;padding:420px;position:relative;left:0;top:0}.app[data-v-184dbf25]{display:flex;flex-direction:column}.nav[data-v-184dbf25]{width:100%;background-color:orange}
|
|
@ -1 +0,0 @@
|
|||
.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 @@
|
|||
canvas{width:100%;aspect-ratio:1/1}.description[data-v-4d6c2eaa]{padding:1em}.star-view[data-v-984b3372]{height:100%;display:flex;justify-content:center;gap:1em;align-items:center}.star-model[data-v-984b3372]{width:100%;aspect-ratio:1/1;flex-grow:1;max-height:100%}.star-info[data-v-984b3372]{flex-grow:2;width:100%}@media (max-width:720px){.star-view[data-v-984b3372]{width:100%;align-items:stretch;flex-direction:column}}
|
|
@ -0,0 +1 @@
|
|||
.discover[data-v-5acd6253]{flex-direction:column;gap:1em;height:100%;width:100%;display:flex;justify-content:center;align-items:center}.colorpicker[data-v-5acd6253],[data-v-5acd6253]::-moz-color-swatch{cursor:pointer;border:none;border-color:transparent;background-color:transparent;outline-style:none}input[type=color][data-v-5acd6253]::-webkit-color-swatch-wrapper{padding:0}input[type=color][data-v-5acd6253]::-webkit-color-swatch{border:none}input[type=color][data-v-5acd6253]{-webkit-appearance:none;border:none;cursor:pointer}button[data-v-5acd6253],label[data-v-5acd6253]{color:#aaf0d1;cursor:pointer}button[data-v-5acd6253]{background-color:transparent;border-style:none;font-size:large}button[data-v-5acd6253]:focus,button[data-v-5acd6253]:hover{color:#f0d1aa}
|
|
@ -1 +0,0 @@
|
|||
.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 @@
|
|||
*{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}canvas{image-rendering:pixelated}@keyframes movebg-2ecceaf1{0%{background-position:0 0}to{background-position:0 1080px}}.app[data-v-2ecceaf1]{overflow:hidden;display:flex;flex-direction:column;height:100vh}.content[data-v-2ecceaf1]{overflow:hidden;flex-grow:1;width:100%;background-image:url(/img/background.08e112eb.webp);animation-name:movebg-2ecceaf1;animation-timing-function:linear;animation-iteration-count:infinite;animation-duration:30s}nav[data-v-2ecceaf1]{border-top-style:solid;padding:1em;display:flex;justify-content:space-around;flex-wrap:wrap}nav a[data-v-2ecceaf1]{text-decoration:none;font-size:large;color:#aaf0d1}nav a[data-v-2ecceaf1]:focus,nav a[data-v-2ecceaf1]:hover{color:#f0d1aa}
|
|
@ -1 +0,0 @@
|
|||
*{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}
|
After Width: | Height: | Size: 3.2 KiB |
After Width: | Height: | Size: 3.3 KiB |
After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 6.6 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 6.5 KiB |
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 6.3 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.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>
|
||||
<!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.43ff8180.js"></script><script defer="defer" src="/js/app.55f4c6ef.js"></script><link href="/css/app.855d7570.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>
|
|
@ -0,0 +1,2 @@
|
|||
"use strict";(self["webpackChunkstarchart"]=self["webpackChunkstarchart"]||[]).push([[254],{7998:function(t,r,s){s.r(r),s.d(r,{default:function(){return v}});var a=s(3396),e=s(7139),o=s(4870),i=s(2752),c=s(1642);const l={class:"star-color"},n=["src"];var p=(0,a.aZ)({__name:"SmallStar",props:{star:{type:Object,required:!0}},setup(t){const r=t,s=(0,a.Fl)((()=>{var t=r.star.kind.toString().toLowerCase();return`/images/${t}.webp`})),o=(0,a.Fl)((()=>(0,c.i)(r.star.core.color)));return(r,i)=>{const c=(0,a.up)("router-link");return(0,a.wg)(),(0,a.j4)(c,{to:"/visit/"+t.star.core.id,class:"star",style:(0,e.j5)({left:`${t.star.position.bottom}%`,top:`${t.star.position.right}%`,width:`${t.star.position.width}px`,filter:`drop-shadow(0 0 5px ${t.star.core.color}) drop-shadow(0 0 10px white) sepia(1) hue-rotate(${o.value-38}deg)`})},{default:(0,a.w5)((()=>[(0,a._)("div",l,[(0,a._)("img",{src:s.value},null,8,n)])])),_:1},8,["to","style"])}}}),u=s(89);const d=(0,u.Z)(p,[["__scopeId","data-v-6d90fabb"]]);var h=d,w=(0,a.aZ)({__name:"ChartView",setup(t){const r=(0,i.g)();return r.fetchChart(),(t,s)=>((0,a.wg)(),(0,a.iD)("div",{class:"starchart",style:(0,e.j5)({width:24*(0,o.SU)(r).stars.length+"px",height:24*(0,o.SU)(r).stars.length+"px"})},[((0,a.wg)(!0),(0,a.iD)(a.HY,null,(0,a.Ko)((0,o.SU)(r).stars,(t=>((0,a.wg)(),(0,a.j4)(h,{key:t.core.id,star:t},null,8,["star"])))),128))],4))}});const g=(0,u.Z)(w,[["__scopeId","data-v-184dbf25"]]);var v=g}}]);
|
||||
//# sourceMappingURL=254.bb932fa5.js.map
|
|
@ -1,2 +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
|
||||
//# sourceMappingURL=300.04882785.js.map
|
|
@ -1 +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":""}
|
||||
{"version":3,"file":"js/300.04882785.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":""}
|
|
@ -1,2 +0,0 @@
|
|||
"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
|
|
@ -1 +0,0 @@
|
|||
{"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":""}
|
|
@ -0,0 +1,2 @@
|
|||
"use strict";(self["webpackChunkstarchart"]=self["webpackChunkstarchart"]||[]).push([[599],{9599:function(a,c,e){e.r(c),e.d(c,{default:function(){return f}});e(7658);var o=e(3396),t=e(9242),n=e(4870),r=e(2752),l=e(3824);const s=a=>((0,o.dD)("data-v-5acd6253"),a=a(),(0,o.Cn)(),a),i={class:"discover"},u=s((()=>(0,o._)("label",{for:"planet-color"},"pick a color",-1)));var d=(0,o.aZ)({__name:"DiscoverView",setup(a){const c=(0,r.g)(),e=(0,n.iH)("#aaf0d1");async function s(){await c.discover(e.value),console.log(e.value),l.Z.push(`/visit/${c.visiting?.core.id}`)}return(a,c)=>((0,o.wg)(),(0,o.iD)("div",i,[u,(0,o.wy)((0,o._)("input",{type:"color",id:"planet-color","onUpdate:modelValue":c[0]||(c[0]=a=>e.value=a),class:"colorpicker"},null,512),[[t.nr,e.value]]),(0,o._)("button",{onClick:c[1]||(c[1]=a=>s())},"discover!")]))}}),v=e(89);const p=(0,v.Z)(d,[["__scopeId","data-v-5acd6253"]]);var f=p}}]);
|
||||
//# sourceMappingURL=599.dbf8a90d.js.map
|
|
@ -1 +1 @@
|
|||
{"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":""}
|
||||
{"version":3,"file":"js/599.dbf8a90d.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-5acd6253\"),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=5acd6253&scoped=true&lang=css\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-5acd6253\"]])\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":""}
|
|
@ -1,2 +0,0 @@
|
|||
"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,2 +0,0 @@
|
|||
"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
|
|
@ -1 +0,0 @@
|
|||
{"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":""}
|
|
@ -0,0 +1,211 @@
|
|||
{
|
||||
"asset":{
|
||||
"generator":"Khronos glTF Blender I/O v3.5.30",
|
||||
"version":"2.0"
|
||||
},
|
||||
"scene":0,
|
||||
"scenes":[
|
||||
{
|
||||
"name":"Scene",
|
||||
"nodes":[
|
||||
0
|
||||
]
|
||||
}
|
||||
],
|
||||
"nodes":[
|
||||
{
|
||||
"mesh":0,
|
||||
"name":"Cylinder",
|
||||
"scale":[
|
||||
0.3151196837425232,
|
||||
0.3151196837425232,
|
||||
0.3151196837425232
|
||||
],
|
||||
"translation":[
|
||||
0,
|
||||
-0.4174487292766571,
|
||||
0
|
||||
]
|
||||
}
|
||||
],
|
||||
"materials":[
|
||||
{
|
||||
"doubleSided":true,
|
||||
"name":"Light",
|
||||
"pbrMetallicRoughness":{
|
||||
"baseColorFactor":[
|
||||
1,
|
||||
0.7184775471687317,
|
||||
0.0997823104262352,
|
||||
1
|
||||
],
|
||||
"metallicFactor":0,
|
||||
"roughnessFactor":0.5
|
||||
}
|
||||
},
|
||||
{
|
||||
"doubleSided":true,
|
||||
"name":"Dark",
|
||||
"pbrMetallicRoughness":{
|
||||
"baseColorFactor":[
|
||||
0.8140411972999573,
|
||||
0.02744733728468418,
|
||||
0.13738077878952026,
|
||||
1
|
||||
],
|
||||
"metallicFactor":0
|
||||
}
|
||||
}
|
||||
],
|
||||
"meshes":[
|
||||
{
|
||||
"name":"Cylinder",
|
||||
"primitives":[
|
||||
{
|
||||
"attributes":{
|
||||
"POSITION":0,
|
||||
"TEXCOORD_0":1,
|
||||
"NORMAL":2
|
||||
},
|
||||
"indices":3,
|
||||
"material":0
|
||||
},
|
||||
{
|
||||
"attributes":{
|
||||
"POSITION":4,
|
||||
"TEXCOORD_0":5,
|
||||
"NORMAL":6
|
||||
},
|
||||
"indices":7,
|
||||
"material":1
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"accessors":[
|
||||
{
|
||||
"bufferView":0,
|
||||
"componentType":5126,
|
||||
"count":36,
|
||||
"max":[
|
||||
1.0150490999221802,
|
||||
5.494449615478516,
|
||||
0.80901700258255
|
||||
],
|
||||
"min":[
|
||||
-1.5585846900939941,
|
||||
-1.6041733026504517,
|
||||
-1
|
||||
],
|
||||
"type":"VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView":1,
|
||||
"componentType":5126,
|
||||
"count":36,
|
||||
"type":"VEC2"
|
||||
},
|
||||
{
|
||||
"bufferView":2,
|
||||
"componentType":5126,
|
||||
"count":36,
|
||||
"type":"VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView":3,
|
||||
"componentType":5123,
|
||||
"count":150,
|
||||
"type":"SCALAR"
|
||||
},
|
||||
{
|
||||
"bufferView":4,
|
||||
"componentType":5126,
|
||||
"count":34,
|
||||
"max":[
|
||||
-0.25792595744132996,
|
||||
6.0098876953125,
|
||||
0.5532032251358032
|
||||
],
|
||||
"min":[
|
||||
-1.6626043319702148,
|
||||
-1.9625250101089478,
|
||||
-0.683796763420105
|
||||
],
|
||||
"type":"VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView":5,
|
||||
"componentType":5126,
|
||||
"count":34,
|
||||
"type":"VEC2"
|
||||
},
|
||||
{
|
||||
"bufferView":6,
|
||||
"componentType":5126,
|
||||
"count":34,
|
||||
"type":"VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView":7,
|
||||
"componentType":5123,
|
||||
"count":78,
|
||||
"type":"SCALAR"
|
||||
}
|
||||
],
|
||||
"bufferViews":[
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":432,
|
||||
"byteOffset":0,
|
||||
"target":34962
|
||||
},
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":288,
|
||||
"byteOffset":432,
|
||||
"target":34962
|
||||
},
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":432,
|
||||
"byteOffset":720,
|
||||
"target":34962
|
||||
},
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":300,
|
||||
"byteOffset":1152,
|
||||
"target":34963
|
||||
},
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":408,
|
||||
"byteOffset":1452,
|
||||
"target":34962
|
||||
},
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":272,
|
||||
"byteOffset":1860,
|
||||
"target":34962
|
||||
},
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":408,
|
||||
"byteOffset":2132,
|
||||
"target":34962
|
||||
},
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":156,
|
||||
"byteOffset":2540,
|
||||
"target":34963
|
||||
}
|
||||
],
|
||||
"buffers":[
|
||||
{
|
||||
"byteLength":2696,
|
||||
"uri":"data:application/octet-stream;base64,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"
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,164 @@
|
|||
{
|
||||
"asset":{
|
||||
"generator":"Khronos glTF Blender I/O v3.5.30",
|
||||
"version":"2.0"
|
||||
},
|
||||
"extensionsUsed":[
|
||||
"KHR_materials_clearcoat",
|
||||
"KHR_materials_transmission",
|
||||
"KHR_materials_emissive_strength",
|
||||
"KHR_materials_specular",
|
||||
"KHR_materials_ior"
|
||||
],
|
||||
"scene":0,
|
||||
"scenes":[
|
||||
{
|
||||
"name":"Scene",
|
||||
"nodes":[
|
||||
0
|
||||
]
|
||||
}
|
||||
],
|
||||
"nodes":[
|
||||
{
|
||||
"mesh":0,
|
||||
"name":"Cone",
|
||||
"scale":[
|
||||
0.5690511465072632,
|
||||
0.5690511465072632,
|
||||
0.5690511465072632
|
||||
],
|
||||
"translation":[
|
||||
0,
|
||||
0.02206335961818695,
|
||||
0
|
||||
]
|
||||
}
|
||||
],
|
||||
"materials":[
|
||||
{
|
||||
"doubleSided":true,
|
||||
"emissiveFactor":[
|
||||
1,
|
||||
0.7336805926539774,
|
||||
0.2730392248840733
|
||||
],
|
||||
"extensions":{
|
||||
"KHR_materials_clearcoat":{
|
||||
"clearcoatFactor":1,
|
||||
"clearcoatRoughnessFactor":0.029999999329447746
|
||||
},
|
||||
"KHR_materials_transmission":{
|
||||
"transmissionFactor":1
|
||||
},
|
||||
"KHR_materials_emissive_strength":{
|
||||
"emissiveStrength":2.998099133671275
|
||||
},
|
||||
"KHR_materials_specular":{
|
||||
"specularColorFactor":[
|
||||
1,
|
||||
1,
|
||||
1
|
||||
]
|
||||
},
|
||||
"KHR_materials_ior":{
|
||||
"ior":1.4500000476837158
|
||||
}
|
||||
},
|
||||
"name":"Material.001",
|
||||
"pbrMetallicRoughness":{
|
||||
"baseColorFactor":[
|
||||
0.8000000715255737,
|
||||
0.5938380360603333,
|
||||
0.34376785159111023,
|
||||
1
|
||||
],
|
||||
"roughnessFactor":0.5
|
||||
}
|
||||
}
|
||||
],
|
||||
"meshes":[
|
||||
{
|
||||
"name":"Cone",
|
||||
"primitives":[
|
||||
{
|
||||
"attributes":{
|
||||
"POSITION":0,
|
||||
"TEXCOORD_0":1,
|
||||
"NORMAL":2
|
||||
},
|
||||
"indices":3,
|
||||
"material":0
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"accessors":[
|
||||
{
|
||||
"bufferView":0,
|
||||
"componentType":5126,
|
||||
"count":28,
|
||||
"max":[
|
||||
2.046938896179199,
|
||||
2.6071395874023438,
|
||||
1
|
||||
],
|
||||
"min":[
|
||||
-2.046938896179199,
|
||||
-2.6071395874023438,
|
||||
-1
|
||||
],
|
||||
"type":"VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView":1,
|
||||
"componentType":5126,
|
||||
"count":28,
|
||||
"type":"VEC2"
|
||||
},
|
||||
{
|
||||
"bufferView":2,
|
||||
"componentType":5126,
|
||||
"count":28,
|
||||
"type":"VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView":3,
|
||||
"componentType":5123,
|
||||
"count":168,
|
||||
"type":"SCALAR"
|
||||
}
|
||||
],
|
||||
"bufferViews":[
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":336,
|
||||
"byteOffset":0,
|
||||
"target":34962
|
||||
},
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":224,
|
||||
"byteOffset":336,
|
||||
"target":34962
|
||||
},
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":336,
|
||||
"byteOffset":560,
|
||||
"target":34962
|
||||
},
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":336,
|
||||
"byteOffset":896,
|
||||
"target":34963
|
||||
}
|
||||
],
|
||||
"buffers":[
|
||||
{
|
||||
"byteLength":1232,
|
||||
"uri":"data:application/octet-stream;base64,AAAAAAAAAAAAAIC/17NdPwAAAAAAAAC/AAAAADO8JUAAAACAAAAAAGDbJkAAAACATVsxP22ABT84y8y++AM/P6maBD8AAACAZ3T8PwAAAAD0BxW+DAEDQAAAAAAAAACA17NdvwAAAAAAAAC/TVsxv22ABT84y8y++AM/v6maBD8AAACAZ3T8vwAAAAD0BxW+DAEDwAAAAAAAAACAAAAAAAAAAAAAAIA/17NdPwAAAAAAAAA/TVsxP22ABT84y8w+Z3T8PwAAAAD0BxU+17NdvwAAAAAAAAA/TVsxv22ABT84y8w+Z3T8vwAAAAD0BxU+AAAAADO8JcAAAACAAAAAAGDbJsAAAACATVsxP22ABb84y8y++AM/P6maBL8AAACATVsxv22ABb84y8y++AM/v6maBL8AAACATVsxP22ABb84y8w+TVsxv22ABb84y8w+AACAPlyPAj/Oauo+rkchPwAAgD4AAEA/AACAPgAAQD+WIdU+vGwnP5Yh1T68bCc/liHVPrxsJz+WIdU+vGwnP85q6j6uRyE/liHVPrxsJz+WIdU+vGwnP5Yh1T68bCc/liHVPrxsJz8AAIA+XI8CP85q6j6uRyE/liHVPrxsJz+WIdU+vGwnP85q6j6uRyE/liHVPrxsJz+WIdU+vGwnPwAAgD4AAEA/AACAPgAAQD+WIdU+vGwnP5Yh1T68bCc/liHVPrxsJz+WIdU+vGwnP5Yh1T68bCc/liHVPrxsJz8AAAAAAAAAAAAAgL9eS8g+AAAAAMiYa78AAAAAAACAPwAAAIAAAAAAAACAPwAAAIBxrBs/bHj6PqkTIL9qvDQ/mEw1PwAAAIB/2V0/AAAAgAmK/74AAIA/AAAAAAAAAIBeS8i+AAAAAMiYa79xrBu/bHj6PqkTIL9qvDS/mEw1PwAAAIB/2V2/AAAAgAmK/74AAIC/AAAAAAAAAIAAAAAAAAAAAAAAgD9eS8g+AAAAAMiYaz9xrBs/bHj6PqkTID9/2V0/AAAAgAmK/z5eS8i+AAAAAMiYaz9xrBu/bHj6PqkTID9/2V2/AAAAgAmK/z4AAAAAAACAvwAAAIAAAACAAACAvwAAAIBxrBs/bHj6vqkTIL9qvDQ/mEw1vwAAAIBxrBu/bHj6vqkTIL9qvDS/mEw1vwAAAIBxrBs/bHj6vqkTID9xrBu/bHj6vqkTID8AAAMABAAAAAQAAQAEAAMAAgAEAAIABQAEAAUABwAEAAcABgAEAAYAAQAAAAgACQAAAAkAAwAJAAoAAgAJAAIAAwAJAAsADAAJAAwACgAJAAgACwANAA4ADwANAA8AAwAPAAUAAgAPAAIAAwAPABAABwAPAAcABQAPAA4AEAANAAMAEgANABIAEQASAAMAAgASAAIACgASAAoADAASAAwAEwASABMAEQAAAAEAFgAAABYAFQAWABcAFAAWABQAFQAWAAYABwAWAAcAFwAWAAEABgAAABUAGAAAABgACAAYABUAFAAYABQAGQAYABkADAAYAAwACwAYAAsACAANABUAGgANABoADgAaABUAFAAaABQAFwAaABcABwAaAAcAEAAaABAADgANABEAGwANABsAFQAbABkAFAAbABQAFQAbABMADAAbAAwAGQAbABEAEwA="
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,105 @@
|
|||
{
|
||||
"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": {
|
||||
"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=="
|
||||
}
|
||||
]
|
||||
}
|
|
@ -0,0 +1,159 @@
|
|||
{
|
||||
"asset":{
|
||||
"generator":"Khronos glTF Blender I/O v3.5.30",
|
||||
"version":"2.0"
|
||||
},
|
||||
"extensionsUsed":[
|
||||
"KHR_materials_clearcoat",
|
||||
"KHR_materials_transmission",
|
||||
"KHR_materials_emissive_strength",
|
||||
"KHR_materials_specular",
|
||||
"KHR_materials_ior"
|
||||
],
|
||||
"scene":0,
|
||||
"scenes":[
|
||||
{
|
||||
"name":"Scene",
|
||||
"nodes":[
|
||||
0
|
||||
]
|
||||
}
|
||||
],
|
||||
"nodes":[
|
||||
{
|
||||
"mesh":0,
|
||||
"name":"Cone",
|
||||
"translation":[
|
||||
0,
|
||||
0.02206335961818695,
|
||||
0
|
||||
]
|
||||
}
|
||||
],
|
||||
"materials":[
|
||||
{
|
||||
"doubleSided":true,
|
||||
"emissiveFactor":[
|
||||
1,
|
||||
0.7336805926539774,
|
||||
0.2730392248840733
|
||||
],
|
||||
"extensions":{
|
||||
"KHR_materials_clearcoat":{
|
||||
"clearcoatFactor":1,
|
||||
"clearcoatRoughnessFactor":0.029999999329447746
|
||||
},
|
||||
"KHR_materials_transmission":{
|
||||
"transmissionFactor":1
|
||||
},
|
||||
"KHR_materials_emissive_strength":{
|
||||
"emissiveStrength":2.998099133671275
|
||||
},
|
||||
"KHR_materials_specular":{
|
||||
"specularColorFactor":[
|
||||
1,
|
||||
1,
|
||||
1
|
||||
]
|
||||
},
|
||||
"KHR_materials_ior":{
|
||||
"ior":1.4500000476837158
|
||||
}
|
||||
},
|
||||
"name":"Material.001",
|
||||
"pbrMetallicRoughness":{
|
||||
"baseColorFactor":[
|
||||
0.8000000715255737,
|
||||
0.5938380360603333,
|
||||
0.34376785159111023,
|
||||
1
|
||||
],
|
||||
"roughnessFactor":0.5
|
||||
}
|
||||
}
|
||||
],
|
||||
"meshes":[
|
||||
{
|
||||
"name":"Cone",
|
||||
"primitives":[
|
||||
{
|
||||
"attributes":{
|
||||
"POSITION":0,
|
||||
"TEXCOORD_0":1,
|
||||
"NORMAL":2
|
||||
},
|
||||
"indices":3,
|
||||
"material":0
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"accessors":[
|
||||
{
|
||||
"bufferView":0,
|
||||
"componentType":5126,
|
||||
"count":28,
|
||||
"max":[
|
||||
2.046938896179199,
|
||||
2.6071395874023438,
|
||||
1
|
||||
],
|
||||
"min":[
|
||||
-2.046938896179199,
|
||||
-2.6071395874023438,
|
||||
-1
|
||||
],
|
||||
"type":"VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView":1,
|
||||
"componentType":5126,
|
||||
"count":28,
|
||||
"type":"VEC2"
|
||||
},
|
||||
{
|
||||
"bufferView":2,
|
||||
"componentType":5126,
|
||||
"count":28,
|
||||
"type":"VEC3"
|
||||
},
|
||||
{
|
||||
"bufferView":3,
|
||||
"componentType":5123,
|
||||
"count":168,
|
||||
"type":"SCALAR"
|
||||
}
|
||||
],
|
||||
"bufferViews":[
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":336,
|
||||
"byteOffset":0,
|
||||
"target":34962
|
||||
},
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":224,
|
||||
"byteOffset":336,
|
||||
"target":34962
|
||||
},
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":336,
|
||||
"byteOffset":560,
|
||||
"target":34962
|
||||
},
|
||||
{
|
||||
"buffer":0,
|
||||
"byteLength":336,
|
||||
"byteOffset":896,
|
||||
"target":34963
|
||||
}
|
||||
],
|
||||
"buffers":[
|
||||
{
|
||||
"byteLength":1232,
|
||||
"uri":"data:application/octet-stream;base64,AAAAAAAAAAAAAIC/17NdPwAAAAAAAAC/AAAAADO8JUAAAACAAAAAAGDbJkAAAACATVsxP22ABT84y8y++AM/P6maBD8AAACAZ3T8PwAAAAD0BxW+DAEDQAAAAAAAAACA17NdvwAAAAAAAAC/TVsxv22ABT84y8y++AM/v6maBD8AAACAZ3T8vwAAAAD0BxW+DAEDwAAAAAAAAACAAAAAAAAAAAAAAIA/17NdPwAAAAAAAAA/TVsxP22ABT84y8w+Z3T8PwAAAAD0BxU+17NdvwAAAAAAAAA/TVsxv22ABT84y8w+Z3T8vwAAAAD0BxU+AAAAADO8JcAAAACAAAAAAGDbJsAAAACATVsxP22ABb84y8y++AM/P6maBL8AAACATVsxv22ABb84y8y++AM/v6maBL8AAACATVsxP22ABb84y8w+TVsxv22ABb84y8w+AACAPlyPAj/Oauo+rkchPwAAgD4AAEA/AACAPgAAQD+WIdU+vGwnP5Yh1T68bCc/liHVPrxsJz+WIdU+vGwnP85q6j6uRyE/liHVPrxsJz+WIdU+vGwnP5Yh1T68bCc/liHVPrxsJz8AAIA+XI8CP85q6j6uRyE/liHVPrxsJz+WIdU+vGwnP85q6j6uRyE/liHVPrxsJz+WIdU+vGwnPwAAgD4AAEA/AACAPgAAQD+WIdU+vGwnP5Yh1T68bCc/liHVPrxsJz+WIdU+vGwnP5Yh1T68bCc/liHVPrxsJz8AAAAAAAAAAAAAgL9eS8g+AAAAAMiYa78AAAAAAACAPwAAAIAAAAAAAACAPwAAAIBxrBs/bHj6PqkTIL9qvDQ/mEw1PwAAAIB/2V0/AAAAgAmK/74AAIA/AAAAAAAAAIBeS8i+AAAAAMiYa79xrBu/bHj6PqkTIL9qvDS/mEw1PwAAAIB/2V2/AAAAgAmK/74AAIC/AAAAAAAAAIAAAAAAAAAAAAAAgD9eS8g+AAAAAMiYaz9xrBs/bHj6PqkTID9/2V0/AAAAgAmK/z5eS8i+AAAAAMiYaz9xrBu/bHj6PqkTID9/2V2/AAAAgAmK/z4AAAAAAACAvwAAAIAAAACAAACAvwAAAIBxrBs/bHj6vqkTIL9qvDQ/mEw1vwAAAIBxrBu/bHj6vqkTIL9qvDS/mEw1vwAAAIBxrBs/bHj6vqkTID9xrBu/bHj6vqkTID8AAAMABAAAAAQAAQAEAAMAAgAEAAIABQAEAAUABwAEAAcABgAEAAYAAQAAAAgACQAAAAkAAwAJAAoAAgAJAAIAAwAJAAsADAAJAAwACgAJAAgACwANAA4ADwANAA8AAwAPAAUAAgAPAAIAAwAPABAABwAPAAcABQAPAA4AEAANAAMAEgANABIAEQASAAMAAgASAAIACgASAAoADAASAAwAEwASABMAEQAAAAEAFgAAABYAFQAWABcAFAAWABQAFQAWAAYABwAWAAcAFwAWAAEABgAAABUAGAAAABgACAAYABUAFAAYABQAGQAYABkADAAYAAwACwAYAAsACAANABUAGgANABoADgAaABUAFAAaABQAFwAaABcABwAaAAcAEAAaABAADgANABEAGwANABsAFQAbABkAFAAbABQAFQAbABMADAAbAAwAGQAbABEAEwA="
|
||||
}
|
||||
]
|
||||
}
|
|
@ -30,17 +30,23 @@ store.visit(parseInt(id) ?? 1);
|
|||
|
||||
<style scoped>
|
||||
.star-view {
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 1em;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.star-model {
|
||||
width: 100%;
|
||||
aspect-ratio: 1/1;
|
||||
flex-grow: 1;
|
||||
max-height: 100%;
|
||||
}
|
||||
|
||||
.star-info {
|
||||
flex-grow: 2;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
@media (max-width: 720px) {
|
||||
|
|