Skip to content

πŸ¦ˆπŸ”— ↝ Generate asset, ID & stats/elements for anomalies when being claimedΒ #32

@Gizmotronn

Description

@Gizmotronn

See STA-31 STA-32 STA-33 STA-34

Use matplotlib to generate an image (will be a 3d asset in MVP/prod) when an anomaly is being created. Cross-reference it with the metadata mentioned at #29, i.e. adding new metadata like its radius. This metadata is then used in the Generator component (3JS/Unity as well as in Matplot).

Update the fields to include things like the "seed" in https://steveasleep.com/stellardream/. This should match the seed in the 3JS planet editor:

const seed = usePlanetEditorFieldState('seed', randomSeed(), value => {
planet.seed = value;
planet.regenerateTerrain();
planet.regenerateShading();
return planet.seed;
});

Star system should be the same as the TIC Id (which will cause conflicts between the correct/real fields like radius from lightkurve and the fields created by stellardream β†’ however, this is useful for fictional planets, plus comparing the two identical seeds/ids in-game. Helps to train models/users to identify differences between candidates.

So: Create a planet by entering some fields in a new createPlanet form.

First, a random TIC ID will be sent to the server which will return 1 image (graph) and the estimated radius. This radius is then sent to the Generator:

"Send a request to the python Generator" β†’

import numpy as np
import matplotlib.pyplot as plt

from tqdm import tqdm
from noise import double_perlin3D, background

from geometry import normal, cos_vec, reflection
from colour import colorize

res = 2048
radius = 0.4 ...

Return this image (saved as examples/out0.png to the client) and then delete it from the server so the next time it is called, the image generated will be saved to the same path.

A planet with id "ticId" is created with a profile image (examples/out0.png) and in its stats, the field "radius" and the graph generated from Lightkurve above.

A copy of a notebook that has that anomaly's dataset will be added to the "profile page" of that anomaly/planet, as well as the 3JS/Unity generator with the radius field filled in from the dataset.

The planet is then owned by the player who generated it. It costs 1 reputation/credit/currency to create it, but they can then earn 2 by adding some new data to it (saved as a new field), which will be a demo of the classification process.

Then, save export its fields from its table (including owner address) to a new lazy minted NFT

Linear info:
WB3-14

Metadata

Metadata

Assignees

Labels

AuthenticationCreated by Linear-GitHub SyncData ManipulationCreated by Linear-GitHub SyncGenerative DataCreated by Linear-GitHub SyncMigrationCreated by Linear-GitHub SyncStatic dataCreated by Linear-GitHub SyncSytizen-RepoCreated by Linear-GitHub SyncUnityCreated by Linear-GitHub SyncUser DataCreated by Linear-GitHub Syncdata sourcedata source for content generation in [HDASH-4]enhancementNew feature or requestgame mechanicsMetadata for game assets/objects being pushed between Unity through our APIgeneratorGenerating Metadata for NFTs or in-game assetsgoerliIssues relating to the ethereum components of Star Sailors, e.g. NFT, Moralis/Supabase

Type

No type

Projects

Status

No status

Status

No status

Status

No status

Status

No status

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions