From db7ae7e384872201bb34b18e854ca8b1dbd06d5f Mon Sep 17 00:00:00 2001 From: Alexander Bock Date: Fri, 16 Mar 2018 09:21:29 -0400 Subject: [PATCH] Issue/453 (#556) * Introduced guiName to PropertyOwner * Added requirement that PropertyOwner::identifier may not contain whitespaces * Changed Name to Identifier in asset and scene files * Added new PropertyOwner to RenderEngine that owns the ScreenSpaceRenderables * Moved Name and GuiPath into GUI group * Added user-facing names to layer groups --- data/assets/dawn.scene | 2 +- data/assets/default.scene | 9 +- .../examples/renderableplaneimageonline.asset | 8 +- data/assets/examples/screenspacespout.asset | 8 +- data/assets/juno.scene | 2 +- data/assets/newhorizons.scene | 2 +- data/assets/osirisrex.scene | 2 +- data/assets/rosetta.scene | 2 +- data/assets/scene/digitaluniverse/2dF.asset | 7 +- data/assets/scene/digitaluniverse/2mass.asset | 7 +- data/assets/scene/digitaluniverse/6dF.asset | 7 +- data/assets/scene/digitaluniverse/abell.asset | 7 +- .../digitaluniverse/alternatestarlabels.asset | 7 +- .../digitaluniverse/backgroundradiation.asset | 20 +- .../scene/digitaluniverse/clusters.asset | 7 +- .../digitaluniverse/constellationbounds.asset | 7 +- .../digitaluniverse/constellations.asset | 13 +- .../assets/scene/digitaluniverse/dwarfs.asset | 6 +- .../scene/digitaluniverse/exoplanets.asset | 6 +- .../digitaluniverse/globularclusters.asset | 7 +- data/assets/scene/digitaluniverse/grids.asset | 77 ++++-- .../assets/scene/digitaluniverse/groups.asset | 7 +- .../scene/digitaluniverse/h2regions.asset | 7 +- .../assets/scene/digitaluniverse/kepler.asset | 7 +- .../scene/digitaluniverse/localdwarfs.asset | 7 +- .../scene/digitaluniverse/milkyway.asset | 14 +- .../digitaluniverse/obassociations.asset | 7 +- .../scene/digitaluniverse/openclusters.asset | 7 +- .../digitaluniverse/planetarynebulae.asset | 7 +- .../scene/digitaluniverse/pulsars.asset | 6 +- .../scene/digitaluniverse/quasars.asset | 6 +- data/assets/scene/digitaluniverse/sdss.asset | 7 +- .../scene/digitaluniverse/starlabels.asset | 7 +- data/assets/scene/digitaluniverse/stars.asset | 6 +- .../scene/digitaluniverse/superclusters.asset | 7 +- .../digitaluniverse/supernovaremnants.asset | 7 +- data/assets/scene/digitaluniverse/tully.asset | 14 +- data/assets/scene/digitaluniverse/voids.asset | 6 +- data/assets/scene/milkyway/milkyway/eso.asset | 7 +- data/assets/scene/milkyway/stars/denver.asset | 7 +- .../solarsystem/missions/dawn/ceres.asset | 8 +- .../solarsystem/missions/dawn/dawn.asset | 53 ++-- .../solarsystem/missions/dawn/vesta.asset | 17 +- .../solarsystem/missions/juno/juno.asset | 17 +- .../missions/newhorizons/charon.asset | 35 ++- .../missions/newhorizons/fov.asset | 108 +++++--- .../missions/newhorizons/hydra.asset | 26 +- .../missions/newhorizons/kerberos.asset | 26 +- .../missions/newhorizons/label.asset | 8 +- .../missions/newhorizons/model.asset | 9 +- .../missions/newhorizons/nix.asset | 27 +- .../missions/newhorizons/pluto.asset | 53 ++-- .../missions/newhorizons/styx.asset | 26 +- .../missions/newhorizons/trail.asset | 9 +- .../missions/newhorizons/transforms.asset | 18 +- .../missions/osirisrex/bennu.asset | 21 +- .../missions/osirisrex/model.asset | 45 ++-- .../missions/osirisrex/script_schedule.asset | 2 +- .../missions/osirisrex/trail.asset | 27 +- .../missions/osirisrex/transforms.asset | 8 +- .../solarsystem/missions/rosetta/67p.asset | 27 +- .../missions/rosetta/rosetta.asset | 187 +++++++++----- .../missions/voyager/voyager1.asset | 72 ++++-- .../missions/voyager/voyager2.asset | 108 +++++--- .../planets/earth/atmosphere.asset | 41 +-- .../solarsystem/planets/earth/earth.asset | 47 +++- .../solarsystem/planets/earth/markers.asset | 9 +- .../solarsystem/planets/earth/moon/moon.asset | 17 +- .../planets/earth/moon/trail.asset | 9 +- .../earth/satellites/satellites_shared.asset | 24 +- .../solarsystem/planets/earth/trail.asset | 9 +- .../planets/earth/transforms.asset | 27 +- .../planets/jupiter/callisto/callisto.asset | 10 +- .../planets/jupiter/callisto/trail.asset | 9 +- .../planets/jupiter/europa/europa.asset | 10 +- .../planets/jupiter/europa/trail.asset | 9 +- .../planets/jupiter/ganymede/ganymede.asset | 10 +- .../planets/jupiter/ganymede/trail.asset | 9 +- .../solarsystem/planets/jupiter/io/io.asset | 10 +- .../planets/jupiter/io/trail.asset | 9 +- .../solarsystem/planets/jupiter/jupiter.asset | 10 +- .../planets/jupiter/minor/ananke_group.asset | 92 ++++--- .../planets/jupiter/minor/carme_group.asset | 124 +++++---- .../planets/jupiter/minor/carpo_group.asset | 10 +- .../planets/jupiter/minor/himalia_group.asset | 44 ++-- .../planets/jupiter/minor/inner_group.asset | 34 ++- .../planets/jupiter/minor/other_groups.asset | 74 ++++-- .../jupiter/minor/pasiphae_group.asset | 170 +++++++----- .../jupiter/minor/themisto_group.asset | 10 +- .../solarsystem/planets/jupiter/trail.asset | 9 +- .../planets/jupiter/transforms.asset | 9 +- .../solarsystem/planets/mars/atmosphere.asset | 9 +- .../scene/solarsystem/planets/mars/mars.asset | 33 ++- .../planets/mars/moons/deimos.asset | 17 +- .../planets/mars/moons/phobos.asset | 17 +- .../solarsystem/planets/mars/trail.asset | 9 +- .../solarsystem/planets/mars/transforms.asset | 9 +- .../solarsystem/planets/mercury/mercury.asset | 12 +- .../solarsystem/planets/mercury/trail.asset | 9 +- .../planets/mercury/transforms.asset | 9 +- .../planets/neptune/inner_moons.asset | 59 +++-- .../neptune/irregular_prograde_moons.asset | 26 +- .../neptune/irregular_retrograde_moons.asset | 26 +- .../solarsystem/planets/neptune/neptune.asset | 10 +- .../solarsystem/planets/neptune/trail.asset | 9 +- .../planets/neptune/transforms.asset | 9 +- .../solarsystem/planets/neptune/triton.asset | 8 +- .../planets/saturn/dione/dione.asset | 10 +- .../planets/saturn/dione/trail.asset | 9 +- .../planets/saturn/enceladus/enceladus.asset | 10 +- .../planets/saturn/enceladus/trail.asset | 9 +- .../planets/saturn/hyperion/hyperion.asset | 8 +- .../planets/saturn/hyperion/trail.asset | 9 +- .../planets/saturn/iapetus/iapetus.asset | 10 +- .../planets/saturn/iapetus/trail.asset | 9 +- .../planets/saturn/mimas/mimas.asset | 10 +- .../planets/saturn/mimas/trail.asset | 9 +- .../planets/saturn/minor/gallic_group.asset | 34 ++- .../planets/saturn/minor/inuit_group.asset | 42 +-- .../planets/saturn/minor/norse_group.asset | 242 +++++++++++------- .../planets/saturn/minor/other_group.asset | 106 +++++--- .../planets/saturn/rhea/rhea.asset | 10 +- .../planets/saturn/rhea/trail.asset | 9 +- .../solarsystem/planets/saturn/saturn.asset | 19 +- .../planets/saturn/tethys/tethys.asset | 10 +- .../planets/saturn/tethys/trail.asset | 9 +- .../planets/saturn/titan/titan.asset | 10 +- .../planets/saturn/titan/trail.asset | 9 +- .../solarsystem/planets/saturn/trail.asset | 9 +- .../planets/saturn/transforms.asset | 9 +- .../planets/uranus/inner_moons.asset | 106 +++++--- .../uranus/irregular_prograde_moons.asset | 10 +- .../uranus/irregular_retrograde_moons.asset | 66 +++-- .../planets/uranus/major_moons.asset | 42 +-- .../solarsystem/planets/uranus/trail.asset | 9 +- .../planets/uranus/transforms.asset | 9 +- .../solarsystem/planets/uranus/uranus.asset | 10 +- .../solarsystem/planets/venus/trail.asset | 9 +- .../planets/venus/transforms.asset | 9 +- .../solarsystem/planets/venus/venus.asset | 10 +- data/assets/scene/solarsystem/sun/glare.asset | 9 +- .../assets/scene/solarsystem/sun/marker.asset | 9 +- data/assets/scene/solarsystem/sun/sun.asset | 8 +- .../scene/solarsystem/sun/transforms.asset | 11 +- data/assets/util/asset_helper.asset | 13 +- data/assets/util/default_keybindings.asset | 10 +- data/assets/util/procedural_globe.asset | 70 +++-- data/assets/voyager.scene | 2 +- include/openspace/engine/moduleengine.h | 2 +- include/openspace/properties/propertyowner.h | 71 +++-- include/openspace/rendering/dashboarditem.h | 2 +- include/openspace/rendering/loadingscreen.h | 4 +- include/openspace/rendering/renderengine.h | 3 + .../rendering/screenspacerenderable.h | 3 + include/openspace/scene/scene.h | 6 +- include/openspace/scene/scenegraphnode.h | 10 +- .../rendering/renderableatmosphere.cpp | 36 +-- modules/base/dashboard/dashboarditemangle.cpp | 2 +- .../base/dashboard/dashboarditemdistance.cpp | 4 +- .../dashboarditemparallelconnection.cpp | 2 +- .../dashboarditemsimulationincrement.cpp | 2 +- modules/base/rendering/renderablemodel.cpp | 7 - .../base/rendering/screenspacedashboard.cpp | 19 +- .../base/rendering/screenspaceframebuffer.cpp | 19 +- .../base/rendering/screenspaceframebuffer.h | 2 - .../base/rendering/screenspaceimagelocal.cpp | 19 +- .../base/rendering/screenspaceimageonline.cpp | 22 +- .../rendering/renderablebillboardscloud.cpp | 2 +- .../rendering/renderablefieldlines.cpp | 12 +- .../renderablefieldlinessequence.cpp | 30 +-- .../rendering/renderablefieldlinessequence.h | 2 +- modules/globebrowsing/globebrowsingmodule.cpp | 4 +- .../globebrowsing/globes/chunkedlodglobe.cpp | 2 +- modules/globebrowsing/globes/pointglobe.cpp | 2 +- .../globebrowsing/globes/renderableglobe.cpp | 3 +- .../rendering/gpu/gpulayermanager.cpp | 2 +- .../globebrowsing/rendering/layer/layer.cpp | 6 +- .../rendering/layer/layergroup.cpp | 15 +- .../rendering/layer/layergroupid.cpp | 2 +- .../rendering/layer/layergroupid.h | 10 +- .../rendering/layershadermanager.cpp | 4 +- .../tile/tileprovider/tileproviderbylevel.cpp | 18 +- modules/imgui/imguimodule.cpp | 4 +- modules/imgui/include/guicomponent.h | 2 +- modules/imgui/include/guipropertycomponent.h | 3 +- modules/imgui/src/gui.cpp | 16 +- modules/imgui/src/guicomponent.cpp | 4 +- modules/imgui/src/guifilepathcomponent.cpp | 2 +- .../imgui/src/guiglobebrowsingcomponent.cpp | 19 +- modules/imgui/src/guimissioncomponent.cpp | 6 +- modules/imgui/src/guiparallelcomponent.cpp | 2 +- modules/imgui/src/guiperformancecomponent.cpp | 2 +- modules/imgui/src/guipropertycomponent.cpp | 21 +- modules/imgui/src/guispacetimecomponent.cpp | 14 +- modules/iswa/rendering/datacygnet.cpp | 127 +++++---- modules/iswa/rendering/dataplane.cpp | 2 +- modules/iswa/rendering/iswabasegroup.cpp | 8 +- modules/iswa/rendering/iswacygnet.cpp | 37 ++- modules/iswa/rendering/iswadatagroup.cpp | 14 +- modules/iswa/rendering/iswakameleongroup.cpp | 4 +- modules/iswa/rendering/kameleonplane.cpp | 10 +- .../rendering/renderablekameleonvolume.cpp | 3 +- modules/space/rendering/renderableplanet.cpp | 6 +- .../rendering/renderablemodelprojection.cpp | 10 +- .../rendering/renderableplanetprojection.cpp | 17 +- .../util/projectioncomponent.cpp | 17 +- .../util/projectioncomponent.h | 2 +- modules/spout/renderableplanespout.cpp | 20 +- modules/spout/screenspacespout.cpp | 20 +- modules/touch/src/touchinteraction.cpp | 15 +- .../rendering/renderabletimevaryingvolume.cpp | 3 +- modules/volume/rendering/volumeclipplanes.cpp | 2 +- scripts/core_scripts.lua | 2 +- src/engine/moduleengine.cpp | 18 +- src/engine/moduleengine_lua.inl | 2 +- src/engine/openspaceengine.cpp | 5 + src/interaction/navigationhandler.cpp | 4 +- src/network/parallelconnection.cpp | 2 +- src/performance/performancemanager.cpp | 6 +- src/properties/property.cpp | 2 +- src/properties/propertyowner.cpp | 96 ++++--- src/rendering/dashboard.cpp | 7 +- src/rendering/dashboarditem.cpp | 4 +- src/rendering/loadingscreen.cpp | 14 +- src/rendering/renderable.cpp | 12 - src/rendering/renderengine.cpp | 16 +- src/rendering/screenspacerenderable.cpp | 34 ++- src/scene/scale.cpp | 2 +- src/scene/scene.cpp | 63 +++-- src/scene/scenegraphnode.cpp | 61 ++--- src/scene/scenegraphnode_doc.inl | 17 +- src/scene/sceneinitializer.cpp | 9 +- src/scene/translation.cpp | 2 +- src/util/openspacemodule.cpp | 26 +- 234 files changed, 2921 insertions(+), 1676 deletions(-) diff --git a/data/assets/dawn.scene b/data/assets/dawn.scene index 55f91b8b88..7af21ba55f 100644 --- a/data/assets/dawn.scene +++ b/data/assets/dawn.scene @@ -37,7 +37,7 @@ asset.onInitialize(function () ) openspace.navigation.setCameraState({ - Focus = DawnAsset.Dawn.Name, + Focus = DawnAsset.Dawn.Identifier, Position = { 526781518487.171326, 257168309890.072144, -1381125204152.817383 }, Rotation = { -0.106166, 0.981574, -0.084545, 0.134513 }, }) diff --git a/data/assets/default.scene b/data/assets/default.scene index d84c9e0fb2..71bece7cb9 100644 --- a/data/assets/default.scene +++ b/data/assets/default.scene @@ -37,10 +37,9 @@ local Keybindings = { Key = "g", Command = propertyHelper.invert('Scene.MilkyWay.renderable.Enabled') .. propertyHelper.invert('Scene.Stars.renderable.Enabled') .. - propertyHelper.invert('Scene.Earth.RenderableGlobe.Layers.NightLayers.Earth at Night 2012.Enabled') .. - propertyHelper.invert('Scene.Earth.RenderableGlobe.PerformShading') .. - propertyHelper.invert('Scene.Mars.RenderableGlobe.PerformShading') .. - propertyHelper.invert('Scene.Earth.RenderableGlobe.Atmosphere') .. + propertyHelper.invert('Scene.Earth.RenderableGlobe.Layers.NightLayers.Earth_at_Night_2012.Enabled') .. + propertyHelper.invert('Scene.EarthAtmosphere.renderable.Enabled') .. + propertyHelper.invert('Scene.MarsAtmosphere.renderable.Enabled') .. propertyHelper.invert('Scene.Earth.RenderableGlobe.Layers.WaterMasks.MODIS_Water_Mask.Enabled') .. propertyHelper.invert('Scene.Moon.RenderableGlobe.Enabled') .. propertyHelper.invert('Scene.Sun.renderable.Enabled'), @@ -83,7 +82,7 @@ asset.onInitialize(function () ) openspace.navigation.setCameraState({ - Focus = earthAsset.Earth.Name, + Focus = earthAsset.Earth.Identifier, Position = { 0, 0, 0 }, Rotation = { 0.758797, 0.221490, -0.605693, -0.091135 }, }) diff --git a/data/assets/examples/renderableplaneimageonline.asset b/data/assets/examples/renderableplaneimageonline.asset index fd48f1d35f..a4ac8f9831 100644 --- a/data/assets/examples/renderableplaneimageonline.asset +++ b/data/assets/examples/renderableplaneimageonline.asset @@ -6,8 +6,8 @@ local transforms = asset.require("scene/solarsystem/sun/transforms") local RenderablePlaneImageOnline = { - Name = "RenderablePlaneImageOnline", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "RenderablePlaneImageOnline", + Parent = transforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderablePlaneImageOnline", Size = 3.0E11, @@ -15,7 +15,9 @@ local RenderablePlaneImageOnline = { Billboard = true, URL = "http://data.openspaceproject.com/examples/renderableplaneimageonline.jpg" }, - GuiPath = "/Examples" + GUI = { + Path = "/Examples" + } } diff --git a/data/assets/examples/screenspacespout.asset b/data/assets/examples/screenspacespout.asset index 54cc619cd5..54319351f8 100644 --- a/data/assets/examples/screenspacespout.asset +++ b/data/assets/examples/screenspacespout.asset @@ -6,15 +6,17 @@ local transforms = asset.require("scene/solarsystem/sun/transforms") local Spout = { - Name = "Spouty", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "Spouty", + Parent = transforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderablePlaneSpout", Size = 3.0E11, Origin = "Center", Billboard = true }, - GuiPath = "/Examples" + GUI = { + Path = "/Examples" + } } diff --git a/data/assets/juno.scene b/data/assets/juno.scene index f42cd27d5d..353af80afd 100644 --- a/data/assets/juno.scene +++ b/data/assets/juno.scene @@ -40,7 +40,7 @@ asset.onInitialize(function () ) openspace.navigation.setCameraState({ - Focus = junoAsset.Juno.Name, + Focus = junoAsset.Juno.Identifier, Position = { 1837386367.601345, -389860693812.834839, 714830404470.398926 }, Rotation = { -0.336540, 0.711402, -0.099212, 0.608937 }, }) diff --git a/data/assets/newhorizons.scene b/data/assets/newhorizons.scene index 3b109a3a34..7ea633324d 100644 --- a/data/assets/newhorizons.scene +++ b/data/assets/newhorizons.scene @@ -177,7 +177,7 @@ asset.onInitialize(function () ) openspace.navigation.setCameraState({ - Focus = NewHorizonsAsset.NewHorizons.Name, + Focus = NewHorizonsAsset.NewHorizons.Identifier, Position = { 4662120063743.592773, 1263245003503.724854, -955413856565.788086 }, Rotation = { 0.683224, -0.165934, 0.701234, 0.118073 }, }) diff --git a/data/assets/osirisrex.scene b/data/assets/osirisrex.scene index 98a30d82b0..2a41142844 100644 --- a/data/assets/osirisrex.scene +++ b/data/assets/osirisrex.scene @@ -124,7 +124,7 @@ asset.onInitialize(function () ) openspace.navigation.setCameraState({ - Focus = OsirisRexAsset.OsirisRex.Name, + Focus = OsirisRexAsset.OsirisRex.Identifier, Position = { 26974590199.661884, 76314608558.908020, -127086452897.101791 }, Rotation = { 0.729548, -0.126024, 0.416827, 0.527382 }, }) diff --git a/data/assets/rosetta.scene b/data/assets/rosetta.scene index b4fe3750e1..612ad671ef 100644 --- a/data/assets/rosetta.scene +++ b/data/assets/rosetta.scene @@ -126,7 +126,7 @@ asset.onInitialize(function () ) openspace.navigation.setCameraState({ - Focus = Comet67PAsset.Comet67P.Name, + Focus = Comet67PAsset.Comet67P.Identifier, Position = { 526781518487.171326, 257168309890.072144, -1381125204152.817383 }, Rotation = { -0.106166, 0.981574, -0.084545, 0.134513 }, }) diff --git a/data/assets/scene/digitaluniverse/2dF.asset b/data/assets/scene/digitaluniverse/2dF.asset index 7d3860220c..b7dac60fe2 100644 --- a/data/assets/scene/digitaluniverse/2dF.asset +++ b/data/assets/scene/digitaluniverse/2dF.asset @@ -17,7 +17,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "2dF Galaxies", + Identifier = "2dF", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -31,7 +31,10 @@ local object = { Unit = "Mpc", ScaleFactor = 508.0 }, - GuiPath = "/Universe/Galaxies" + GUI = { + Name = "2dF Galaxies", + Path = "/Universe/Galaxies" + } } diff --git a/data/assets/scene/digitaluniverse/2mass.asset b/data/assets/scene/digitaluniverse/2mass.asset index f0587ce522..3247753ba5 100644 --- a/data/assets/scene/digitaluniverse/2mass.asset +++ b/data/assets/scene/digitaluniverse/2mass.asset @@ -17,7 +17,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "2MASS Galaxies", + Identifier = "2MASS", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -31,7 +31,10 @@ local object = { Unit = "Mpc", ScaleFactor = 508.0 }, - GuiPath = "/Universe/Galaxies" + GUI = { + Name = "2MASS Galaxies", + Path = "/Universe/Galaxies" + } } diff --git a/data/assets/scene/digitaluniverse/6dF.asset b/data/assets/scene/digitaluniverse/6dF.asset index 020e1941c8..f5a80d2e3e 100644 --- a/data/assets/scene/digitaluniverse/6dF.asset +++ b/data/assets/scene/digitaluniverse/6dF.asset @@ -17,7 +17,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "6dF Galaxies", + Identifier = "6dF", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -30,7 +30,10 @@ local object = { ColorRange = { { 0.0, 0.075 }, { 1.0, 50.0 } }, Unit = "Mpc" }, - GuiPath = "/Universe/Galaxies" + GUI = { + Name = "6dF Galaxies", + Path = "/Universe/Galaxies" + } } diff --git a/data/assets/scene/digitaluniverse/abell.asset b/data/assets/scene/digitaluniverse/abell.asset index 6dbddbd01c..187ca33fb8 100644 --- a/data/assets/scene/digitaluniverse/abell.asset +++ b/data/assets/scene/digitaluniverse/abell.asset @@ -17,7 +17,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "Abell Galaxy Clusters", + Identifier = "Abell", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -38,7 +38,10 @@ local object = { 0.0, 0.0, 0.0, 1.0 } }, - GuiPath = "/Universe/Galaxies" + GUI = { + Name = "Abell Galaxy Clusters", + Path = "/Universe/Galaxies" + } } diff --git a/data/assets/scene/digitaluniverse/alternatestarlabels.asset b/data/assets/scene/digitaluniverse/alternatestarlabels.asset index 2c074e0bee..f96a2c20dc 100644 --- a/data/assets/scene/digitaluniverse/alternatestarlabels.asset +++ b/data/assets/scene/digitaluniverse/alternatestarlabels.asset @@ -10,7 +10,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "Stars Labels - Alternate", + Identifier = "StarLabelsAlternate", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -23,7 +23,10 @@ local object = { TextMinSize = 6.0, Unit = "pc" }, - GuiPath = "/Milky Way/Stars" + GUI = { + Name = "Stars Labels - Alternate", + Path = "/Milky Way/Stars" + } } diff --git a/data/assets/scene/digitaluniverse/backgroundradiation.asset b/data/assets/scene/digitaluniverse/backgroundradiation.asset index 2652323ae6..5ca7b769ef 100644 --- a/data/assets/scene/digitaluniverse/backgroundradiation.asset +++ b/data/assets/scene/digitaluniverse/backgroundradiation.asset @@ -17,7 +17,7 @@ local speck = asset.syncedResource({ }) local wmap = { - Name = "Wilkinson Microwave Anisotropy Probe (WMAP)", + Identifier = "WMAP", Renderable = { Type = "RenderableSphere", Enabled = false, @@ -29,11 +29,14 @@ local wmap = { FadeInThreshould = 8E26 }, - GuiPath = "/Universe/Cosmic Microwave Background" + GUI = { + Name = "Wilkinson Microwave Anisotropy Probe (WMAP)", + Path = "/Universe/Cosmic Microwave Background" + } } local cbe = { - Name = "Cosmic Background Explorer", + Identifier = "CBE", Renderable = { Type = "RenderableSphere", Enabled = false, @@ -44,11 +47,14 @@ local cbe = { Orientation = "Inside/Outside", FadeInThreshould = 8E26 }, - GuiPath = "/Universe/Cosmic Microwave Background" + GUI = { + Name = "Cosmic Background Explorer", + Path = "/Universe/Cosmic Microwave Background" + } } local planck = { - Name = "Planck", + Identifier = "Planck", Renderable = { Type = "RenderableSphere", Enabled = false, @@ -59,7 +65,9 @@ local planck = { Orientation = "Inside/Outside", FadeInThreshould = 8E26 }, - GuiPath = "/Universe/Cosmic Microwave Background" + GUI = { + Path = "/Universe/Cosmic Microwave Background" + } } diff --git a/data/assets/scene/digitaluniverse/clusters.asset b/data/assets/scene/digitaluniverse/clusters.asset index d6c588a1f9..6c7794eb13 100644 --- a/data/assets/scene/digitaluniverse/clusters.asset +++ b/data/assets/scene/digitaluniverse/clusters.asset @@ -10,7 +10,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "Galaxy Cluster Labels", + Identifier = "GalaxyClusterLabels", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -23,7 +23,10 @@ local object = { TextMinSize = 8.0, Unit = "Mpc" }, - GuiPath = "/Universe/Galaxies" + GUI = { + Name = "Galaxy Cluster Labels", + Path = "/Universe/Galaxies" + } } diff --git a/data/assets/scene/digitaluniverse/constellationbounds.asset b/data/assets/scene/digitaluniverse/constellationbounds.asset index b2a81000b7..35dd792e2c 100644 --- a/data/assets/scene/digitaluniverse/constellationbounds.asset +++ b/data/assets/scene/digitaluniverse/constellationbounds.asset @@ -15,7 +15,7 @@ local zodiacs = { } local object = { - Name = "Constellation Bounds", + Identifier = "ConstellationBounds", Renderable = { Type = "RenderableConstellationBounds", Enabled = false, @@ -34,7 +34,10 @@ local object = { Scale = 10e17 } }, - GuiPath = "/Milky Way/Constellations" + GUI = { + Name = "Constellation Bounds", + Path = "/Milky Way/Constellations" + } } diff --git a/data/assets/scene/digitaluniverse/constellations.asset b/data/assets/scene/digitaluniverse/constellations.asset index 8b60862ad8..0b18a7e549 100644 --- a/data/assets/scene/digitaluniverse/constellations.asset +++ b/data/assets/scene/digitaluniverse/constellations.asset @@ -10,7 +10,7 @@ local speck = asset.syncedResource({ }) local constellationsExtragalactic = { - Name = "Constellations (Extragalactic)", + Identifier = "ConstellationsExtragalactic", Renderable = { Type = "RenderableDUMeshes", Enabled = false, @@ -26,11 +26,14 @@ local constellationsExtragalactic = { MeshColor = { { 0.6, 0.4, 0.4 }, { 0.8, 0.0, 0.0 }, { 0.0, 0.3, 0.8 } }, Unit = "Mpc" }, - GuiPath = "/Milky Way/Constellations" + GUI = { + Name = "Constellations (Extragalactic)", + Path = "/Milky Way/Constellations" + } } local constellations = { - Name = "Constellations", + Identifier = "Constellations", Renderable = { Type = "RenderableDUMeshes", Enabled = false, @@ -46,7 +49,9 @@ local constellations = { MeshColor = { { 0.6, 0.4, 0.4 }, { 0.8, 0.0, 0.0 }, { 0.0, 0.3, 0.8 } }, Unit = "pc" }, - GuiPath = "/Milky Way/Constellations" + GUI = { + Path = "/Milky Way/Constellations" + } } diff --git a/data/assets/scene/digitaluniverse/dwarfs.asset b/data/assets/scene/digitaluniverse/dwarfs.asset index 4ec32c416a..d0e4bf6e18 100644 --- a/data/assets/scene/digitaluniverse/dwarfs.asset +++ b/data/assets/scene/digitaluniverse/dwarfs.asset @@ -17,7 +17,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "Dwarfs", + Identifier = "Dwarfs", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -32,7 +32,9 @@ local object = { ScaleFactor = 360, Unit = "pc" }, - GuiPath = "/Milky Way/Brown Dwarfs" + GUI = { + Path = "/Milky Way/Brown Dwarfs" + } } diff --git a/data/assets/scene/digitaluniverse/exoplanets.asset b/data/assets/scene/digitaluniverse/exoplanets.asset index 28fd66a121..a482e8674d 100644 --- a/data/assets/scene/digitaluniverse/exoplanets.asset +++ b/data/assets/scene/digitaluniverse/exoplanets.asset @@ -17,7 +17,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "Exoplanets", + Identifier = "Exoplanets", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -34,7 +34,9 @@ local object = { TextMinSize = 10.0, Unit = "pc" }, - GuiPath = "/Milky Way/Exoplanets" + GUI = { + Path = "/Milky Way/Exoplanets" + } } diff --git a/data/assets/scene/digitaluniverse/globularclusters.asset b/data/assets/scene/digitaluniverse/globularclusters.asset index bd367c4453..95e0505682 100644 --- a/data/assets/scene/digitaluniverse/globularclusters.asset +++ b/data/assets/scene/digitaluniverse/globularclusters.asset @@ -17,7 +17,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "Globular Clusters", + Identifier = "GlobularClusters", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -33,7 +33,10 @@ local object = { TextMinSize = 10.0, Unit = "pc" }, - GuiPath = "/Milky Way/Globular Clusters" + GUI = { + Name = "Globular Clusters", + Path = "/Milky Way/Globular Clusters" + } } diff --git a/data/assets/scene/digitaluniverse/grids.asset b/data/assets/scene/digitaluniverse/grids.asset index 05e44b5dfd..50f6319833 100644 --- a/data/assets/scene/digitaluniverse/grids.asset +++ b/data/assets/scene/digitaluniverse/grids.asset @@ -10,7 +10,7 @@ local speck = asset.syncedResource({ }) local ecliptic = { - Name = "Ecliptic Sphere", + Identifier = "EclipticSphere", Parent = transforms.SolarSystemBarycenter.Name, Renderable = { Type = "RenderableSphericalGrid", @@ -23,11 +23,14 @@ local ecliptic = { -0.09647644, 0.8622859, 0.4971472 , 0.0, 0.0 , 0.0 , 0.0 , 1.0 } }, - GuiPath = "/Other/Grids" + GUI = { + Name = "Ecliptic Sphere", + Path = "/Other/Grids" + } } local eclipticLabels = { - Name = "Ecliptic Sphere Labels", + Identifier = "EclipticSphereLabels", Parent = transforms.SolarSystemBarycenter.Name, Renderable = { Type = "RenderableBillboardsCloud", @@ -46,11 +49,14 @@ local eclipticLabels = { 0.0, 0.0, 0.0, 1.0 } }, - GuiPath = "/Other/Grids" + GUI = { + Name = "Ecliptic Sphere Labels", + Path = "/Other/Grids" + } } local equatorial = { - Name = "Equatorial Sphere", + Identifier = "EquatorialSphere", Parent = transforms.SolarSystemBarycenter.Name, Renderable = { Type = "RenderableSphericalGrid", @@ -63,11 +69,14 @@ local equatorial = { -0.483835 , 0.7469823, 0.4559838, 0.0, 0.0 , 0.0 , 0.0 , 1.0 }, }, - GuiPath = "/Other/Grids" + GUI = { + Name = "Equatorial Sphere", + Path = "/Other/Grids" + } } local equatorialLabels = { - Name = "Equatorial Sphere Labels", + Identifier = "EquatorialSphereLabels", Parent = transforms.SolarSystemBarycenter.Name, Renderable = { Type = "RenderableBillboardsCloud", @@ -86,11 +95,14 @@ local equatorialLabels = { 0.0, 0.0, 0.0, 1.0 } }, - GuiPath = "/Other/Grids" + GUI = { + Name = "Equatorial Sphere Labels", + Path = "/Other/Grids" + } } local galactic = { - Name = "Galactic Sphere", + Identifier = "GalacticSphere", Parent = transforms.SolarSystemBarycenter.Name, Renderable = { Type = "RenderableSphericalGrid", @@ -99,11 +111,14 @@ local galactic = { Radius = 9.46377307652E18; GridColor = { 0.0, 0.6, 0.6, 0.6} }, - GuiPath = "/Other/Grids" + GUI = { + Name = "Galactic Sphere", + Path = "/Other/Grids" + } } local galacticLabels = { - Name = "Galactic Sphere Labels", + Identifier = "GalacticSphereLabels", Parent = transforms.SolarSystemBarycenter.Name, Renderable = { Type = "RenderableBillboardsCloud", @@ -116,11 +131,14 @@ local galacticLabels = { TextMinSize = 5.0, Unit = "pc" }, - GuiPath = "/Other/Grids" + GUI = { + Name = "Galactic Sphere Labels", + Path = "/Other/Grids" + } } local plane100kly = { - Name = "100kly Grid", + Identifier = "100klyGrid", Renderable = { Type = "RenderableDUMeshes", Enabled = false, @@ -135,11 +153,14 @@ local plane100kly = { TextMinSize = 7.0, Unit = "Mpc" }, - GuiPath = "/Other/Grids" + GUI = { + Name = "100kly Grid", + Path = "/Other/Grids" + } } local plane1Mly = { - Name = "1Mly Grid", + Identifier = "1MlyGrid", Renderable = { Type = "RenderableDUMeshes", Enabled = false, @@ -154,11 +175,14 @@ local plane1Mly = { TextMinSize = 7.0, Unit = "Mpc" }, - GuiPath = "/Other/Grids" + GUI = { + Name = "1Mly Grid", + Path = "/Other/Grids" + } } local plane10Mly = { - Name = "10Mly Grid", + Identifier = "10MlyGrid", Renderable = { Type = "RenderableDUMeshes", Enabled = false, @@ -173,11 +197,14 @@ local plane10Mly = { TextMinSize = 7.0, Unit = "Mpc" }, - GuiPath = "/Other/Grids" + GUI = { + Name = "10Mly Grid", + Path = "/Other/Grids" + } } local plane100Mly = { - Name = "100Mly Grid", + Identifier = "100MlyGrid", Renderable = { Type = "RenderableDUMeshes", Enabled = false, @@ -192,11 +219,14 @@ local plane100Mly = { TextMinSize = 7.0, Unit = "Mpc" }, - GuiPath = "/Other/Grids" + GUI = { + Name = "100Mly Grid", + Path = "/Other/Grids" + } } local plane20Gly = { - Name = "20Gly Grid", + Identifier = "20GlyGrid", Renderable = { Type = "RenderableDUMeshes", Enabled = false, @@ -211,7 +241,10 @@ local plane20Gly = { TextMinSize = 7.0, Unit = "Mpc" }, - GuiPath = "/Other/Grids" + GUI = { + Name = "20Gly Grid", + Path = "/Other/Grids" + } } assetHelper.registerSceneGraphNodesAndExport(asset, { diff --git a/data/assets/scene/digitaluniverse/groups.asset b/data/assets/scene/digitaluniverse/groups.asset index 7a4d5dd1d1..95e63c03d0 100644 --- a/data/assets/scene/digitaluniverse/groups.asset +++ b/data/assets/scene/digitaluniverse/groups.asset @@ -10,7 +10,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "Nearby Galaxy Groups", + Identifier = "NearbyGalaxyGroups", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -23,7 +23,10 @@ local object = { TextMinSize = 8.0, Unit = "Mpc" }, - GuiPath = "/Universe/Galaxies" + GUI = { + Name = "Nearby Galaxy Groups", + Path = "/Universe/Galaxies" + } } diff --git a/data/assets/scene/digitaluniverse/h2regions.asset b/data/assets/scene/digitaluniverse/h2regions.asset index e053b562ef..61f756ef37 100644 --- a/data/assets/scene/digitaluniverse/h2regions.asset +++ b/data/assets/scene/digitaluniverse/h2regions.asset @@ -17,7 +17,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "HII Regions", + Identifier = "HIIRegions", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -33,7 +33,10 @@ local object = { TextMinSize = 2.0, Unit = "pc" }, - GuiPath = "/Milky Way/HII" + GUI = { + Name = "HII Regions", + Path = "/Milky Way/HII" + } } diff --git a/data/assets/scene/digitaluniverse/kepler.asset b/data/assets/scene/digitaluniverse/kepler.asset index d482232f4f..a6c9d28cdc 100644 --- a/data/assets/scene/digitaluniverse/kepler.asset +++ b/data/assets/scene/digitaluniverse/kepler.asset @@ -17,7 +17,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "Kepler Planetary Candidates", + Identifier = "KeplerPlanetaryCandidates", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -28,7 +28,10 @@ local object = { Texture = textures .. "/halo.png", Unit = "pc" }, - GuiPath = "/Milky Way/Exoplanets" + GUI = { + Name = "Kepler Planetary Candidates", + Path = "/Milky Way/Exoplanets" + } } diff --git a/data/assets/scene/digitaluniverse/localdwarfs.asset b/data/assets/scene/digitaluniverse/localdwarfs.asset index 28a1934575..ba1354bb43 100644 --- a/data/assets/scene/digitaluniverse/localdwarfs.asset +++ b/data/assets/scene/digitaluniverse/localdwarfs.asset @@ -17,7 +17,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "Local Dwarf Galaxies", + Identifier = "LocalDwarfGalaxies", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -33,7 +33,10 @@ local object = { TextMinSize = 7.3, Unit = "Mpc" }, - GuiPath = "/Universe/Galaxies" + GUI = { + Name = "Local Dwarf Galaxies", + Path = "/Universe/Galaxies" + } } diff --git a/data/assets/scene/digitaluniverse/milkyway.asset b/data/assets/scene/digitaluniverse/milkyway.asset index cf462f66b0..1d745cc3a2 100644 --- a/data/assets/scene/digitaluniverse/milkyway.asset +++ b/data/assets/scene/digitaluniverse/milkyway.asset @@ -24,7 +24,7 @@ local planeSpeck = asset.syncedResource({ }) local sphere = { - Name = "MilkyWay", + Identifier = "MilkyWay", Renderable = { Type = "RenderableSphere", Size = 9.2E20, @@ -34,11 +34,14 @@ local sphere = { Orientation = "Inside/Outside", FadeOutThreshould = 0.25 }, - GuiPath = "/Milky Way/Milky Way" + GUI = { + Name = "Milky Way", + Path = "/Milky Way/Milky Way" + } } local plane = { - Name = "Milky Way Galaxy Image", + Identifier = "MilkyWayGalaxyImage", Parent = "Root", Renderable = { Type = "RenderablePlanesCloud", @@ -56,7 +59,10 @@ local plane = { PlaneMinSize = 5.0, Unit = "pc" }, - GuiPath = "/Universe/Galaxies" + GUI = { + Name = "Milky Way Galaxy Image", + Path = "/Universe/Galaxies" + } } diff --git a/data/assets/scene/digitaluniverse/obassociations.asset b/data/assets/scene/digitaluniverse/obassociations.asset index ed73e33a3d..4de911b1d5 100644 --- a/data/assets/scene/digitaluniverse/obassociations.asset +++ b/data/assets/scene/digitaluniverse/obassociations.asset @@ -17,7 +17,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "OB Associations", + Identifier = "OBAssociations", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -33,7 +33,10 @@ local object = { TextMinSize = 5.76, Unit = "pc" }, - GuiPath = "/Milky Way/OB Associations" + GUI = { + Name = "OB Associations", + Path = "/Milky Way/OB Associations" + } } diff --git a/data/assets/scene/digitaluniverse/openclusters.asset b/data/assets/scene/digitaluniverse/openclusters.asset index f46bb39b33..8bd27ec145 100644 --- a/data/assets/scene/digitaluniverse/openclusters.asset +++ b/data/assets/scene/digitaluniverse/openclusters.asset @@ -17,7 +17,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "Open Star Clusters", + Identifier = "OpenStarClusters", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -33,7 +33,10 @@ local object = { TextMinSize = 4.5, Unit = "pc" }, - GuiPath = "/Milky Way/Open Clusters" + GUI = { + Name = "Open Star Clusters", + Path = "/Milky Way/Open Clusters" + } } diff --git a/data/assets/scene/digitaluniverse/planetarynebulae.asset b/data/assets/scene/digitaluniverse/planetarynebulae.asset index df68d19c1b..f4f55b1b9c 100644 --- a/data/assets/scene/digitaluniverse/planetarynebulae.asset +++ b/data/assets/scene/digitaluniverse/planetarynebulae.asset @@ -17,7 +17,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "Planetary Nebulae", + Identifier = "PlanetaryNebulae", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -33,7 +33,10 @@ local object = { TextMinSize = 4.5, Unit = "pc" }, - GuiPath = "/Milky Way/Planetary Nebulae" + GUI = { + Name = "Planetary Nebulae", + Path = "/Milky Way/Planetary Nebulae" + } } diff --git a/data/assets/scene/digitaluniverse/pulsars.asset b/data/assets/scene/digitaluniverse/pulsars.asset index e91df77306..0eb50d72d0 100644 --- a/data/assets/scene/digitaluniverse/pulsars.asset +++ b/data/assets/scene/digitaluniverse/pulsars.asset @@ -17,7 +17,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "Pulsars", + Identifier = "Pulsars", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -33,7 +33,9 @@ local object = { TextMinSize = 4.5, Unit = "pc" }, - GuiPath = "/Milky Way/Pulsars" + GUI = { + Path = "/Milky Way/Pulsars" + } } diff --git a/data/assets/scene/digitaluniverse/quasars.asset b/data/assets/scene/digitaluniverse/quasars.asset index 0db00a9a5f..63020c882c 100644 --- a/data/assets/scene/digitaluniverse/quasars.asset +++ b/data/assets/scene/digitaluniverse/quasars.asset @@ -17,7 +17,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "Quasars", + Identifier = "Quasars", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -32,7 +32,9 @@ local object = { BillboardMaxSize = 30.0, BillboardMinSize = 0.0, }, - GuiPath = "/Universe/Quasars" + GUI = { + Path = "/Universe/Quasars" + } } diff --git a/data/assets/scene/digitaluniverse/sdss.asset b/data/assets/scene/digitaluniverse/sdss.asset index 086f53d01b..bf3df4dba7 100644 --- a/data/assets/scene/digitaluniverse/sdss.asset +++ b/data/assets/scene/digitaluniverse/sdss.asset @@ -17,7 +17,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "Sloan Digital Sky Survey", + Identifier = "SloanDigitalSkySurvey", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -38,7 +38,10 @@ local object = { TextMinSize = 10.0, TextMaxSize = 50.0 }, - GuiPath = "/Universe/Galaxies" + GUI = { + Name = "Sloan Digital Sky Survey", + Path = "/Universe/Galaxies" + } } diff --git a/data/assets/scene/digitaluniverse/starlabels.asset b/data/assets/scene/digitaluniverse/starlabels.asset index 01fecdbf42..14a536635d 100644 --- a/data/assets/scene/digitaluniverse/starlabels.asset +++ b/data/assets/scene/digitaluniverse/starlabels.asset @@ -10,7 +10,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "Stars Labels", + Identifier = "StarsLabels", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -24,7 +24,10 @@ local object = { TextMaxSize = 50.0, Unit = "pc" }, - GuiPath = "/Milky Way/Stars" + GUI = { + Name = "Stars Labels", + Path = "/Milky Way/Stars" + } } diff --git a/data/assets/scene/digitaluniverse/stars.asset b/data/assets/scene/digitaluniverse/stars.asset index 939667f169..89bcc82991 100644 --- a/data/assets/scene/digitaluniverse/stars.asset +++ b/data/assets/scene/digitaluniverse/stars.asset @@ -24,14 +24,16 @@ local colorLUT = asset.syncedResource({ }) local object = { - Name = "Stars", + Identifier = "Stars", Renderable = { Type = "RenderableStars", File = speck .. "/stars.speck", Texture = textures .. "/halo.png", ColorMap = colorLUT .. "/colorbv.cmap" }, - GuiPath = "/Milky Way/Stars" + GUI = { + Path = "/Milky Way/Stars" + } } diff --git a/data/assets/scene/digitaluniverse/superclusters.asset b/data/assets/scene/digitaluniverse/superclusters.asset index ec293afce4..cd8afe87fd 100644 --- a/data/assets/scene/digitaluniverse/superclusters.asset +++ b/data/assets/scene/digitaluniverse/superclusters.asset @@ -17,7 +17,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "Galaxy Superclusters", + Identifier = "GalaxySuperclusters", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -32,7 +32,10 @@ local object = { TextMinSize = 8.0, Unit = "Mpc" }, - GuiPath = "/Universe/Galaxies" + GUI = { + Name = "Galaxy Superclusters", + Path = "/Universe/Galaxies" + } } diff --git a/data/assets/scene/digitaluniverse/supernovaremnants.asset b/data/assets/scene/digitaluniverse/supernovaremnants.asset index a0b5592ec8..a010f4e6fa 100644 --- a/data/assets/scene/digitaluniverse/supernovaremnants.asset +++ b/data/assets/scene/digitaluniverse/supernovaremnants.asset @@ -17,7 +17,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "Supernova Remnants", + Identifier = "SupernovaRemnants", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -33,7 +33,10 @@ local object = { TextMinSize = 8.0, Unit = "pc" }, - GuiPath = "/Milky Way/Supernova Remnants" + GUI = { + Name = "Supernova Remnants", + Path = "/Milky Way/Supernova Remnants" + } } diff --git a/data/assets/scene/digitaluniverse/tully.asset b/data/assets/scene/digitaluniverse/tully.asset index b598194b8b..b1ae788a5d 100644 --- a/data/assets/scene/digitaluniverse/tully.asset +++ b/data/assets/scene/digitaluniverse/tully.asset @@ -17,7 +17,7 @@ local speck = asset.syncedResource({ }) local tullyPoints = { - Name = "Tully Galaxies", + Identifier = "TullyGalaxies", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -46,11 +46,14 @@ local tullyPoints = { BillboardMaxSize = 50.0, BillboardMinSize = 0.0, }, - GuiPath = "/Universe/Galaxies" + GUI = { + Name = "Tully Galaxies", + Path = "/Universe/Galaxies" + } } local tullyImages = { - Name = "Tully Galaxies Images", + Identifier = "TullyGalaxiesImages", Renderable = { Type = "RenderablePlanesCloud", Enabled = false, @@ -72,7 +75,10 @@ local tullyImages = { FadeInDistances = {0.05, 0.1}, PlaneMinSize = 5.0 }, - GuiPath = "/Universe/Galaxies" + GUI = { + Name = "Tully Galaxies Images", + Path = "/Universe/Galaxies" + } } diff --git a/data/assets/scene/digitaluniverse/voids.asset b/data/assets/scene/digitaluniverse/voids.asset index f269e46be6..605e2c8a97 100644 --- a/data/assets/scene/digitaluniverse/voids.asset +++ b/data/assets/scene/digitaluniverse/voids.asset @@ -10,7 +10,7 @@ local speck = asset.syncedResource({ }) local object = { - Name = "Voids", + Identifier = "Voids", Renderable = { Type = "RenderableBillboardsCloud", Enabled = false, @@ -22,7 +22,9 @@ local object = { TextMinSize = 8.0, Unit = "Mpc" }, - GuiPath = "/Universe/Galaxies" + GUI = { + Path = "/Universe/Galaxies" + } } diff --git a/data/assets/scene/milkyway/milkyway/eso.asset b/data/assets/scene/milkyway/milkyway/eso.asset index 12bab40860..dcfd30c43b 100644 --- a/data/assets/scene/milkyway/milkyway/eso.asset +++ b/data/assets/scene/milkyway/milkyway/eso.asset @@ -10,7 +10,7 @@ local textures = asset.syncedResource({ }) local object = { - Name = "MilkyWay (ESO)", + Identifier = "MilkyWay-ESO", Renderable = { Type = "RenderableSphere", Size = 9.2E20, @@ -20,7 +20,10 @@ local object = { Orientation = "Inside/Outside", FadeOutThreshould = 0.01 }, - GuiPath = "/Milky Way/Milky Way" + GUI = { + Name = "Milky Way (ESO)", + Path = "/Milky Way/Milky Way" + } } diff --git a/data/assets/scene/milkyway/stars/denver.asset b/data/assets/scene/milkyway/stars/denver.asset index 8d9e059b4d..86fc3ff621 100644 --- a/data/assets/scene/milkyway/stars/denver.asset +++ b/data/assets/scene/milkyway/stars/denver.asset @@ -24,14 +24,17 @@ local colorLUT = asset.syncedResource({ }) local object = { - Name = "Stars (Denver)", + Identifier = "Stars-Denver", Renderable = { Type = "RenderableStars", File = speck .. "/denver_stars.speck", Texture = textures .. "/halo.png", ColorMap = colorLUT .. "/denver_colorbv.cmap" }, - GuiPath = "/Milky Way/Stars" + GUI = { + Name = "Stars (Denver)", + Path = "/Milky Way/Stars" + } } diff --git a/data/assets/scene/solarsystem/missions/dawn/ceres.asset b/data/assets/scene/solarsystem/missions/dawn/ceres.asset index 8b4d3dea86..119e42b728 100644 --- a/data/assets/scene/solarsystem/missions/dawn/ceres.asset +++ b/data/assets/scene/solarsystem/missions/dawn/ceres.asset @@ -12,8 +12,8 @@ local textures = asset.syncedResource({ }) local Ceres = { - Name = "Ceres", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "Ceres", + Parent = transforms.SolarSystemBarycenter.Identifier, Transform = { Rotation = { Type = "SpiceRotation", @@ -50,7 +50,9 @@ local Ceres = { } } }, - GuiPath = "/Solar System/Dwarf Planets/Ceres" + GUI = { + Path = "/Solar System/Dwarf Planets/Ceres" + } } diff --git a/data/assets/scene/solarsystem/missions/dawn/dawn.asset b/data/assets/scene/solarsystem/missions/dawn/dawn.asset index 0451842e0a..1c7ab5f19e 100644 --- a/data/assets/scene/solarsystem/missions/dawn/dawn.asset +++ b/data/assets/scene/solarsystem/missions/dawn/dawn.asset @@ -617,8 +617,8 @@ local KernelFiles = { } local Dawn = { - Name = "Dawn", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "Dawn", + Parent = transforms.SolarSystemBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -642,13 +642,15 @@ local Dawn = { }, ColorTexture = textures .. "/gray.png" }, - GuiPath = "/Solar System/Missions/Dawn" + GUI = { + Path = "/Solar System/Missions/Dawn" + } } -- Dawn Solar Array module 1 local DawnSolarArray1 = { - Name = "DawnSolar1", - Parent = Dawn.Name, + Identifier = "DawnSolar1", + Parent = Dawn.Identifier, Transformation = { Rotation = { Type = "SpiceRotation", @@ -665,13 +667,16 @@ local DawnSolarArray1 = { }, ColorTexture = textures .. "/gray.png" }, - GuiPath = "/Solar System/Missions/Dawn" + GUI = { + Name = "Dawn Solar 1", + Path = "/Solar System/Missions/Dawn" + } } -- Dawn Solar Array module 2 local DawnSolarArray2 = { - Name = "DawnSolar2", - Parent = Dawn.Name, + Identifier = "DawnSolar2", + Parent = Dawn.Identifier, Transformation = { Rotation = { Type = "SpiceRotation", @@ -688,12 +693,15 @@ local DawnSolarArray2 = { }, ColorTexture = textures .. "/gray.png" }, - GuiPath = "/Solar System/Missions/Dawn" + GUI = { + Name = "Dawn Solar 2", + Path = "/Solar System/Missions/Dawn" + } } local DawnTrail = { - Name = "DawnTrail", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "DawnTrail", + Parent = transforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -711,13 +719,16 @@ local DawnTrail = { EnableFade = false, Rendering = "Lines+Points" }, - GuiPath = "/Solar System/Missions/Dawn" + GUI = { + Name = "Dawn Trail", + Path = "/Solar System/Missions/Dawn" + } } -- DawnFov 1 local DawnFramingCamera1 = { - Name = "Dawn_framing_camera_1", - Parent = Dawn.Name, + Identifier = "Dawn_framing_camera_1", + Parent = Dawn.Identifier, Renderable = { Type = "RenderableFov", Body = "DAWN", @@ -730,12 +741,15 @@ local DawnFramingCamera1 = { }, PotentialTargets = { "VESTA", "CERES" } }, - GuiPath = "/Solar System/Missions/Dawn" + GUI = { + Name = "Dawn Framing Camera 1", + Path = "/Solar System/Missions/Dawn" + } } local DawnFramingCamera2 = { - Name = "Dawn_framing_camera_2", - Parent = Dawn.Name, + Identifier = "Dawn_framing_camera_2", + Parent = Dawn.Identifier, Renderable = { Type = "RenderableFov", Body = "DAWN", @@ -748,7 +762,10 @@ local DawnFramingCamera2 = { }, PotentialTargets = { "VESTA", "CERES" } }, - GuiPath = "/Solar System/Missions/Dawn" + GUI = { + Name = "Dawn Framing Camera 2", + Path = "/Solar System/Missions/Dawn" + } } assetHelper.registerSceneGraphNodesAndExport(asset, { diff --git a/data/assets/scene/solarsystem/missions/dawn/vesta.asset b/data/assets/scene/solarsystem/missions/dawn/vesta.asset index c2789191d7..2279c520a4 100644 --- a/data/assets/scene/solarsystem/missions/dawn/vesta.asset +++ b/data/assets/scene/solarsystem/missions/dawn/vesta.asset @@ -25,8 +25,8 @@ local models = asset.syncedResource({ }) local Vesta = { - Name = "Vesta", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "Vesta", + Parent = transforms.SolarSystemBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -108,12 +108,14 @@ local Vesta = { PotentialTargets = { "VESTA" } } }, - GuiPath = "/Solar System/Asteroid Belt/Vesta" + GUI = { + Path = "/Solar System/Asteroid Belt/Vesta" + } } local VestaTrail = { - Name = "VestaTrail", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "VestaTrail", + Parent = transforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -127,7 +129,10 @@ local VestaTrail = { Period = 1325.0, Resolution = 3600 * 24 }, - GuiPath = "/Solar System/Asteroid Belt/Vesta" + GUI = { + Name = "Vesta Trail", + Path = "/Solar System/Asteroid Belt/Vesta" + } } diff --git a/data/assets/scene/solarsystem/missions/juno/juno.asset b/data/assets/scene/solarsystem/missions/juno/juno.asset index 13ecb3e085..8919a2235d 100644 --- a/data/assets/scene/solarsystem/missions/juno/juno.asset +++ b/data/assets/scene/solarsystem/missions/juno/juno.asset @@ -136,8 +136,8 @@ local RotationMatrix = { } local Juno = { - Name = "Juno", - Parent = transforms.JupiterBarycenter.Name, + Identifier = "Juno", + Parent = transforms.JupiterBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -161,12 +161,14 @@ local Juno = { ColorTexture = textures .. "/gray.png", ModelTransform = RotationMatrix }, - GuiName = "/Solar System/Missions/Juno" + GUI = { + Path = "/Solar System/Missions/Juno" + } } local JunoTrail = { - Name = "JunoTrail", - Parent = "JupiterBarycenter", + Identifier = "JunoTrail", + Parent = transforms.JupiterBarycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -180,7 +182,10 @@ local JunoTrail = { EndTime = "2016 DEC 13", SampleInterval = 2 }, - GuiName = "/Solar System/Missions/Juno" + GUI = { + Name = "Juno Trail", + Path = "/Solar System/Missions/Juno" + } } diff --git a/data/assets/scene/solarsystem/missions/newhorizons/charon.asset b/data/assets/scene/solarsystem/missions/newhorizons/charon.asset index 66439faaa4..cbfb0391b7 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/charon.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/charon.asset @@ -15,8 +15,8 @@ local textures = asset.syncedResource({ local charonRadius = 6.035E5 local Charon = { - Name = "Charon", - Parent = transforms.PlutoBarycenter.Name, + Identifier = "Charon", + Parent = transforms.PlutoBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -66,12 +66,14 @@ local Charon = { } } }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Path = "/Solar System/Dwarf Planets/Pluto" + } } local CharonText = { - Name = "CharonText", - Parent = Charon.Name, + Identifier = "CharonText", + Parent = Charon.Identifier, Transform = { Translation = { Type = "StaticTranslation", @@ -86,12 +88,15 @@ local CharonText = { Texture = textures .. "/Charon-Text.png", BlendMode = "Additive" }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Name = "Charon Text", + Path = "/Solar System/Dwarf Planets/Pluto" + } } local CharonShadow = { - Name = "CharonShadow", - Parent = Charon.Name, + Identifier = "CharonShadow", + Parent = Charon.Identifier, Renderable = { Type = "RenderableShadowCylinder", TerminatorType = "PENUMBRAL", @@ -101,12 +106,15 @@ local CharonShadow = { BodyFrame = "IAU_CHARON", Aberration = "NONE" }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Name = "Charon Shadow", + Path = "/Solar System/Dwarf Planets/Pluto" + } } local CharonTrail = { - Name = "CharonTrail", - Parent = transforms.PlutoBarycenter.Name, + Identifier = "CharonTrail", + Parent = transforms.PlutoBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -118,7 +126,10 @@ local CharonTrail = { Period = 6.38725, Resolution = 1000 }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Name = "Charon Trail", + Path = "/Solar System/Dwarf Planets/Pluto" + } } diff --git a/data/assets/scene/solarsystem/missions/newhorizons/fov.asset b/data/assets/scene/solarsystem/missions/newhorizons/fov.asset index 88f4827ff2..182639b9ad 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/fov.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/fov.asset @@ -9,8 +9,8 @@ local AliceOffset = { -7.9, -1.7, 8.3 } local RexOffset = { 0, 0, 0 } local Lorri = { - Name = "NH_LORRI", - Parent = transforms.NewHorizonsPosition.Name, + Identifier = "NH_LORRI", + Parent = transforms.NewHorizonsPosition.Identifier, Renderable = { Type = "RenderableFov", Body = "NEW HORIZONS", @@ -32,12 +32,15 @@ local Lorri = { Position = LorriOffset } }, - GuiPath = "/Solar System/Missions/New Horizons" + GUI = { + Name = "LORRI", + Path = "/Solar System/Missions/New Horizons/Instruments" + } } local RalphLeisa = { - Name = "NH_RALPH_LEISA", - Parent = transforms.NewHorizonsPosition.Name, + Identifier = "NH_RALPH_LEISA", + Parent = transforms.NewHorizonsPosition.Identifier, Renderable = { Type = "RenderableFov", Body = "NEW HORIZONS", @@ -59,12 +62,15 @@ local RalphLeisa = { Position = RalphOffset } }, - GuiPath = "/Solar System/Missions/New Horizons" + GUI = { + Name = "RALPH LEISA", + Path = "/Solar System/Missions/New Horizons/Instruments" + } } local RalphMvicPan1 = { - Name = "NH_RALPH_MVIC_PAN1", - Parent = transforms.NewHorizonsPosition.Name, + Identifier = "NH_RALPH_MVIC_PAN1", + Parent = transforms.NewHorizonsPosition.Identifier, Renderable = { Type = "RenderableFov", Body = "NEW HORIZONS", @@ -86,12 +92,15 @@ local RalphMvicPan1 = { Position = RalphOffset } }, - GuiPath = "/Solar System/Missions/New Horizons" + GUI = { + Name = "RALPH MVIC PAN 1", + Path = "/Solar System/Missions/New Horizons/Instruments" + } } local RalphMvicPan2 = { - Name = "NH_RALPH_MVIC_PAN2", - Parent = transforms.NewHorizonsPosition.Name, + Identifier = "NH_RALPH_MVIC_PAN2", + Parent = transforms.NewHorizonsPosition.Identifier, Renderable = { Type = "RenderableFov", Body = "NEW HORIZONS", @@ -113,12 +122,15 @@ local RalphMvicPan2 = { Position = RalphOffset } }, - GuiPath = "/Solar System/Missions/New Horizons" + GUI = { + Name = "RALPH MVIC PAN 2", + Path = "/Solar System/Missions/New Horizons/Instruments" + } } local RalphMvicRed = { - Name = "NH_RALPH_MVIC_RED", - Parent = transforms.NewHorizonsPosition.Name, + Identifier = "NH_RALPH_MVIC_RED", + Parent = transforms.NewHorizonsPosition.Identifier, Renderable = { Type = "RenderableFov", Body = "NEW HORIZONS", @@ -140,12 +152,15 @@ local RalphMvicRed = { Position = RalphOffset } }, - GuiPath = "/Solar System/Missions/New Horizons" + GUI = { + Name = "RALPH MVIC RED", + Path = "/Solar System/Missions/New Horizons/Instruments" + } } local RalphMvicBlue = { - Name = "NH_RALPH_MVIC_BLUE", - Parent = transforms.NewHorizonsPosition.Name, + Identifier = "NH_RALPH_MVIC_BLUE", + Parent = transforms.NewHorizonsPosition.Identifier, Renderable = { Type = "RenderableFov", Body = "NEW HORIZONS", @@ -167,12 +182,15 @@ local RalphMvicBlue = { Position = RalphOffset } }, - GuiPath = "/Solar System/Missions/New Horizons" + GUI = { + Name = "RALPH MVIC BLUE", + Path = "/Solar System/Missions/New Horizons/Instruments" + } } local RalphMvicFt = { - Name = "NH_RALPH_MVIC_FT", - Parent = transforms.NewHorizonsPosition.Name, + Identifier = "NH_RALPH_MVIC_FT", + Parent = transforms.NewHorizonsPosition.Identifier, Renderable = { Type = "RenderableFov", Body = "NEW HORIZONS", @@ -194,12 +212,15 @@ local RalphMvicFt = { Position = RalphOffset } }, - GuiPath = "/Solar System/Missions/New Horizons" + GUI = { + Name = "RALPH MVIC FT", + Path = "/Solar System/Missions/New Horizons/Instruments" + } } local RalphMvicMethane = { - Name = "NH_RALPH_MVIC_METHANE", - Parent = transforms.NewHorizonsPosition.Name, + Identifier = "NH_RALPH_MVIC_METHANE", + Parent = transforms.NewHorizonsPosition.Identifier, Renderable = { Type = "RenderableFov", Body = "NEW HORIZONS", @@ -221,12 +242,15 @@ local RalphMvicMethane = { Position = RalphOffset } }, - GuiPath = "/Solar System/Missions/New Horizons" + GUI = { + Name = "RALPH MVIC METHANE", + Path = "/Solar System/Missions/New Horizons/Instruments" + } } local RalphMvicNir = { - Name = "NH_RALPH_MVIC_NIR", - Parent = transforms.NewHorizonsPosition.Name, + Identifier = "NH_RALPH_MVIC_NIR", + Parent = transforms.NewHorizonsPosition.Identifier, Renderable = { Type = "RenderableFov", Body = "NEW HORIZONS", @@ -248,12 +272,15 @@ local RalphMvicNir = { Position = RalphOffset } }, - GuiPath = "/Solar System/Missions/New Horizons" + GUI = { + Name = "RALPH MVIC NIR", + Path = "/Solar System/Missions/New Horizons/Instruments" + } } local AliceAirglow = { - Name = "NH_ALICE_AIRGLOW", - Parent = transforms.NewHorizonsPosition.Name, + Identifier = "NH_ALICE_AIRGLOW", + Parent = transforms.NewHorizonsPosition.Identifier, Renderable = { Type = "RenderableFov", Body = "NEW HORIZONS", @@ -276,12 +303,15 @@ local AliceAirglow = { Position = AliceOffset } }, - GuiPath = "/Solar System/Missions/New Horizons" + GUI = { + Name = "ALICE AIRGLOW", + Path = "/Solar System/Missions/New Horizons/Instruments" + } } local AliceSoc = { - Name = "NH_ALICE_SOC", - Parent = transforms.NewHorizonsPosition.Name, + Identifier = "NH_ALICE_SOC", + Parent = transforms.NewHorizonsPosition.Identifier, Renderable = { Type = "RenderableFov", Body = "NEW HORIZONS", @@ -303,12 +333,15 @@ local AliceSoc = { Position = AliceOffset } }, - GuiPath = "/Solar System/Missions/New Horizons" + GUI = { + Name = "ALICE SOC", + Path = "/Solar System/Missions/New Horizons/Instruments" + } } local Rex = { - Name = "NH_REX", - Parent = transforms.NewHorizonsPosition.Name, + Identifier = "NH_REX", + Parent = transforms.NewHorizonsPosition.Identifier, Renderable = { Type = "RenderableCrawlingLine", Source = "NH_REX", @@ -333,7 +366,10 @@ local Rex = { Position = RexOffset } }, - GuiPath = "/Solar System/Missions/New Horizons" + GUI = { + Name = "REX", + Path = "/Solar System/Missions/New Horizons/Instruments" + } } diff --git a/data/assets/scene/solarsystem/missions/newhorizons/hydra.asset b/data/assets/scene/solarsystem/missions/newhorizons/hydra.asset index 3e84d77c43..3f5b5da8cb 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/hydra.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/hydra.asset @@ -12,8 +12,8 @@ local textures = asset.syncedResource({ }) local Hydra = { - Name = "Hydra", - Parent = transforms.PlutoBarycenter.Name, + Identifier = "Hydra", + Parent = transforms.PlutoBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -34,12 +34,14 @@ local Hydra = { }, ColorTexture = textures .. "/gray.jpg" }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Path = "/Solar System/Dwarf Planets/Pluto" + } } local HydraText = { - Name = "HydraText", - Parent = Hydra.Name, + Identifier = "HydraText", + Parent = Hydra.Identifier, Transform = { Translation = { Type = "StaticTranslation", @@ -54,12 +56,15 @@ local HydraText = { Texture = textures .. "/Hydra-Text.png", BlendMode = "Additive" }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Name = "Hydra Text", + Path = "/Solar System/Dwarf Planets/Pluto" + } } local HydraTrail = { - Name = "HydraTrail", - Parent = transforms.PlutoBarycenter.Name, + Identifier = "HydraTrail", + Parent = transforms.PlutoBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -71,7 +76,10 @@ local HydraTrail = { Period = 38.20177, Resolution = 1000 }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Name = "Hydra Trail", + Path = "/Solar System/Dwarf Planets/Pluto" + } } diff --git a/data/assets/scene/solarsystem/missions/newhorizons/kerberos.asset b/data/assets/scene/solarsystem/missions/newhorizons/kerberos.asset index 07298e75b2..e5929a7e7f 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/kerberos.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/kerberos.asset @@ -12,8 +12,8 @@ local textures = asset.syncedResource({ }) local Kerberos = { - Name = "Kerberos", - Parent = transforms.PlutoBarycenter.Name, + Identifier = "Kerberos", + Parent = transforms.PlutoBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -38,12 +38,14 @@ local Kerberos = { }, ColorTexture = textures .. "/gray.jpg" }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Path = "/Solar System/Dwarf Planets/Pluto" + } } local KerberosText = { - Name = "KerberosText", - Parent = Kerberos.Name, + Identifier = "KerberosText", + Parent = Kerberos.Identifier, Transform = { Translation = { Type = "StaticTranslation", @@ -57,12 +59,15 @@ local KerberosText = { Billboard = true, Texture = textures .. "/Kerberos-Text.png" }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Name = "Kerberos Text", + Path = "/Solar System/Dwarf Planets/Pluto" + } } local KerberosTrail = { - Name = "KerberosTrail", - Parent = transforms.PlutoBarycenter.Name, + Identifier = "KerberosTrail", + Parent = transforms.PlutoBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -74,7 +79,10 @@ local KerberosTrail = { Period = 32.16756, Resolution = 1000 }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Name = "Kerberos Trail", + Path = "/Solar System/Dwarf Planets/Pluto" + } } diff --git a/data/assets/scene/solarsystem/missions/newhorizons/label.asset b/data/assets/scene/solarsystem/missions/newhorizons/label.asset index e3b1cdcac0..bd3978f255 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/label.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/label.asset @@ -9,8 +9,8 @@ local textures = NewHorizonsModel.NewHorizonsTextures local models = NewHorizonsModel.NewHorizonsModels local Labels = { - Name = "Labels", - Parent = NewHorizonsModel.NewHorizons.Name, + Identifier = "Labels", + Parent = NewHorizonsModel.NewHorizons.Identifier, Renderable = { Type = "RenderableModel", Body = "NEW HORIZONS", @@ -20,7 +20,9 @@ local Labels = { }, ColorTexture = textures .. "/labels.png" }, - GuiPath = "/Solar System/Missions/New Horizons" + GUI = { + Path = "/Solar System/Missions/New Horizons" + } } diff --git a/data/assets/scene/solarsystem/missions/newhorizons/model.asset b/data/assets/scene/solarsystem/missions/newhorizons/model.asset index d4286a54db..7b7444e60b 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/model.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/model.asset @@ -18,8 +18,8 @@ local models = asset.syncedResource({ }) local NewHorizons = { - Name = "NewHorizons", - Parent = transforms.NewHorizonsPosition.Name, + Identifier = "NewHorizons", + Parent = transforms.NewHorizonsPosition.Identifier, Renderable = { Type = "RenderableModel", Body = "NEW HORIZONS", @@ -29,7 +29,10 @@ local NewHorizons = { }, ColorTexture = textures .. "/NHTexture.jpg" }, - GuiPath = "/Solar System/Missions/New Horizons" + GUI = { + Name = "New Horizons", + Path = "/Solar System/Missions/New Horizons" + } } diff --git a/data/assets/scene/solarsystem/missions/newhorizons/nix.asset b/data/assets/scene/solarsystem/missions/newhorizons/nix.asset index be2baf9b8c..20494361e5 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/nix.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/nix.asset @@ -12,8 +12,8 @@ local textures = asset.syncedResource({ }) local Nix = { - Name = "Nix", - Parent = transforms.PlutoBarycenter.Name, + Identifier = "Nix", + Parent = transforms.PlutoBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -24,6 +24,7 @@ local Nix = { }, Renderable = { Type = "RenderablePlanet", + Body = "NIX", Geometry = { Type = "SimpleSphere", Radius = 0.45E5, @@ -31,12 +32,14 @@ local Nix = { }, ColorTexture = textures .. "/gray.jpg", }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Path = "/Solar System/Dwarf Planets/Pluto" + } } local NixText = { - Name = "NixText", - Parent = Nix.Name, + Identifier = "NixText", + Parent = Nix.Identifier, Renderable = { Type = "RenderablePlaneImageLocal", Size = 10^6.3, @@ -45,12 +48,15 @@ local NixText = { Texture = textures .. "/Nix-Text.png", BlendMode = "Additive" }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Name = "Nix Text", + Path = "/Solar System/Dwarf Planets/Pluto" + } } local NixTrail = { - Name = "NixTrail", - Parent = transforms.PlutoBarycenter.Name, + Identifier = "NixTrail", + Parent = transforms.PlutoBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -62,7 +68,10 @@ local NixTrail = { Period = 24.85463, Resolution = 1000 }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Name = "Nix Trail", + Path = "/Solar System/Dwarf Planets/Pluto" + } } diff --git a/data/assets/scene/solarsystem/missions/newhorizons/pluto.asset b/data/assets/scene/solarsystem/missions/newhorizons/pluto.asset index 868e379234..953866302a 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/pluto.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/pluto.asset @@ -36,8 +36,8 @@ local images = asset.syncedResource({ local plutoRadius = 1.173E6 local Pluto = { - Name = "Pluto", - Parent = transforms.PlutoBarycenter.Name, + Identifier = "Pluto", + Parent = transforms.PlutoBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -178,12 +178,14 @@ local Pluto = { } } }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Path = "/Solar System/Dwarf Planets/Pluto" + } } local PlutoBarycenterLabel = { - Name = "PlutoBarycenterLabel", - Parent = transforms.PlutoBarycenter.Name, + Identifier = "PlutoBarycenterLabel", + Parent = transforms.PlutoBarycenter.Identifier, Renderable = { Type = "RenderablePlaneImageLocal", Billboard = true, @@ -191,12 +193,15 @@ local PlutoBarycenterLabel = { Texture = encounterTextures .. "/barycenter.png", BlendMode = "Additive" }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Name = "Pluto Barycenter Label", + Path = "/Solar System/Dwarf Planets/Pluto" + } } local PlutoText = { - Name = "PlutoText", - Parent = Pluto.Name, + Identifier = "PlutoText", + Parent = Pluto.Identifier, Transform = { Translation = { Type = "StaticTranslation", @@ -211,12 +216,15 @@ local PlutoText = { Texture = encounterTextures .. "/Pluto-Text.png", BlendMode = "Additive" }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Name = "Pluto Text", + Path = "/Solar System/Dwarf Planets/Pluto" + } } local PlutoShadow = { - Name = "PlutoShadow", - Parent = Pluto.Name, + Identifier = "PlutoShadow", + Parent = Pluto.Identifier, Renderable = { Type = "RenderableShadowCylinder", TerminatorType = "PENUMBRAL", @@ -226,12 +234,15 @@ local PlutoShadow = { BodyFrame = "IAU_PLUTO", Aberration = "NONE", }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Name = "Pluto Shadow", + Path = "/Solar System/Dwarf Planets/Pluto" + } } local PlutoTrailBarycentric = { - Name = "PlutoBarycentricTrail", - Parent = transforms.PlutoBarycenter.Name, + Identifier = "PlutoBarycentricTrail", + Parent = transforms.PlutoBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -243,12 +254,15 @@ local PlutoTrailBarycentric = { Period = 6.38723, Resolution = 1000 }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Name = "Pluto Barycenteric Trail", + Path = "/Solar System/Dwarf Planets/Pluto" + } } local PlutoTrail = { - Name = "PlutoTrail", - Parent = sunTransforms.SolarSystemBarycenter.Name, + Identifier = "PlutoTrail", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Enabled = false, @@ -263,7 +277,10 @@ local PlutoTrail = { Period = 160 * 365.242, Resolution = 1000 }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Name = "Pluto Trail", + Path = "/Solar System/Dwarf Planets/Pluto" + } } diff --git a/data/assets/scene/solarsystem/missions/newhorizons/styx.asset b/data/assets/scene/solarsystem/missions/newhorizons/styx.asset index 4d29b3e179..56ed5b9c62 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/styx.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/styx.asset @@ -12,8 +12,8 @@ local textures = asset.syncedResource({ }) local Styx = { - Name = "Styx", - Parent = transforms.PlutoBarycenter.Name, + Identifier = "Styx", + Parent = transforms.PlutoBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -33,12 +33,14 @@ local Styx = { }, ColorTexture = textures .. "/gray.jpg" }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Path = "/Solar System/Dwarf Planets/Pluto" + } } local StyxText = { - Name = "StyxText", - Parent = Styx.Name, + Identifier = "StyxText", + Parent = Styx.Identifier, Transform = { Translation = { Type = "StaticTranslation", @@ -53,12 +55,15 @@ local StyxText = { Texture = textures .. "/Styx-Text.png", BlendMode = "Additive" }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Name = "Styx Text", + Path = "/Solar System/Dwarf Planets/Pluto" + } } local StyxTrail = { - Name = "StyxTrail", - Parent = transforms.PlutoBarycenter.Name, + Identifier = "StyxTrail", + Parent = transforms.PlutoBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -70,7 +75,10 @@ local StyxTrail = { Period = 20.16155, Resolution = 1000 }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Name = "Styx Trail", + Path = "/Solar System/Dwarf Planets/Pluto" + } } diff --git a/data/assets/scene/solarsystem/missions/newhorizons/trail.asset b/data/assets/scene/solarsystem/missions/newhorizons/trail.asset index e28ec88c72..a51e11f073 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/trail.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/trail.asset @@ -4,8 +4,8 @@ local transforms = asset.require('./transforms') local TrailAtPluto = { - Name = "NewHorizonsTrailPluto", - Parent = transforms.PlutoBarycenter.Name, + Identifier = "NewHorizonsTrailPluto", + Parent = transforms.PlutoBarycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -23,7 +23,10 @@ local TrailAtPluto = { EnableFade = false, Rendering = "Lines+Points" }, - GuiPath = "/Solar System/Missions/New Horizons" + GUI = { + Name = "New Horizons Trail Pluto", + Path = "/Solar System/Missions/New Horizons" + } } diff --git a/data/assets/scene/solarsystem/missions/newhorizons/transforms.asset b/data/assets/scene/solarsystem/missions/newhorizons/transforms.asset index bae78af35f..26c54961f6 100644 --- a/data/assets/scene/solarsystem/missions/newhorizons/transforms.asset +++ b/data/assets/scene/solarsystem/missions/newhorizons/transforms.asset @@ -5,8 +5,8 @@ local kernels = asset.require('./kernels') local PlutoBarycenter = { - Name = "PlutoBarycenter", - Parent = sunTransforms.SolarSystemBarycenter.Name, + Identifier = "PlutoBarycenter", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -15,12 +15,15 @@ local PlutoBarycenter = { Kernels = kernels.PlutoKernels }, }, - GuiPath = "/Solar System/Dwarf Planets/Pluto" + GUI = { + Name = "Pluto Barycenter", + Path = "/Solar System/Dwarf Planets/Pluto" + } } local NewHorizonsPosition = { - Name = "NewHorizonsPosition", - Parent = PlutoBarycenter.Name, + Identifier = "NewHorizonsPosition", + Parent = PlutoBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -34,7 +37,10 @@ local NewHorizonsPosition = { DestinationFrame = "GALACTIC" } }, - GuiPath = "/Solar System/Missions/New Horizons" + GUI = { + Name = "New Horizons Position", + Path = "/Solar System/Missions/New Horizons" + } } diff --git a/data/assets/scene/solarsystem/missions/osirisrex/bennu.asset b/data/assets/scene/solarsystem/missions/osirisrex/bennu.asset index ee833916e2..a935cc6fcf 100644 --- a/data/assets/scene/solarsystem/missions/osirisrex/bennu.asset +++ b/data/assets/scene/solarsystem/missions/osirisrex/bennu.asset @@ -22,10 +22,10 @@ local BENNU_BODY = "2101955" local Bennu = { - Name = "Bennu", - Parent = transforms.BennuBarycenter.Name, - Transform = -{ Rotation = { + Identifier = "Bennu", + Parent = transforms.BennuBarycenter.Identifier, + Transform = { + Rotation = { Type = "SpiceRotation", SourceFrame = "IAU_BENNU", DestinationFrame = "GALACTIC" @@ -84,12 +84,14 @@ local Bennu = { } } }, - GuiPath = "/Solar System/Asteroid" + GUI = { + Path = "/Solar System/Asteroid" + } } local BennuTrail = { - Name = "BennuTrail", - Parent = sunTransforms.SolarSystemBarycenter.Name, + Identifier = "BennuTrail", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -102,7 +104,10 @@ local BennuTrail = { EndTime = "2023 MAY 31 00:00:00.000", SampleInterval = 3600 }, - GuiPath = "/Solar System/Asteroid" + GUI = { + Name = "Bennu Trail", + Path = "/Solar System/Asteroid" + } } diff --git a/data/assets/scene/solarsystem/missions/osirisrex/model.asset b/data/assets/scene/solarsystem/missions/osirisrex/model.asset index b32b59482b..bc611bbf75 100644 --- a/data/assets/scene/solarsystem/missions/osirisrex/model.asset +++ b/data/assets/scene/solarsystem/missions/osirisrex/model.asset @@ -184,8 +184,8 @@ for i = 0, #CaseDependentKernels do end local OsirisRex = { - Name = "OsirisRex", - Parent = sunTransforms.SolarSystemBarycenter.Name, + Identifier = "OsirisRex", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -208,12 +208,15 @@ local OsirisRex = { }, ColorTexture = textures .. "/osirisTex.png" }, - GuiPath = "/Solar System/Missions/OSIRIS REx" + GUI = { + Name = "OSIRIS REx", + Path = "/Solar System/Missions/OSIRIS REx" + } } local PolyCam = { - Name = "ORX_OCAMS_POLYCAM", - Parent = OsirisRex.Name, + Identifier = "ORX_OCAMS_POLYCAM", + Parent = OsirisRex.Identifier, Transform = { Translation = { Type = "StaticTranslation", @@ -234,12 +237,15 @@ local PolyCam = { }, ColorTexture = textures .. "/osirisTex.png" }, - GuiPath = "/Solar System/Missions/OSIRIS REx" + GUI = { + Name = "OCAMS POLYCAM", + Path = "/Solar System/Missions/OSIRIS REx/Instruments" + } } local Rexis = { - Name = "ORX_REXIS", - Parent = OsirisRex.Name, + Identifier = "ORX_REXIS", + Parent = OsirisRex.Identifier, Renderable = { Type = "RenderableModel", Body = "OSIRIS-REX", @@ -260,12 +266,15 @@ local Rexis = { DestinationFrame = "ORX_SPACECRAFT" }, }, - GuiPath = "/Solar System/Missions/OSIRIS REx" + GUI = { + Name = "REXIS", + Path = "/Solar System/Missions/OSIRIS REx/Instruments" + } } local PolyCamFov = { - Name = "POLYCAM FOV", - Parent = PolyCam.Name, + Identifier = "POLYCAM FOV", + Parent = PolyCam.Identifier, Renderable = { Type = "RenderableFov", Body = "OSIRIS-REX", @@ -278,12 +287,15 @@ local PolyCamFov = { }, PotentialTargets = { BENNU_BODY } }, - GuiPath = "/Solar System/Missions/OSIRIS REx" + GUI = { + Name = "POLYCAM FOV", + Path = "/Solar System/Missions/OSIRIS REx/Instruments" + } } local RexisFov = { - Name = "REXIS FOV", - Parent = Rexis.Name, + Identifier = "REXIS FOV", + Parent = Rexis.Identifier, Renderable = { Type = "RenderableFov", Body = "OSIRIS-REX", @@ -299,7 +311,10 @@ local RexisFov = { [BENNU_BODY] = "IAU_BENNU" } }, - GuiPath = "/Solar System/Missions/OSIRIS REx" + GUI = { + Name = "REXIS FOV", + Path = "/Solar System/Missions/OSIRIS REx/Instruments" + } } diff --git a/data/assets/scene/solarsystem/missions/osirisrex/script_schedule.asset b/data/assets/scene/solarsystem/missions/osirisrex/script_schedule.asset index 147d918cfe..9c331e2000 100644 --- a/data/assets/scene/solarsystem/missions/osirisrex/script_schedule.asset +++ b/data/assets/scene/solarsystem/missions/osirisrex/script_schedule.asset @@ -14,5 +14,5 @@ end) asset.onDeinitialize(function () - openspace.scriptScheduler.clear() + openspace.scriptScheduler.clear() end) \ No newline at end of file diff --git a/data/assets/scene/solarsystem/missions/osirisrex/trail.asset b/data/assets/scene/solarsystem/missions/osirisrex/trail.asset index e1ca69219a..b156ee96c6 100644 --- a/data/assets/scene/solarsystem/missions/osirisrex/trail.asset +++ b/data/assets/scene/solarsystem/missions/osirisrex/trail.asset @@ -8,8 +8,8 @@ local earthTransforms = asset.require('scene/solarsystem/planets/earth/transform local BENNU_BODY = "2101955" local OsirisRexTrailEarth = { - Name = "OsirisRexTrailEarth", - Parent = earthTransforms.EarthIAU.Name, + Identifier = "OsirisRexTrailEarth", + Parent = earthTransforms.EarthIAU.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -23,12 +23,15 @@ local OsirisRexTrailEarth = { EndTime = "2016 SEP 9 00:05:00", SampleInterval = 60 }, - GuiPath = "/Solar System/Missions/OSIRIS REx" + GUI = { + Name = "OSIRIS REx Trail Earth", + Path = "/Solar System/Missions/OSIRIS REx" + } } local OsirisRexTrailSolarSystem = { - Name = "OsirisRexTrailSolarSystem", - Parent = sunTransforms.SolarSystemBarycenter.Name, + Identifier = "OsirisRexTrailSolarSystem", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -41,12 +44,15 @@ local OsirisRexTrailSolarSystem = { EndTime = "2023 SEP 24 12:00:00", SampleInterval = 3600 }, - GuiPath = "/Solar System/Missions/OSIRIS REx" + GUI = { + Name = "OSIRIS REx Trail Solar System", + Path = "/Solar System/Missions/OSIRIS REx" + } } local OsirisRexTrailBennu = { - Name = "OsirisRexTrailBennu", - Parent = transforms.BennuBarycenter.Name, + Identifier = "OsirisRexTrailBennu", + Parent = transforms.BennuBarycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -59,7 +65,10 @@ local OsirisRexTrailBennu = { EndTime = "2023 SEP 24 12:00:00", SampleInterval = 3600 }, - GuiPath = "/Solar System/Missions/OSIRIS REx" + GUI = { + Name = "OSIRIS REx Trail Bennu", + Path = "/Solar System/Missions/OSIRIS REx" + } } diff --git a/data/assets/scene/solarsystem/missions/osirisrex/transforms.asset b/data/assets/scene/solarsystem/missions/osirisrex/transforms.asset index 3fe681ae4d..e464ab5e20 100644 --- a/data/assets/scene/solarsystem/missions/osirisrex/transforms.asset +++ b/data/assets/scene/solarsystem/missions/osirisrex/transforms.asset @@ -6,14 +6,18 @@ local transforms = asset.require('scene/solarsystem/sun/transforms') local BENNU_BODY = "2101955" local BennuBarycenter = { - Name = "BennuBarycenter", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "BennuBarycenter", + Parent = transforms.SolarSystemBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", Target = BENNU_BODY, Observer = "SUN" } + }, + GUI = { + Name = "Bennu Barycenter", + Path = "/Solar System/Missions/OSIRIS REx" } } diff --git a/data/assets/scene/solarsystem/missions/rosetta/67p.asset b/data/assets/scene/solarsystem/missions/rosetta/67p.asset index 7ebb619172..65739cd7f0 100644 --- a/data/assets/scene/solarsystem/missions/rosetta/67p.asset +++ b/data/assets/scene/solarsystem/missions/rosetta/67p.asset @@ -32,8 +32,8 @@ local imagesTorrent = asset.syncedResource({ }) .. "/rosettaimages" local Barycenter = { - Name = "67PBarycenter", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "67PBarycenter", + Parent = transforms.SolarSystemBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -41,12 +41,15 @@ local Barycenter = { Observer = "SUN" } }, - GuiPath = "/Solar System/Comets/67P Churymov-Gerasimenko" + GUI = { + Name = "67P Barycenter", + Path = "/Solar System/Comets/67P Churymov-Gerasimenko" + } } local Comet67P = { - Name = "67P", - Parent = Barycenter.Name, + Identifier = "67P", + Parent = Barycenter.Identifier, Transform = { Rotation = { Type = "SpiceRotation", @@ -108,12 +111,15 @@ local Comet67P = { BoundingSphereRadius = 5000.0 }, - GuiPath = "/Solar System/Comets/67P Churymov-Gerasimenko" + GUI = { + Name = "67P Churymov-Gerasimenko", + Path = "/Solar System/Comets/67P Churymov-Gerasimenko" + } } local Trail67P = { - Name = "67PTrail", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "67PTrail", + Parent = transforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -126,7 +132,10 @@ local Trail67P = { EndTime = "2017 JAN 01 00:00:00.000", SampleInterval = 3600 }, - GuiPath = "/Solar System/Comets/67P Churymov-Gerasimenko" + GUI = { + Name = "67P Trail", + Path = "/Solar System/Comets/67P Churymov-Gerasimenko" + } } diff --git a/data/assets/scene/solarsystem/missions/rosetta/rosetta.asset b/data/assets/scene/solarsystem/missions/rosetta/rosetta.asset index 85a1d50498..1d61cf68bc 100644 --- a/data/assets/scene/solarsystem/missions/rosetta/rosetta.asset +++ b/data/assets/scene/solarsystem/missions/rosetta/rosetta.asset @@ -82,8 +82,8 @@ local RotationMatrix = { } local Rosetta = { - Name = "Rosetta", - Parent = sunTransforms.SolarSystemBarycenter.Name, + Identifier = "Rosetta", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -97,12 +97,14 @@ local Rosetta = { DestinationFrame = "GALACTIC" } }, - GuiPath = "/Solar System/Missions/Rosetta" + GUI = { + Path = "/Solar System/Missions/Rosetta" + } } local RosettaModel = { - Name = "RosettaModel", - Parent = Rosetta.Name, + Identifier = "RosettaModel", + Parent = Rosetta.Identifier, Transform = { Scale = { Type = "StaticScale", @@ -110,12 +112,15 @@ local RosettaModel = { Scale = 0.01 } }, - GuiPath = "/Solar System/Missions/Rosetta" + GUI = { + Name = "Rosetta Model", + Path = "/Solar System/Missions/Rosetta" + } } local RosettaBlackFoil = { - Name = "Rosetta_black_foil", - Parent = RosettaModel.Name, + Identifier = "Rosetta_black_foil", + Parent = RosettaModel.Identifier, Renderable = { Type = "RenderableModel", Body = "ROSETTA", @@ -126,12 +131,15 @@ local RosettaBlackFoil = { ColorTexture = textures .. "/foil_silver_ramp.png", ModelTransform = RotationMatrix }, - GuiPath = "/Solar System/Missions/Rosetta" + GUI = { + Name = "Rosetta Model Part Black Foil", + Path = "/Solar System/Missions/Rosetta" + } } local RosettaBlackParts = { - Name = "Rosetta_black_parts", - Parent = RosettaModel.Name, + Identifier = "Rosetta_black_parts", + Parent = RosettaModel.Identifier, Renderable = { Type = "RenderableModel", Body = "ROSETTA", @@ -142,12 +150,15 @@ local RosettaBlackParts = { ColorTexture = textures .. "/foil_silver_ramp.png", ModelTransform = RotationMatrix }, - GuiPath = "/Solar System/Missions/Rosetta" + GUI = { + Name = "Rosetta Model Part Black Parts", + Path = "/Solar System/Missions/Rosetta" + } } local RosettaDish = { - Name = "Rosetta_dish", - Parent = RosettaModel.Name, + Identifier = "Rosetta_dish", + Parent = RosettaModel.Identifier, Renderable = { Type = "RenderableModel", Body = "ROSETTA", @@ -158,12 +169,15 @@ local RosettaDish = { ColorTexture = textures .. "/dish_AO.png", ModelTransform = RotationMatrix }, - GuiPath = "/Solar System/Missions/Rosetta" + GUI = { + Name = "Rosetta Model Part Dish", + Path = "/Solar System/Missions/Rosetta" + } } local RosettaParts = { - Name = "Rosetta_parts", - Parent = RosettaModel.Name, + Identifier = "Rosetta_parts", + Parent = RosettaModel.Identifier, Renderable = { Type = "RenderableModel", Body = "ROSETTA", @@ -174,12 +188,15 @@ local RosettaParts = { ColorTexture = textures .. "/parts2_AO.png", ModelTransform = RotationMatrix }, - GuiPath = "/Solar System/Missions/Rosetta" + GUI = { + Name = "Rosetta Model Part Parts", + Path = "/Solar System/Missions/Rosetta" + } } local RosettaSilverFoil = { - Name = "Rosetta_silver_foil", - Parent = RosettaModel.Name, + Identifier = "Rosetta_silver_foil", + Parent = RosettaModel.Identifier, Renderable = { Type = "RenderableModel", Body = "ROSETTA", @@ -190,12 +207,15 @@ local RosettaSilverFoil = { ColorTexture = textures .. "/foil_silver_ramp.png", ModelTransform = RotationMatrix }, - GuiPath = "/Solar System/Missions/Rosetta" + GUI = { + Name = "Rosetta Model Part Silver Foil", + Path = "/Solar System/Missions/Rosetta" + } } local RosettaVents = { - Name = "Rosetta_vents", - Parent = RosettaModel.Name, + Identifier = "Rosetta_vents", + Parent = RosettaModel.Identifier, Renderable = { Type = "RenderableModel", Body = "ROSETTA", @@ -206,12 +226,15 @@ local RosettaVents = { ColorTexture = textures .. "/tex_01.png", ModelTransform = RotationMatrix }, - GuiPath = "/Solar System/Missions/Rosetta" + GUI = { + Name = "Rosetta Model Part Vents", + Path = "/Solar System/Missions/Rosetta" + } } local RosettaWingA = { - Name = "Rosetta_wing_a", - Parent = RosettaModel.Name, + Identifier = "Rosetta_wing_a", + Parent = RosettaModel.Identifier, Renderable = { Type = "RenderableModel", Body = "ROSETTA", @@ -222,12 +245,15 @@ local RosettaWingA = { ColorTexture = textures .. "/tex_01.png", ModelTransform = RotationMatrix }, - GuiPath = "/Solar System/Missions/Rosetta" + GUI = { + Name = "Rosetta Model Part Wing A", + Path = "/Solar System/Missions/Rosetta" + } } local RosettaWingB = { - Name = "Rosetta_wing_b", - Parent = RosettaModel.Name, + Identifier = "Rosetta_wing_b", + Parent = RosettaModel.Identifier, Renderable = { Type = "RenderableModel", Body = "ROSETTA", @@ -238,12 +264,15 @@ local RosettaWingB = { ColorTexture = textures .. "/tex_01.png", ModelTransform = RotationMatrix }, - GuiPath = "/Solar System/Missions/Rosetta" + GUI = { + Name = "Rosetta Model Part Wing B", + Path = "/Solar System/Missions/Rosetta" + } } local RosettaYellowFoil = { - Name = "Rosetta_yellow_foil", - Parent = RosettaModel.Name, + Identifier = "Rosetta_yellow_foil", + Parent = RosettaModel.Identifier, Renderable = { Type = "RenderableModel", Body = "ROSETTA", @@ -254,12 +283,15 @@ local RosettaYellowFoil = { ColorTexture = textures .. "/foil_gold_ramp.png", ModelTransform = RotationMatrix }, - GuiPath = "/Solar System/Missions/Rosetta" + GUI = { + Name = "Rosetta Model Part Yellow Foil", + Path = "/Solar System/Missions/Rosetta" + } } local Philae = { - Name = "Philae", - Parent = transforms.Barycenter.Name, + Identifier = "Philae", + Parent = transforms.Barycenter.Identifier, -- This should need a transform, but currently the model is intrinsically -- translated Transform = { @@ -280,12 +312,15 @@ local Philae = { Scale = 0.01 } }, - GuiPath = "/Solar System/Missions/Rosetta" + GUI = { + Name = "Philae Model", + Path = "/Solar System/Missions/Rosetta" + } } local PhilaeFoil = { - Name = "Philae_foil", - Parent = Philae.Name, + Identifier = "Philae_foil", + Parent = Philae.Identifier, Renderable = { Type = "RenderableModel", Body = "ROSETTA", @@ -296,12 +331,15 @@ local PhilaeFoil = { ColorTexture = textures .. "/foil_silver_ramp.png", ModelTransform = RotationMatrix }, - GuiPath = "/Solar System/Missions/Rosetta" + GUI = { + Name = "Philae Model Part Foil", + Path = "/Solar System/Missions/Rosetta" + } } local PhilaeLids = { - Name = "Philae_lids", - Parent = Philae.Name, + Identifier = "Philae_lids", + Parent = Philae.Identifier, Renderable = { Type = "RenderableModel", Body = "ROSETTA", @@ -312,12 +350,15 @@ local PhilaeLids = { ColorTexture = textures .. "/parts2_AO.png", ModelTransform = RotationMatrix }, - GuiPath = "/Solar System/Missions/Rosetta" + GUI = { + Name = "Philae Model Part Lids", + Path = "/Solar System/Missions/Rosetta" + } } local PhilaeParts = { - Name = "Philae_parts", - Parent = Philae.Name, + Identifier = "Philae_parts", + Parent = Philae.Identifier, Renderable = { Type = "RenderableModel", Body = "ROSETTA", @@ -328,12 +369,15 @@ local PhilaeParts = { ColorTexture = textures .. "/foil_silver_ramp.png", ModelTransform = RotationMatrix }, - GuiPath = "/Solar System/Missions/Rosetta" + GUI = { + Name = "Philae Model Part Parts", + Path = "/Solar System/Missions/Rosetta" + } } local PhilaeSolarPanels = { - Name = "Philae_solarp", - Parent = Philae.Name, + Identifier = "Philae_solarp", + Parent = Philae.Identifier, Renderable = { Type = "RenderableModel", Body = "ROSETTA", @@ -344,18 +388,23 @@ local PhilaeSolarPanels = { ColorTexture = textures .. "/tex_01.png", ModelTransform = RotationMatrix }, - GuiPath = "/Solar System/Missions/Rosetta" + GUI = { + Name = "Philae Model Parts Solar Panels", + Path = "/Solar System/Missions/Rosetta" + } } local NavCam = { - Name = "NAVCAM", - Parent = Rosetta.Name, - GuiPath = "/Solar System/Missions/Rosetta" + Identifier = "NAVCAM", + Parent = Rosetta.Identifier, + GUI = { + Path = "/Solar System/Missions/Rosetta/Instruments" + } } local NavCamFov = { - Name = "NAVCAM FOV", - Parent = NavCam.Name, + Identifier = "NAVCAM_FOV", + Parent = NavCam.Identifier, Renderable = { Type = "RenderableFov", Body = "ROSETTA", @@ -371,12 +420,15 @@ local NavCamFov = { ["CHURYUMOV-GERASIMENKO"] = "67P/C-G_CK" } }, - GuiPath = "/Solar System/Missions/Rosetta" + GUI = { + Name = "NAVCAM FOV", + Path = "/Solar System/Missions/Rosetta/Instruments" + } } local ImagePlane = { - Name = "ImagePlaneRosetta", - Parent = transforms.Comet67P.Name, + Identifier = "ImagePlaneRosetta", + Parent = transforms.Comet67P.Identifier, Renderable = { Type = "RenderablePlaneProjection", Frame = "67P/C-G_CK", @@ -386,12 +438,15 @@ local ImagePlane = { Moving = false, Texture = textures .. "/defaultProj.png" }, - GuiPath = "/Solar System/Missions/Rosetta" + GUI = { + Name = "Rosetta Image Plane", + Path = "/Solar System/Missions/Rosetta" + } } local RosettaCometTrail = { - Name = "RosettaCometTrail", - Parent = transforms.Barycenter.Name, + Identifier = "RosettaCometTrail", + Parent = transforms.Barycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -404,12 +459,15 @@ local RosettaCometTrail = { EndTime = "2016 SEP 30 12:00:00", SampleInterval = 3600 }, - GuiPath = "/Solar System/Missions/Rosetta" + GUI = { + Name = "Rosetta Comet Trail", + Path = "/Solar System/Missions/Rosetta" + } } local PhilaeTrail = { - Name = "PhilaeTrail", - Parent = transforms.Barycenter.Name, + Identifier = "PhilaeTrail", + Parent = transforms.Barycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -422,7 +480,10 @@ local PhilaeTrail = { EndTime = "2014 NOV 12 17:00:00", SampleInterval = 2 }, - GuiPath = "/Solar System/Missions/Rosetta" + GUI = { + Name = "Philae Trail", + Path = "/Solar System/Missions/Rosetta" + } } diff --git a/data/assets/scene/solarsystem/missions/voyager/voyager1.asset b/data/assets/scene/solarsystem/missions/voyager/voyager1.asset index 0e72159101..5d8e2392c0 100644 --- a/data/assets/scene/solarsystem/missions/voyager/voyager1.asset +++ b/data/assets/scene/solarsystem/missions/voyager/voyager1.asset @@ -35,8 +35,8 @@ local RotationMatrix = { } local Voyager1 = { - Name = "Voyager 1", - Parent = sunTransforms.SolarSystemBarycenter.Name, + Identifier = "Voyager_1", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -50,12 +50,15 @@ local Voyager1 = { DestinationFrame = "GALACTIC" } }, - GuiPath = "/Solar System/Missions/Voyager 1" + GUI = { + Name = "Voyager 1", + Path = "/Solar System/Missions/Voyager 1" + } } local Voyager1Main = { - Name = "Voyager 1 Main", - Parent = Voyager1.Name, + Identifier = "Voyager_1_Main", + Parent = Voyager1.Identifier, Renderable = { Type = "RenderableModel", Geometry = { @@ -65,12 +68,15 @@ local Voyager1Main = { ColorTexture = models .. "/voyager-main.jpg", ModelTransform = RotationMatrix }, - GuiPath = "/Solar System/Missions/Voyager 1" + GUI = { + Name = "Voyager 1 Main", + Path = "/Solar System/Missions/Voyager 1" + } } local Voyager1Antenna = { - Name = "Voyager 1 Antanna", - Parent = Voyager1.Name, + Identifier = "Voyager_1_Antanna", + Parent = Voyager1.Identifier, Renderable = { Type = "RenderableModel", Geometry = { @@ -80,15 +86,18 @@ local Voyager1Antenna = { ColorTexture = models .. "/voyager-antenna.png", ModelTransform = RotationMatrix }, - GuiPath = "/Solar System/Missions/Voyager 1" + GUI = { + Name = "Voyager 1 Antanna", + Path = "/Solar System/Missions/Voyager 1" + } } -- The trails are organized as follows. The cruise phases can be resolved in relatively -- low resolution since they are just straight lines -- The encounter phases should be much higher resolution or otherwise artifacts would appear local VoyagerTrailCruiseEarthJupiter = { - Name = "Voyager 1 Trail Cruise Earth-Jupiter", - Parent = sunTransforms.SolarSystemBarycenter.Name, + Identifier = "Voyager_1_Trail_Cruise_Earth_Jupiter", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -102,12 +111,15 @@ local VoyagerTrailCruiseEarthJupiter = { EndTime = "1979 MAR 04", SampleInterval = 545 * 2 -- 545 is the number of days between the Start and End time }, - GuiPath = "/Solar System/Missions/Voyager 1" + GUI = { + Name = "Voyager 1 Trail Cruise Earth-Jupiter", + Path = "/Solar System/Missions/Voyager 1" + } } local VoyagerTrailEncounterJupiter = { - Name = "Voyager 1 Trail Encounter Jupiter", - Parent = sunTransforms.SolarSystemBarycenter.Name, + Identifier = "Voyager_1_Trail_Encounter_Jupiter", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -122,12 +134,15 @@ local VoyagerTrailEncounterJupiter = { EndTime = "1979 MAR 09", SampleInterval = 100 }, - GuiPath = "/Solar System/Missions/Voyager 1" + GUI = { + Name = "Voyager 1 Trail Encounter Jupiter", + Path = "/Solar System/Missions/Voyager 1" + } } local VoyagerTrailCruiseJupiterSaturn = { - Name = "Voyager 1 Trail Cruise Jupiter-Saturn", - Parent = sunTransforms.SolarSystemBarycenter.Name, + Identifier = "Voyager_1_Trail_Cruise_Jupiter_Saturn", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -142,12 +157,15 @@ local VoyagerTrailCruiseJupiterSaturn = { EndTime = "1980 NOV 11", SampleInterval = 618 * 2 -- 618 is the number of days between the Start and End time }, - GuiPath = "/Solar System/Missions/Voyager 1" + GUI = { + Name = "Voyager 1 Trail Cruise Jupiter-Saturn", + Path = "/Solar System/Missions/Voyager 1" + } } local VoyagerTrailEncounterSaturn = { - Name = "Voyager 1 Trail Encounter Saturn", - Parent = sunTransforms.SolarSystemBarycenter.Name, + Identifier = "Voyager_1_Trail_Encounter_Saturn", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -162,12 +180,15 @@ local VoyagerTrailEncounterSaturn = { EndTime = "1980 NOV 16", SampleInterval = 100 }, - GuiPath = "/Solar System/Missions/Voyager 1" + GUI = { + Name = "Voyager 1 Trail Encounter Saturn", + Path = "/Solar System/Missions/Voyager 1" + } } local VoyagerTrailCruiseSaturnInf = { - Name = "Voyager 1 Trail Cruise Saturn-Inf", - Parent = sunTransforms.SolarSystemBarycenter.Name, + Identifier = "Voyager_1_Trail_Cruise_Saturn_Inf", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -182,7 +203,10 @@ local VoyagerTrailCruiseSaturnInf = { EndTime = "2021 JAN 01", SampleInterval = 14656 * 2 -- 14656 is the number of days between the Start and End time }, - GuiPath = "/Solar System/Missions/Voyager 1" + GUI = { + Name = "Voyager 1 Trail Cruise Saturn-Inf", + Path = "/Solar System/Missions/Voyager 1" + } } diff --git a/data/assets/scene/solarsystem/missions/voyager/voyager2.asset b/data/assets/scene/solarsystem/missions/voyager/voyager2.asset index 7d8b94a965..192ed5b95a 100644 --- a/data/assets/scene/solarsystem/missions/voyager/voyager2.asset +++ b/data/assets/scene/solarsystem/missions/voyager/voyager2.asset @@ -37,8 +37,8 @@ local RotationMatrix = { } local Voyager2 = { - Name = "Voyager 2", - Parent = sunTransforms.SolarSystemBarycenter.Name, + Identifier = "Voyager_2", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -52,12 +52,15 @@ local Voyager2 = { DestinationFrame = "GALACTIC" } }, - GuiPath = "/Solar System/Missions/Voyager 2" + GUI = { + Name = "Voyager 2", + Path = "/Solar System/Missions/Voyager 2" + } } local Voyager2Main = { - Name = "Voyager 2 Main", - Parent = Voyager2.Name, + Identifier = "Voyager_2_Main", + Parent = Voyager2.Identifier, Renderable = { Type = "RenderableModel", Geometry = { @@ -67,12 +70,15 @@ local Voyager2Main = { ColorTexture = models .. "/voyager-main.jpg", ModelTransform = RotationMatrix }, - GuiPath = "/Solar System/Missions/Voyager 2" + GUI = { + Name = "Voyager 2 Main", + Path = "/Solar System/Missions/Voyager 2" + } } local Voyager2Antenna = { - Name = "Voyager 2 Antanna", - Parent = Voyager2.Name, + Identifier = "Voyager_2_Antanna", + Parent = Voyager2.Identifier, Renderable = { Type = "RenderableModel", Geometry = { @@ -82,15 +88,18 @@ local Voyager2Antenna = { ColorTexture = models .. "/voyager-antenna.png", ModelTransform = RotationMatrix }, - GuiPath = "/Solar System/Missions/Voyager 2" + GUI = { + Name = "Voyager 2 Antanna", + Path = "/Solar System/Missions/Voyager 2" + } } -- The trails are organized as follows. The cruise phases can be resolved in relatively -- low resolution since they are just straight lines -- The encounter phases should be much higher resolution or otherwise artifacts would appear local VoyagerTrailCruiseEarthJupiter = { - Name = "Voyager 2 Trail Cruise Earth-Jupiter", - Parent = sunTransforms.SolarSystemBarycenter.Name, + Identifier = "Voyager_2_Trail_Cruise_Earth_Jupiter", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -104,12 +113,15 @@ local VoyagerTrailCruiseEarthJupiter = { EndTime = "1979 JUL 06", SampleInterval = 669 * 2 -- 669 is the number of days between the Start and End time }, - GuiPath = "/Solar System/Missions/Voyager 2" + GUI = { + Name = "Voyager 2 Trail Cruise Earth-Jupiter", + Path = "/Solar System/Missions/Voyager 2" + } } local VoyagerTrailEncounterJupiter = { - Name = "Voyager 2 Trail Encounter Jupiter", - Parent = sunTransforms.SolarSystemBarycenter.Name, + Identifier = "Voyager_2_Trail_Encounter_Jupiter", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -124,12 +136,15 @@ local VoyagerTrailEncounterJupiter = { EndTime = "1979 JUL 15", SampleInterval = 100 }, - GuiPath = "/Solar System/Missions/Voyager 2" + GUI = { + Name = "Voyager 2 Trail Encounter Jupiter", + Path = "/Solar System/Missions/Voyager 2" + } } local VoyagerTrailCruiseJupiterSaturn = { - Name = "Voyager 2 Trail Cruise Jupiter-Saturn", - Parent = sunTransforms.SolarSystemBarycenter.Name, + Identifier = "Voyager_2_Trail_Cruise_Jupiter_Saturn", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -144,12 +159,15 @@ local VoyagerTrailCruiseJupiterSaturn = { EndTime = "1981 AUG 23", SampleInterval = 770 * 2 -- 770 is the number of days between the Start and End time }, - GuiPath = "/Solar System/Missions/Voyager 2" + GUI = { + Name = "Voyager 2 Trail Cruise Jupiter-Saturn", + Path = "/Solar System/Missions/Voyager 2" + } } local VoyagerTrailEncounterSaturn = { - Name = "Voyager 2 Trail Encounter Saturn", - Parent = sunTransforms.SolarSystemBarycenter.Name, + Identifier = "Voyager_2_Trail_Encounter_Saturn", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -164,12 +182,15 @@ local VoyagerTrailEncounterSaturn = { EndTime = "1981 AUG 30", SampleInterval = 100 }, - GuiPath = "/Solar System/Missions/Voyager 2" + GUI = { + Name = "Voyager 2 Trail Encounter Saturn", + Path = "/Solar System/Missions/Voyager 2" + } } local VoyagerTrailSaturnUranus = { - Name = "Voyager 2 Trail Cruise Saturn-Uranus", - Parent = sunTransforms.SolarSystemBarycenter.Name, + Identifier = "Voyager_2_Trail_Cruise_Saturn_Uranus", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -184,12 +205,15 @@ local VoyagerTrailSaturnUranus = { EndTime = "1986 JAN 22", SampleInterval = 1971 * 2 -- 1971 is the number of days between the Start and End time }, - GuiPath = "/Solar System/Missions/Voyager 2" + GUI = { + Name = "Voyager 2 Trail Cruise Saturn-Uranus", + Path = "/Solar System/Missions/Voyager 2" + } } local VoyagerTrailEncounterUranus = { - Name = "Voyager 2 Trail Encounter Uranus", - Parent = sunTransforms.SolarSystemBarycenter.Name, + Identifier = "Voyager_2_Trail_Encounter_Uranus", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -204,12 +228,15 @@ local VoyagerTrailEncounterUranus = { EndTime = "1986 JAN 27", SampleInterval = 100 }, - GuiPath = "/Solar System/Missions/Voyager 2" + GUI = { + Name = "Voyager 2 Trail Encounter Uranus", + Path = "/Solar System/Missions/Voyager 2" + } } local VoyagerTrailCruiseUranusNeptune = { - Name = "Voyager 2 Trail Cruise Uranus-Neptune", - Parent = sunTransforms.SolarSystemBarycenter.Name, + Identifier = "Voyager_2_Trail_Cruise_Uranus_Neptune", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -224,12 +251,15 @@ local VoyagerTrailCruiseUranusNeptune = { EndTime = "1989 AUG 24", SampleInterval = 1305 * 2 -- 1305 is the number of days between the Start and End time }, - GuiPath = "/Solar System/Missions/Voyager 2" + GUI = { + Name = "Voyager 2 Trail Cruise Uranus-Neptune", + Path = "/Solar System/Missions/Voyager 2" + } } local VoyagerTrailEncounterNeptune = { - Name = "Voyager 2 Trail Encounter Neptune", - Parent = sunTransforms.SolarSystemBarycenter.Name, + Identifier = "Voyager_2_Trail_Encounter_Neptune", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -244,12 +274,15 @@ local VoyagerTrailEncounterNeptune = { EndTime = "1989 AUG 26", SampleInterval = 100 }, - GuiPath = "/Solar System/Missions/Voyager 2" + GUI = { + Name = "Voyager 2 Trail Encounter Neptune", + Path = "/Solar System/Missions/Voyager 2" + } } local VoyagerTrailCruiseNeptuneInf = { - Name = "Voyager 2 Trail Cruise Neptune-Inf", - Parent = sunTransforms.SolarSystemBarycenter.Name, + Identifier = "Voyager_2_Trail_Cruise_Neptune_Inf", + Parent = sunTransforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailTrajectory", Translation = { @@ -264,7 +297,10 @@ local VoyagerTrailCruiseNeptuneInf = { EndTime = "2021 JAN 01", SampleInterval = 11451 * 2 -- 11451 is the number of days between the Start and End time }, - GuiPath = "/Solar System/Missions/Voyager 2" + GUI = { + Name = "Voyager 2 Trail Cruise Neptune-Inf", + Path = "/Solar System/Missions/Voyager 2" + } } diff --git a/data/assets/scene/solarsystem/planets/earth/atmosphere.asset b/data/assets/scene/solarsystem/planets/earth/atmosphere.asset index b13c8f677b..641e3a0759 100644 --- a/data/assets/scene/solarsystem/planets/earth/atmosphere.asset +++ b/data/assets/scene/solarsystem/planets/earth/atmosphere.asset @@ -6,28 +6,28 @@ local assetHelper = asset.require('util/asset_helper') -- local earthEllipsoid = { 6378137.0, 6378137.0, 6356752.314245 } local earthEllipsoid = { 6378137.0, 6378137.0, 6378137.0 } local Atmosphere = { - Name = "EarthAtmosphere", - Parent = transforms.Earth.Name, + Identifier = "EarthAtmosphere", + Parent = transforms.Earth.Identifier, Renderable = { Type = "RenderableAtmosphere", Atmosphere = { - -- Atmosphere radius in Km - AtmosphereRadius = 6447.0, - PlanetRadius = 6377.0, - PlanetAverageGroundReflectance = 0.1, - GroundRadianceEmittion = 0.6, - Rayleigh = { - Coefficients = { - -- Wavelengths are given in 10^-9m - Wavelengths = { 680, 550, 440 }, - -- Reflection coefficients are given in km^-1 - Scattering = { 5.8E-3, 13.5E-3, 33.1E-3 }, - -- In Rayleigh scattering, the coefficients of absorption and scattering are the same. + -- Atmosphere radius in Km + AtmosphereRadius = 6447.0, + PlanetRadius = 6377.0, + PlanetAverageGroundReflectance = 0.1, + GroundRadianceEmittion = 0.6, + Rayleigh = { + Coefficients = { + -- Wavelengths are given in 10^-9m + Wavelengths = { 680, 550, 440 }, + -- Reflection coefficients are given in km^-1 + Scattering = { 5.8E-3, 13.5E-3, 33.1E-3 }, + -- In Rayleigh scattering, the coefficients of absorption and scattering are the same. + }, + -- Thichkness of atmosphere if its density were uniform, in Km + H_R = 8.0 }, - -- Thichkness of atmosphere if its density were uniform, in Km - H_R = 8.0 - }, - --[[ + --[[ Ozone = { Coefficients = { -- Extinction coefficients @@ -93,7 +93,10 @@ local Atmosphere = { --Caster2 = { Name = "Independency Day Ship", Radius = 0.0, } } }, - GuiPath = "/Solar System/Planets/Earth" + GUI = { + Name = "Earth Atmosphere", + Path = "/Solar System/Planets/Earth" + } } diff --git a/data/assets/scene/solarsystem/planets/earth/earth.asset b/data/assets/scene/solarsystem/planets/earth/earth.asset index 9cc9659721..5ed01f4bfd 100644 --- a/data/assets/scene/solarsystem/planets/earth/earth.asset +++ b/data/assets/scene/solarsystem/planets/earth/earth.asset @@ -10,8 +10,8 @@ local earthEllipsoid = { 6378137.0, 6378137.0, 6378137.0 } local mapServiceConfigsPath = asset.localResource("map_service_configs") local Earth = { - Name = "Earth", - Parent = transforms.EarthIAU.Name, + Identifier = "Earth", + Parent = transforms.EarthIAU.Identifier, Renderable = { Type = "RenderableGlobe", Radii = earthEllipsoid, @@ -20,12 +20,14 @@ local Earth = { Layers = { ColorLayers = { { + Identifier = "ESRI_VIIRS_Combo", Name = "ESRI VIIRS Combo", Type = "ByLevelTileLayer", LevelTileProviders = { { MaxLevel = 4, TileProvider = { + Identifier = "Temporal_VIIRS_SNPP", Name = "Temporal VIIRS SNPP", Type = "TemporalTileLayer", FilePath = openspace.globebrowsing.createTemporalGibsGdalXml( @@ -42,6 +44,7 @@ local Earth = { { MaxLevel = 22, TileProvider = { + Identifier = "ESRI_World_Imagery", Name = "ESRI World Imagery", FilePath = mapServiceConfigsPath .. "/ESRI/World_Imagery.wms", PadTiles = false @@ -51,20 +54,24 @@ local Earth = { Enabled = true, PadTiles = false, Fallback = { + Identifier = "Blue_Marble", Name = "Blue Marble", FilePath = texturesPath .. "/earth_bluemarble.jpg", Enabled = true } }, { + Identifier = "ESRI_World_Imagery", Name = "ESRI World Imagery", FilePath = mapServiceConfigsPath .. "/ESRI/World_Imagery.wms" }, { + Identifier = "ESRI_Imagery_World_2D", Name = "ESRI Imagery World 2D", FilePath = mapServiceConfigsPath .. "/ESRI/ESRI_Imagery_World_2D.wms" }, { + Identifier = "VIIRS_SNPP_Temporal", Name = "VIIRS SNPP (Temporal)", Type = "TemporalTileLayer", FilePath = openspace.globebrowsing.createTemporalGibsGdalXml( @@ -77,6 +84,7 @@ local Earth = { ) }, { + Identifier = "Aqua_Modis_Temporal", Name = "Aqua Modis (Temporal)", Type = "TemporalTileLayer", FilePath = openspace.globebrowsing.createTemporalGibsGdalXml( @@ -89,6 +97,7 @@ local Earth = { ) }, { + Identifier = "Terra_Modis_Temporal", Name = "Terra Modis (Temporal)", Type = "TemporalTileLayer", FilePath = openspace.globebrowsing.createTemporalGibsGdalXml( @@ -101,11 +110,12 @@ local Earth = { ) }, { - Name = "BMNG", + Identifier = "BMNG", FilePath = mapServiceConfigsPath .. "/Utah/Bmng.wms" }, { - Name = "AMSR2_GCOM_W1_Sea_Ice_Concentration (Temporal)", + Identifier = "AMSR2_GCOM_W1_Sea_Ice_Concentration_Temporal", + Name = "AMSR2 GCOM W1 Sea Ice Concentration (Temporal)", Type = "TemporalTileLayer", FilePath = openspace.globebrowsing.createTemporalGibsGdalXml( "AMSR2_Sea_Ice_Concentration_12km", @@ -117,7 +127,8 @@ local Earth = { ) }, { - Name = "MODIS_Terra_Chlorophyll_A (Temporal)", + Identifier = "MODIS_Terra_Chlorophyll_A_Temporal", + Name = "MODIS Terra Chlorophyll A (Temporal)", Type = "TemporalTileLayer", FilePath = openspace.globebrowsing.createTemporalGibsGdalXml( "MODIS_Terra_Chlorophyll_A", @@ -129,7 +140,8 @@ local Earth = { ) }, { - Name = "GHRSST_L4_G1SST_Sea_Surface_Temperature (Temporal)", + Identifier = "GHRSST_L4_G1SST_Sea_Surface_Temperature_Temporal", + Name = "GHRSST L4 G1SST Sea Surface Temperature (Temporal)", Type = "TemporalTileLayer", FilePath = openspace.globebrowsing.createTemporalGibsGdalXml( "GHRSST_L4_G1SST_Sea_Surface_Temperature", @@ -143,16 +155,19 @@ local Earth = { }, NightLayers = { { + Identifier = "Earth_at_Night_2012", Name = "Earth at Night 2012", FilePath = mapServiceConfigsPath .. "/GIBS/night/VIIRS_CityLights_2012.wms", Enabled = true, Fallback = { + Identifier = "Earth_Night", Name = "Earth Night", FilePath = texturesPath .. "/earth_night.jpg", Enabled = true, } }, { + Identifier = "Earth_at_Night_Temporal", Name = "Earth at Night (Temporal)", Type = "TemporalTileLayer", FilePath = openspace.globebrowsing.createTemporalGibsGdalXml( @@ -167,33 +182,38 @@ local Earth = { }, WaterMasks = { { - Name = "MODIS_Water_Mask", + Identifier = "MODIS_Water_Mask", + Name = "MODIS Water Mask", FilePath = mapServiceConfigsPath .. "/GIBS/water/MODIS_Water_Mask.wms", Enabled = true }, { - Name = "GEBCO", + Identifier = "GEBCO", FilePath = mapServiceConfigsPath .. "/Utah/Gebco.wms" } }, Overlays = { { - Name = "Coastlines", + Identifier = "Coastlines", FilePath = mapServiceConfigsPath .. "/GIBS/overlays/Coastlines.wms" }, { - Name = "Reference_Features", + Identifier = "Reference_Features", + Name = "Reference Features", FilePath = mapServiceConfigsPath .. "/GIBS/overlays/Reference_Features.wms" }, { - Name = "Reference_Labels", + Identifier = "Reference_Labels", + Name = "Reference Labels", FilePath = mapServiceConfigsPath .. "/GIBS/overlays/Reference_Labels.wms" }, { + Identifier = "Tile_Indices", Name = "Tile Indices", Type = "TileIndexTileLayer" }, { + Identifier = "Size_Reference", Name = "Size Reference", Type = "SizeReferenceTileLayer", Radii = earthEllipsoid @@ -201,6 +221,7 @@ local Earth = { }, HeightLayers = { { + Identifier = "Terrain_tileset", Name = "Terrain tileset", FilePath = mapServiceConfigsPath .. "/ESRI/Terrain.wms", Enabled = true, @@ -215,7 +236,9 @@ local Earth = { } }, Tag = { "planet_solarSystem", "planet_terrestrial" }, - GuiPath = "/Solar System/Planets/Earth" + GUI = { + Path = "/Solar System/Planets/Earth" + } } diff --git a/data/assets/scene/solarsystem/planets/earth/markers.asset b/data/assets/scene/solarsystem/planets/earth/markers.asset index ffb25ffb8a..beeaa55e27 100644 --- a/data/assets/scene/solarsystem/planets/earth/markers.asset +++ b/data/assets/scene/solarsystem/planets/earth/markers.asset @@ -5,8 +5,8 @@ local texturesPath = asset.require('./earth_textures').TexturesPath local EarthMarker = { - Name = "EarthMarker", - Parent = transforms.EarthIAU.Name, + Identifier = "EarthMarker", + Parent = transforms.EarthIAU.Identifier, Renderable = { Type = "RenderablePlaneImageLocal", Enabled = false, @@ -16,7 +16,10 @@ local EarthMarker = { Texture = texturesPath .. "/marker.png", BlendMode = "Additive" }, - GuiPath = "/Solar System/Planets/Earth" + GUI = { + Name = "Earth Marker", + Path = "/Solar System/Planets/Earth" + } } diff --git a/data/assets/scene/solarsystem/planets/earth/moon/moon.asset b/data/assets/scene/solarsystem/planets/earth/moon/moon.asset index ed249c903c..afda079c73 100644 --- a/data/assets/scene/solarsystem/planets/earth/moon/moon.asset +++ b/data/assets/scene/solarsystem/planets/earth/moon/moon.asset @@ -10,8 +10,8 @@ asset.request('./trail') local mapServiceConfigs = asset.localResource("map_service_configs") local Moon = { - Name = "Moon", - Parent = transforms.EarthBarycenter.Name, + Identifier = "Moon", + Parent = transforms.EarthBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -32,28 +32,29 @@ local Moon = { ColorLayers = { -- Utah based servers { - Name = "ClemUvvis", + Identifier = "ClemUvvis", FilePath = mapServiceConfigs .. "/Utah/ClemUvvis.wms" }, { - Name = "Kaguya", + Identifier = "Kaguya", FilePath = mapServiceConfigs .. "/Utah/Kaguya.wms" }, { + Identifier = "WAC_Utah", Name = "WAC Utah", FilePath = mapServiceConfigs .. "/Utah/Wac.wms", Enabled = true }, -- LMMP based servers { - Name = "OnMoon", + Identifier = "OnMoon", FilePath = mapServiceConfigs .. "/OnMoonColor.wms" } }, HeightLayers = { -- Utah based servers { - Name = "LolaDem", + Identifier = "LolaDem", FilePath = mapServiceConfigs .. "/Utah/LolaDem.wms", Enabled = true, TilePixelSize = 64, @@ -72,7 +73,9 @@ local Moon = { } } }, - GuiPath = "/Solar System/Planets/Earth/Moon" + GUI = { + Path = "/Solar System/Planets/Earth/Moon" + } } diff --git a/data/assets/scene/solarsystem/planets/earth/moon/trail.asset b/data/assets/scene/solarsystem/planets/earth/moon/trail.asset index b82b2cb143..fe707fff53 100644 --- a/data/assets/scene/solarsystem/planets/earth/moon/trail.asset +++ b/data/assets/scene/solarsystem/planets/earth/moon/trail.asset @@ -5,8 +5,8 @@ asset.require('spice/base') local MoonTrail = { - Name = "MoonTrail", - Parent = transforms.EarthBarycenter.Name, + Identifier = "MoonTrail", + Parent = transforms.EarthBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -18,7 +18,10 @@ local MoonTrail = { Period = 27, Resolution = 1000 }, - GuiPath = "/Solar System/Planets/Earth/Moon" + GUI = { + Name = "Moon Trail", + Path = "/Solar System/Planets/Earth/Moon" + } } diff --git a/data/assets/scene/solarsystem/planets/earth/satellites/satellites_shared.asset b/data/assets/scene/solarsystem/planets/earth/satellites/satellites_shared.asset index ee2b7948b6..7bd1566701 100644 --- a/data/assets/scene/solarsystem/planets/earth/satellites/satellites_shared.asset +++ b/data/assets/scene/solarsystem/planets/earth/satellites/satellites_shared.asset @@ -45,8 +45,8 @@ local addSatelliteGroupObjects = function(group, tleFolder, shouldAddDuplicates) function getSat(title, file, lineNum, textureFile, group) return { - Name = title, - Parent = transforms.EarthInertial.Name, + Identifier = title, + Parent = transforms.EarthInertial.Identifier, Renderable = { Type = "RenderablePlaneImageLocal", Enabled = false, @@ -60,7 +60,7 @@ local addSatelliteGroupObjects = function(group, tleFolder, shouldAddDuplicates) Translation = { Type = "TLETranslation", Body = title, - Observer = transforms.EarthInertial.Name, + Observer = transforms.EarthInertial.Identifier, File = file, LineNumber = lineNum }, @@ -70,20 +70,22 @@ local addSatelliteGroupObjects = function(group, tleFolder, shouldAddDuplicates) } }, Tag = { "earth_satellite_" .. group, "earth_satellite_" .. group .. "_marker" }, - GuiPath = "/Solar System/Planets/Earth/Satellites" + GUI = { + Path = "/Solar System/Planets/Earth/Satellites" + } } end function getSatTrail(title, file, lineNum, per, color, group) return { - Name = title .. "_trail", - Parent = transforms.EarthInertial.Name, + Identifier = title .. "_trail", + Parent = transforms.EarthInertial.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { Type = "TLETranslation", Body = title, - Observer = transforms.EarthInertial.Name, + Observer = transforms.EarthInertial.Identifier, File = file, LineNumber = lineNum }, @@ -92,7 +94,9 @@ local addSatelliteGroupObjects = function(group, tleFolder, shouldAddDuplicates) Resolution = 160 }, Tag = { "earth_satellite_" .. group, "earth_satellite_" .. group .. "_trail"}, - GuiPath = "/Solar System/Planets/Earth/Satellites" + GUI = { + Path = "/Solar System/Planets/Earth/Satellites" + } } end @@ -149,11 +153,11 @@ local addSatelliteGroupObjects = function(group, tleFolder, shouldAddDuplicates) -- Register satellite object and trail local sat_var = getSat(satName, path, n, texture, group.Title) openspace.addSceneGraphNode(sat_var) - table.insert(obj, sat_var.Name) + table.insert(obj, sat_var.Identifier) local satTrail_var = getSatTrail(satName, path, n, per, group.TrailColor, group.Title) openspace.addSceneGraphNode(satTrail_var) - table.insert(obj, satTrail_var.Name) + table.insert(obj, satTrail_var.Identifier) end end diff --git a/data/assets/scene/solarsystem/planets/earth/trail.asset b/data/assets/scene/solarsystem/planets/earth/trail.asset index 815ed7c019..7abe222003 100644 --- a/data/assets/scene/solarsystem/planets/earth/trail.asset +++ b/data/assets/scene/solarsystem/planets/earth/trail.asset @@ -5,8 +5,8 @@ asset.require("spice/base") local EarthTrail = { - Name = "EarthTrail", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "EarthTrail", + Parent = transforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -19,7 +19,10 @@ local EarthTrail = { Resolution = 1000, Tag = { "planetTrail_solarSystem", "planetTrail_terrestrial" } }, - GuiPath = "/Solar System/Planets/Earth" + GUI = { + Name = "Earth Trail", + Path = "/Solar System/Planets/Earth" + } } diff --git a/data/assets/scene/solarsystem/planets/earth/transforms.asset b/data/assets/scene/solarsystem/planets/earth/transforms.asset index 5630c9bbc2..b51e5c8e9e 100644 --- a/data/assets/scene/solarsystem/planets/earth/transforms.asset +++ b/data/assets/scene/solarsystem/planets/earth/transforms.asset @@ -5,8 +5,8 @@ asset.require("spice/base") local EarthBarycenter = { - Name = "EarthBarycenter", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "EarthBarycenter", + Parent = transforms.SolarSystemBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -14,13 +14,16 @@ local EarthBarycenter = { Observer = "SUN" } }, - GuiPath = "/Solar System/Planets/Earth" + GUI = { + Name = "Earth Barycenter", + Path = "/Solar System/Planets/Earth" + } } local EarthInertial = { -- The default reference frame for Earth-orbiting satellites - Name = "EarthInertial", - Parent = EarthBarycenter.Name, + Identifier = "EarthInertial", + Parent = EarthBarycenter.Identifier, Transform = { Rotation = { Type = "SpiceRotation", @@ -28,12 +31,15 @@ local EarthInertial = { DestinationFrame = "GALACTIC", } }, - GuiPath = "/Solar System/Planets/Earth" + GUI = { + Name = "Earth Inertial", + Path = "/Solar System/Planets/Earth" + } } local EarthIAU = { - Name = "EarthIAU", - Parent = EarthBarycenter.Name, + Identifier = "EarthIAU", + Parent = EarthBarycenter.Identifier, Transform = { Rotation = { Type = "SpiceRotation", @@ -41,7 +47,10 @@ local EarthIAU = { DestinationFrame = "GALACTIC", } }, - GuiPath = "/Solar System/Planets/Earth" + GUI = { + Name = "Earth IAU", + Path = "/Solar System/Planets/Earth" + } } diff --git a/data/assets/scene/solarsystem/planets/jupiter/callisto/callisto.asset b/data/assets/scene/solarsystem/planets/jupiter/callisto/callisto.asset index 4ed9c55f5c..6f1abe17c6 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/callisto/callisto.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/callisto/callisto.asset @@ -14,8 +14,8 @@ local textures = asset.syncedResource({ }) local Callisto = { - Name = "Callisto", - Parent = transforms.JupiterBarycenter.Name, + Identifier = "Callisto", + Parent = transforms.JupiterBarycenter.Identifier, Transform = { Rotation = { Type = "SpiceRotation", @@ -37,7 +37,7 @@ local Callisto = { Layers = { ColorLayers = { { - Name = "Callisto Texture", + Identifier = "Texture", FilePath = textures .. "/callisto.jpg", Enabled = true } @@ -45,7 +45,9 @@ local Callisto = { } }, Tag = { "moon_solarSystem", "moon_giants", "moon_jupiter" }, - GuiPath = "/Solar System/Planets/Jupiter/Moons" + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/jupiter/callisto/trail.asset b/data/assets/scene/solarsystem/planets/jupiter/callisto/trail.asset index 3f5232b41c..2c4f4e58a0 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/callisto/trail.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/callisto/trail.asset @@ -6,8 +6,8 @@ local kernels = asset.require('../jup310').Kernels local CallistoTrail = { - Name = "CallistoTrail", - Parent = transforms.JupiterBarycenter.Name, + Identifier = "CallistoTrail", + Parent = transforms.JupiterBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -21,7 +21,10 @@ local CallistoTrail = { Resolution = 1000 }, Tag = { "moonTrail_solarSystem", "moonTrail_giants", "moonTrail_jupiter" }, - GuiPath = "/Solar System/Planets/Jupiter/Moons" + GUI = { + Name = "Callisto Trail", + Path = "/Solar System/Planets/Jupiter/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/jupiter/europa/europa.asset b/data/assets/scene/solarsystem/planets/jupiter/europa/europa.asset index 40711a8999..d37e1d2d3b 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/europa/europa.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/europa/europa.asset @@ -14,8 +14,8 @@ local textures = asset.syncedResource({ }) local Europa = { - Name = "Europa", - Parent = transforms.JupiterBarycenter.Name, + Identifier = "Europa", + Parent = transforms.JupiterBarycenter.Identifier, Transform = { Rotation = { Type = "SpiceRotation", @@ -37,7 +37,7 @@ local Europa = { Layers = { ColorLayers = { { - Name = "Europa Texture", + Identifier = "Texture", FilePath = textures .. "/europa.jpg", Enabled = true } @@ -45,7 +45,9 @@ local Europa = { } }, Tag = { "moon_solarSystem", "moon_giants", "moon_jupiter" }, - GuiPath = "/Solar System/Planets/Jupiter/Moons" + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/jupiter/europa/trail.asset b/data/assets/scene/solarsystem/planets/jupiter/europa/trail.asset index 451ef42937..9c450158f7 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/europa/trail.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/europa/trail.asset @@ -6,8 +6,8 @@ local kernels = asset.require('../jup310').Kernels local EuropaTrail = { - Name = "EuropaTrail", - Parent = transforms.JupiterBarycenter.Name, + Identifier = "EuropaTrail", + Parent = transforms.JupiterBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -21,7 +21,10 @@ local EuropaTrail = { Resolution = 1000 }, Tag = { "moonTrail_solarSystem", "moonTrail_giants", "moonTrail_jupiter" }, - GuiPath = "/Solar System/Planets/Jupiter/Moons" + GUI = { + Name = "Europa Trail", + Path = "/Solar System/Planets/Jupiter/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/jupiter/ganymede/ganymede.asset b/data/assets/scene/solarsystem/planets/jupiter/ganymede/ganymede.asset index adce77b102..42efa8d7cb 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/ganymede/ganymede.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/ganymede/ganymede.asset @@ -14,8 +14,8 @@ local textures = asset.syncedResource({ }) local Ganymede = { - Name = "Ganymede", - Parent = transforms.JupiterBarycenter.Name, + Identifier = "Ganymede", + Parent = transforms.JupiterBarycenter.Identifier, Transform = { Rotation = { Type = "SpiceRotation", @@ -37,7 +37,7 @@ local Ganymede = { Layers = { ColorLayers = { { - Name = "Ganymede Texture", + Identifier = "Texture", FilePath = textures .. "/ganymede.jpg", Enabled = true } @@ -45,7 +45,9 @@ local Ganymede = { } }, Tag = { "moon_solarSystem", "moon_giants", "moon_jupiter" }, - GuiPath = "/Solar System/Planets/Jupiter/Moons" + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/jupiter/ganymede/trail.asset b/data/assets/scene/solarsystem/planets/jupiter/ganymede/trail.asset index c87ff052ee..580e1429f3 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/ganymede/trail.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/ganymede/trail.asset @@ -6,8 +6,8 @@ local kernels = asset.require('../jup310').Kernels local GanymedeTrail = { - Name = "GanymedeTrail", - Parent = transforms.JupiterBarycenter.Name, + Identifier = "GanymedeTrail", + Parent = transforms.JupiterBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -21,7 +21,10 @@ local GanymedeTrail = { Resolution = 1000 }, Tag = { "moonTrail_solarSystem", "moonTrail_giants", "moonTrail_jupiter" }, - GuiPath = "/Solar System/Planets/Jupiter/Moons" + GUI = { + Name = "Ganymede Trail", + Path = "/Solar System/Planets/Jupiter/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/jupiter/io/io.asset b/data/assets/scene/solarsystem/planets/jupiter/io/io.asset index c3c8fb7bb4..62d8309243 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/io/io.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/io/io.asset @@ -14,8 +14,8 @@ local textures = asset.syncedResource({ }) local Io = { - Name = "Io", - Parent = transforms.JupiterBarycenter.Name, + Identifier = "Io", + Parent = transforms.JupiterBarycenter.Identifier, Transform = { Rotation = { Type = "SpiceRotation", @@ -37,7 +37,7 @@ local Io = { Layers = { ColorLayers = { { - Name = "Io Texture", + Identifier = "Texture", FilePath = textures .. "/io.jpg", Enabled = true } @@ -45,7 +45,9 @@ local Io = { } }, Tag = { "moon_solarSystem", "moon_giants", "moon_jupiter" }, - GuiPath = "/Solar System/Planets/Jupiter/Moons" + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/jupiter/io/trail.asset b/data/assets/scene/solarsystem/planets/jupiter/io/trail.asset index 84ffaefd49..a971aaf806 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/io/trail.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/io/trail.asset @@ -6,8 +6,8 @@ local kernels = asset.require('../jup310').Kernels local IoTrail = { - Name = "IoTrail", - Parent = transforms.JupiterBarycenter.Name, + Identifier = "IoTrail", + Parent = transforms.JupiterBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -21,7 +21,10 @@ local IoTrail = { Resolution = 1000 }, Tag = { "moonTrail_solarSystem", "moonTrail_giants", "moonTrail_jupiter" }, - GuiPath = "/Solar System/Planets/Jupiter/Moons" + GUI = { + Name = "Io Trail", + Path = "/Solar System/Planets/Jupiter/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/jupiter/jupiter.asset b/data/assets/scene/solarsystem/planets/jupiter/jupiter.asset index 1696493f42..9333c339c1 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/jupiter.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/jupiter.asset @@ -13,8 +13,8 @@ local textures = asset.syncedResource({ }) local Jupiter = { - Name = "Jupiter", - Parent = transforms.JupiterBarycenter.Name, + Identifier = "Jupiter", + Parent = transforms.JupiterBarycenter.Identifier, Transform = { Rotation = { Type = "SpiceRotation", @@ -29,7 +29,7 @@ local Jupiter = { Layers = { ColorLayers = { { - Name = "Jupiter Texture", + Identifier = "Texture", FilePath = textures .. "/jupiter.jpg", Enabled = true } @@ -37,7 +37,9 @@ local Jupiter = { } }, Tag = { "planet_solarSystem", "planet_giants" }, - GuiPath = "/Solar System/Planets/Jupiter" + GUI = { + Path = "/Solar System/Planets/Jupiter" + } } diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/ananke_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/ananke_group.asset index 319a459950..dad2a58ad3 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/ananke_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/ananke_group.asset @@ -5,162 +5,186 @@ local kernels341 = asset.require('../jup341').Kernels -local parentName = transforms.JupiterBarycenter.Name +local parentIdentifier = transforms.JupiterBarycenter.Identifier local parentSpice = "JUPITER BARYCENTER" local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_ananke" } local trailColor = { 0.4, 0.3, 0.01 } local anankeGroup = { { - Name = "S/2010 J 2", + Identifier = "S2010J2", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "552", Radii = { 1000, 1000, 1000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Ananke Group", + GUI = { + Name = "S/2010 J 2", + Path = "/Solar System/Planets/Jupiter/Moons/Ananke Group" + }, TrailColor = trailColor, OrbitPeriod = 588.36, Kernels = kernels341 }, { - Name = "Thelxinoe", + Identifier = "Thelxinoe", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "THELXINOE", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Ananke Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Ananke Group" + }, TrailColor = trailColor, OrbitPeriod = 597.61, Kernels = kernels341 }, { - Name = "Euanthe", + Identifier = "Euanthe", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "EUANTHE", Radii = { 3000, 3000, 3000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Ananke Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Ananke Group" + }, TrailColor = trailColor, OrbitPeriod = 598.09, Kernels = kernels341 }, { - Name = "Iocaste", + Identifier = "Iocaste", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "IOCASTE", Radii = { 5000, 5000, 5000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Ananke Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Ananke Group" + }, TrailColor = trailColor, OrbitPeriod = 609.43, Kernels = kernels341 }, { - Name = "S/2003 J 16", + Identifier = "S2003J16", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "55068", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Ananke Group", + GUI = { + Name = "S/2003 J 16", + Path = "/Solar System/Planets/Jupiter/Moons/Ananke Group" + }, TrailColor = trailColor, OrbitPeriod = 610.36, Kernels = kernels341 }, { - Name = "Praxidike", + Identifier = "Praxidike", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "PRAXIDIKE", Radii = { 7000, 7000, 7000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Ananke Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Ananke Group" + }, TrailColor = trailColor, OrbitPeriod = 613.90, Kernels = kernels341 }, { - Name = "Harpalyke", + Identifier = "Harpalyke", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "HARPALYKE", Radii = { 4000, 4000, 4000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Ananke Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Ananke Group" + }, TrailColor = trailColor, OrbitPeriod = 624.54, Kernels = kernels341 }, { - Name = "Mneme", + Identifier = "Mneme", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "MNEME", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Ananke Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Ananke Group" + }, TrailColor = trailColor, OrbitPeriod = 627.48, Kernels = kernels341 }, { - Name = "Hermippe", + Identifier = "Hermippe", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "HERMIPPE", Radii = { 4000, 4000, 4000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Ananke Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Ananke Group" + }, TrailColor = trailColor, OrbitPeriod = 629.81, Kernels = kernels341 }, { - Name = "Thyone", + Identifier = "Thyone", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "THYONE", Radii = { 4000, 4000, 4000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Ananke Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Ananke Group" + }, TrailColor = trailColor, OrbitPeriod = 639.80, Kernels = kernels341 }, { - Name = "Ananke", + Identifier = "Ananke", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "ANANKE", Radii = { 28000, 28000, 28000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Ananke Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Ananke Group" + }, TrailColor = trailColor, OrbitPeriod = 640.38, Kernels = kernels341 diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/carme_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/carme_group.asset index ad9ffad04c..e84e241bf7 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/carme_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/carme_group.asset @@ -5,218 +5,250 @@ local kernels341 = asset.require('../jup341').Kernels -local parentName = transforms.JupiterBarycenter.Name +local parentIdentifier = transforms.JupiterBarycenter.Identifier local parentSpice = "JUPITER BARYCENTER" local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_carme" } local trailColor = { 0.4, 0.3, 0.01 } local carmeGroup = { { - Name = "Herse", + Identifier = "Herse", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "HERSE", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Carme Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Carme Group" + }, TrailColor = trailColor, OrbitPeriod = 672.75, Kernels = kernels341 }, { - Name = "Aitne", + Identifier = "Aitne", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "AITNE", Radii = { 3000, 3000, 3000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Carme Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Carme Group" + }, TrailColor = trailColor, OrbitPeriod = 679.64, Kernels = kernels341 }, { - Name = "Kale", + Identifier = "Kale", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "KALE", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Carme Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Carme Group" + }, TrailColor = trailColor, OrbitPeriod = 685.32, Kernels = kernels341 }, { - Name = "Taygete", + Identifier = "Taygete", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "TAYGETE", Radii = { 5000, 5000, 5000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Carme Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Carme Group" + }, TrailColor = trailColor, OrbitPeriod = 686.67, Kernels = kernels341 }, { - Name = "Chaldene", + Identifier = "Chaldene", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "CHALDENE", Radii = { 4000, 4000, 4000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Carme Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Carme Group" + }, TrailColor = trailColor, OrbitPeriod = 699.33, Kernels = kernels341 }, { - Name = "Erinome", + Identifier = "Erinome", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "ERINOME", Radii = { 3000, 3000, 3000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Carme Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Carme Group" + }, TrailColor = trailColor, OrbitPeriod = 711.96, Kernels = kernels341 }, { - Name = "Kallichore", + Identifier = "Kallichore", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "KALLICHORE", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Carme Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Carme Group" + }, TrailColor = trailColor, OrbitPeriod = 717.81, Kernels = kernels341 }, { - Name = "Kalyke", + Identifier = "Kalyke", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "KALYKE", Radii = { 5000, 5000, 5000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Carme Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Carme Group" + }, TrailColor = trailColor, OrbitPeriod = 721.02, Kernels = kernels341 }, { - Name = "Pasithee", + Identifier = "Pasithee", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "PASITHEE", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Carme Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Carme Group" + }, TrailColor = trailColor, OrbitPeriod = 726.93, Kernels = kernel341 }, { - Name = "S/2010 J 1", + Identifier = "S2010J1", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "551", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Carme Group", + GUI = { + Name = "S/2010 J 1", + Path = "/Solar System/Planets/Jupiter/Moons/Carme Group" + }, TrailColor = trailColor, OrbitPeriod = 722.83, Kernels = kernels341 }, { - Name = "Eukelade", + Identifier = "Eukelade", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "EUKELADE", Radii = { 4000, 4000, 4000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Carme Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Carme Group" + }, TrailColor = trailColor, OrbitPeriod = 735.20, Kernels = kernels341 }, { - Name = "Arche", + Identifier = "Arche", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "ARCHE", Radii = { 3000, 3000, 3000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Carme Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Carme Group" + }, TrailColor = trailColor, OrbitPeriod = 746.19, Kernels = kernels341 }, { - Name = "Isonoe", + Identifier = "Isonoe", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "ISONOE", Radii = { 4000, 4000, 4000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Carme Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Carme Group" + }, TrailColor = trailColor, OrbitPeriod = 750.13, Kernels = kernels341 }, { - Name = "Carme", + Identifier = "Carme", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "CARME", Radii = { 46000, 46000, 46000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Carme Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Carme Group" + }, TrailColor = trailColor, OrbitPeriod = 763.95, Kernels = kernels341 }, { - Name = "S/2003 J 5", + Identifier = "S2003J5", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "557", Radii = { 4000, 4000, 4000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Carme Group", + GUI = { + Name = "S/2003 J 5", + Path = "/Solar System/Planets/Jupiter/Moons/Carme Group" + }, TrailColor = trailColor, OrbitPeriod = 758.34, Kernels = kernels341 diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/carpo_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/carpo_group.asset index 5cf3db134d..0125e88f37 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/carpo_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/carpo_group.asset @@ -5,22 +5,24 @@ local kernels341 = asset.require('../jup341').Kernels -local parentName = transforms.JupiterBarycenter.Name +local parentIdentifier = transforms.JupiterBarycenter.Identifier local parentSpice = "JUPITER BARYCENTER" local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_carpo" } local trailColor = { 0.4, 0.3, 0.01 } local carpoGroup = { { - Name = "Carpo", + Identifier = "Carpo", Parent = { - Name = parentName, + Name = parentIdentifier, Spice = parentSpice }, Spice = "CARPO", Radii = { 3000, 3000, 3000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Carpo Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Carpo Group" + }, TrailColor = trailColor, OrbitPeriod = 458.62, Kernels = kernels341 diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/himalia_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/himalia_group.asset index 7c5956f6bb..11091923d4 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/himalia_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/himalia_group.asset @@ -5,79 +5,89 @@ local kernels341 = asset.require('../jup341').Kernels -local parentName = transforms.JupiterBarycenter.Name +local parentIdentifier = transforms.JupiterBarycenter.Identifier local parentSpice = "JUPITER BARYCENTER" local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_himalia" } local trailColor = { 0.4, 0.3, 0.01 } local himaliaGroup = { { - Name = "Leda", + Identifier = "Leda", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "LEDA", Radii = { 16000, 16000, 16000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Himalia Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Himalia Group" + }, TrailColor = trailColor, OrbitPeriod = 240.82, Kernels = kernels341 }, { - Name = "Himalia", + Identifier = "Himalia", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "HIMALIA", Radii = { 170000, 170000, 170000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Himalia Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Himalia Group" + }, TrailColor = trailColor, OrbitPeriod = 250.23, Kernels = kernels341 }, { - Name = "Lysithea", + Identifier = "Lysithea", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "LYSITHEA", Radii = { 36000, 36000, 36000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Himalia Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Himalia Group" + }, TrailColor = trailColor, OrbitPeriod = 259.89, Kernels = kernels341 }, { - Name = "Elara", + Identifier = "Elara", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "ELARA", Radii = { 86000, 86000, 86000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Himalia Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Himalia Group" + }, TrailColor = trailColor, OrbitPeriod = 257.62, Kernels = kernels341 }, { - Name = "Dia", + Identifier = "Dia", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, - -- Spice = "DIA", -- The name is not correctly registered in the Spice kernel + -- Spice = "DIA", -- The Identifier is not correctly registered in the Spice kernel Spice = "553", Radii = { 4000, 4000, 4000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Himalia Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Himalia Group" + }, TrailColor = trailColor, OrbitPeriod = 287.93, Kernels = kernels341 diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/inner_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/inner_group.asset index dbe50113c7..fbc0a0713e 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/inner_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/inner_group.asset @@ -5,64 +5,72 @@ local kernels341 = asset.require('../jup341').Kernels -local parentName = transforms.JupiterBarycenter.Name +local parentIdentifier = transforms.JupiterBarycenter.Identifier local parentSpice = "JUPITER BARYCENTER" local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_inner" } local trailColor = { 0.4, 0.3, 0.01 } local innerMoons = { { - Name = "Metis", + Identifier = "Metis", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "METIS", Radii = { 60000, 40000, 34000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Inner Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Inner Group" + }, TrailColor = trailColor, OrbitPeriod = 0.117912037, Kernels = kernels341 }, { - Name = "Adrastea", + Identifier = "Adrastea", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "ADRASTEA", Radii = { 20000, 16000, 14000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Inner Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Inner Group" + }, TrailColor = trailColor, OrbitPeriod = 0.2982638889, Kernels = kernels341 }, { - Name = "Amalthea", + Identifier = "Amalthea", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "AMALTHEA", Radii = { 250000, 146000, 128000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Inner Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Inner Group" + }, TrailColor = trailColor, OrbitPeriod = 0.4981828704, Kernels = kernels341 }, { - Name = "Thebe", + Identifier = "Thebe", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "THEBE", Radii = { 116000, 98000, 84000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Inner Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Inner Group" + }, TrailColor = trailColor, OrbitPeriod = 0.6745023148, Kernels = kernels341 diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/other_groups.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/other_groups.asset index 46233a059f..b03ce0909e 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/other_groups.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/other_groups.asset @@ -5,120 +5,144 @@ local kernels341 = asset.require('../jup341').Kernels -local parentName = transforms.JupiterBarycenter.Name +local parentIdentifier = transforms.JupiterBarycenter.Identifier local parentSpice = "JUPITER BARYCENTER" local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_other" } local trailColor = { 0.4, 0.3, 0.01 } local otherGroups = { { - Name = "S/2003 J 12", + Identifier = "S2003J12", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "55066", Radii = { 1000, 1000, 1000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Other Groups", + GUI = { + Name = "S/2003 J 12", + Path = "/Solar System/Planets/Jupiter/Moons/Other Groups" + }, TrailColor = trailColor, OrbitPeriod = 482.69, Kernels = kernels341 }, { - Name = "S/2003 J 3", + Identifier = "S/2003J3", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "55061", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Other Groups", + GUI = { + Name = "S/2003 J 3", + Path = "/Solar System/Planets/Jupiter/Moons/Other Groups" + }, TrailColor = trailColor, OrbitPeriod = 561.52, Kernels = kernels341 }, { - Name = "S/2011 J 1", + Identifier = "S2011J1", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "55074", Radii = { 1000, 1000, 1000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Other Groups", + GUI = { + Name = "S/2011 J 1", + Path = "/Solar System/Planets/Jupiter/Moons/Other Groups" + }, TrailColor = trailColor, OrbitPeriod = 582.22, Kernels = kernels341 }, { - Name = "S/2003 J 19", + Identifier = "S2003J19", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "55070", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Other Groups", + GUI = { + Name = "S/2003 J 19", + Path = "/Solar System/Planets/Jupiter/Moons/Other Groups" + }, TrailColor = trailColor, OrbitPeriod = 699.12, Kernels = kernels341 }, { - Name = "S/2003 J 10", + Identifier = "S2003J10", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "55065", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Other Groups", + GUI = { + Name = "S/2003 J 10", + Path = "/Solar System/Planets/Jupiter/Moons/Other Groups" + }, TrailColor = trailColor, OrbitPeriod = 700.13, Kernels = kernels341 }, { - Name = "S/2003 J 23", + Identifier = "S2003J23", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "55071", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Other Groups", + GUI = { + Name = "S/2003 J 23", + Path = "/Solar System/Planets/Jupiter/Moons/Other Groups" + }, TrailColor = trailColor, OrbitPeriod = 700.54, Kernels = kernels341 }, { - Name = "S/2003 J 9", + Identifier = "S2003J9", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "55064", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Other Groups", + GUI = { + Name = "S/2003 J 9", + Path = "/Solar System/Planets/Jupiter/Moons/Other Groups" + }, TrailColor = trailColor, OrbitPeriod = 752.84, Kernels = kernels341 }, { - Name = "S/2003 J 2", + Identifier = "S2003J2", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "55060", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Other Groups", + GUI = { + Name = "S/2003 J 2", + Path = "/Solar System/Planets/Jupiter/Moons/Other Groups" + }, TrailColor = trailColor, OrbitPeriod = 981.55, Kernels = kernels341 diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/pasiphae_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/pasiphae_group.asset index 8351b0c74e..ed922bbd00 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/pasiphae_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/pasiphae_group.asset @@ -5,289 +5,335 @@ local kernels341 = asset.require('../jup341').Kernels -local parentName = transforms.JupiterBarycenter.Name +local parentIdentifier = transforms.JupiterBarycenter.Identifier local parentSpice = "JUPITER BARYCENTER" local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_pasiphae" } local trailColor = { 0.4, 0.3, 0.01 } local pasiphaeGroup = { { - Name = "Euporie", + Identifier = "Euporie", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "EUPORIE", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group" + }, TrailColor = trailColor, OrbitPeriod = 538.78, Kernels = kernels341 }, { - Name = "S/2003 J 18", + Identifier = "S2003J18", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "555", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group", + GUI = { + Name = "S/2003 J 18", + Path = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group" + }, TrailColor = trailColor, OrbitPeriod = 587.38, Kernels = kernels341 }, { - Name = "Helike", + Identifier = "Helike", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "HELIKE", Radii = { 4000, 4000, 4000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group" + }, TrailColor = trailColor, OrbitPeriod = 601.40, Kernels = kernels341 }, { - Name = "Orthosie", + Identifier = "Orthosie", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "ORTHOSIE", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group" + }, TrailColor = trailColor, OrbitPeriod = 602.62, Kernels = kernels341 }, { - Name = "S/2016 J 1", + Identifier = "S2016J1", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "554", Radii = { 3000, 3000, 3000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group", + GUI = { + Name = "S/2016 J 1", + Path = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group" + }, TrailColor = trailColor, OrbitPeriod = 603.83, Kernels = kernels341 }, { - Name = "S/2003 J 15", + Identifier = "S2003J15", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "558", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group", + GUI = { + Name = "S/2003 J 15", + Path = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group" + }, TrailColor = trailColor, OrbitPeriod = 699.68, Kernels = kernels341 }, { - Name = "Aoede", + Identifier = "Aoede", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "AOEDE", Radii = { 4000, 4000, 4000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group" + }, TrailColor = trailColor, OrbitPeriod = 714.66, Kernels = kernels341 }, { - Name = "Callirrhoe", + Identifier = "Callirrhoe", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "CALLIRRHOE", Radii = { 9000, 9000, 9000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group" + }, TrailColor = trailColor, OrbitPeriod = 727.11, Kernels = kernels341 }, { - Name = "Eurydome", + Identifier = "Eurydome", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "EURYDOME", Radii = { 3000, 3000, 3000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group" + }, TrailColor = trailColor, OrbitPeriod = 723.36, Kernels = kernels341 }, { - Name = "Kore", + Identifier = "Kore", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "KORE", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group" + }, TrailColor = trailColor, OrbitPeriod = 776.02, Kernels = kernels341 }, { - Name = "Cyllene", + Identifier = "Cyllene", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "CYLLENE", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group" + }, TrailColor = trailColor, OrbitPeriod = 731.10, Kernels = kernels341 }, { - Name = "S/2011 J 2", + Identifier = "S2011J2", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "556", Radii = { 1000, 1000, 1000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group", + GUI = { + Name = "S/2011 J 2", + Path = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group" + }, TrailColor = trailColor, OrbitPeriod = 731.32, Kernels = kernels341 }, { - Name = "S/2017 J 1", + Identifier = "S2017J1", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "559", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group", + GUI = { + Name = "S/2017 J 1", + Path = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group" + }, TrailColor = trailColor, OrbitPeriod = 734.15, Kernels = kernels341 }, { - Name = "S/2003 J 4", + Identifier = "S2003J4", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "55062", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group", + GUI = { + Name = "S/2003 J 4", + Path = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group" + }, TrailColor = trailColor, OrbitPeriod = 739.29, Kernels = kernels341 }, { - Name = "Pasiphae", + Identifier = "Pasiphae", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "PASIPHAE", Radii = { 60000, 60000, 60000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group" + }, TrailColor = trailColor, OrbitPeriod = 739.80, Kernels = kernels341 }, { - Name = "Hegemone", + Identifier = "Hegemone", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "HEGEMONE", Radii = { 3000, 3000, 3000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group" + }, TrailColor = trailColor, OrbitPeriod = 745.50, Kernels = kernels341 }, { - Name = "Sinope", + Identifier = "Sinope", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "SINOPE", Radii = { 38000, 38000, 38000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group" + }, TrailColor = trailColor, OrbitPeriod = 739.33, Kernels = kernels341 }, { - Name = "Sponde", + Identifier = "Sponde", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "SPONDE", Radii = { 2000, 2000, 2000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group" + }, TrailColor = trailColor, OrbitPeriod = 771.60, Kernels = kernels341 }, { - Name = "Autonoe", + Identifier = "Autonoe", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "AUTONOE", Radii = { 4000, 4000, 4000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group" + }, TrailColor = trailColor, OrbitPeriod = 772.17, Kernels = kernels341 }, { - Name = "Megaclite", + Identifier = "Megaclite", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, - -- sic: The name in the SPICE kernel is wrong + -- sic: The Identifier in the SPICE kernel is wrong Spice = "MAGACLITE", Radii = { 5000, 5000, 5000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Pasiphae Group" + }, TrailColor = trailColor, OrbitPeriod = 792.44, Kernels = kernels341 diff --git a/data/assets/scene/solarsystem/planets/jupiter/minor/themisto_group.asset b/data/assets/scene/solarsystem/planets/jupiter/minor/themisto_group.asset index 346563b31a..d5d43ccaa3 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/minor/themisto_group.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/minor/themisto_group.asset @@ -5,22 +5,24 @@ local kernels341 = asset.require('../jup341').Kernels -local parentName = transforms.JupiterBarycenter.Name +local parentIdentifier = transforms.JupiterBarycenter.Identifier local parentSpice = "JUPITER BARYCENTER" local tags = { "moon_solarSystem", "moon_giants", "moon_jupiter", "moon_themisto" } local trailColor = { 0.4, 0.3, 0.01 } local themistoGroup = { { - Name = "Themisto", + Identifier = "Themisto", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "THEMISTO", Radii = { 8000, 8000, 8000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Jupiter/Moons/Themisto Group", + GUI = { + Path = "/Solar System/Planets/Jupiter/Moons/Themisto Group" + }, TrailColor = trailColor, OrbitPeriod = 129.87, Kernels = kernels341 diff --git a/data/assets/scene/solarsystem/planets/jupiter/trail.asset b/data/assets/scene/solarsystem/planets/jupiter/trail.asset index ea66b8b6da..c78bce02ca 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/trail.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/trail.asset @@ -5,8 +5,8 @@ asset.require("spice/base") local JupiterTrail = { - Name = "JupiterTrail", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "JupiterTrail", + Parent = transforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -19,7 +19,10 @@ local JupiterTrail = { Resolution = 1000 }, Tag = { "planetTrail_solarSystem", "planetTrail_giants" }, - GuiPath = "/Solar System/Planets/Jupiter" + GUI = { + Name = "Jupiter Trail", + Path = "/Solar System/Planets/Jupiter" + } } diff --git a/data/assets/scene/solarsystem/planets/jupiter/transforms.asset b/data/assets/scene/solarsystem/planets/jupiter/transforms.asset index b0cc9a23e0..9b8ace2846 100644 --- a/data/assets/scene/solarsystem/planets/jupiter/transforms.asset +++ b/data/assets/scene/solarsystem/planets/jupiter/transforms.asset @@ -5,8 +5,8 @@ asset.require("spice/base") local JupiterBarycenter = { - Name = "JupiterBarycenter", - Parent = sun_transforms_asset.SolarSystemBarycenter.Name, + Identifier = "JupiterBarycenter", + Parent = sun_transforms_asset.SolarSystemBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -14,7 +14,10 @@ local JupiterBarycenter = { Observer = "SUN" } }, - GuiPath = "/Solar System/Planets/Jupiter" + GUI = { + Name = "Jupiter Barycenter", + Path = "/Solar System/Planets/Jupiter" + } } diff --git a/data/assets/scene/solarsystem/planets/mars/atmosphere.asset b/data/assets/scene/solarsystem/planets/mars/atmosphere.asset index 663624aec6..2850e528ca 100644 --- a/data/assets/scene/solarsystem/planets/mars/atmosphere.asset +++ b/data/assets/scene/solarsystem/planets/mars/atmosphere.asset @@ -4,8 +4,8 @@ local assetHelper = asset.require('util/asset_helper') local Atmosphere = { - Name = "MarsAtmosphere", - Parent = transforms.Mars.Name, + Identifier = "MarsAtmosphere", + Parent = transforms.Mars.Identifier, Renderable = { Type = "RenderableAtmosphere", Atmosphere = { @@ -55,7 +55,10 @@ local Atmosphere = { } } }, - GuiPath = "/Solar System/Planets/Mars" + GUI = { + Name = "Mars Atmosphere", + Path = "/Solar System/Planets/Mars" + } } diff --git a/data/assets/scene/solarsystem/planets/mars/mars.asset b/data/assets/scene/solarsystem/planets/mars/mars.asset index 8f94b21e31..703eeff975 100644 --- a/data/assets/scene/solarsystem/planets/mars/mars.asset +++ b/data/assets/scene/solarsystem/planets/mars/mars.asset @@ -19,6 +19,7 @@ local mapServiceConfigs = asset.localResource("map_service_configs") local color_layers = { { + Identifier = "MOC_WA_AMNH_Color", Name = "MOC WA AMNH Color", FilePath = mapServiceConfigs .. "/Utah/Mars_Color.wms", Enabled = true, @@ -29,60 +30,73 @@ local color_layers = { } }, { + Identifier = "Viking_MDIM", Name = "Viking MDIM", FilePath = mapServiceConfigs .. "/MARS_Viking_MDIM21.wms" }, { + Identifier = "MOLA_Pseudo_Color", Name = "MOLA Pseudo Color", FilePath = mapServiceConfigs .. "/Utah/Mola_PseudoColor.wms" }, { + Identifier = "MOLA_HRSC", Name = "MOLA HRSC", FilePath = mapServiceConfigs .. "/Utah/Mola_HRSC.wms" }, { + Identifier = "Viking_MDIM_Utah", Name = "Viking MDIM [Utah]", FilePath = mapServiceConfigs .. "/Utah/Mdim.wms" }, { + Identifier = "Viking_MDIM_AWS", Name = "Viking MDIM [AWS]", FilePath = mapServiceConfigs .. "/AWS/Mdim.wms" }, { + Identifier = "MOLA_Pseudo_Color_AWS", Name = "MOLA Pseudo Color [AWS]", FilePath = mapServiceConfigs .. "/AWS/Mola_PseudoColor.wms" }, { + Identifier = "CTX_Mosaic_LiU", Name = "CTX Mosaic [LiU]", FilePath = mapServiceConfigs .. "/LiU/CTX.wms", BlendMode = "Color" }, { + Identifier = "CTX_Mosaic_Utah", Name = "CTX Mosaic [Utah]", FilePath = mapServiceConfigs .. "/Utah/CTX.wms", BlendMode = "Color" }, { + Identifier = "CTX_Mosaic_AWS", Name = "CTX Mosaic [AWS]", FilePath = mapServiceConfigs .. "/AWS/CTX.wms", BlendMode = "Color" }, { + Identifier = "Themis_IR_Day_Utah", Name = "Themis IR Day [Utah]", FilePath = mapServiceConfigs .. "/Utah/Themis_IR_Day.wms", BlendMode = "Color" }, { + Identifier = "Themis_IR_Night_Utah", Name = "Themis IR Night [Utah]", FilePath = mapServiceConfigs .. "/Utah/Themis_IR_Night.wms", BlendMode = "Color" }, { + Identifier = "Themis_IR_Day_AWS_", Name = "Themis IR Day [AWS]", FilePath = mapServiceConfigs .. "/AWS/Themis_IR_Day.wms", BlendMode = "Color" }, { + Identifier = "Themis_IR_Night_AWS", Name = "Themis IR Night [AWS]", FilePath = mapServiceConfigs .. "/AWS/Themis_IR_Night.wms", BlendMode = "Color" @@ -91,34 +105,39 @@ local color_layers = { local overlay_layers = { { - Type = "TileIndexTileLayer", - Name = "Indices" + Identifier = "Indices", + Type = "TileIndexTileLayer" }, { - Type = "SizeReferenceTileLayer", + Identifier = "Size_Reference", Name = "Size Reference", + Type = "SizeReferenceTileLayer", Radii = marsRadii } } local height_layers = { { + Identifier = "Mola", Name = "Mola Elevation", FilePath = mapServiceConfigs .. "/Mars_MGS_MOLA_DEM.wms", TilePixelSize = 90 }, { + Identifier = "Mola_Europe", Name = "Mola Elevation [Europe]", FilePath = mapServiceConfigs .. "/LiU/Mola_Elevation.wms", Enabled = true, TilePixelSize = 90 }, { + Identifier = "Mola_Utah", Name = "Mola Elevation [Utah]", FilePath = mapServiceConfigs .. "/Utah/Mola_Elevation.wms", TilePixelSize = 90 }, { + Identifier = "Mola_AWS", Name = "Mola Elevation [AWS]", FilePath = mapServiceConfigs .. "/AWS/Mola_Elevation.wms", TilePixelSize = 90 @@ -126,8 +145,8 @@ local height_layers = { } local Mars = { - Name = "Mars", - Parent = transforms.MarsBarycenter.Name, + Identifier = "Mars", + Parent = transforms.MarsBarycenter.Identifier, Transform = { Rotation = { Type = "SpiceRotation", @@ -146,7 +165,9 @@ local Mars = { } }, Tag = { "planet_solarSystem", "planet_terrestrial" }, - GuiPath = "/Solar System/Planets/Mars" + GUI = { + Path = "/Solar System/Planets/Mars" + } } diff --git a/data/assets/scene/solarsystem/planets/mars/moons/deimos.asset b/data/assets/scene/solarsystem/planets/mars/moons/deimos.asset index ec9951ba39..c880bf8b08 100644 --- a/data/assets/scene/solarsystem/planets/mars/moons/deimos.asset +++ b/data/assets/scene/solarsystem/planets/mars/moons/deimos.asset @@ -12,8 +12,8 @@ local kernels = asset.require('../mar097').Kernels local Deimos = { - Name = "Deimos", - Parent = transforms.MarsBarycenter.Name, + Identifier = "Deimos", + Parent = transforms.MarsBarycenter.Identifier, Transform = { Rotation = { Type = "SpiceRotation", @@ -36,12 +36,14 @@ local Deimos = { } }, Tag = { "moon_solarSystem", "moon_terrestrial", "moon_mars" }, - GuiPath = "/Solar System/Planets/Mars" + GUI = { + Path = "/Solar System/Planets/Mars" + } } local DeimosTrail = { - Name = "DeimosTrail", - Parent = transforms.MarsBarycenter.Name, + Identifier = "DeimosTrail", + Parent = transforms.MarsBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -54,7 +56,10 @@ local DeimosTrail = { Resolution = 1000 }, Tag = { "moonTrail_solarSystem", "moonTrail_terrestrial", "moonTrail_mars" }, - GuiPath = "/Solar System/Planets/Mars" + GUI = { + Name = "Deimos Trail", + Path = "/Solar System/Planets/Mars" + } } diff --git a/data/assets/scene/solarsystem/planets/mars/moons/phobos.asset b/data/assets/scene/solarsystem/planets/mars/moons/phobos.asset index 3e0bbce206..ff97e74ce2 100644 --- a/data/assets/scene/solarsystem/planets/mars/moons/phobos.asset +++ b/data/assets/scene/solarsystem/planets/mars/moons/phobos.asset @@ -12,8 +12,8 @@ local kernels = asset.require('../mar097').Kernels local Phobos = { - Name = "Phobos", - Parent = transforms.MarsBarycenter.Name, + Identifier = "Phobos", + Parent = transforms.MarsBarycenter.Identifier, Transform = { Rotation = { Type = "SpiceRotation", @@ -36,12 +36,14 @@ local Phobos = { } }, Tag = { "moon_solarSystem", "moon_terrestrial", "moon_mars" }, - GuiPath = "/Solar System/Planets/Mars" + GUI = { + Path = "/Solar System/Planets/Mars" + } } local PhobosTrail = { - Name = "PhobosTrail", - Parent = transforms.MarsBarycenter.Name, + Identifier = "PhobosTrail", + Parent = transforms.MarsBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -54,7 +56,10 @@ local PhobosTrail = { Resolution = 1000 }, Tag = { "moonTrail_solarSystem", "moonTrail_terrestrial", "moonTrail_mars" }, - GuiPath = "/Solar System/Planets/Mars" + GUI = { + Name = "Phobos Trail", + Path = "/Solar System/Planets/Mars" + } } diff --git a/data/assets/scene/solarsystem/planets/mars/trail.asset b/data/assets/scene/solarsystem/planets/mars/trail.asset index 30746e230f..19e201a8af 100644 --- a/data/assets/scene/solarsystem/planets/mars/trail.asset +++ b/data/assets/scene/solarsystem/planets/mars/trail.asset @@ -5,8 +5,8 @@ asset.require("spice/base") local MarsTrail = { - Name = "MarsTrail", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "MarsTrail", + Parent = transforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -19,7 +19,10 @@ local MarsTrail = { Resolution = 1000 }, Tag = { "planetTrail_solarSystem", "planetTrail_terrestrial" }, - GuiPath = "/Solar System/Planets/Mars" + GUI = { + Name = "Mars Trail", + Path = "/Solar System/Planets/Mars" + } } diff --git a/data/assets/scene/solarsystem/planets/mars/transforms.asset b/data/assets/scene/solarsystem/planets/mars/transforms.asset index deab65360a..9cba89eda4 100644 --- a/data/assets/scene/solarsystem/planets/mars/transforms.asset +++ b/data/assets/scene/solarsystem/planets/mars/transforms.asset @@ -5,8 +5,8 @@ asset.require("spice/base") local MarsBarycenter = { - Name = "MarsBarycenter", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "MarsBarycenter", + Parent = transforms.SolarSystemBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -14,7 +14,10 @@ local MarsBarycenter = { Observer = "SUN" } }, - GuiPath = "/Solar System/Planets/Mars" + GUI = { + Name = "Mars Barycenter", + Path = "/Solar System/Planets/Mars" + } } diff --git a/data/assets/scene/solarsystem/planets/mercury/mercury.asset b/data/assets/scene/solarsystem/planets/mercury/mercury.asset index 1b88fb68f3..e4a50c6964 100644 --- a/data/assets/scene/solarsystem/planets/mercury/mercury.asset +++ b/data/assets/scene/solarsystem/planets/mercury/mercury.asset @@ -10,28 +10,32 @@ local mapServiceConfigs = asset.localResource("map_service_configs") local color_layers = { -- Utah based servers { + Identifier = "Messenger_MDIS_Utah", Name = "Messenger MDIS [Utah]", FilePath = mapServiceConfigs .. "/Utah/MessengerMDIS.wms", Enabled = true }, { + Identifier = "Messenger_Mosaic_Utah", Name = "Messenger Mosaic [Utah]", FilePath = mapServiceConfigs .. "/Utah/MessengerMosaic.wms" }, -- AWS based servers { + Identifier = "Messenger_MDIS_AWS", Name = "Messenger MDIS [AWS]", FilePath = mapServiceConfigs .. "/AWS/MessengerMdis.wms" }, { + Identifier = "Messenger_Mosaic_AWS", Name = "Messenger Mosaic [AWS]", FilePath = mapServiceConfigs .. "/AWS/MessengerMosaic.wms" } } local Mercury = { - Name = "Mercury", - Parent = transforms.MercuryBarycenter.Name, + Identifier = "Mercury", + Parent = transforms.MercuryBarycenter.Identifier, Transform = { Rotation = { Type = "SpiceRotation", @@ -51,7 +55,9 @@ local Mercury = { } }, Tag = { "planet_solarSystem", "planet_terrestrial" }, - GuiPath = "/Solar System/Planets/Mercury" + GUI = { + Path = "/Solar System/Planets/Mercury" + } } diff --git a/data/assets/scene/solarsystem/planets/mercury/trail.asset b/data/assets/scene/solarsystem/planets/mercury/trail.asset index 6adf1f2679..1a7f9c1195 100644 --- a/data/assets/scene/solarsystem/planets/mercury/trail.asset +++ b/data/assets/scene/solarsystem/planets/mercury/trail.asset @@ -5,8 +5,8 @@ asset.require("spice/base") local MercuryTrail = { - Name = "MercuryTrail", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "MercuryTrail", + Parent = transforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -19,7 +19,10 @@ local MercuryTrail = { Resolution = 100 }, Tag = { "planetTrail_solarSystem", "planetTrail_terrestrial" }, - GuiPath = "/Solar System/Planets/Mercury" + GUI = { + Name = "Mercury Trail", + Path = "/Solar System/Planets/Mercury" + } } diff --git a/data/assets/scene/solarsystem/planets/mercury/transforms.asset b/data/assets/scene/solarsystem/planets/mercury/transforms.asset index 4365925fcd..7292d44afc 100644 --- a/data/assets/scene/solarsystem/planets/mercury/transforms.asset +++ b/data/assets/scene/solarsystem/planets/mercury/transforms.asset @@ -5,8 +5,8 @@ asset.require("spice/base") local MercuryBarycenter = { - Name = "MercuryBarycenter", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "MercuryBarycenter", + Parent = transforms.SolarSystemBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -14,7 +14,10 @@ local MercuryBarycenter = { Observer = "SUN" } }, - GuiPath = "/Solar System/Planets/Mercury" + GUI = { + Name = "Mercury Barycenter", + Path = "/Solar System/Planets/Mercury" + } } diff --git a/data/assets/scene/solarsystem/planets/neptune/inner_moons.asset b/data/assets/scene/solarsystem/planets/neptune/inner_moons.asset index 522b56ebb8..f767bc9cbc 100644 --- a/data/assets/scene/solarsystem/planets/neptune/inner_moons.asset +++ b/data/assets/scene/solarsystem/planets/neptune/inner_moons.asset @@ -7,106 +7,121 @@ local kernels088 = asset.require('./nep088').Kernels -local parentName = transforms.NeptuneBarycenter.Name +local parentIdentifier = transforms.NeptuneBarycenter.Identifier local parentSpice = "NEPTUNE BARYCENTER" local tags = { "moon_solarSystem", "moon_giants", "moon_neptune", "moon_inner" } local trailColor = { 0.2, 0.5, 0.75 } local innerMoons = { { - Name = "Naiad", + Identifier = "Naiad", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "NAIAD", Radii = { 96000, 60000, 52000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Neptune/Moons/Inner Moons", + GUI = { + Path = "/Solar System/Planets/Neptune/Moons/Inner Moons" + }, TrailColor = trailColor, OrbitPeriod = 0.294, Kernels = kernels088 }, { - Name = "Thalassa", + Identifier = "Thalassa", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "THALASSA", Radii = { 108000, 100000, 52000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Neptune/Moons/Inner Moons", + GUI = { + Path = "/Solar System/Planets/Neptune/Moons/Inner Moons" + }, TrailColor = trailColor, OrbitPeriod = 0.311, Kernels = kernels088 }, { - Name = "Despina", + Identifier = "Despina", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "DESPINA", Radii = { 180000, 148000, 128000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Neptune/Moons/Inner Moons", + GUI = { + Path = "/Solar System/Planets/Neptune/Moons/Inner Moons" + }, TrailColor = trailColor, OrbitPeriod = 0.335, Kernels = kernels088 }, { - Name = "Galatea", + Identifier = "Galatea", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "GALATEA", Radii = { 204000, 184000, 144000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Neptune/Moons/Inner Moons", + GUI = { + Path = "/Solar System/Planets/Neptune/Moons/Inner Moons" + }, TrailColor = trailColor, OrbitPeriod = 0.429, Kernels = kernels088 }, { - Name = "Larissa", + Identifier = "Larissa", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "LARISSA", Radii = { 216000, 204000, 168000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Neptune/Moons/Inner Moons", + GUI = { + Path = "/Solar System/Planets/Neptune/Moons/Inner Moons" + }, TrailColor = trailColor, OrbitPeriod = 0.555, Kernels = kernels088 }, { - Name = "S/2004 N 1", + Identifier = "S2004N1", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "814", Radii = { 16000, 16000, 16000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Neptune/Moons/Inner Moons", + GUI = { + Name = "S/2004 N 1", + Path = "/Solar System/Planets/Neptune/Moons/Inner Moons" + }, TrailColor = trailColor, OrbitPeriod = 0.936, Kernels = kernels088 }, { - Name = "Proteus", + Identifier = "Proteus", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "PROTEUS", Radii = { 436000, 416000, 402000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Neptune/Moons/Inner Moons", + GUI = { + Path = "/Solar System/Planets/Neptune/Moons/Inner Moons" + }, TrailColor = trailColor, OrbitPeriod = 1.122, Kernels = kernels081 diff --git a/data/assets/scene/solarsystem/planets/neptune/irregular_prograde_moons.asset b/data/assets/scene/solarsystem/planets/neptune/irregular_prograde_moons.asset index 80cf5b6f64..41b2868905 100644 --- a/data/assets/scene/solarsystem/planets/neptune/irregular_prograde_moons.asset +++ b/data/assets/scene/solarsystem/planets/neptune/irregular_prograde_moons.asset @@ -7,50 +7,56 @@ local kernels088 = asset.require('./nep088').Kernels -local parentName = transforms.NeptuneBarycenter.Name +local parentIdentifier = transforms.NeptuneBarycenter.Identifier local parentSpice = "NEPTUNE BARYCENTER" local tags = { "moon_solarSystem", "moon_giants", "moon_neptune", "moon_irregular_prograde" } local trailColor = { 0.2, 0.5, 0.75 } local irregularProgradeMoons = { { - Name = "Halimede", + Identifier = "Halimede", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "HALIMEDE", Radii = { 62000, 62000, 62000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Neptune/Moons/Irregular Prograde Moons", + GUI = { + Path = "/Solar System/Planets/Neptune/Moons/Irregular Prograde Moons" + }, TrailColor = trailColor, OrbitPeriod = 1879.08, Kernels = kernels086 }, { - Name = "Psamathe", + Identifier = "Psamathe", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "PSAMATHE", Radii = { 40000, 40000, 40000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Neptune/Moons/Irregular Prograde Moons", + GUI = { + Path = "/Solar System/Planets/Neptune/Moons/Irregular Prograde Moons" + }, TrailColor = trailColor, OrbitPeriod = 9074.3, Kernels = kernels086 }, { - Name = "Neso", + Identifier = "Neso", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "NESO", Radii = { 60000, 60000, 60000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Neptune/Moons/Irregular Prograde Moons", + GUI = { + Path = "/Solar System/Planets/Neptune/Moons/Irregular Prograde Moons" + }, TrailColor = trailColor, OrbitPeriod = 9740.73, Kernels = kernels086 diff --git a/data/assets/scene/solarsystem/planets/neptune/irregular_retrograde_moons.asset b/data/assets/scene/solarsystem/planets/neptune/irregular_retrograde_moons.asset index dc0343273d..d07e7e26c3 100644 --- a/data/assets/scene/solarsystem/planets/neptune/irregular_retrograde_moons.asset +++ b/data/assets/scene/solarsystem/planets/neptune/irregular_retrograde_moons.asset @@ -7,50 +7,56 @@ local kernels088 = asset.require('./nep088').Kernels -local parentName = transforms.NeptuneBarycenter.Name +local parentIdentifier = transforms.NeptuneBarycenter.Identifier local parentSpice = "NEPTUNE BARYCENTER" local tags = { "moon_solarSystem", "moon_giants", "moon_neptune", "moon_irregular_retrograde" } local trailColor = { 0.2, 0.5, 0.75 } local irregularRetrogradeMoons = { { - Name = "Nereid", + Identifier = "Nereid", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "NEREID", Radii = { 340000, 340000, 340000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Neptune/Moons/Irregular Retrograde Moons", + GUI = { + Path = "/Solar System/Planets/Neptune/Moons/Irregular Retrograde Moons" + }, TrailColor = trailColor, OrbitPeriod = 360.13, Kernels = kernels081 }, { - Name = "Sao", + Identifier = "Sao", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "SAO", Radii = { 44000, 44000, 44000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Neptune/Moons/Irregular Retrograde Moons", + GUI = { + Path = "/Solar System/Planets/Neptune/Moons/Irregular Retrograde Moons" + }, TrailColor = trailColor, OrbitPeriod = 2912.72, Kernels = kernels086 }, { - Name = "Laomedeia", + Identifier = "Laomedeia", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "LAOMEDEIA", Radii = { 42000, 42000, 42000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Neptune/Moons/Irregular Retrograde Moons", + GUI = { + Path = "/Solar System/Planets/Neptune/Moons/Irregular Retrograde Moons" + }, TrailColor = trailColor, OrbitPeriod = 3171.33, Kernels = kernels086 diff --git a/data/assets/scene/solarsystem/planets/neptune/neptune.asset b/data/assets/scene/solarsystem/planets/neptune/neptune.asset index 79ebb44214..4cd35f22a6 100644 --- a/data/assets/scene/solarsystem/planets/neptune/neptune.asset +++ b/data/assets/scene/solarsystem/planets/neptune/neptune.asset @@ -13,8 +13,8 @@ local textures = asset.syncedResource({ }) local Neptune = { - Name = "Neptune", - Parent = transforms.NeptuneBarycenter.Name, + Identifier = "Neptune", + Parent = transforms.NeptuneBarycenter.Identifier, Transform = { Rotation = { Type = "SpiceRotation", @@ -29,7 +29,7 @@ local Neptune = { Layers = { ColorLayers = { { - Name = "Texture", + Identifier = "Texture", FilePath = textures .. "/neptune.jpg", Enabled = true } @@ -37,7 +37,9 @@ local Neptune = { } }, Tag = { "planet_solarSystem", "planet_giants" }, - GuiPath = "/Solar System/Planets/Neptune" + GUI = { + Path = "/Solar System/Planets/Neptune" + } } diff --git a/data/assets/scene/solarsystem/planets/neptune/trail.asset b/data/assets/scene/solarsystem/planets/neptune/trail.asset index 3d93d39c66..c1647a47da 100644 --- a/data/assets/scene/solarsystem/planets/neptune/trail.asset +++ b/data/assets/scene/solarsystem/planets/neptune/trail.asset @@ -5,8 +5,8 @@ asset.require("spice/base") local NeptuneTrail = { - Name = "NeptuneTrail", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "NeptuneTrail", + Parent = transforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -30,7 +30,10 @@ local NeptuneTrail = { Resolution = 1000 }, Tag = { "planetTrail_solarSystem", "planetTrail_giants" }, - GuiPath = "/Solar System/Planets/Neptune" + GUI = { + Name = "Neptune Trail", + Path = "/Solar System/Planets/Neptune" + } } diff --git a/data/assets/scene/solarsystem/planets/neptune/transforms.asset b/data/assets/scene/solarsystem/planets/neptune/transforms.asset index 7f3e6f58d3..2c726221e2 100644 --- a/data/assets/scene/solarsystem/planets/neptune/transforms.asset +++ b/data/assets/scene/solarsystem/planets/neptune/transforms.asset @@ -5,8 +5,8 @@ asset.require("spice/base") local NeptuneBarycenter = { - Name = "NeptuneBarycenter", - Parent = sun_transforms_asset.SolarSystemBarycenter.Name, + Identifier = "NeptuneBarycenter", + Parent = sun_transforms_asset.SolarSystemBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -14,7 +14,10 @@ local NeptuneBarycenter = { Observer = "SUN" } }, - GuiPath = "/Solar System/Planets/Neptune" + GUI = { + Name = "Neptune Barycenter", + Path = "/Solar System/Planets/Neptune" + } } diff --git a/data/assets/scene/solarsystem/planets/neptune/triton.asset b/data/assets/scene/solarsystem/planets/neptune/triton.asset index d60d52dd16..eb025fddf3 100644 --- a/data/assets/scene/solarsystem/planets/neptune/triton.asset +++ b/data/assets/scene/solarsystem/planets/neptune/triton.asset @@ -6,15 +6,17 @@ local kernels081 = asset.require('./nep081').Kernels local Triton = { - Name = "Triton", + Identifier = "Triton", Parent = { - Name = transforms.NeptuneBarycenter.Name, + Name = transforms.NeptuneBarycenter.Identifier, Spice = "NEPTUNE BARYCENTER" }, Spice = "TRITON", Radii = { 2709000, 2706000, 2705000 }, Tags = { "moon_solarSystem", "moon_giants", "moon_neptune" }, - GuiPath = "/Solar System/Planets/Neptune/Moons/Irregular Prograde Moons", + GUI = { + Path = "/Solar System/Planets/Neptune/Moons/Irregular Prograde Moons" + }, TrailColor = { 0.2, 0.5, 0.75 }, OrbitPeriod = 5.877, Kernels = kernels081 diff --git a/data/assets/scene/solarsystem/planets/saturn/dione/dione.asset b/data/assets/scene/solarsystem/planets/saturn/dione/dione.asset index bd8a1e0fd7..dc185156e9 100644 --- a/data/assets/scene/solarsystem/planets/saturn/dione/dione.asset +++ b/data/assets/scene/solarsystem/planets/saturn/dione/dione.asset @@ -13,8 +13,8 @@ local textures = asset.syncedResource({ }) local Dione = { - Name = "Dione", - Parent = transforms.SaturnBarycenter.Name, + Identifier = "Dione", + Parent = transforms.SaturnBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -35,7 +35,7 @@ local Dione = { Layers = { ColorLayers = { { - Name = "Dione Texture", + Identifier = "Texture", FilePath = textures .. "/dione.jpg", Enabled = true } @@ -43,7 +43,9 @@ local Dione = { } }, Tag = { "moon_solarSystem", "moon_giants", "moon_saturn" }, - GuiPath = "/Solar System/Planets/Saturn/Moons" + GUI = { + Path = "/Solar System/Planets/Saturn/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/saturn/dione/trail.asset b/data/assets/scene/solarsystem/planets/saturn/dione/trail.asset index f27bd71afc..95fe6b1953 100644 --- a/data/assets/scene/solarsystem/planets/saturn/dione/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/dione/trail.asset @@ -5,8 +5,8 @@ local kernels375 = asset.require('../sat375').Kernels local DioneTrail = { - Name = "DioneTrail", - Parent = transforms.SaturnBarycenter.Name, + Identifier = "DioneTrail", + Parent = transforms.SaturnBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -20,7 +20,10 @@ local DioneTrail = { Resolution = 1000 }, Tag = { "moonTrail_solarSystem", "moonTrail_giants", "moonTrail_saturn" }, - GuiPath = "/Solar System/Planets/Saturn/Moons" + GUI = { + Name = "Dione Trail", + Path = "/Solar System/Planets/Saturn/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/saturn/enceladus/enceladus.asset b/data/assets/scene/solarsystem/planets/saturn/enceladus/enceladus.asset index 92116bc318..1e443df8e4 100644 --- a/data/assets/scene/solarsystem/planets/saturn/enceladus/enceladus.asset +++ b/data/assets/scene/solarsystem/planets/saturn/enceladus/enceladus.asset @@ -13,8 +13,8 @@ local textures = asset.syncedResource({ }) local Enceladus = { - Name = "Enceladus", - Parent = transforms.SaturnBarycenter.Name, + Identifier = "Enceladus", + Parent = transforms.SaturnBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -35,7 +35,7 @@ local Enceladus = { Layers = { ColorLayers = { { - Name = "Enceladus Texture", + Identifier = "Texture", FilePath = textures .. "/enceladus.jpg", Enabled = true } @@ -43,7 +43,9 @@ local Enceladus = { } }, Tag = { "moon_solarSystem", "moon_giants", "moon_saturn" }, - GuiPath = "/Solar System/Planets/Saturn/Moons" + GUI = { + Path = "/Solar System/Planets/Saturn/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/saturn/enceladus/trail.asset b/data/assets/scene/solarsystem/planets/saturn/enceladus/trail.asset index 8834b45399..466281b1f4 100644 --- a/data/assets/scene/solarsystem/planets/saturn/enceladus/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/enceladus/trail.asset @@ -5,8 +5,8 @@ local kernels375 = asset.require('../sat375').Kernels local EnceladusTrail = { - Name = "EnceladusTrail", - Parent = transforms.SaturnBarycenter.Name, + Identifier = "EnceladusTrail", + Parent = transforms.SaturnBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -20,7 +20,10 @@ local EnceladusTrail = { Resolution = 1000 }, Tag = { "moonTrail_solarSystem", "moonTrail_giants", "moonTrail_saturn" }, - GuiPath = "/Solar System/Planets/Saturn/Moons" + GUI = { + Name = "Enceladus Trail", + Path = "/Solar System/Planets/Saturn/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/saturn/hyperion/hyperion.asset b/data/assets/scene/solarsystem/planets/saturn/hyperion/hyperion.asset index 8b862702c3..cfbdea7f7e 100644 --- a/data/assets/scene/solarsystem/planets/saturn/hyperion/hyperion.asset +++ b/data/assets/scene/solarsystem/planets/saturn/hyperion/hyperion.asset @@ -13,8 +13,8 @@ asset.request('./trail') -- }) local Hyperion = { - Name = "Hyperion", - Parent = transforms.SaturnBarycenter.Name, + Identifier = "Hyperion", + Parent = transforms.SaturnBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -43,7 +43,9 @@ local Hyperion = { } }, Tag = { "moon_solarSystem", "moon_giants", "moon_saturn" }, - GuiPath = "/Solar System/Planets/Saturn/Moons" + GUI = { + Path = "/Solar System/Planets/Saturn/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/saturn/hyperion/trail.asset b/data/assets/scene/solarsystem/planets/saturn/hyperion/trail.asset index fc03a4a8d5..9b52198e2c 100644 --- a/data/assets/scene/solarsystem/planets/saturn/hyperion/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/hyperion/trail.asset @@ -5,8 +5,8 @@ local kernels375 = asset.require('../sat375').Kernels local HyperionTrail = { - Name = "HyperionTrail", - Parent = transforms.SaturnBarycenter.Name, + Identifier = "HyperionTrail", + Parent = transforms.SaturnBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -20,7 +20,10 @@ local HyperionTrail = { Resolution = 1000 }, Tag = { "moonTrail_solarSystem", "moonTrail_giants", "moonTrail_saturn" }, - GuiPath = "/Solar System/Planets/Saturn/Moons" + GUI = { + Name = "Hyperion Trail", + Path = "/Solar System/Planets/Saturn/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/saturn/iapetus/iapetus.asset b/data/assets/scene/solarsystem/planets/saturn/iapetus/iapetus.asset index ccfc237df0..be23afba40 100644 --- a/data/assets/scene/solarsystem/planets/saturn/iapetus/iapetus.asset +++ b/data/assets/scene/solarsystem/planets/saturn/iapetus/iapetus.asset @@ -13,8 +13,8 @@ local textures = asset.syncedResource({ }) local Iapetus = { - Name = "Iapetus", - Parent = transforms.SaturnBarycenter.Name, + Identifier = "Iapetus", + Parent = transforms.SaturnBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -35,7 +35,7 @@ local Iapetus = { Layers = { ColorLayers = { { - Name = "Iapetus Texture", + Identifier = "Texture", FilePath = textures .. "/iapetus.jpg", Enabled = true } @@ -43,7 +43,9 @@ local Iapetus = { } }, Tag = { "moon_solarSystem", "moon_giants", "moon_saturn" }, - GuiPath = "/Solar System/Planets/Saturn/Moons" + GUI = { + Path = "/Solar System/Planets/Saturn/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/saturn/iapetus/trail.asset b/data/assets/scene/solarsystem/planets/saturn/iapetus/trail.asset index 08fa8dffeb..fdc7a468a4 100644 --- a/data/assets/scene/solarsystem/planets/saturn/iapetus/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/iapetus/trail.asset @@ -5,8 +5,8 @@ local kernels375 = asset.require('../sat375').Kernels local IapetusTrail = { - Name = "IapetusTrail", - Parent = transforms.SaturnBarycenter.Name, + Identifier = "IapetusTrail", + Parent = transforms.SaturnBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -20,7 +20,10 @@ local IapetusTrail = { Resolution = 1000 }, Tag = { "moonTrail_solarSystem", "moonTrail_giants", "moonTrail_saturn" }, - GuiPath = "/Solar System/Planets/Saturn/Moons" + GUI = { + Name = "Iapetus Trail", + Path = "/Solar System/Planets/Saturn/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/saturn/mimas/mimas.asset b/data/assets/scene/solarsystem/planets/saturn/mimas/mimas.asset index fa5919a38b..b15f141cd7 100644 --- a/data/assets/scene/solarsystem/planets/saturn/mimas/mimas.asset +++ b/data/assets/scene/solarsystem/planets/saturn/mimas/mimas.asset @@ -13,8 +13,8 @@ local textures = asset.syncedResource({ }) local Mimas = { - Name = "Mimas", - Parent = transforms.SaturnBarycenter.Name, + Identifier = "Mimas", + Parent = transforms.SaturnBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -35,7 +35,7 @@ local Mimas = { Layers = { ColorLayers = { { - Name = "Mimas Texture", + Identifier = "Texture", FilePath = textures .. "/mimas.jpg", Enabled = true } @@ -43,7 +43,9 @@ local Mimas = { } }, Tag = { "moon_solarSystem", "moon_giants", "moon_saturn" }, - GuiPath = "/Solar System/Planets/Saturn/Moons" + GUI = { + Path = "/Solar System/Planets/Saturn/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/saturn/mimas/trail.asset b/data/assets/scene/solarsystem/planets/saturn/mimas/trail.asset index b3ab9f7d64..c1ad48a0e1 100644 --- a/data/assets/scene/solarsystem/planets/saturn/mimas/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/mimas/trail.asset @@ -5,8 +5,8 @@ local kernels375 = asset.require('../sat375').Kernels local MimasTrail = { - Name = "MimasTrail", - Parent = transforms.SaturnBarycenter.Name, + Identifier = "MimasTrail", + Parent = transforms.SaturnBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -20,7 +20,10 @@ local MimasTrail = { Resolution = 1000 }, Tag = { "moonTrail_solarSystem", "moonTrail_giants", "moonTrail_saturn" }, - GuiPath = "/Solar System/Planets/Saturn/Moons" + GUI = { + Name = "Mimas Trail", + Path = "/Solar System/Planets/Saturn/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/saturn/minor/gallic_group.asset b/data/assets/scene/solarsystem/planets/saturn/minor/gallic_group.asset index e33a9c6fa5..129814643f 100644 --- a/data/assets/scene/solarsystem/planets/saturn/minor/gallic_group.asset +++ b/data/assets/scene/solarsystem/planets/saturn/minor/gallic_group.asset @@ -5,64 +5,72 @@ local kernels368 = asset.require('../sat368').Kernels -local parentName = transforms.SaturnBarycenter.Name +local parentIdentifier = transforms.SaturnBarycenter.Identifier local parentSpice = "SATURN BARYCENTER" local tags = { "moon_solarSystem", "moon_giants", "moon_saturn", "moon_gallic" } local trailColor = { 0.5, 0.3, 0.3 } local gallicGroup = { { - Name = "Albiorix", + Identifier = "Albiorix", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "ALBIORIX", Radii = { 32000, 32000, 32000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Gallic Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Gallic Group" + }, TrailColor = trailColor, OrbitPeriod = 774.58, Kernels = kernels368 }, { - Name = "Bebhionn", + Identifier = "Bebhionn", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "BEBHIONN", Radii = { 6000, 6000, 6000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Gallic Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Gallic Group" + }, TrailColor = trailColor, OrbitPeriod = 838.77, Kernels = kernels368 }, { - Name = "Erriapus", + Identifier = "Erriapus", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "ERRIAPUS", Radii = { 10000, 10000, 10000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Gallic Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Gallic Group" + }, TrailColor = trailColor, OrbitPeriod = 844.89, Kernels = kernels368 }, { - Name = "Tarvos", + Identifier = "Tarvos", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "TARVOS", Radii = { 15000, 15000, 15000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Gallic Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Gallic Group" + }, TrailColor = trailColor, OrbitPeriod = 944.23, Kernels = kernels368 diff --git a/data/assets/scene/solarsystem/planets/saturn/minor/inuit_group.asset b/data/assets/scene/solarsystem/planets/saturn/minor/inuit_group.asset index e72ce0bcf2..e19528647f 100644 --- a/data/assets/scene/solarsystem/planets/saturn/minor/inuit_group.asset +++ b/data/assets/scene/solarsystem/planets/saturn/minor/inuit_group.asset @@ -5,78 +5,88 @@ local kernels368 = asset.require('../sat368').Kernels -local parentName = transforms.SaturnBarycenter.Name +local parentIdentifier = transforms.SaturnBarycenter.Identifier local parentSpice = "SATURN BARYCENTER" local tags = { "moon_solarSystem", "moon_giants", "moon_saturn", "moon_inuit" } local trailColor = { 0.5, 0.3, 0.3 } local inuitGroup = { { - Name = "Kiviuq", + Identifier = "Kiviuq", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "KIVIUQ", Radii = { 16000, 16000, 16000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Inuit Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Inuit Group" + }, TrailColor = trailColor, OrbitPeriod = 448.16, Kernels = kernels368 }, { - Name = "Ijiraq", + Identifier = "Ijiraq", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "IJIRAQ", Radii = { 12000, 12000, 12000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Inuit Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Inuit Group" + }, TrailColor = trailColor, OrbitPeriod = 451.77, Kernels = kernels368 }, { - Name = "Paaliaq", + Identifier = "Paaliaq", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "PAALIAQ", Radii = { 22000, 22000, 22000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Inuit Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Inuit Group" + }, TrailColor = trailColor, OrbitPeriod = 692.98, Kernels = kernels368 }, { - Name = "Siarnaq", + Identifier = "Siarnaq", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "SIARNAQ", Radii = { 40000, 40000, 40000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Inuit Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Inuit Group" + }, TrailColor = trailColor, OrbitPeriod = 884.88, Kernels = kernels368 }, { - Name = "Tarqeq", + Identifier = "Tarqeq", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "TARQEQ", Radii = { 7000, 7000, 7000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Inuit Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Inuit Group" + }, TrailColor = trailColor, OrbitPeriod = 894.86, Kernels = kernels368 diff --git a/data/assets/scene/solarsystem/planets/saturn/minor/norse_group.asset b/data/assets/scene/solarsystem/planets/saturn/minor/norse_group.asset index bdf82911f0..a81ff133c3 100644 --- a/data/assets/scene/solarsystem/planets/saturn/minor/norse_group.asset +++ b/data/assets/scene/solarsystem/planets/saturn/minor/norse_group.asset @@ -6,415 +6,481 @@ local kernels375 = asset.require('../sat375').Kernels -local parentName = transforms.SaturnBarycenter.Name +local parentIdentifier = transforms.SaturnBarycenter.Identifier local parentSpice = "SATURN BARYCENTER" local tags = { "moon_solarSystem", "moon_giants", "moon_saturn", "moon_norse" } local trailColor = { 0.5, 0.3, 0.3 } local norseGroup = { { - Name = "Phoebe", + Identifier = "Phoebe", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "PHOEBE", Radii = { 218800, 217000, 203600 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 545.09, Kernels = kernels375 }, { - Name = "Skathi", + Identifier = "Skathi", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "SKATHI", Radii = { 8000, 8000, 8000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 732.52, Kernels = kernels368 }, { - Name = "S/2007 S 2", + Identifier = "S2007S2", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "65055", Radii = { 6000, 6000, 6000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Name = "S/2007 S 2", + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 792.96, Kernels = kernels368 }, { - Name = "Skoll", + Identifier = "Skoll", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "SKOLL", Radii = { 6000, 6000, 6000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 862.37, Kernels = kernels368 }, { - Name = "S/2004 S 13", + Identifier = "S2004S13", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "65041", Radii = { 6000, 6000, 6000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Name = "S/2004 S 13", + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 905.85, Kernels = kernels368 }, { - Name = "Greip", + Identifier = "Greip", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "GREIP", Radii = { 6000, 6000, 6000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 906.56, Kernels = kernels368 }, { - Name = "Hyrrokkin", + Identifier = "Hyrrokkin", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "HYRROKKIN", Radii = { 8000, 8000, 8000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 914.29, Kernels = kernels368 }, { - Name = "Jarnsaxa", + Identifier = "Jarnsaxa", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "JARNSAXA", Radii = { 6000, 6000, 6000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 943.78, Kernels = kernels368 }, { - Name = "Mundilfari", + Identifier = "Mundilfari", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "MUNDILFARI", Radii = { 7000, 7000, 7000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 956.70, Kernels = kernels368 }, { - Name = "S/2006 S 1", + Identifier = "S2006S1", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "65048", Radii = { 6000, 6000, 6000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Name = "S/2006 S 1", + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 972.41, Kernels = kernels368 }, { - Name = "S/2004 S 17", + Identifier = "S2004S17", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "65045", Radii = { 4000, 4000, 4000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Name = "S/2004 S 17", + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 985.45, Kernels = kernels368 }, { - Name = "Bergelmir", + Identifier = "Bergelmir", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "BERGELMIR", Radii = { 6000, 6000, 6000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 985.83, Kernels = kernels368 }, { - Name = "Narvi", + Identifier = "Narvi", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "NARVI", Radii = { 7000, 7000, 7000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 1008.45, Kernels = kernels368 }, { - Name = "Suttungr", + Identifier = "Suttungr", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "SUTTUNGR", Radii = { 7000, 7000, 7000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 1022.82, Kernels = kernels368 }, { - Name = "Hati", + Identifier = "Hati", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "HATI", Radii = { 6000, 6000, 6000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 1033.05, Kernels = kernels368 }, { - Name = "S/2004 S 12", + Identifier = "S2004S12", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "65040", Radii = { 5000, 5000, 5000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Name = "S/2004 S 12", + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 1048.54, Kernels = kernels368 }, { - Name = "Farbauti", + Identifier = "Farbauti", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "FARBAUTI", Radii = { 5000, 5000, 5000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 1054.78, Kernels = kernels368 }, { - Name = "Thrymr", + Identifier = "Thrymr", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "THRYMR", Radii = { 7000, 7000, 7000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 1078.09, Kernels = kernels368 }, { - Name = "Aegir", + Identifier = "Aegir", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "AEGIR", Radii = { 6000, 6000, 6000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 1094.46, Kernels = kernels368 }, { - Name = "S/2007 S 3", + Identifier = "S2007S3", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "65056", Radii = { 5000, 5000, 5000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Name = "S/2007 S 3", + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 1100, Kernels = kernels368 }, { - Name = "Bestla", + Identifier = "Bestla", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "BESTLA", Radii = { 7000, 7000, 7000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 1101.45, Kernels = kernels368 }, { - Name = "S/2004 S 7", + Identifier = "S2004S7", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "65035", Radii = { 6000, 6000, 6000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Name = "S/2004 S 7", + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 1101.99, Kernels = kernels368 }, { - Name = "S/2006 S 3", + Identifier = "S2006S3", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "65050", Radii = { 6000, 6000, 6000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Name = "S/2006 S 3", + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 1142.37, Kernels = kernels368 }, { - Name = "FENRIR", + Identifier = "FENRIR", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "FENRIR", Radii = { 4000, 4000, 4000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 1212.53, Kernels = kernels368 }, -- Not yet in the Spice kernels -- { - -- Name = "Sutur", -- Rising + -- Identifier = "Sutur", -- Rising -- Parent = { - -- Name = parentName, + -- Identifier = parentIdentifier, -- Spice = parentSpice -- }, -- Spice = "SUTUR", -- Radii = { 6000, 6000, 6000 }, -- Tags = tags, - -- GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + -- GUI = { + -- Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + -- }, -- TrailColor = trailColor, -- OrbitPeriod = 1242.36, -- Kernels = kernels368 -- }, { - Name = "Kari", + Identifier = "Kari", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "KARI", Radii = { 7000, 7000, 7000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 1245.06, Kernels = kernels368 }, { - Name = "Ymir", + Identifier = "Ymir", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "YMIR", Radii = { 18000, 18000, 18000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 1254.15, Kernels = kernels368 }, { - Name = "Loge", + Identifier = "Loge", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "LOGE", Radii = { 6000, 6000, 6000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 1300.95, Kernels = kernels368 }, { - Name = "Fornjot", + Identifier = "Fornjot", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "FORNJOT", Radii = { 6000, 6000, 6000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Norse Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Norse Group" + }, TrailColor = trailColor, OrbitPeriod = 1432.16, Kernels = kernels368 diff --git a/data/assets/scene/solarsystem/planets/saturn/minor/other_group.asset b/data/assets/scene/solarsystem/planets/saturn/minor/other_group.asset index 38b356cd5e..0203893816 100644 --- a/data/assets/scene/solarsystem/planets/saturn/minor/other_group.asset +++ b/data/assets/scene/solarsystem/planets/saturn/minor/other_group.asset @@ -6,190 +6,216 @@ local kernels375 = asset.require('../sat375').Kernels -local parentName = transforms.SaturnBarycenter.Name +local parentIdentifier = transforms.SaturnBarycenter.Identifier local parentSpice = "SATURN BARYCENTER" local tags = { "moon_solarSystem", "moon_giants", "moon_saturn", "moon_other" } local trailColor = { 0.5, 0.3, 0.3 } local otherGroup = { { - Name = "Atlas", + Identifier = "Atlas", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "ATLAS", Radii = { 41000, 35000, 19000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Other Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Other Group" + }, TrailColor = trailColor, OrbitPeriod = 0.60169, Kernels = kernels393 }, { - Name = "Prometheus", + Identifier = "Prometheus", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "PROMETHEUS", Radii = { 136000, 79000, 59000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Other Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Other Group" + }, TrailColor = trailColor, OrbitPeriod = 0.61299, Kernels = kernels393 }, { - Name = "Pandora", + Identifier = "Pandora", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "PANDORA", Radii = { 104000, 81000, 64000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Other Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Other Group" + }, TrailColor = trailColor, OrbitPeriod = 0.62850, Kernels = kernels393 }, { - Name = "Epimetheus", + Identifier = "Epimetheus", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "EPIMETHEUS", Radii = { 130000, 114000, 106000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Other Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Other Group" + }, TrailColor = trailColor, OrbitPeriod = 0.69433, Kernels = kernels393 }, { - Name = "Janus", + Identifier = "Janus", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "JANUS", Radii = { 203000, 185000, 153000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Other Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Other Group" + }, TrailColor = trailColor, OrbitPeriod = 0.69466, Kernels = kernels393 }, { - Name = "Aegaeon", + Identifier = "Aegaeon", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "AEGAEON", Radii = { 500, 500, 500 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Other Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Other Group" + }, TrailColor = trailColor, OrbitPeriod = 0.80812, Kernels = kernels393 }, { - Name = "Methone", + Identifier = "Methone", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "METHONE", Radii = { 3200, 3200, 3200 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Other Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Other Group" + }, TrailColor = trailColor, OrbitPeriod = 1.00957, Kernels = kernels393 }, { - Name = "Anthe", + Identifier = "Anthe", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "ANTHE", Radii = { 1800, 1800, 1800 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Other Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Other Group" + }, TrailColor = trailColor, OrbitPeriod = 1.05089, Kernels = kernels393 }, { - Name = "Pallene", + Identifier = "Pallene", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "PALLENE", Radii = { 6000, 6000, 4000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Other Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Other Group" + }, TrailColor = trailColor, OrbitPeriod = 1.370218, Kernels = kernels393 }, { - Name = "Telesto", + Identifier = "Telesto", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "TELESTO", Radii = { 33000, 24000, 20000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Other Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Other Group" + }, TrailColor = trailColor, OrbitPeriod = 1.887802, Kernels = kernels375 }, { - Name = "Calypso", + Identifier = "Calypso", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "CALYPSO", Radii = { 30000, 23000, 14000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Other Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Other Group" + }, TrailColor = trailColor, OrbitPeriod = 1.887802, Kernels = kernels375 }, { - Name = "Helene", + Identifier = "Helene", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "HELENE", Radii = { 43000, 38000, 26000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Other Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Other Group" + }, TrailColor = trailColor, OrbitPeriod = 2.736915, Kernels = kernels375 }, { - Name = "Polydeuces", + Identifier = "Polydeuces", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "POLYDEUCES", Radii = { 3000, 2000, 1000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Saturn/Moons/Other Group", + GUI = { + Path = "/Solar System/Planets/Saturn/Moons/Other Group" + }, TrailColor = trailColor, OrbitPeriod = 2.736915, Kernels = kernels393 diff --git a/data/assets/scene/solarsystem/planets/saturn/rhea/rhea.asset b/data/assets/scene/solarsystem/planets/saturn/rhea/rhea.asset index 6a0ff41807..ef17b8ae46 100644 --- a/data/assets/scene/solarsystem/planets/saturn/rhea/rhea.asset +++ b/data/assets/scene/solarsystem/planets/saturn/rhea/rhea.asset @@ -13,8 +13,8 @@ local textures = asset.syncedResource({ }) local Rhea = { - Name = "Rhea", - Parent = transforms.SaturnBarycenter.Name, + Identifier = "Rhea", + Parent = transforms.SaturnBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -35,7 +35,7 @@ local Rhea = { Layers = { ColorLayers = { { - Name = "Rhea Texture", + Identifier = "Texture", FilePath = textures .. "/rhea.jpg", Enabled = true } @@ -43,7 +43,9 @@ local Rhea = { } }, Tag = { "moon_solarSystem", "moon_giants", "moon_saturn" }, - GuiPath = "/Solar System/Planets/Saturn/Moons" + GUI = { + Path = "/Solar System/Planets/Saturn/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/saturn/rhea/trail.asset b/data/assets/scene/solarsystem/planets/saturn/rhea/trail.asset index 36d1d469c3..d673879143 100644 --- a/data/assets/scene/solarsystem/planets/saturn/rhea/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/rhea/trail.asset @@ -5,8 +5,8 @@ local kernels375 = asset.require('../sat375').Kernels local RheaTrail = { - Name = "RheaTrail", - Parent = transforms.SaturnBarycenter.Name, + Identifier = "RheaTrail", + Parent = transforms.SaturnBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -20,7 +20,10 @@ local RheaTrail = { Resolution = 1000 }, Tag = { "moonTrail_solarSystem", "moonTrail_giants", "moonTrail_saturn" }, - GuiPath = "/Solar System/Planets/Saturn/Moons" + GUI = { + Name = "Rhea Trail", + Path = "/Solar System/Planets/Saturn/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/saturn/saturn.asset b/data/assets/scene/solarsystem/planets/saturn/saturn.asset index 7ba41f082c..5eba3cd243 100644 --- a/data/assets/scene/solarsystem/planets/saturn/saturn.asset +++ b/data/assets/scene/solarsystem/planets/saturn/saturn.asset @@ -13,8 +13,8 @@ local textures = asset.syncedResource({ }) local Saturn = { - Name = "Saturn", - Parent = transforms.SaturnBarycenter.Name, + Identifier = "Saturn", + Parent = transforms.SaturnBarycenter.Identifier, Transform = { Rotation = { Type = "SpiceRotation", @@ -29,7 +29,7 @@ local Saturn = { Layers = { ColorLayers = { { - Name = "Saturn Texture", + Identifier = "Texture", FilePath = textures .. "/saturn.jpg", Enabled = true } @@ -37,19 +37,24 @@ local Saturn = { } }, Tag = { "planet_solarSystem", "planet_giants" }, - GuiPath = "/Solar System/Planets/Saturn" + GUI = { + Path = "/Solar System/Planets/Saturn" + } } local SaturnRings = { - Name = "SaturnRings", - Parent = Saturn.Name, + Identifier = "SaturnRings", + Parent = Saturn.Identifier, Renderable = { Type = "RenderableRings", Texture = textures .. "/saturn_rings.png", Size = 140220000, Offset = { 74500 / 140445.100671159, 1.0 } -- min / max extend }, - GuiPath = "/Solar System/Planets/Saturn" + GUI = { + Name = "Saturn Rings", + Path = "/Solar System/Planets/Saturn" + } }, diff --git a/data/assets/scene/solarsystem/planets/saturn/tethys/tethys.asset b/data/assets/scene/solarsystem/planets/saturn/tethys/tethys.asset index a56abc150e..dbcc1147ca 100644 --- a/data/assets/scene/solarsystem/planets/saturn/tethys/tethys.asset +++ b/data/assets/scene/solarsystem/planets/saturn/tethys/tethys.asset @@ -13,8 +13,8 @@ local textures = asset.syncedResource({ }) local Tethys = { - Name = "Tethys", - Parent = transforms.SaturnBarycenter.Name, + Identifier = "Tethys", + Parent = transforms.SaturnBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -35,7 +35,7 @@ local Tethys = { Layers = { ColorLayers = { { - Name = "Tethys Texture", + Identifier = "Texture", FilePath = textures .. "/tethys.jpg", Enabled = true } @@ -43,7 +43,9 @@ local Tethys = { } }, Tag = { "moon_solarSystem", "moon_giants", "moon_saturn" }, - GuiPath = "/Solar System/Planets/Saturn/Moons" + GUI = { + Path = "/Solar System/Planets/Saturn/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/saturn/tethys/trail.asset b/data/assets/scene/solarsystem/planets/saturn/tethys/trail.asset index 359b8cde03..13a2cfce44 100644 --- a/data/assets/scene/solarsystem/planets/saturn/tethys/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/tethys/trail.asset @@ -5,8 +5,8 @@ local kernels375 = asset.require('../sat375').Kernels local TethysTrail = { - Name = "TethysTrail", - Parent = transforms.SaturnBarycenter.Name, + Identifier = "TethysTrail", + Parent = transforms.SaturnBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -20,7 +20,10 @@ local TethysTrail = { Resolution = 1000 }, Tag = { "moonTrail_solarSystem", "moonTrail_giants", "moonTrail_saturn" }, - GuiPath = "/Solar System/Planets/Saturn/Moons" + GUI = { + Name = "Tethys Trail", + Path = "/Solar System/Planets/Saturn/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/saturn/titan/titan.asset b/data/assets/scene/solarsystem/planets/saturn/titan/titan.asset index 6c739bdc27..0e90ce2f8c 100644 --- a/data/assets/scene/solarsystem/planets/saturn/titan/titan.asset +++ b/data/assets/scene/solarsystem/planets/saturn/titan/titan.asset @@ -13,8 +13,8 @@ local textures = asset.syncedResource({ }) local Titan = { - Name = "Titan", - Parent = transforms.SaturnBarycenter.Name, + Identifier = "Titan", + Parent = transforms.SaturnBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -35,7 +35,7 @@ local Titan = { Layers = { ColorLayers = { { - Name = "Titan Texture", + Identifier = "Texture", FilePath = textures .. "/titan.jpg", Enabled = true } @@ -43,7 +43,9 @@ local Titan = { } }, Tag = { "moon_solarSystem", "moon_giants", "moon_saturn" }, - GuiPath = "/Solar System/Planets/Saturn/Moons" + GUI = { + Path = "/Solar System/Planets/Saturn/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/saturn/titan/trail.asset b/data/assets/scene/solarsystem/planets/saturn/titan/trail.asset index 733b7c60d0..715c45ff74 100644 --- a/data/assets/scene/solarsystem/planets/saturn/titan/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/titan/trail.asset @@ -5,8 +5,8 @@ local kernels375 = asset.require('../sat375').Kernels local TitanTrail = { - Name = "TitanTrail", - Parent = transforms.SaturnBarycenter.Name, + Identifier = "TitanTrail", + Parent = transforms.SaturnBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -20,7 +20,10 @@ local TitanTrail = { Resolution = 1000 }, Tag = { "moonTrail_solarSystem", "moonTrail_giants", "moonTrail_saturn" }, - GuiPath = "/Solar System/Planets/Saturn/Moons" + GUI = { + Name = "Titan Trail", + Path = "/Solar System/Planets/Saturn/Moons" + } } diff --git a/data/assets/scene/solarsystem/planets/saturn/trail.asset b/data/assets/scene/solarsystem/planets/saturn/trail.asset index 31dd0bb5c0..590d9d3bda 100644 --- a/data/assets/scene/solarsystem/planets/saturn/trail.asset +++ b/data/assets/scene/solarsystem/planets/saturn/trail.asset @@ -4,8 +4,8 @@ local transforms = asset.require('scene/solarsystem/sun/transforms') local SaturnTrail = { - Name = "SaturnTrail", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "SaturnTrail", + Parent = transforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -18,7 +18,10 @@ local SaturnTrail = { Resolution = 1000 }, Tag = { "planetTrail_solarSystem", "planetTrail_giants" }, - GuiPath = "/Solar System/Planets/Saturn" + GUI = { + Name = "Saturn Trail", + Path = "/Solar System/Planets/Saturn" + } } diff --git a/data/assets/scene/solarsystem/planets/saturn/transforms.asset b/data/assets/scene/solarsystem/planets/saturn/transforms.asset index fb262abb40..8a32be0a6d 100644 --- a/data/assets/scene/solarsystem/planets/saturn/transforms.asset +++ b/data/assets/scene/solarsystem/planets/saturn/transforms.asset @@ -5,8 +5,8 @@ asset.require("spice/base") local SaturnBarycenter = { - Name = "SaturnBarycenter", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "SaturnBarycenter", + Parent = transforms.SolarSystemBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -14,7 +14,10 @@ local SaturnBarycenter = { Observer = "SUN" } }, - GuiPath = "/Solar System/Planets/Saturn" + GUI = { + Name = "Saturn Barycenter", + Path = "/Solar System/Planets/Saturn" + } } diff --git a/data/assets/scene/solarsystem/planets/uranus/inner_moons.asset b/data/assets/scene/solarsystem/planets/uranus/inner_moons.asset index ae453c899a..6b27fe5cd3 100644 --- a/data/assets/scene/solarsystem/planets/uranus/inner_moons.asset +++ b/data/assets/scene/solarsystem/planets/uranus/inner_moons.asset @@ -5,190 +5,216 @@ local kernels091 = asset.require('./ura091').Kernels -local parentName = transforms.UranusBarycenter.Name +local parentIdentifier = transforms.UranusBarycenter.Identifier local parentSpice = "URANUS BARYCENTER" local tags = { "moon_solarSystem", "moon_giants", "moon_uranus", "moon_inner" } local trailColor = { 0.60, 0.65, 0.84 } local innerMoons = { { - Name = "Cordelia", + Identifier = "Cordelia", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "CORDELIA", Radii = { 40000, 40000, 40000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Inner Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Inner Moons" + }, TrailColor = trailColor, OrbitPeriod = 0.335034, Kernels = kernels091 }, { - Name = "Ophelia", + Identifier = "Ophelia", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "OPHELIA", Radii = { 43000, 43000, 43000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Inner Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Inner Moons" + }, TrailColor = trailColor, OrbitPeriod = 0.376400, Kernels = kernels091 }, { - Name = "Bianca", + Identifier = "Bianca", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "BIANCA", Radii = { 51000, 51000, 51000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Inner Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Inner Moons" + }, TrailColor = trailColor, OrbitPeriod = 0.434579, Kernels = kernels091 }, { - Name = "Cressida", + Identifier = "Cressida", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "CRESSIDA", Radii = { 80000, 80000, 80000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Inner Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Inner Moons" + }, TrailColor = trailColor, OrbitPeriod = 0.463570, Kernels = kernels091 }, { - Name = "Desdemona", + Identifier = "Desdemona", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "DESDEMONA", Radii = { 64000, 64000, 64000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Inner Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Inner Moons" + }, TrailColor = trailColor, OrbitPeriod = 0.473650, Kernels = kernels091 }, { - Name = "Juliet", + Identifier = "Juliet", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "JULIET", Radii = { 94000, 94000, 94000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Inner Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Inner Moons" + }, TrailColor = trailColor, OrbitPeriod = 0.493065, Kernels = kernels091 }, { - Name = "Portia", + Identifier = "Portia", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "PORTIA", Radii = { 135000, 135000, 135000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Inner Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Inner Moons" + }, TrailColor = trailColor, OrbitPeriod = 0.513196, Kernels = kernels091 }, { - Name = "Rosalind", + Identifier = "Rosalind", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "ROSALIND", Radii = { 72000, 72000, 72000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Inner Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Inner Moons" + }, TrailColor = trailColor, OrbitPeriod = 0.558460, Kernels = kernels091 }, { - Name = "Cupid", + Identifier = "Cupid", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "CUPID", Radii = { 18000, 18000, 18000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Inner Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Inner Moons" + }, TrailColor = trailColor, OrbitPeriod = 0.618, Kernels = kernels091 }, { - Name = "Belinda", + Identifier = "Belinda", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "BELINDA", Radii = { 90000, 90000, 90000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Inner Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Inner Moons" + }, TrailColor = trailColor, OrbitPeriod = 0.623527, Kernels = kernels091 }, { - Name = "Perdita", + Identifier = "Perdita", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "PERDITA", Radii = { 30000, 30000, 30000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Inner Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Inner Moons" + }, TrailColor = trailColor, OrbitPeriod = 0.638, Kernels = kernels091 }, { - Name = "Puck", + Identifier = "Puck", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "PUCK", Radii = { 162000, 162000, 162000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Inner Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Inner Moons" + }, TrailColor = trailColor, OrbitPeriod = 0.761833, Kernels = kernels091 }, { - Name = "Mab", + Identifier = "Mab", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "MAB", Radii = { 25000, 25000, 25000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Inner Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Inner Moons" + }, TrailColor = trailColor, OrbitPeriod = 0.923, Kernels = kernels091 diff --git a/data/assets/scene/solarsystem/planets/uranus/irregular_prograde_moons.asset b/data/assets/scene/solarsystem/planets/uranus/irregular_prograde_moons.asset index 34522a58ad..d866dfbd7f 100644 --- a/data/assets/scene/solarsystem/planets/uranus/irregular_prograde_moons.asset +++ b/data/assets/scene/solarsystem/planets/uranus/irregular_prograde_moons.asset @@ -5,22 +5,24 @@ local kernels112 = asset.require('./ura112').Kernels -local parentName = transforms.UranusBarycenter.Name +local parentIdentifier = transforms.UranusBarycenter.Identifier local parentSpice = "URANUS BARYCENTER" local tags = { "moon_solarSystem", "moon_giants", "moon_uranus", "moon_irregular_prograde" } local trailColor = { 0.60, 0.65, 0.84 } local irregularMoons = { { - Name = "Margaret", + Identifier = "Margaret", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "MARGARET", Radii = { 20000, 20000, 20000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Irregular Prograde Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Irregular Prograde Moons" + }, TrailColor = trailColor, OrbitPeriod = 1694.8, Kernels = kernels112 diff --git a/data/assets/scene/solarsystem/planets/uranus/irregular_retrograde_moons.asset b/data/assets/scene/solarsystem/planets/uranus/irregular_retrograde_moons.asset index bf3817e663..9e1efdd062 100644 --- a/data/assets/scene/solarsystem/planets/uranus/irregular_retrograde_moons.asset +++ b/data/assets/scene/solarsystem/planets/uranus/irregular_retrograde_moons.asset @@ -5,120 +5,136 @@ local kernels112 = asset.require('./ura112').Kernels -local parentName = transforms.UranusBarycenter.Name +local parentIdentifier = transforms.UranusBarycenter.Identifier local parentSpice = "URANUS BARYCENTER" local tags = { "moon_solarSystem", "moon_giants", "moon_uranus", "moon_irregular_retrograde" } local trailColor = { 0.60, 0.65, 0.84 } local irregularMoons = { { - Name = "Francisco", + Identifier = "Francisco", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "FRANCISCO", Radii = { 22000, 22000, 22000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Irregular Retrograde Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Irregular Retrograde Moons" + }, TrailColor = trailColor, OrbitPeriod = 266.56, Kernels = kernels112 }, { - Name = "Caliban", + Identifier = "Caliban", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "CALIBAN", Radii = { 72000, 72000, 72000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Irregular Retrograde Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Irregular Retrograde Moons" + }, TrailColor = trailColor, OrbitPeriod = 579.50, Kernels = kernels112 }, { - Name = "Stephano", + Identifier = "Stephano", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "STEPHANO", Radii = { 32000, 32000, 32000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Irregular Retrograde Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Irregular Retrograde Moons" + }, TrailColor = trailColor, OrbitPeriod = 676.50, Kernels = kernels112 }, { - Name = "Trinculo", + Identifier = "Trinculo", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "TRINCULO", Radii = { 18000, 18000, 18000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Irregular Retrograde Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Irregular Retrograde Moons" + }, TrailColor = trailColor, OrbitPeriod = 758.10, Kernels = kernels112 }, { - Name = "Sycorax", + Identifier = "Sycorax", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "SYCORAX", Radii = { 165000, 165000, 165000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Irregular Retrograde Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Irregular Retrograde Moons" + }, TrailColor = trailColor, OrbitPeriod = 1283.4, Kernels = kernels112 }, { - Name = "Prospero", + Identifier = "Prospero", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "PROSPERO", Radii = { 50000, 50000, 50000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Irregular Retrograde Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Irregular Retrograde Moons" + }, TrailColor = trailColor, OrbitPeriod = 1992.8, Kernels = kernels112 }, { - Name = "Setebos", + Identifier = "Setebos", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "SETEBOS", Radii = { 48000, 48000, 48000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Irregular Retrograde Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Irregular Retrograde Moons" + }, TrailColor = trailColor, OrbitPeriod = 2202.3, Kernels = kernels112 }, { - Name = "Ferdinand", + Identifier = "Ferdinand", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "FERDINAND", Radii = { 20000, 20000, 20000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Irregular Retrograde Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Irregular Retrograde Moons" + }, TrailColor = trailColor, OrbitPeriod = 2823.4, Kernels = kernels112 diff --git a/data/assets/scene/solarsystem/planets/uranus/major_moons.asset b/data/assets/scene/solarsystem/planets/uranus/major_moons.asset index 45d6e0cce1..a8d44f1514 100644 --- a/data/assets/scene/solarsystem/planets/uranus/major_moons.asset +++ b/data/assets/scene/solarsystem/planets/uranus/major_moons.asset @@ -5,78 +5,88 @@ local kernels111 = asset.require('./ura111').Kernels -local parentName = transforms.UranusBarycenter.Name +local parentIdentifier = transforms.UranusBarycenter.Identifier local parentSpice = "URANUS BARYCENTER" local tags = { "moon_solarSystem", "moon_giants", "moon_uranus", "moon_major" } local trailColor = { 0.60, 0.65, 0.84 } local majorMoons = { { - Name = "Miranda", + Identifier = "Miranda", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "MIRANDA", Radii = { 471600, 468000, 466000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Major Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Major Moons" + }, TrailColor = trailColor, OrbitPeriod = 1.413479, Kernels = kernels111 }, { - Name = "Ariel", + Identifier = "Ariel", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "ARIEL", Radii = { 1162000, 1156000, 1155000 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Major Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Major Moons" + }, TrailColor = trailColor, OrbitPeriod = 2.520379, Kernels = kernels111 }, { - Name = "Umbriel", + Identifier = "Umbriel", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "UMBRIEL", Radii = { 1169400, 1169400, 1169400 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Major Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Major Moons" + }, TrailColor = trailColor, OrbitPeriod = 4.144177, Kernels = kernels111 }, { - Name = "Titania", + Identifier = "Titania", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "TITANIA", Radii = { 1576800, 1576800, 1576800 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Major Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Major Moons" + }, TrailColor = trailColor, OrbitPeriod = 8.705872, Kernels = kernels111 }, { - Name = "Oberon", + Identifier = "Oberon", Parent = { - Name = parentName, + Identifier = parentIdentifier, Spice = parentSpice }, Spice = "OBERON", Radii = { 1522800, 1522800, 1522800 }, Tags = tags, - GuiPath = "/Solar System/Planets/Uranus/Moons/Major Moons", + GUI = { + Path = "/Solar System/Planets/Uranus/Moons/Major Moons" + }, TrailColor = trailColor, OrbitPeriod = 13.463239, Kernels = kernels111 diff --git a/data/assets/scene/solarsystem/planets/uranus/trail.asset b/data/assets/scene/solarsystem/planets/uranus/trail.asset index a558871700..7acf031ffe 100644 --- a/data/assets/scene/solarsystem/planets/uranus/trail.asset +++ b/data/assets/scene/solarsystem/planets/uranus/trail.asset @@ -4,8 +4,8 @@ local transforms = asset.require('scene/solarsystem/sun/transforms') local UranusTrail = { - Name = "UranusTrail", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "UranusTrail", + Parent = transforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -18,7 +18,10 @@ local UranusTrail = { Resolution = 1000 }, Tag = { "planetTrail_solarSystem", "planetTrail_giants" }, - GuiPath = "/Solar System/Planets/Uranus" + GUI = { + Name = "Uranus Trail", + Path = "/Solar System/Planets/Uranus" + } } diff --git a/data/assets/scene/solarsystem/planets/uranus/transforms.asset b/data/assets/scene/solarsystem/planets/uranus/transforms.asset index 0647e15403..f42a8750bc 100644 --- a/data/assets/scene/solarsystem/planets/uranus/transforms.asset +++ b/data/assets/scene/solarsystem/planets/uranus/transforms.asset @@ -5,8 +5,8 @@ asset.require("spice/base") local UranusBarycenter = { - Name = "UranusBarycenter", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "UranusBarycenter", + Parent = transforms.SolarSystemBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -14,7 +14,10 @@ local UranusBarycenter = { Observer = "SUN" } }, - GuiPath = "/Solar System/Planets/Uranus" + GUI = { + Name = "Uranus Barycenter", + Path = "/Solar System/Planets/Uranus" + } } diff --git a/data/assets/scene/solarsystem/planets/uranus/uranus.asset b/data/assets/scene/solarsystem/planets/uranus/uranus.asset index 8cb72d3c88..1bb29fa184 100644 --- a/data/assets/scene/solarsystem/planets/uranus/uranus.asset +++ b/data/assets/scene/solarsystem/planets/uranus/uranus.asset @@ -13,8 +13,8 @@ local textures = asset.syncedResource({ }) local Uranus = { - Name = "Uranus", - Parent = transforms.UranusBarycenter.Name, + Identifier = "Uranus", + Parent = transforms.UranusBarycenter.Identifier, Transform = { Rotation = { Type = "SpiceRotation", @@ -29,7 +29,7 @@ local Uranus = { Layers = { ColorLayers = { { - Name = "Texture", + Identifier = "Texture", FilePath = textures .. "/uranus.jpg", Enabled = true } @@ -37,7 +37,9 @@ local Uranus = { } }, Tag = { "planet_solarSystem", "planet_giants" }, - GuiPath = "/Solar System/Planets/Uranus" + GUI = { + Path = "/Solar System/Planets/Uranus" + } } diff --git a/data/assets/scene/solarsystem/planets/venus/trail.asset b/data/assets/scene/solarsystem/planets/venus/trail.asset index 0d4e4853e7..b0385f1e57 100644 --- a/data/assets/scene/solarsystem/planets/venus/trail.asset +++ b/data/assets/scene/solarsystem/planets/venus/trail.asset @@ -5,8 +5,8 @@ asset.require("spice/base") local VenusTrail = { - Name = "VenusTrail", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "VenusTrail", + Parent = transforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderableTrailOrbit", Translation = { @@ -19,7 +19,10 @@ local VenusTrail = { Resolution = 1000 }, Tag = { "planetTrail_solarSystem", "planetTrail_terrestrial" }, - GuiPath = "/Solar System/Planets/Venus" + GUI = { + Name = "Venus Trail", + Path = "/Solar System/Planets/Venus" + } } diff --git a/data/assets/scene/solarsystem/planets/venus/transforms.asset b/data/assets/scene/solarsystem/planets/venus/transforms.asset index 71ff2ddd57..f8b0bf0307 100644 --- a/data/assets/scene/solarsystem/planets/venus/transforms.asset +++ b/data/assets/scene/solarsystem/planets/venus/transforms.asset @@ -5,8 +5,8 @@ asset.require("spice/base") local VenusBarycenter = { - Name = "VenusBarycenter", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "VenusBarycenter", + Parent = transforms.SolarSystemBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -14,7 +14,10 @@ local VenusBarycenter = { Observer = "SUN" } }, - GuiPath = "/Solar System/Planets/Venus" + GUI = { + Name = "Venus Barycenter", + Path = "/Solar System/Planets/Venus" + } } diff --git a/data/assets/scene/solarsystem/planets/venus/venus.asset b/data/assets/scene/solarsystem/planets/venus/venus.asset index 7596c7d076..6cb6586798 100644 --- a/data/assets/scene/solarsystem/planets/venus/venus.asset +++ b/data/assets/scene/solarsystem/planets/venus/venus.asset @@ -13,8 +13,8 @@ local textures = asset.syncedResource({ }) local Venus = { - Name = "Venus", - Parent = transforms.VenusBarycenter.Name, + Identifier = "Venus", + Parent = transforms.VenusBarycenter.Identifier, Transform = { Rotation = { Type = "SpiceRotation", @@ -34,7 +34,7 @@ local Venus = { Layers = { ColorLayers = { { - Name = "Venus Texture", + Identifier = "Texture", FilePath = textures .. "/venus.jpg", Enabled = true } @@ -42,7 +42,9 @@ local Venus = { } }, Tag = { "planet_solarSystem", "planet_terrestrial" }, - GuiPath = "/Solar System/Planets/Venus" + GUI = { + Path = "/Solar System/Planets/Venus" + } } diff --git a/data/assets/scene/solarsystem/sun/glare.asset b/data/assets/scene/solarsystem/sun/glare.asset index fd35d5cc16..14e3af3264 100644 --- a/data/assets/scene/solarsystem/sun/glare.asset +++ b/data/assets/scene/solarsystem/sun/glare.asset @@ -6,8 +6,8 @@ asset.require("spice/base") local SunGlare = { - Name = "SunGlare", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "SunGlare", + Parent = transforms.SolarSystemBarycenter.Identifier, Renderable = { Type = "RenderablePlaneImageLocal", Size = 1.3*10^10.5, @@ -23,7 +23,10 @@ local SunGlare = { Observer = "SSB" } }, - GuiPath = "/Solar System/Sun" + GUI = { + Name = "Sun Glare", + Path = "/Solar System/Sun" + } } diff --git a/data/assets/scene/solarsystem/sun/marker.asset b/data/assets/scene/solarsystem/sun/marker.asset index 604ad37456..7bfdaf911e 100644 --- a/data/assets/scene/solarsystem/sun/marker.asset +++ b/data/assets/scene/solarsystem/sun/marker.asset @@ -6,8 +6,8 @@ asset.require("spice/base") local SunMarker = { - Name = "SunMarker", - Parent = transforms.SolarSystemBarycenter.Name, + Identifier = "SunMarker", + Parent = transforms.SolarSystemBarycenter.Identifier, Renderable = { Enabled = false, Type = "RenderablePlaneImageLocal", @@ -17,7 +17,10 @@ local SunMarker = { Texture = textures .. "/marker.png", BlendMode = "Additive" }, - GuiPath = "/Solar System/Sun" + GUI = { + Name = "Sun Marker", + Path = "/Solar System/Sun" + } } diff --git a/data/assets/scene/solarsystem/sun/sun.asset b/data/assets/scene/solarsystem/sun/sun.asset index 9df364e153..b9a51bf6bc 100644 --- a/data/assets/scene/solarsystem/sun/sun.asset +++ b/data/assets/scene/solarsystem/sun/sun.asset @@ -6,8 +6,8 @@ asset.require("spice/base") local Sun = { - Name = "Sun", - Parent = transforms.SunIAU.Name, + Identifier = "Sun", + Parent = transforms.SunIAU.Identifier, Renderable = { Type = "RenderablePlanet", Frame = "IAU_SUN", @@ -20,7 +20,9 @@ local Sun = { ColorTexture = textures .. "/sun.jpg", PerformShading = false }, - GuiPath = "/Solar System/Sun" + GUI = { + Path = "/Solar System/Sun" + } } diff --git a/data/assets/scene/solarsystem/sun/transforms.asset b/data/assets/scene/solarsystem/sun/transforms.asset index f5345a0adc..0083c08083 100644 --- a/data/assets/scene/solarsystem/sun/transforms.asset +++ b/data/assets/scene/solarsystem/sun/transforms.asset @@ -5,14 +5,14 @@ asset.require("spice/base") -- Barycenter of the solar system, expressed in the Galactic frame local SolarSystemBarycenter = { - Name = "SolarSystemBarycenter" + Identifier = "SolarSystemBarycenter" -- No parent; this node is attached to the scene graph root } -- Spice frame for the Sun local SunIAU = { - Name = "SunIAU", - Parent = SolarSystemBarycenter.Name, + Identifier = "SunIAU", + Parent = SolarSystemBarycenter.Identifier, Transform = { Translation = { Type = "SpiceTranslation", @@ -25,7 +25,10 @@ local SunIAU = { DestinationFrame = "GALACTIC" } }, - GuiPath = "/Solar System/Sun" + GUI = { + Name = "SUN IAU", + Path = "/Solar System/Sun" + } } diff --git a/data/assets/util/asset_helper.asset b/data/assets/util/asset_helper.asset index 0d9fedac83..956b3a5758 100644 --- a/data/assets/util/asset_helper.asset +++ b/data/assets/util/asset_helper.asset @@ -37,7 +37,7 @@ local registerSceneGraphNodes = function (sceneAsset, nodes, override) sceneAsset.onDeinitialize(function () for i = #nodes, 1, -1 do node = nodes[i] - openspace.removeSceneGraphNode(node.Name) + openspace.removeSceneGraphNode(node.Identifier) end end) end @@ -50,7 +50,12 @@ local registerSceneGraphNodesAndExport = function (sceneAsset, nodes, override) return end end - + + for i, node in ipairs(nodes) do + if not node.Identifier then + openspace.printError("Could not load asset as Identifier was missing") + end + end sceneAsset.onInitialize(function () for i, node in ipairs(nodes) do @@ -60,12 +65,12 @@ local registerSceneGraphNodesAndExport = function (sceneAsset, nodes, override) sceneAsset.onDeinitialize(function () for i = #nodes, 1, -1 do node = nodes[i] - openspace.removeSceneGraphNode(node.Name) + openspace.removeSceneGraphNode(node.Identifier) end end) for i, node in ipairs(nodes) do - sceneAsset.export(node.Name, node) + sceneAsset.export(node.Identifier, node) end end diff --git a/data/assets/util/default_keybindings.asset b/data/assets/util/default_keybindings.asset index 5a8e0b800b..3d31d9bdcc 100644 --- a/data/assets/util/default_keybindings.asset +++ b/data/assets/util/default_keybindings.asset @@ -5,7 +5,7 @@ local Keybindings = { { Key = "F2", Command = -[[local b = openspace.getPropertyValue('Modules.ImGUI.Main.Scene Properties.Enabled'); +[[local b = openspace.getPropertyValue('Modules.ImGUI.Main.SceneProperties.Enabled'); local c = openspace.getPropertyValue('Modules.ImGUI.Main.IsHidden'); openspace.setPropertyValue('Modules.ImGUI.*.Enabled', false); if b and c then @@ -13,11 +13,11 @@ if b and c then -- and then closed again. So the main properties window is enabled, but also all -- windows are hidden openspace.setPropertyValueSingle('Modules.ImGUI.Main.IsHidden', false); - openspace.setPropertyValueSingle('Modules.ImGUI.Main.Scene Properties.Enabled', true); - openspace.setPropertyValueSingle('Modules.ImGUI.Main.Space/Time.Enabled', true); + openspace.setPropertyValueSingle('Modules.ImGUI.Main.SceneProperties.Enabled', true); + openspace.setPropertyValueSingle('Modules.ImGUI.Main.SpaceTime.Enabled', true); else - openspace.setPropertyValueSingle('Modules.ImGUI.Main.Scene Properties.Enabled', not b); - openspace.setPropertyValueSingle('Modules.ImGUI.Main.Space/Time.Enabled', not b); + openspace.setPropertyValueSingle('Modules.ImGUI.Main.SceneProperties.Enabled', not b); + openspace.setPropertyValueSingle('Modules.ImGUI.Main.SpaceTime.Enabled', not b); openspace.setPropertyValueSingle('Modules.ImGUI.Main.IsHidden', b); end]], Documentation = "Shows or hides the properties window", diff --git a/data/assets/util/procedural_globe.asset b/data/assets/util/procedural_globe.asset index c055d43420..6a7650fe94 100644 --- a/data/assets/util/procedural_globe.asset +++ b/data/assets/util/procedural_globe.asset @@ -1,8 +1,8 @@ asset.require('spice/base') -local createGlobe = function(name, parent, parentSpiceName, spiceName, radii, tags, guiPath, trailColor, orbitPeriod, kernels) +local createGlobeWithoutName = function(identifier, parent, parentSpiceName, spiceName, radii, tags, guiPath, trailColor, orbitPeriod, kernels) return { - Name = name, + Identifier = identifier, Parent = parent, Transform = { Translation = { @@ -19,10 +19,12 @@ local createGlobe = function(name, parent, parentSpiceName, spiceName, radii, ta Layers = {}, Tag = tags }, - GuiPath = guiPath + GUI = { + Path = guiPath + } }, { - Name = name .. "Trail", + Identifier = identifier .. "Trail", Parent = parent, Renderable = { Type = "RenderableTrailOrbit", @@ -35,13 +37,25 @@ local createGlobe = function(name, parent, parentSpiceName, spiceName, radii, ta Period = orbitPeriod, Resolution = 1000 }, - GuiPath = guiPath + GUI = { + Path = guiPath + } } end -asset.export("createGlobe", createGlobe) + +local createGlobeWithName = function(identifier, name, parent, parentSpiceName, spiceName, radii, tags, guiPath, trailColor, orbitPeriod, kernels) + g, t = createGlobeWithoutName(identifier, parent, parentSpiceName, spiceName, radii, tags, guiPath, trailColor, orbitPeriod, kernels) + + g.GUI.Name = name + t.GUI.Name = name .. " Trail" + + return g, t +end +asset.export("createGlobeWithoutName", createGlobeWithoutName) +asset.export("createGlobeWithName", createGlobeWithName) + local createGlobes = function(t) - for _,v in pairs(t) do if type(v) ~= "table" then openspace.printWarning("The table passed to 'createGlobes' was not a table of tables") @@ -53,18 +67,36 @@ local createGlobes = function(t) result = {} for i, v in ipairs(t) do - globe, trail = createGlobe( - v.Name, - v.Parent.Name, - v.Parent.Spice, - v.Spice, - v.Radii, - v.Tags, - v.GuiPath, - v.TrailColor, - v.OrbitPeriod, - v.Kernels - ) + local globe = nil + local trail = nil + if v.Name then + globe, trail = createGlobeWithName( + v.Identifier, + v.GUI.Name, + v.Parent.Identifier, + v.Parent.Spice, + v.Spice, + v.Radii, + v.Tags, + v.GUI.Path, + v.TrailColor, + v.OrbitPeriod, + v.Kernels + ) + else + globe, trail = createGlobeWithoutName( + v.Identifier, + v.Parent.Identifier, + v.Parent.Spice, + v.Spice, + v.Radii, + v.Tags, + v.GUI.Path, + v.TrailColor, + v.OrbitPeriod, + v.Kernels + ) + end table.insert(result, globe) table.insert(result, trail) diff --git a/data/assets/voyager.scene b/data/assets/voyager.scene index 9bce0d584e..a5d24cd235 100644 --- a/data/assets/voyager.scene +++ b/data/assets/voyager.scene @@ -47,7 +47,7 @@ asset.onInitialize(function () ) openspace.navigation.setCameraState({ - Focus = VoyagerAsset["Voyager 1"].Name, + Focus = VoyagerAsset.Voyager_1.Identifier, Position = { 526781518487.171326, 257168309890.072144, -1381125204152.817383 }, Rotation = { -0.106166, 0.981574, -0.084545, 0.134513 }, }) diff --git a/include/openspace/engine/moduleengine.h b/include/openspace/engine/moduleengine.h index 547f6e5c2c..1ad4f7af11 100644 --- a/include/openspace/engine/moduleengine.h +++ b/include/openspace/engine/moduleengine.h @@ -95,7 +95,7 @@ public: ModuleSubClass* module() const { auto it = std::find_if(_modules.begin(), _modules.end(), [](const std::unique_ptr& m) { - return m->name() == ModuleSubClass::Name; + return m->identifier() == ModuleSubClass::Name; }); if (it != _modules.end()) { return dynamic_cast(it->get()); diff --git a/include/openspace/properties/propertyowner.h b/include/openspace/properties/propertyowner.h index 4bcfac0b75..fe0d367795 100644 --- a/include/openspace/properties/propertyowner.h +++ b/include/openspace/properties/propertyowner.h @@ -55,11 +55,23 @@ public: static const char URISeparator = '.'; struct PropertyOwnerInfo { - std::string name; + std::string identifier; + std::string guiName = ""; std::string description = ""; }; - /// The constructor initializing the PropertyOwner's name to "" + /** + * The constructor of PropertyOwner. + * + * \param info the PropertyOwnerInfo struct that contains the + * #PropertyOwnerInfo::identifier, #PropertyOwnerInfo::guiName, and + * #PropertyOwnerInfo::description of this PropertyOwner. + * + * \pre The \p info 's #PropertyOwnerInfo::identifier must not contain any whitespaces + * \pre The \p info 's #PropertyOwnerInfo::identifier must not contain any + * . + */ + PropertyOwner(PropertyOwnerInfo info); /** @@ -69,20 +81,40 @@ public: virtual ~PropertyOwner(); /** - * Sets the name for this PropertyOwner. If the PropertyOwner does not have an owner - * itself, the name must be globally unique. If the PropertyOwner has an owner, the - * name must be unique to the owner (including the owner's properties). No uniqueness - * check will be preformed here, but rather in the PropertyOwner::addProperty and - * PropertyOwner::addPropertySubOwner methods). - * \param name The name of this PropertyOwner. It may not contain any .s + * Sets the identifier for this PropertyOwner. If the PropertyOwner does not have an + * owner itself, the identifier must be globally unique. If the PropertyOwner has an + * owner, the identifier must be unique to the owner (including the owner's + * properties). No uniqueness check will be preformed here, but rather in the + * PropertyOwner::addProperty and PropertyOwner::addPropertySubOwner methods). + * + * \param identifier The identifier of this PropertyOwner. It must not contain any + * .s or whitespaces + * + * \pre \p identifier must not contain any whitespaces + * \pre \p identifier must not contain any . */ - void setName(std::string name); + void setIdentifier(std::string identifier); /** - * Returns the name of this PropertyOwner. - * \return The name of this PropertyOwner + * Returns the identifier of this PropertyOwner. + * \return The identifier of this PropertyOwner */ - std::string name() const; + std::string identifier() const; + + /** + * Sets the user-facing name of this PropertyOwner. This name does not have to be + * unique, but it is recommended to be. + * + * \param guiName The new user-facing name for this PropertyOwner + */ + void setGuiName(std::string guiName); + + /** + * Returns the current user-facing name for this PropertyOwner. + * + * \return The current user-facing name for this PropertyOwner + */ + const std::string& guiName() const; void setDescription(std::string description); @@ -91,12 +123,14 @@ public: /** * Returns a list of all Propertys directly owned by this PropertyOwner. This list not * include Propertys owned by other sub-owners. + * * \return A list of all Propertys directly owned by this PropertyOwner */ std::vector properties() const; /** * Returns a list of all Propertys directly or indirectly owned by this PropertyOwner. + * * \return A list of all Propertys directly or indirectly owned by this PropertyOwner */ std::vector propertiesRecursive() const; @@ -239,13 +273,18 @@ public: */ void removeTag(const std::string& tag); + +protected: + /// The unique identifier of this PropertyOwner + std::string _identifier; + /// The user-facing GUI name for this PropertyOwner + std::string _guiName; + /// The description for this PropertyOwner + std::string _description; + private: std::string generateJson() const override; - /// The name of this PropertyOwner - std::string _name; - /// The description for this PropertyOwner - std::string _description; /// The owner of this PropertyOwner PropertyOwner* _owner; /// A list of all registered Property's diff --git a/include/openspace/rendering/dashboarditem.h b/include/openspace/rendering/dashboarditem.h index c43f33ca57..a76d7d9485 100644 --- a/include/openspace/rendering/dashboarditem.h +++ b/include/openspace/rendering/dashboarditem.h @@ -42,7 +42,7 @@ public: ghoul::Dictionary dictionary ); - DashboardItem(std::string name); + DashboardItem(std::string identifier, std::string guiName = ""); bool isEnabled() const; virtual void render(glm::vec2& penPosition) = 0; diff --git a/include/openspace/rendering/loadingscreen.h b/include/openspace/rendering/loadingscreen.h index e156ec6f69..e823d9eefb 100644 --- a/include/openspace/rendering/loadingscreen.h +++ b/include/openspace/rendering/loadingscreen.h @@ -84,7 +84,8 @@ public: Failed }; - void updateItem(const std::string& itemName, ItemStatus newStatus, float progress); + void updateItem(const std::string& itemIdentifier, const std::string& itemName, + ItemStatus newStatus, float progress); private: bool _showMessage; @@ -122,6 +123,7 @@ private: std::mutex _messageMutex; struct Item { + std::string identifier; std::string name; ItemStatus status; float progress; diff --git a/include/openspace/rendering/renderengine.h b/include/openspace/rendering/renderengine.h index c25600c091..ce6c09331f 100644 --- a/include/openspace/rendering/renderengine.h +++ b/include/openspace/rendering/renderengine.h @@ -167,6 +167,8 @@ public: std::vector getSyncables(); + properties::PropertyOwner& screenSpaceOwner(); + private: void setRenderer(std::unique_ptr renderer); RendererImplementation rendererFromString(const std::string& method) const; @@ -216,6 +218,7 @@ private: uint64_t _frameNumber; std::vector _programs; + properties::PropertyOwner _screenSpaceOwner; std::vector> _screenSpaceRenderables; std::shared_ptr _fontBig = nullptr; diff --git a/include/openspace/rendering/screenspacerenderable.h b/include/openspace/rendering/screenspacerenderable.h index 2a90eb3b5c..4244fa22bb 100644 --- a/include/openspace/rendering/screenspacerenderable.h +++ b/include/openspace/rendering/screenspacerenderable.h @@ -55,6 +55,9 @@ public: static std::unique_ptr createFromDictionary( const ghoul::Dictionary& dictionary); + static constexpr const char* KeyName = "Name"; + static constexpr const char* KeyIdentifier = "Identifier"; + ScreenSpaceRenderable(const ghoul::Dictionary& dictionary); virtual ~ScreenSpaceRenderable() = default; diff --git a/include/openspace/scene/scene.h b/include/openspace/scene/scene.h index dd1ec49d46..b25d0bdb21 100644 --- a/include/openspace/scene/scene.h +++ b/include/openspace/scene/scene.h @@ -153,9 +153,9 @@ public: void writeSceneLicenseDocumentation(const std::string& path) const; /** - * Return a a map from name to scene graph node. + * Returns a map from identifier to scene graph node. */ - const std::unordered_map& nodesByName() const; + const std::unordered_map& nodesByIdentifier() const; /** * Load a scene graph node from a dictionary and return it. @@ -234,7 +234,7 @@ private: std::unique_ptr _camera; std::vector _topologicallySortedNodes; std::vector _circularNodes; - std::unordered_map _nodesByName; + std::unordered_map _nodesByIdentifier; bool _dirtyNodeRegistry; SceneGraphNode _rootDummy; std::unique_ptr _initializer; diff --git a/include/openspace/scene/scenegraphnode.h b/include/openspace/scene/scenegraphnode.h index dbbe252fde..164553d223 100644 --- a/include/openspace/scene/scenegraphnode.h +++ b/include/openspace/scene/scenegraphnode.h @@ -71,11 +71,11 @@ public: long long updateTimeScaling; // time in ns }; - static const std::string RootNodeName; - static const std::string KeyName; - static const std::string KeyParentName; - static const std::string KeyDependencies; - static const std::string KeyTag; + static constexpr const char* RootNodeIdentifier = "Root"; + static constexpr const char* KeyIdentifier = "Identifier"; + static constexpr const char* KeyParentName = "Parent"; + static constexpr const char* KeyDependencies = "Dependencies"; + static constexpr const char* KeyTag = "Tag"; SceneGraphNode(); ~SceneGraphNode(); diff --git a/modules/atmosphere/rendering/renderableatmosphere.cpp b/modules/atmosphere/rendering/renderableatmosphere.cpp index d0d704e8cf..7c42e0d450 100644 --- a/modules/atmosphere/rendering/renderableatmosphere.cpp +++ b/modules/atmosphere/rendering/renderableatmosphere.cpp @@ -299,8 +299,8 @@ RenderableAtmosphere::RenderableAtmosphere(const ghoul::Dictionary& dictionary) , _hardShadows(false) { ghoul_precondition( - dictionary.hasKeyAndValue(SceneGraphNode::KeyName), - "RenderableAtmosphere needs the name to be specified" + dictionary.hasKeyAndValue(SceneGraphNode::KeyIdentifier), + "RenderableAtmosphere needs the identifier to be specified" ); documentation::testSpecificationAndThrow( @@ -309,7 +309,9 @@ RenderableAtmosphere::RenderableAtmosphere(const ghoul::Dictionary& dictionary) "RenderableAtmosphere" ); - const std::string name = dictionary.value(SceneGraphNode::KeyName); + const std::string identifier = dictionary.value( + SceneGraphNode::KeyIdentifier + ); //================================================================ //======== Reads Shadow (Eclipses) Entries in mod file =========== //================================================================ @@ -335,7 +337,7 @@ RenderableAtmosphere::RenderableAtmosphere(const ghoul::Dictionary& dictionary) "No Radius value expecified for Shadow Source Name '{}' from " "'{}' planet. Disabling shadows for this planet.", sourceName, - name + identifier )); disableShadows = true; break; @@ -364,7 +366,7 @@ RenderableAtmosphere::RenderableAtmosphere(const ghoul::Dictionary& dictionary) "No Radius value expecified for Shadow Caster Name '{}' from " "'{}' planet. Disabling shadows for this planet.", casterName, - name + identifier )); disableShadows = true; break; @@ -398,7 +400,7 @@ RenderableAtmosphere::RenderableAtmosphere(const ghoul::Dictionary& dictionary) if (!atmosphereDictionary.getValue(keyAtmosphereRadius, _atmosphereRadius)) { errorReadingAtmosphereData = true; LWARNINGC( - name, + identifier, "No Atmosphere Radius value specified for Atmosphere Effects. " "Disabling atmosphere effects for this planet." ); @@ -407,7 +409,7 @@ RenderableAtmosphere::RenderableAtmosphere(const ghoul::Dictionary& dictionary) if (!atmosphereDictionary.getValue(keyPlanetRadius, _atmospherePlanetRadius)) { errorReadingAtmosphereData = true; LWARNINGC( - name, + identifier, "No Planet Radius value expecified for Atmosphere Effects. " "Disabling atmosphere effects for this planet." ); @@ -419,7 +421,7 @@ RenderableAtmosphere::RenderableAtmosphere(const ghoul::Dictionary& dictionary) { errorReadingAtmosphereData = true; LWARNINGC( - name, + identifier, "No Average Atmosphere Ground Reflectance value specified for " "Atmosphere Effects. Disabling atmosphere effects for this planet." ); @@ -431,7 +433,7 @@ RenderableAtmosphere::RenderableAtmosphere(const ghoul::Dictionary& dictionary) { errorReadingAtmosphereData = true; LWARNINGC( - name, + identifier, "No Ground Radiance Emitted percentage value specified for Atmosphere " "Effects. Disabling atmosphere effects for this planet." ); @@ -454,7 +456,7 @@ RenderableAtmosphere::RenderableAtmosphere(const ghoul::Dictionary& dictionary) { errorReadingAtmosphereData = true; LWARNINGC( - name, + identifier, "No Rayleigh Scattering parameters specified for Atmosphere Effects. " "Disabling atmosphere effects for this planet." ); @@ -466,7 +468,7 @@ RenderableAtmosphere::RenderableAtmosphere(const ghoul::Dictionary& dictionary) { errorReadingAtmosphereData = true; LWARNINGC( - name, + identifier, "No Rayleigh Height Scale value specified for Atmosphere Effects. " "Disabling atmosphere effects for this planet." ); @@ -475,7 +477,7 @@ RenderableAtmosphere::RenderableAtmosphere(const ghoul::Dictionary& dictionary) else { errorReadingAtmosphereData = true; LWARNINGC( - name, + identifier, "No Rayleigh parameters specified for Atmosphere Effects. " "Disabling atmosphere effects for this planet." ); @@ -506,7 +508,7 @@ RenderableAtmosphere::RenderableAtmosphere(const ghoul::Dictionary& dictionary) if (!mieDictionary.getValue(keyMieHeightScale, _mieHeightScale)) { errorReadingAtmosphereData = true; LWARNINGC( - name, + identifier, "No Mie Height Scale value specified for Atmosphere Effects. " "Disabling atmosphere effects for this planet." ); @@ -515,7 +517,7 @@ RenderableAtmosphere::RenderableAtmosphere(const ghoul::Dictionary& dictionary) if (!mieDictionary.getValue("Coefficients.Scattering", _mieScatteringCoeff)) { errorReadingAtmosphereData = true; LWARNINGC( - name, + identifier, "No Mie Scattering parameters specified for Atmosphere Effects. " "Disabling atmosphere effects for this planet." ); @@ -524,7 +526,7 @@ RenderableAtmosphere::RenderableAtmosphere(const ghoul::Dictionary& dictionary) if (!mieDictionary.getValue("Coefficients.Extinction", _mieExtinctionCoeff)) { errorReadingAtmosphereData = true; LWARNINGC( - name, + identifier, "No Mie Extinction parameters specified for Atmosphere Effects. " "Disabling atmosphere effects for this planet." ); @@ -533,7 +535,7 @@ RenderableAtmosphere::RenderableAtmosphere(const ghoul::Dictionary& dictionary) if (!mieDictionary.getValue(keyMiePhaseConstant, _miePhaseConstant)) { errorReadingAtmosphereData = true; LWARNINGC( - name, + identifier, "No Mie Phase Constant value specified for Atmosphere Effects. " "Disabling atmosphere effects for this planet." ); @@ -542,7 +544,7 @@ RenderableAtmosphere::RenderableAtmosphere(const ghoul::Dictionary& dictionary) else { errorReadingAtmosphereData = true; LWARNINGC( - name, + identifier, "No Mie parameters specified for Atmosphere Effects. " "Disabling atmosphere effects for this planet." ); diff --git a/modules/base/dashboard/dashboarditemangle.cpp b/modules/base/dashboard/dashboarditemangle.cpp index 6fa4b418df..8c1e953120 100644 --- a/modules/base/dashboard/dashboarditemangle.cpp +++ b/modules/base/dashboard/dashboarditemangle.cpp @@ -381,7 +381,7 @@ std::pair DashboardItemAngle::positionAndLabel( switch (comp.type) { case Type::Node: - return { comp.node->worldPosition(), comp.node->name() }; + return { comp.node->worldPosition(), comp.node->guiName() }; case Type::Focus: return { OsEng.navigationHandler().focusNode()->worldPosition(), diff --git a/modules/base/dashboard/dashboarditemdistance.cpp b/modules/base/dashboard/dashboarditemdistance.cpp index bba284a572..ac001d2cde 100644 --- a/modules/base/dashboard/dashboarditemdistance.cpp +++ b/modules/base/dashboard/dashboarditemdistance.cpp @@ -381,7 +381,7 @@ std::pair DashboardItemDistance::positionAndLabel( switch (mainComp.type) { case Type::Node: - return { mainComp.node->worldPosition(), mainComp.node->name() }; + return { mainComp.node->worldPosition(), mainComp.node->guiName() }; case Type::NodeSurface: { glm::dvec3 otherPos; @@ -398,7 +398,7 @@ std::pair DashboardItemDistance::positionAndLabel( glm::dvec3 dir = glm::normalize(otherPos - thisPos); glm::dvec3 dirLength = dir * glm::dvec3(mainComp.node->boundingSphere()); - return { thisPos + dirLength, "surface of " + mainComp.node->name() }; + return { thisPos + dirLength, "surface of " + mainComp.node->guiName() }; } case Type::Focus: return { diff --git a/modules/base/dashboard/dashboarditemparallelconnection.cpp b/modules/base/dashboard/dashboarditemparallelconnection.cpp index b15025ce52..af347c0d8e 100644 --- a/modules/base/dashboard/dashboarditemparallelconnection.cpp +++ b/modules/base/dashboard/dashboarditemparallelconnection.cpp @@ -86,7 +86,7 @@ documentation::Documentation DashboardItemParallelConnection::Documentation() { DashboardItemParallelConnection::DashboardItemParallelConnection( ghoul::Dictionary dictionary) - : DashboardItem("Parallel Connection") + : DashboardItem("ParallelConnection", "Parallel Connection") , _fontName(FontNameInfo, KeyFontMono) , _fontSize(FontSizeInfo, DefaultFontSize, 6.f, 144.f, 1.f) { diff --git a/modules/base/dashboard/dashboarditemsimulationincrement.cpp b/modules/base/dashboard/dashboarditemsimulationincrement.cpp index 5606e26e6a..55e18ef1c0 100644 --- a/modules/base/dashboard/dashboarditemsimulationincrement.cpp +++ b/modules/base/dashboard/dashboarditemsimulationincrement.cpp @@ -123,7 +123,7 @@ documentation::Documentation DashboardItemSimulationIncrement::Documentation() { DashboardItemSimulationIncrement::DashboardItemSimulationIncrement( ghoul::Dictionary dictionary) - : DashboardItem("Simulation Increment") + : DashboardItem("SimulationIncrement", "Simulation Increment") , _fontName(FontNameInfo, KeyFontMono) , _fontSize(FontSizeInfo, DefaultFontSize, 6.f, 144.f, 1.f) , _doSimplification(SimplificationInfo, true) diff --git a/modules/base/rendering/renderablemodel.cpp b/modules/base/rendering/renderablemodel.cpp index bf30e43fb2..25dc829a86 100644 --- a/modules/base/rendering/renderablemodel.cpp +++ b/modules/base/rendering/renderablemodel.cpp @@ -112,11 +112,6 @@ RenderableModel::RenderableModel(const ghoul::Dictionary& dictionary) , _programObject(nullptr) , _texture(nullptr) { - ghoul_precondition( - dictionary.hasKeyAndValue(SceneGraphNode::KeyName), - "Name was not passed to RenderableModel" - ); - documentation::testSpecificationAndThrow( Documentation(), dictionary, @@ -128,9 +123,7 @@ RenderableModel::RenderableModel(const ghoul::Dictionary& dictionary) if (dictionary.hasKey(KeyGeometry)) { - std::string name = dictionary.value(SceneGraphNode::KeyName); ghoul::Dictionary dict = dictionary.value(KeyGeometry); - dict.setValue(SceneGraphNode::KeyName, name); _geometry = modelgeometry::ModelGeometry::createFromDictionary(dict); } diff --git a/modules/base/rendering/screenspacedashboard.cpp b/modules/base/rendering/screenspacedashboard.cpp index c6d2529e5c..2956b57807 100644 --- a/modules/base/rendering/screenspacedashboard.cpp +++ b/modules/base/rendering/screenspacedashboard.cpp @@ -159,20 +159,25 @@ ScreenSpaceDashboard::ScreenSpaceDashboard(const ghoul::Dictionary& dictionary) "ScreenSpaceDashboard" ); - if (dictionary.hasKey(KeyName)) { - setName(dictionary.value(KeyName)); - } - else { + int iIdentifier = 0; + if (_identifier.empty()) { static int id = 0; - if (id == 0) { - setName("ScreenSpaceDashboard"); + iIdentifier = id; + + if (iIdentifier == 0) { + setIdentifier("ScreenSpaceDashboard"); } else { - setName("ScreenSpaceDashboard" + std::to_string(id)); + setIdentifier("ScreenSpaceDashboard" + std::to_string(iIdentifier)); } ++id; } + if (_guiName.empty()) { + // Adding an extra space to the user-facing name as it looks nicer + setGuiName("ScreenSpaceDashboard " + std::to_string(iIdentifier)); + } + if (dictionary.hasKey(UseMainInfo.identifier)) { _useMainDashboard = dictionary.value(UseMainInfo.identifier); } diff --git a/modules/base/rendering/screenspaceframebuffer.cpp b/modules/base/rendering/screenspaceframebuffer.cpp index e5559d0b66..066afe7fa9 100644 --- a/modules/base/rendering/screenspaceframebuffer.cpp +++ b/modules/base/rendering/screenspaceframebuffer.cpp @@ -65,12 +65,21 @@ ScreenSpaceFramebuffer::ScreenSpaceFramebuffer(const ghoul::Dictionary& dictiona "ScreenSpaceFramebuffer" ); - _id = id(); - if (_id == 0) { - setName("ScreenSpaceFramebuffer"); + int iIdentifier = 0; + if (_identifier.empty()) { + iIdentifier = id(); + + if (iIdentifier == 0) { + setIdentifier("ScreenSpaceFramebuffer"); + } + else { + setIdentifier("ScreenSpaceFramebuffer" + std::to_string(iIdentifier)); + } } - else { - setName("ScreenSpaceFramebuffer " + std::to_string(_id)); + + if (_guiName.empty()) { + // Adding an extra space to the user-facing name as it looks nicer + setGuiName("ScreenSpaceFramebuffer " + std::to_string(iIdentifier)); } glm::vec2 resolution = OsEng.windowWrapper().currentWindowResolution(); diff --git a/modules/base/rendering/screenspaceframebuffer.h b/modules/base/rendering/screenspaceframebuffer.h index ac99ac1956..157c7ce007 100644 --- a/modules/base/rendering/screenspaceframebuffer.h +++ b/modules/base/rendering/screenspaceframebuffer.h @@ -74,8 +74,6 @@ private: std::vector> _renderFunctions; std::unique_ptr _texture; - - int _id; }; } //namespace openspace diff --git a/modules/base/rendering/screenspaceimagelocal.cpp b/modules/base/rendering/screenspaceimagelocal.cpp index c8e040ce1a..e42c33db64 100644 --- a/modules/base/rendering/screenspaceimagelocal.cpp +++ b/modules/base/rendering/screenspaceimagelocal.cpp @@ -84,20 +84,25 @@ ScreenSpaceImageLocal::ScreenSpaceImageLocal(const ghoul::Dictionary& dictionary "ScreenSpaceImageLocal" ); - if (dictionary.hasKey(KeyName)) { - setName(dictionary.value(KeyName)); - } - else { + int iIdentifier = 0; + if (_identifier.empty()) { static int id = 0; - if (id == 0) { - setName("ScreenSpaceImageLocal"); + iIdentifier = id; + + if (iIdentifier == 0) { + setIdentifier("ScreenSpaceImageLocal"); } else { - setName("ScreenSpaceImageLocal " + std::to_string(id)); + setIdentifier("ScreenSpaceImageLocal" + std::to_string(iIdentifier)); } ++id; } + if (_guiName.empty()) { + // Adding an extra space to the user-facing name as it looks nicer + setGuiName("ScreenSpaceImageLocal " + std::to_string(iIdentifier)); + } + _texturePath.onChange([this]() { _textureIsDirty = true; }); addProperty(_texturePath); diff --git a/modules/base/rendering/screenspaceimageonline.cpp b/modules/base/rendering/screenspaceimageonline.cpp index cad4a48541..4df3149a8e 100644 --- a/modules/base/rendering/screenspaceimageonline.cpp +++ b/modules/base/rendering/screenspaceimageonline.cpp @@ -80,23 +80,28 @@ ScreenSpaceImageOnline::ScreenSpaceImageOnline(const ghoul::Dictionary& dictiona documentation::testSpecificationAndThrow( Documentation(), dictionary, - "ScreenSpaceImage" + "ScreenSpaceImageOnline" ); - if (dictionary.hasKey(KeyName)) { - setName(dictionary.value(KeyName)); - } - else { + int iIdentifier = 0; + if (_identifier.empty()) { static int id = 0; - if (id == 0) { - setName("ScreenSpaceImageOnline"); + iIdentifier = id; + + if (iIdentifier == 0) { + setIdentifier("ScreenSpaceImageOnline"); } else { - setName("ScreenSpaceImageOnline " + std::to_string(id)); + setIdentifier("ScreenSpaceImageOnline" + std::to_string(iIdentifier)); } ++id; } + if (_guiName.empty()) { + // Adding an extra space to the user-facing name as it looks nicer + setGuiName("ScreenSpaceImageOnline " + std::to_string(iIdentifier)); + } + _texturePath.onChange([this]() { _textureIsDirty = true; }); addProperty(_texturePath); @@ -104,7 +109,6 @@ ScreenSpaceImageOnline::ScreenSpaceImageOnline(const ghoul::Dictionary& dictiona if (dictionary.hasKey(TextureInfo.identifier)) { _texturePath = dictionary.value(TextureInfo.identifier); } - } void ScreenSpaceImageOnline::update() { diff --git a/modules/digitaluniverse/rendering/renderablebillboardscloud.cpp b/modules/digitaluniverse/rendering/renderablebillboardscloud.cpp index cfda8dbff7..dcac27b3f1 100644 --- a/modules/digitaluniverse/rendering/renderablebillboardscloud.cpp +++ b/modules/digitaluniverse/rendering/renderablebillboardscloud.cpp @@ -1111,7 +1111,7 @@ bool RenderableBillboardsCloud::loadSpeckData() { std::string cachedFile = FileSys.cacheManager()->cachedFilename( ghoul::filesystem::File(_file), - "RenderableDUMeshes|" + name(), + "RenderableDUMeshes|" + identifier(), ghoul::filesystem::CacheManager::Persistent::Yes ); diff --git a/modules/fieldlines/rendering/renderablefieldlines.cpp b/modules/fieldlines/rendering/renderablefieldlines.cpp index 88dbd58b0b..b636be2c7c 100644 --- a/modules/fieldlines/rendering/renderablefieldlines.cpp +++ b/modules/fieldlines/rendering/renderablefieldlines.cpp @@ -123,16 +123,10 @@ RenderableFieldlines::RenderableFieldlines(const ghoul::Dictionary& dictionary) , _fieldlineVAO(0) , _vertexPositionBuffer(0) { - ghoul_assert( - dictionary.hasKeyAndValue(SceneGraphNode::KeyName), - "Renderable does not have a name" - ); + std::string identifier = dictionary.value(SceneGraphNode::KeyIdentifier); + setIdentifier(identifier); - std::string name; - dictionary.getValue(SceneGraphNode::KeyName, name); - setName(name); - - _loggerCat = "RenderableFieldlines [" + name + "]"; + _loggerCat = "RenderableFieldlines [" + identifier + "]"; bool success = dictionary.getValue(keyVectorField, _vectorFieldInfo); if (!success) { diff --git a/modules/fieldlinessequence/rendering/renderablefieldlinessequence.cpp b/modules/fieldlinessequence/rendering/renderablefieldlinessequence.cpp index 68286100ec..5ff44d90ae 100644 --- a/modules/fieldlinessequence/rendering/renderablefieldlinessequence.cpp +++ b/modules/fieldlinessequence/rendering/renderablefieldlinessequence.cpp @@ -374,13 +374,13 @@ bool RenderableFieldlinesSequence::extractMandatoryInfoFromDictionary( SourceFileType& sourceFileType) { - _dictionary->getValue(SceneGraphNode::KeyName, _name); + _dictionary->getValue(SceneGraphNode::KeyIdentifier, _identifier); // ------------------- EXTRACT MANDATORY VALUES FROM DICTIONARY ------------------- // std::string inputFileTypeString; if (!_dictionary->getValue(KeyInputFileType, inputFileTypeString)) { LERROR(fmt::format( - "{}: The field {} is missing", _name, KeyInputFileType + "{}: The field {} is missing", _identifier, KeyInputFileType )); } else { @@ -403,7 +403,7 @@ bool RenderableFieldlinesSequence::extractMandatoryInfoFromDictionary( else { LERROR(fmt::format( "{}: {} is not a recognized {}", - _name, inputFileTypeString, KeyInputFileType + _identifier, inputFileTypeString, KeyInputFileType )); sourceFileType = SourceFileType::Invalid; return false; @@ -413,7 +413,7 @@ bool RenderableFieldlinesSequence::extractMandatoryInfoFromDictionary( std::string sourceFolderPath; if (!_dictionary->getValue(KeySourceFolder, sourceFolderPath)) { LERROR(fmt::format( - "{}: The field {} is missing", _name, KeySourceFolder + "{}: The field {} is missing", _identifier, KeySourceFolder )); return false; } @@ -445,14 +445,14 @@ bool RenderableFieldlinesSequence::extractMandatoryInfoFromDictionary( if (_sourceFiles.empty()) { LERROR(fmt::format( "{}: {} contains no {} files", - _name, sourceFolderPath, inputFileTypeString + _identifier, sourceFolderPath, inputFileTypeString )); return false; } } else { LERROR(fmt::format( - "{}: FieldlinesSequence {} is not a valid directory", _name, sourceFolderPath + "{}: FieldlinesSequence {} is not a valid directory", _identifier, sourceFolderPath )); return false; } @@ -472,7 +472,7 @@ void RenderableFieldlinesSequence::extractOptionalInfoFromDictionary( else { LERROR(fmt::format( "{}: The specified output path: '{}', does not exist", - _name, outputFolderPath + _identifier, outputFolderPath )); outputFolderPath = ""; } @@ -532,7 +532,7 @@ bool RenderableFieldlinesSequence::extractJsonInfoFromDictionary(fls::Model& mod } else { LERROR(fmt::format( - "{}: Must specify '{}'", _name, KeyJsonSimulationModel + "{}: Must specify '{}'", _identifier, KeyJsonSimulationModel )); return false; } @@ -544,7 +544,7 @@ bool RenderableFieldlinesSequence::extractJsonInfoFromDictionary(fls::Model& mod else { LWARNING(fmt::format( "{}: Does not provide scalingFactor. Assumes coordinates are in meters", - _name + _identifier )); } return true; @@ -611,7 +611,7 @@ void RenderableFieldlinesSequence::extractOsflsInfoFromDictionary() { else { LWARNING(fmt::format( "{}: {} is not specified. States will be stored in RAM", - _name, KeyOslfsLoadAtRuntime + _identifier, KeyOslfsLoadAtRuntime )); } } @@ -746,10 +746,10 @@ void RenderableFieldlinesSequence::definePropertyCallbackFunctions() { } _pFocusOnOriginBtn.onChange([this] { - SceneGraphNode* node = OsEng.renderEngine().scene()->sceneGraphNode(_name); + SceneGraphNode* node = OsEng.renderEngine().scene()->sceneGraphNode(_identifier); if (!node) { LWARNING(fmt::format( - "Could not find a node in scenegraph called '{}'", _name + "Could not find a node in scenegraph called '{}'", _identifier )); return; } @@ -899,20 +899,20 @@ bool RenderableFieldlinesSequence::extractCdfInfoFromDictionary(std::string& see else { LERROR(fmt::format( "{}: The specified seed poitn file: '{}' does not exist", - _name, seedFilePath + _identifier, seedFilePath )); return false; } } else { - LERROR(fmt::format("{}: Must specify '{}'", _name, KeyCdfSeedPointFile)); + LERROR(fmt::format("{}: Must specify '{}'", _identifier, KeyCdfSeedPointFile)); return false; } if (!_dictionary->getValue(KeyCdfTracingVariable, tracingVar)) { tracingVar = "b"; // Magnetic field variable as default LWARNING(fmt::format("{}: No '{}', using default '{}'", - _name, KeyCdfTracingVariable, tracingVar + _identifier, KeyCdfTracingVariable, tracingVar )); } diff --git a/modules/fieldlinessequence/rendering/renderablefieldlinessequence.h b/modules/fieldlinessequence/rendering/renderablefieldlinessequence.h index 54cca77b1b..93236d7d76 100644 --- a/modules/fieldlinessequence/rendering/renderablefieldlinessequence.h +++ b/modules/fieldlinessequence/rendering/renderablefieldlinessequence.h @@ -62,7 +62,7 @@ private: }; // ------------------------------------ STRINGS ------------------------------------// - std::string _name; // Name of the Node! + std::string _identifier; // Name of the Node! // ------------------------------------- FLAGS -------------------------------------// // Used for 'runtime-states'. True when loading a new state from disk on another diff --git a/modules/globebrowsing/globebrowsingmodule.cpp b/modules/globebrowsing/globebrowsingmodule.cpp index 412667d56e..c6900b915e 100644 --- a/modules/globebrowsing/globebrowsingmodule.cpp +++ b/modules/globebrowsing/globebrowsingmodule.cpp @@ -521,10 +521,10 @@ std::string GlobeBrowsingModule::layerGroupNamesList() { std::string listLayerGroups(""); for (int i = 0; i < globebrowsing::layergroupid::NUM_LAYER_GROUPS - 1; ++i) { listLayerGroups += - globebrowsing::layergroupid::LAYER_GROUP_NAMES[i] + std::string(", "); + globebrowsing::layergroupid::LAYER_GROUP_IDENTIFIERS[i] + std::string(", "); } listLayerGroups += - std::string(" and ") + globebrowsing::layergroupid::LAYER_GROUP_NAMES[ + std::string(" and ") + globebrowsing::layergroupid::LAYER_GROUP_IDENTIFIERS[ globebrowsing::layergroupid::NUM_LAYER_GROUPS - 1]; return listLayerGroups; } diff --git a/modules/globebrowsing/globes/chunkedlodglobe.cpp b/modules/globebrowsing/globes/chunkedlodglobe.cpp index 3803a7a988..6528d563fb 100644 --- a/modules/globebrowsing/globes/chunkedlodglobe.cpp +++ b/modules/globebrowsing/globes/chunkedlodglobe.cpp @@ -57,7 +57,7 @@ const GeodeticPatch ChunkedLodGlobe::COVERAGE = GeodeticPatch(0, 0, 90, 180); ChunkedLodGlobe::ChunkedLodGlobe(const RenderableGlobe& owner, size_t segmentsPerPatch, std::shared_ptr layerManager) - : Renderable({ { "Name", owner.name() } }) + : Renderable({ { "Identifier", owner.identifier() }, { "Name", owner.guiName() } }) , minSplitDepth(2) , maxSplitDepth(22) , stats(StatsCollector(absPath("test_stats"), 1, StatsCollector::Enabled::No)) diff --git a/modules/globebrowsing/globes/pointglobe.cpp b/modules/globebrowsing/globes/pointglobe.cpp index 74ba4ed7d0..cdfd6f73ab 100644 --- a/modules/globebrowsing/globes/pointglobe.cpp +++ b/modules/globebrowsing/globes/pointglobe.cpp @@ -51,7 +51,7 @@ namespace { namespace openspace::globebrowsing { PointGlobe::PointGlobe(const RenderableGlobe& owner) - : Renderable({ { "Name", owner.name() } }) + : Renderable({ { "Identifier", owner.identifier() }, { "Name", owner.guiName() } }) , _owner(owner) , _intensityClamp(IntensityClampInfo, 1.f, 0.f, 1.f) , _lightIntensity(LightIntensityInfo, 1.f, 0.f, 50.f) diff --git a/modules/globebrowsing/globes/renderableglobe.cpp b/modules/globebrowsing/globes/renderableglobe.cpp index c5c12717e0..a3f7e406f4 100644 --- a/modules/globebrowsing/globes/renderableglobe.cpp +++ b/modules/globebrowsing/globes/renderableglobe.cpp @@ -29,7 +29,6 @@ #include #include - namespace { const char* keyFrame = "Frame"; const char* keyRadii = "Radii"; @@ -199,7 +198,7 @@ RenderableGlobe::RenderableGlobe(const ghoul::Dictionary& dictionary) }) , _debugPropertyOwner({ "Debug" }) { - setName("RenderableGlobe"); + setIdentifier("RenderableGlobe"); dictionary.getValue(keyFrame, _frame); diff --git a/modules/globebrowsing/rendering/gpu/gpulayermanager.cpp b/modules/globebrowsing/rendering/gpu/gpulayermanager.cpp index eef71124a8..ab2497822f 100644 --- a/modules/globebrowsing/rendering/gpu/gpulayermanager.cpp +++ b/modules/globebrowsing/rendering/gpu/gpulayermanager.cpp @@ -50,7 +50,7 @@ void GPULayerManager::bind(ghoul::opengl::ProgramObject* programObject, } for (size_t i = 0; i < layerGroups.size(); ++i) { - const std::string& nameBase = layergroupid::LAYER_GROUP_NAMES[i]; + const std::string& nameBase = layergroupid::LAYER_GROUP_IDENTIFIERS[i]; _gpuLayerGroups[i]->bind( programObject, *layerGroups[i], diff --git a/modules/globebrowsing/rendering/layer/layer.cpp b/modules/globebrowsing/rendering/layer/layer.cpp index e00b8df158..6c15ecd2b7 100644 --- a/modules/globebrowsing/rendering/layer/layer.cpp +++ b/modules/globebrowsing/rendering/layer/layer.cpp @@ -34,6 +34,7 @@ namespace openspace::globebrowsing { namespace { constexpr const char* _loggerCat = "Layer"; + constexpr const char* keyIdentifier = "Identifier"; constexpr const char* keyName = "Name"; constexpr const char* keyDescription = "Description"; constexpr const char* keyEnabled = "Enabled"; @@ -90,7 +91,8 @@ namespace { Layer::Layer(layergroupid::GroupID id, const ghoul::Dictionary& layerDict, LayerGroup& parent) : properties::PropertyOwner({ - layerDict.value(keyName), + layerDict.value(keyIdentifier), + layerDict.hasKey(keyName) ? layerDict.value(keyName) : "", layerDict.hasKey(keyDescription) ? layerDict.value(keyDescription) : "" @@ -180,7 +182,7 @@ Layer::Layer(layergroupid::GroupID id, const ghoul::Dictionary& layerDict, } } catch (...) { - _parent.deleteLayer(name()); + _parent.deleteLayer(identifier()); throw; } }); diff --git a/modules/globebrowsing/rendering/layer/layergroup.cpp b/modules/globebrowsing/rendering/layer/layergroup.cpp index 25578eb278..578d5885b0 100644 --- a/modules/globebrowsing/rendering/layer/layergroup.cpp +++ b/modules/globebrowsing/rendering/layer/layergroup.cpp @@ -43,7 +43,10 @@ namespace { namespace openspace::globebrowsing { LayerGroup::LayerGroup(layergroupid::GroupID id) - : properties::PropertyOwner({ std::move(layergroupid::LAYER_GROUP_NAMES[id]) }) + : properties::PropertyOwner({ + layergroupid::LAYER_GROUP_IDENTIFIERS[id], + layergroupid::LAYER_GROUP_NAMES[id] + }) , _groupId(id) , _levelBlendingEnabled(BlendTileInfo, true) { @@ -104,14 +107,14 @@ void LayerGroup::update() { } std::shared_ptr LayerGroup::addLayer(const ghoul::Dictionary& layerDict) { - if (!layerDict.hasKeyAndValue("Name")) { - LERROR("'Name' must be specified for layer."); + if (!layerDict.hasKeyAndValue("Identifier")) { + LERROR("'Identifier' must be specified for layer."); return nullptr; } auto layer = std::make_shared(_groupId, layerDict, *this); layer->onChange(_onChangeCallback); - if (hasPropertySubOwner(layer->name())) { - LINFO("Layer with name " + layer->name() + " already exists."); + if (hasPropertySubOwner(layer->identifier())) { + LINFO("Layer with identifier " + layer->identifier() + " already exists."); _levelBlendingEnabled.setVisibility(properties::Property::Visibility::User); return nullptr; } @@ -132,7 +135,7 @@ void LayerGroup::deleteLayer(const std::string& layerName) { it != _layers.end(); ++it) { - if (it->get()->name() == layerName) { + if (it->get()->identifier() == layerName) { removePropertySubOwner(it->get()); (*it)->deinitialize(); _layers.erase(it); diff --git a/modules/globebrowsing/rendering/layer/layergroupid.cpp b/modules/globebrowsing/rendering/layer/layergroupid.cpp index 6951935f36..3776411018 100644 --- a/modules/globebrowsing/rendering/layer/layergroupid.cpp +++ b/modules/globebrowsing/rendering/layer/layergroupid.cpp @@ -37,7 +37,7 @@ TypeID getTypeIDFromTypeString(const std::string& typeString) { layergroupid::GroupID getGroupIDFromName(const std::string& layerGroupName) { for (int i = 0; i < layergroupid::NUM_LAYER_GROUPS; ++i) { - if (layerGroupName == layergroupid::LAYER_GROUP_NAMES[i]) { + if (layerGroupName == layergroupid::LAYER_GROUP_IDENTIFIERS[i]) { return static_cast(i); } } diff --git a/modules/globebrowsing/rendering/layer/layergroupid.h b/modules/globebrowsing/rendering/layer/layergroupid.h index 2308dfdebe..f851d85814 100644 --- a/modules/globebrowsing/rendering/layer/layergroupid.h +++ b/modules/globebrowsing/rendering/layer/layergroupid.h @@ -30,7 +30,7 @@ namespace openspace::globebrowsing::layergroupid { static constexpr int NUM_LAYER_GROUPS = 5; -static constexpr const char* LAYER_GROUP_NAMES[NUM_LAYER_GROUPS] = { +static constexpr const char* LAYER_GROUP_IDENTIFIERS[NUM_LAYER_GROUPS] = { "HeightLayers", "ColorLayers", "Overlays", @@ -38,6 +38,14 @@ static constexpr const char* LAYER_GROUP_NAMES[NUM_LAYER_GROUPS] = { "WaterMasks" }; +static constexpr const char* LAYER_GROUP_NAMES[NUM_LAYER_GROUPS] = { + "Height Layers", + "Color Layers", + "Overlays", + "Night Layers", + "Water Masks" +}; + enum GroupID { HeightLayers, ColorLayers, diff --git a/modules/globebrowsing/rendering/layershadermanager.cpp b/modules/globebrowsing/rendering/layershadermanager.cpp index 538ed46fb8..753b38bb7d 100644 --- a/modules/globebrowsing/rendering/layershadermanager.cpp +++ b/modules/globebrowsing/rendering/layershadermanager.cpp @@ -166,7 +166,7 @@ void LayerShaderManager::recompileShaderProgram( for (size_t i = 0; i < textureTypes.size(); i++) { // lastLayerIndex must be at least 0 for the shader to compile, // the layer type is inactivated by setting use to false - std::string groupName = layergroupid::LAYER_GROUP_NAMES[i]; + std::string groupName = layergroupid::LAYER_GROUP_IDENTIFIERS[i]; shaderDictionary.setValue( "lastLayerIndex" + groupName, glm::max(textureTypes[i].lastLayerIdx, 0) @@ -219,7 +219,7 @@ void LayerShaderManager::recompileShaderProgram( ghoul::Dictionary layerGroupNames; for (int i = 0; i < layergroupid::NUM_LAYER_GROUPS; ++i) { - layerGroupNames.setValue(std::to_string(i), layergroupid::LAYER_GROUP_NAMES[i]); + layerGroupNames.setValue(std::to_string(i), layergroupid::LAYER_GROUP_IDENTIFIERS[i]); } shaderDictionary.setValue("layerGroups", layerGroupNames); diff --git a/modules/globebrowsing/tile/tileprovider/tileproviderbylevel.cpp b/modules/globebrowsing/tile/tileprovider/tileproviderbylevel.cpp index 7d736e064b..a32980bcc4 100644 --- a/modules/globebrowsing/tile/tileprovider/tileproviderbylevel.cpp +++ b/modules/globebrowsing/tile/tileprovider/tileproviderbylevel.cpp @@ -29,18 +29,15 @@ #include namespace { - const char* KeyProviders = "LevelTileProviders"; - const char* KeyMaxLevel = "MaxLevel"; - const char* KeyTileProvider = "TileProvider"; - const char* KeyLayerGroupID = "LayerGroupID"; + constexpr const char* KeyProviders = "LevelTileProviders"; + constexpr const char* KeyMaxLevel = "MaxLevel"; + constexpr const char* KeyTileProvider = "TileProvider"; + constexpr const char* KeyLayerGroupID = "LayerGroupID"; } // namespace namespace openspace::globebrowsing::tileprovider { TileProviderByLevel::TileProviderByLevel(const ghoul::Dictionary& dictionary) { - std::string name = "Name unspecified"; - dictionary.getValue("Name", name); - layergroupid::GroupID layerGroupID; dictionary.getValue(KeyLayerGroupID, layerGroupID); @@ -93,9 +90,14 @@ TileProviderByLevel::TileProviderByLevel(const ghoul::Dictionary& dictionary) { )) ); + std::string providerIdentifier; + providerDict.getValue("Identifier", providerIdentifier); + _levelTileProviders.back()->setIdentifier(providerIdentifier); + std::string providerName; providerDict.getValue("Name", providerName); - _levelTileProviders.back()->setName(providerName); + _levelTileProviders.back()->setGuiName(providerName); + addPropertySubOwner(_levelTileProviders.back().get()); // Ensure we can represent the max level diff --git a/modules/imgui/imguimodule.cpp b/modules/imgui/imguimodule.cpp index 0a17c7da73..879b7551cb 100644 --- a/modules/imgui/imguimodule.cpp +++ b/modules/imgui/imguimodule.cpp @@ -79,9 +79,7 @@ ImGUIModule::ImGUIModule() : OpenSpaceModule(Name) { gui._screenSpaceProperty.setSource( []() { - const std::vector& ssr = - OsEng.renderEngine().screenSpaceRenderables(); - return std::vector(ssr.begin(), ssr.end()); + return OsEng.renderEngine().screenSpaceOwner().propertySubOwners(); } ); diff --git a/modules/imgui/include/guicomponent.h b/modules/imgui/include/guicomponent.h index 5412450da4..e7547e5997 100644 --- a/modules/imgui/include/guicomponent.h +++ b/modules/imgui/include/guicomponent.h @@ -38,7 +38,7 @@ class GUI; class GuiComponent : public properties::PropertyOwner { public: /// Constructor that initializes this components member variables - GuiComponent(std::string name); + GuiComponent(std::string identifier, std::string guiName = ""); /** * Returns if this component is enabled, that is, if it is currently active and diff --git a/modules/imgui/include/guipropertycomponent.h b/modules/imgui/include/guipropertycomponent.h index 62ad4f06fe..34afed6c21 100644 --- a/modules/imgui/include/guipropertycomponent.h +++ b/modules/imgui/include/guipropertycomponent.h @@ -51,7 +51,8 @@ public: using UseTreeLayout = ghoul::Boolean; - GuiPropertyComponent(std::string name, UseTreeLayout useTree = UseTreeLayout::No); + GuiPropertyComponent(std::string identifier, std::string guiName = "", + UseTreeLayout useTree = UseTreeLayout::No); // This is the function that evaluates to the list of Propertyowners that this // component should render diff --git a/modules/imgui/src/gui.cpp b/modules/imgui/src/gui.cpp index a6c4995949..252ae27b2f 100644 --- a/modules/imgui/src/gui.cpp +++ b/modules/imgui/src/gui.cpp @@ -280,15 +280,19 @@ void CaptionText(const char* text) { GUI::GUI() : GuiComponent("Main") - , _globalProperty("Global Properties") + , _globalProperty("Global", "Global Properties") , _sceneProperty( - "Scene Properties", + "SceneProperties", "Scene Properties", GuiPropertyComponent::UseTreeLayout::Yes ) - , _screenSpaceProperty("ScreenSpace Properties") - , _moduleProperty("Module Properties") - , _virtualProperty("Virtual Properties") - , _featuredProperties("Featured Properties", GuiPropertyComponent::UseTreeLayout::No) + , _screenSpaceProperty("ScreenSpaceProperties", "ScreenSpace Properties") + , _moduleProperty("ModuleProperties", "Module Properties") + , _virtualProperty("VirtualProperties", "Virtual Properties") + , _featuredProperties( + "FeaturedProperties", + "Featured Properties", + GuiPropertyComponent::UseTreeLayout::No + ) , _showInternals(false) , _showHelpText(ShowHelpInfo, true) , _helpTextDelay(HelpTextDelayInfo, 1.0, 0.0, 10.0) diff --git a/modules/imgui/src/guicomponent.cpp b/modules/imgui/src/guicomponent.cpp index c468d84ff1..69c116023f 100644 --- a/modules/imgui/src/guicomponent.cpp +++ b/modules/imgui/src/guicomponent.cpp @@ -40,8 +40,8 @@ namespace { namespace openspace::gui { -GuiComponent::GuiComponent(std::string name) - : properties::PropertyOwner({ std::move(name) }) +GuiComponent::GuiComponent(std::string identifier, std::string guiName) + : properties::PropertyOwner({ std::move(identifier), std::move(guiName) }) , _isEnabled(EnabledInfo, false) , _isCollapsed(CollapsedInfo, false) { diff --git a/modules/imgui/src/guifilepathcomponent.cpp b/modules/imgui/src/guifilepathcomponent.cpp index 87267ae31f..a2369e4891 100644 --- a/modules/imgui/src/guifilepathcomponent.cpp +++ b/modules/imgui/src/guifilepathcomponent.cpp @@ -31,7 +31,7 @@ namespace openspace::gui { GuiFilePathComponent::GuiFilePathComponent() - : GuiComponent("File Path") + : GuiComponent("FilePath", "File Path") {} void GuiFilePathComponent::render() { diff --git a/modules/imgui/src/guiglobebrowsingcomponent.cpp b/modules/imgui/src/guiglobebrowsingcomponent.cpp index 27bdbdfe25..988435433a 100644 --- a/modules/imgui/src/guiglobebrowsingcomponent.cpp +++ b/modules/imgui/src/guiglobebrowsingcomponent.cpp @@ -53,7 +53,7 @@ namespace { namespace openspace::gui { GuiGlobeBrowsingComponent::GuiGlobeBrowsingComponent() - : GuiPropertyComponent("GlobeBrowsing") + : GuiPropertyComponent("GlobeBrowsing", "Globe Browsing") {} void GuiGlobeBrowsingComponent::render() { @@ -80,7 +80,8 @@ void GuiGlobeBrowsingComponent::render() { nodes.begin(), nodes.end(), [](SceneGraphNode* n) { - return !(n->renderable() && n->renderable()->name() == "RenderableGlobe"); + return !(n->renderable() && + n->renderable()->identifier() == "RenderableGlobe"); } ), nodes.end() @@ -88,11 +89,13 @@ void GuiGlobeBrowsingComponent::render() { std::sort( nodes.begin(), nodes.end(), - [](SceneGraphNode* lhs, SceneGraphNode* rhs) { return lhs->name() < rhs->name(); } + [](SceneGraphNode* lhs, SceneGraphNode* rhs) { + return lhs->guiName() < rhs->guiName(); + } ); std::string nodeNames; for (SceneGraphNode* n : nodes) { - nodeNames += n->name() + '\0'; + nodeNames += n->identifier() + '\0'; } int iNode = -1; @@ -104,7 +107,7 @@ void GuiGlobeBrowsingComponent::render() { const SceneGraphNode* const focus = OsEng.navigationHandler().focusNode(); auto it = std::find(nodes.cbegin(), nodes.cend(), focus); if (it != nodes.end()) { - _currentNode = focus->name(); + _currentNode = focus->identifier(); iNode = static_cast(std::distance(nodes.cbegin(), it)); } } @@ -113,7 +116,7 @@ void GuiGlobeBrowsingComponent::render() { nodes.cbegin(), nodes.cend(), [this](SceneGraphNode* lhs) { - return lhs->name() == _currentNode; + return lhs->identifier() == _currentNode; } ); iNode = static_cast(std::distance(nodes.cbegin(), it)); @@ -127,7 +130,7 @@ void GuiGlobeBrowsingComponent::render() { const SceneGraphNode* const focus = OsEng.navigationHandler().focusNode(); auto it = std::find(nodes.cbegin(), nodes.cend(), focus); if (it != nodes.end()) { - _currentNode = focus->name(); + _currentNode = focus->identifier(); iNode = static_cast(std::distance(nodes.cbegin(), it)); nodeChanged = true; } @@ -138,7 +141,7 @@ void GuiGlobeBrowsingComponent::render() { // or if there are no nodes return; } - _currentNode = nodes[iNode]->name(); + _currentNode = nodes[iNode]->identifier(); if (nodeChanged) { _currentServer = ""; diff --git a/modules/imgui/src/guimissioncomponent.cpp b/modules/imgui/src/guimissioncomponent.cpp index 64d3f8c7ca..3db84dd342 100644 --- a/modules/imgui/src/guimissioncomponent.cpp +++ b/modules/imgui/src/guimissioncomponent.cpp @@ -95,12 +95,14 @@ namespace { namespace openspace::gui { -GuiMissionComponent::GuiMissionComponent() : GuiComponent("Mission Information") {} +GuiMissionComponent::GuiMissionComponent() : + GuiComponent("Missions", "Mission Information") +{} void GuiMissionComponent::render() { ImGui::SetNextWindowCollapsed(_isCollapsed); bool v = _isEnabled; - ImGui::Begin(name().c_str(), &v, Size, 0.75f); + ImGui::Begin(guiName().c_str(), &v, Size, 0.75f); _isEnabled = v; _isCollapsed = ImGui::IsWindowCollapsed(); diff --git a/modules/imgui/src/guiparallelcomponent.cpp b/modules/imgui/src/guiparallelcomponent.cpp index 01fca59684..644677cce9 100644 --- a/modules/imgui/src/guiparallelcomponent.cpp +++ b/modules/imgui/src/guiparallelcomponent.cpp @@ -40,7 +40,7 @@ namespace openspace::gui { GuiParallelComponent::GuiParallelComponent() - : GuiPropertyComponent("GuiParallelComponent") + : GuiPropertyComponent("Parallel", "Parallel Connection") { setVisibility(properties::Property::Visibility::All); } diff --git a/modules/imgui/src/guiperformancecomponent.cpp b/modules/imgui/src/guiperformancecomponent.cpp index e954958bf1..10b4f4f348 100644 --- a/modules/imgui/src/guiperformancecomponent.cpp +++ b/modules/imgui/src/guiperformancecomponent.cpp @@ -80,7 +80,7 @@ namespace { namespace openspace::gui { GuiPerformanceComponent::GuiPerformanceComponent() - : GuiComponent("PerformanceComponent") + : GuiComponent("PerformanceComponent", "Performance Component") , _sortingSelection(SortingSelectionInfo, -1, -1, 6) , _sceneGraphIsEnabled(SceneGraphEnabledInfo, false) , _functionsIsEnabled(FunctionsEnabledInfo, false) diff --git a/modules/imgui/src/guipropertycomponent.cpp b/modules/imgui/src/guipropertycomponent.cpp index 174796859b..8ca29ec472 100644 --- a/modules/imgui/src/guipropertycomponent.cpp +++ b/modules/imgui/src/guipropertycomponent.cpp @@ -161,8 +161,9 @@ namespace { namespace openspace::gui { -GuiPropertyComponent::GuiPropertyComponent(std::string name, UseTreeLayout useTree) - : GuiComponent(std::move(name)) +GuiPropertyComponent::GuiPropertyComponent(std::string identifier, std::string guiName, + UseTreeLayout useTree) + : GuiComponent(std::move(identifier), std::move(guiName)) , _useTreeLayout(UseTreeInfo, useTree) , _treeOrdering(OrderingInfo) { @@ -188,7 +189,7 @@ void GuiPropertyComponent::renderPropertyOwner(properties::PropertyOwner* owner) } int nThisProperty = nVisibleProperties(owner->properties(), _visibility); - ImGui::PushID(owner->name().c_str()); + ImGui::PushID(owner->identifier().c_str()); const auto& subOwners = owner->propertySubOwners(); for (properties::PropertyOwner* subOwner : subOwners) { std::vector properties = subOwner->propertiesRecursive(); @@ -200,7 +201,7 @@ void GuiPropertyComponent::renderPropertyOwner(properties::PropertyOwner* owner) renderPropertyOwner(subOwner); } else { - bool opened = ImGui::TreeNode(subOwner->name().c_str()); + bool opened = ImGui::TreeNode(subOwner->guiName().c_str()); renderTooltip(subOwner); if (opened) { renderPropertyOwner(subOwner); @@ -251,7 +252,7 @@ void GuiPropertyComponent::render() { ImGui::SetNextWindowCollapsed(_isCollapsed); bool v = _isEnabled; - ImGui::Begin(name().c_str(), &v, Size, 0.75f); + ImGui::Begin(guiName().c_str(), &v, Size, 0.75f); _isEnabled = v; _isCollapsed = ImGui::IsWindowCollapsed(); @@ -264,7 +265,7 @@ void GuiPropertyComponent::render() { owners.begin(), owners.end(), [](properties::PropertyOwner* lhs, properties::PropertyOwner* rhs) { - return lhs->name() < rhs->name(); + return lhs->guiName() < rhs->guiName(); } ); @@ -357,11 +358,11 @@ void GuiPropertyComponent::render() { auto header = [&]() -> bool { if (owners.size() > 1) { // Create a header in case we have multiple owners - return ImGui::CollapsingHeader(pOwner->name().c_str()); + return ImGui::CollapsingHeader(pOwner->guiName().c_str()); } - else if (!pOwner->name().empty()) { + else if (!pOwner->identifier().empty()) { // If the owner has a name, print it first - ImGui::Text("%s", pOwner->name().c_str()); + ImGui::Text("%s", pOwner->guiName().c_str()); ImGui::Spacing(); return true; } @@ -462,7 +463,7 @@ void GuiPropertyComponent::renderProperty(properties::Property* prop, if (owner) { it->second( prop, - owner->name(), + owner->identifier(), IsRegularProperty(_hasOnlyRegularProperties), ShowToolTip(_showHelpTooltip), _tooltipDelay diff --git a/modules/imgui/src/guispacetimecomponent.cpp b/modules/imgui/src/guispacetimecomponent.cpp index 41f5104e52..a0a05bab04 100644 --- a/modules/imgui/src/guispacetimecomponent.cpp +++ b/modules/imgui/src/guispacetimecomponent.cpp @@ -76,7 +76,7 @@ namespace { namespace openspace::gui { GuiSpaceTimeComponent::GuiSpaceTimeComponent() - : GuiComponent("Space/Time") + : GuiComponent("SpaceTime", "Space/Time") , _deltaTime(0.f) , _deltaTimeUnit(static_cast(TimeUnit::Second)) , _accelerationDelta(0.f) @@ -95,7 +95,7 @@ GuiSpaceTimeComponent::GuiSpaceTimeComponent() void GuiSpaceTimeComponent::render() { ImGui::SetNextWindowCollapsed(_isCollapsed); bool v = _isEnabled; - ImGui::Begin(name().c_str(), &v, Size, 0.5f, ImGuiWindowFlags_AlwaysAutoResize); + ImGui::Begin(guiName().c_str(), &v, Size, 0.5f, ImGuiWindowFlags_AlwaysAutoResize); _isEnabled = v; _isCollapsed = ImGui::IsWindowCollapsed(); @@ -106,7 +106,7 @@ void GuiSpaceTimeComponent::render() { nodes.begin(), nodes.end(), [](SceneGraphNode* lhs, SceneGraphNode* rhs) { - return lhs->name() < rhs->name(); + return lhs->guiName() < rhs->guiName(); } ); @@ -119,12 +119,12 @@ void GuiSpaceTimeComponent::render() { const std::vector& tags = n->tags(); auto it = std::find(tags.begin(), tags.end(), "GUI.Interesting"); if (it != tags.end()) { - bool pressed = ImGui::Button(n->name().c_str()); + bool pressed = ImGui::Button(n->guiName().c_str()); ImGui::SameLine(); if (pressed) { OsEng.scriptEngine().queueScript( "openspace.setPropertyValue('NavigationHandler.Origin', '" + - n->name() + "');", + n->identifier() + "');", scripting::ScriptEngine::RemoteScripting::Yes ); } @@ -138,7 +138,7 @@ void GuiSpaceTimeComponent::render() { std::string nodeNames = ""; for (SceneGraphNode* n : nodes) { - nodeNames += n->name() + '\0'; + nodeNames += n->identifier() + '\0'; } auto iCurrentFocus = std::find(nodes.begin(), nodes.end(), currentFocus); @@ -153,7 +153,7 @@ void GuiSpaceTimeComponent::render() { if (hasChanged) { OsEng.scriptEngine().queueScript( "openspace.setPropertyValue('NavigationHandler.Origin', '" + - nodes[currentPosition]->name() + "');", + nodes[currentPosition]->identifier() + "');", scripting::ScriptEngine::RemoteScripting::Yes ); } diff --git a/modules/iswa/rendering/datacygnet.cpp b/modules/iswa/rendering/datacygnet.cpp index 5b9618c03a..5a0ec6ceee 100644 --- a/modules/iswa/rendering/datacygnet.cpp +++ b/modules/iswa/rendering/datacygnet.cpp @@ -334,61 +334,92 @@ void DataCygnet::setPropertyCallbacks() { void DataCygnet::subscribeToGroup() { auto groupEvent = _group->groupEvent(); - groupEvent->subscribe(name(), "dataOptionsChanged", [&](ghoul::Dictionary dict){ - LDEBUG(name() + " Event dataOptionsChanged"); - std::vector values; - bool success = dict.getValue >("dataOptions", values); - if (success) { - _dataOptions.setValue(values); + groupEvent->subscribe( + identifier(), + "dataOptionsChanged", + [&](ghoul::Dictionary dict) { + LDEBUG(identifier() + " Event dataOptionsChanged"); + std::vector values; + bool success = dict.getValue >("dataOptions", values); + if (success) { + _dataOptions.setValue(values); + } } - }); + ); - groupEvent->subscribe(name(), "normValuesChanged", [&](ghoul::Dictionary dict){ - LDEBUG(name() + " Event normValuesChanged"); - glm::vec2 values; - bool success = dict.getValue("normValues", values); - if (success) { - _normValues.setValue(values); + groupEvent->subscribe( + identifier(), + "normValuesChanged", + [&](ghoul::Dictionary dict) { + LDEBUG(identifier() + " Event normValuesChanged"); + glm::vec2 values; + bool success = dict.getValue("normValues", values); + if (success) { + _normValues.setValue(values); + } } - }); + ); - groupEvent->subscribe(name(), "backgroundValuesChanged", [&](ghoul::Dictionary dict) { - LDEBUG(name() + " Event backgroundValuesChanged"); - glm::vec2 values; - bool success = dict.getValue("backgroundValues", values); - if (success) { - _backgroundValues.setValue(values); + groupEvent->subscribe( + identifier(), + "backgroundValuesChanged", + [&](ghoul::Dictionary dict) { + LDEBUG(identifier() + " Event backgroundValuesChanged"); + glm::vec2 values; + bool success = dict.getValue("backgroundValues", values); + if (success) { + _backgroundValues.setValue(values); + } } - }); + ); - groupEvent->subscribe(name(), "transferFunctionsChanged", [&](ghoul::Dictionary dict) - { - LDEBUG(name() + " Event transferFunctionsChanged"); - _transferFunctionsFile.setValue(dict.value("transferFunctions")); - }); - - groupEvent->subscribe(name(), "useLogChanged", [&](const ghoul::Dictionary& dict) { - LDEBUG(name() + " Event useLogChanged"); - _useLog.setValue(dict.value("useLog")); - }); - - groupEvent->subscribe(name(), "useHistogramChanged", [&](ghoul::Dictionary dict) { - LDEBUG(name() + " Event useHistogramChanged"); - _useHistogram.setValue(dict.value("useHistogram")); - }); - - groupEvent->subscribe(name(), "autoFilterChanged", [&](ghoul::Dictionary dict) { - LDEBUG(name() + " Event autoFilterChanged"); - _autoFilter.setValue(dict.value("autoFilter")); - }); - - groupEvent->subscribe(name(), "updateGroup", [&](ghoul::Dictionary) { - LDEBUG(name() + " Event updateGroup"); - if (_autoFilter.value()) { - _backgroundValues.setValue(_dataProcessor->filterValues()); + groupEvent->subscribe( + identifier(), + "transferFunctionsChanged", + [&](ghoul::Dictionary dict) { + LDEBUG(identifier() + " Event transferFunctionsChanged"); + _transferFunctionsFile.setValue(dict.value("transferFunctions")); } - updateTexture(); - }); + ); + + groupEvent->subscribe( + identifier(), + "useLogChanged", + [&](const ghoul::Dictionary& dict) { + LDEBUG(identifier() + " Event useLogChanged"); + _useLog.setValue(dict.value("useLog")); + } + ); + + groupEvent->subscribe( + identifier(), + "useHistogramChanged", + [&](ghoul::Dictionary dict) { + LDEBUG(identifier() + " Event useHistogramChanged"); + _useHistogram.setValue(dict.value("useHistogram")); + } + ); + + groupEvent->subscribe( + identifier(), + "autoFilterChanged", + [&](ghoul::Dictionary dict) { + LDEBUG(identifier() + " Event autoFilterChanged"); + _autoFilter.setValue(dict.value("autoFilter")); + } + ); + + groupEvent->subscribe( + identifier(), + "updateGroup", + [&](ghoul::Dictionary) { + LDEBUG(identifier() + " Event updateGroup"); + if (_autoFilter.value()) { + _backgroundValues.setValue(_dataProcessor->filterValues()); + } + updateTexture(); + } + ); } } //namespace openspace diff --git a/modules/iswa/rendering/dataplane.cpp b/modules/iswa/rendering/dataplane.cpp index 85e10128d4..0cdd0f53c9 100644 --- a/modules/iswa/rendering/dataplane.cpp +++ b/modules/iswa/rendering/dataplane.cpp @@ -178,7 +178,7 @@ std::vector DataPlane::textureData(){ std::chrono::duration elapsed_seconds = end-start; _avgBenchmarkTime = ((_avgBenchmarkTime * (_numOfBenchmarks - 1)) + elapsed_seconds.count()) / _numOfBenchmarks; - std::cout << " processData() " << name() << std::endl; + std::cout << " processData() " << identifier() << std::endl; std::cout << "avg elapsed time: " << _avgBenchmarkTime << "s\n"; std::cout << "num Benchmarks: " << _numOfBenchmarks << "\n"; // =========== diff --git a/modules/iswa/rendering/iswabasegroup.cpp b/modules/iswa/rendering/iswabasegroup.cpp index cfa763871c..7c55f3f374 100644 --- a/modules/iswa/rendering/iswabasegroup.cpp +++ b/modules/iswa/rendering/iswabasegroup.cpp @@ -85,14 +85,14 @@ bool IswaBaseGroup::isType(std::string type){ } void IswaBaseGroup::updateGroup(){ - LDEBUG("Group " + name() + " published updateGroup"); + LDEBUG("Group " + identifier() + " published updateGroup"); _groupEvent->publish("updateGroup", ghoul::Dictionary()); } void IswaBaseGroup::clearGroup(){ _groupEvent->publish("clearGroup", ghoul::Dictionary()); - LDEBUG("Group " + name() + " published clearGroup"); + LDEBUG("Group " + identifier() + " published clearGroup"); unregisterProperties(); } @@ -106,7 +106,7 @@ std::shared_ptr > IswaBaseGroup::groupEvent() { void IswaBaseGroup::registerProperties(){ _enabled.onChange([this]{ - LDEBUG("Group " + name() + " published enabledChanged"); + LDEBUG("Group " + identifier() + " published enabledChanged"); _groupEvent->publish( "enabledChanged", ghoul::Dictionary({{"enabled", _enabled.value()}}) @@ -114,7 +114,7 @@ void IswaBaseGroup::registerProperties(){ }); _alpha.onChange([this]{ - LDEBUG("Group " + name() + " published alphaChanged"); + LDEBUG("Group " + identifier() + " published alphaChanged"); _groupEvent->publish( "alphaChanged", ghoul::Dictionary({{"alpha", _alpha.value()}}) diff --git a/modules/iswa/rendering/iswacygnet.cpp b/modules/iswa/rendering/iswacygnet.cpp index 3d3c9379f2..f0d76ae17a 100644 --- a/modules/iswa/rendering/iswacygnet.cpp +++ b/modules/iswa/rendering/iswacygnet.cpp @@ -60,9 +60,10 @@ IswaCygnet::IswaCygnet(const ghoul::Dictionary& dictionary) , _textureDirty(false) , _rotation(glm::mat4(1.0f)) { + // This changed from setIdentifier to setGuiName, 2018-03-14 ---abock std::string name; dictionary.getValue("Name", name); - setName(name); + setGuiName(name); _data = std::make_shared(); @@ -124,7 +125,7 @@ void IswaCygnet::initialize() { _delete.onChange([this]() { deinitialize(); OsEng.scriptEngine().queueScript( - "openspace.removeSceneGraphNode('" + name() + "')", + "openspace.removeSceneGraphNode('" + identifier() + "')", scripting::ScriptEngine::RemoteScripting::Yes ); }); @@ -138,7 +139,7 @@ void IswaCygnet::initialize() { void IswaCygnet::deinitialize() { if (!_data->groupName.empty()) { - _group->groupEvent()->unsubscribe(name()); + _group->groupEvent()->unsubscribe(identifier()); } unregisterProperties(); @@ -282,20 +283,28 @@ void IswaCygnet::initializeGroup() { //Subscribe to enable and delete property auto groupEvent = _group->groupEvent(); - groupEvent->subscribe(name(), "enabledChanged", [&](const ghoul::Dictionary& dict) { - LDEBUG(name() + " Event enabledChanged"); - _enabled.setValue(dict.value("enabled")); - }); + groupEvent->subscribe( + identifier(), + "enabledChanged", + [&](const ghoul::Dictionary& dict) { + LDEBUG(identifier() + " Event enabledChanged"); + _enabled.setValue(dict.value("enabled")); + } + ); - groupEvent->subscribe(name(), "alphaChanged", [&](const ghoul::Dictionary& dict) { - LDEBUG(name() + " Event alphaChanged"); - _alpha.setValue(dict.value("alpha")); - }); + groupEvent->subscribe( + identifier(), + "alphaChanged", + [&](const ghoul::Dictionary& dict) { + LDEBUG(identifier() + " Event alphaChanged"); + _alpha.setValue(dict.value("alpha")); + } + ); - groupEvent->subscribe(name(), "clearGroup", [&](ghoul::Dictionary){ - LDEBUG(name() + " Event clearGroup"); + groupEvent->subscribe(identifier(), "clearGroup", [&](ghoul::Dictionary) { + LDEBUG(identifier() + " Event clearGroup"); OsEng.scriptEngine().queueScript( - "openspace.removeSceneGraphNode('" + name() + "')", + "openspace.removeSceneGraphNode('" + identifier() + "')", scripting::ScriptEngine::RemoteScripting::Yes ); }); diff --git a/modules/iswa/rendering/iswadatagroup.cpp b/modules/iswa/rendering/iswadatagroup.cpp index e3338691c3..2382e1eb70 100644 --- a/modules/iswa/rendering/iswadatagroup.cpp +++ b/modules/iswa/rendering/iswadatagroup.cpp @@ -121,7 +121,7 @@ void IswaDataGroup::registerProperties(){ _useLog.onChange([this]{ - LDEBUG("Group " + name() + " published useLogChanged"); + LDEBUG("Group " + identifier() + " published useLogChanged"); _groupEvent->publish( "useLogChanged", ghoul::Dictionary({{"useLog", _useLog.value()}}) @@ -129,7 +129,7 @@ void IswaDataGroup::registerProperties(){ }); _useHistogram.onChange([this]{ - LDEBUG("Group " + name() + " published useHistogramChanged"); + LDEBUG("Group " + identifier() + " published useHistogramChanged"); _groupEvent->publish( "useHistogramChanged", ghoul::Dictionary({{"useHistogram", _useHistogram.value()}}) @@ -138,7 +138,7 @@ void IswaDataGroup::registerProperties(){ //If autofiler is on, background values property should be hidden _autoFilter.onChange([this](){ - LDEBUG("Group " + name() + " published autoFilterChanged"); + LDEBUG("Group " + identifier() + " published autoFilterChanged"); // If autofiler is selected, use _dataProcessor to set backgroundValues // and unregister backgroundvalues property. if(_autoFilter.value()){ @@ -157,7 +157,7 @@ void IswaDataGroup::registerProperties(){ }); _normValues.onChange([this]{ - LDEBUG("Group " + name() + " published normValuesChanged"); + LDEBUG("Group " + identifier() + " published normValuesChanged"); _groupEvent->publish( "normValuesChanged", ghoul::Dictionary({{"normValues", _normValues.value()}}) @@ -165,7 +165,7 @@ void IswaDataGroup::registerProperties(){ }); _backgroundValues.onChange([this]{ - LDEBUG("Group " + name() + " published backgroundValuesChanged"); + LDEBUG("Group " + identifier() + " published backgroundValuesChanged"); _groupEvent->publish( "backgroundValuesChanged", ghoul::Dictionary({{"backgroundValues", _backgroundValues.value()}}) @@ -173,7 +173,7 @@ void IswaDataGroup::registerProperties(){ }); _transferFunctionsFile.onChange([this]{ - LDEBUG("Group " + name() + " published transferFunctionsChanged"); + LDEBUG("Group " + identifier() + " published transferFunctionsChanged"); _groupEvent->publish( "transferFunctionsChanged", ghoul::Dictionary({{"transferFunctions", _transferFunctionsFile.value()}}) @@ -181,7 +181,7 @@ void IswaDataGroup::registerProperties(){ }); _dataOptions.onChange([this]{ - LDEBUG("Group " + name() + " published dataOptionsChanged"); + LDEBUG("Group " + identifier() + " published dataOptionsChanged"); ghoul::Dictionary dict; dict.setValue>("dataOptions", _dataOptions.value()); _groupEvent->publish("dataOptionsChanged", dict); diff --git a/modules/iswa/rendering/iswakameleongroup.cpp b/modules/iswa/rendering/iswakameleongroup.cpp index 7b9ebd6b0f..d375bb73d9 100644 --- a/modules/iswa/rendering/iswakameleongroup.cpp +++ b/modules/iswa/rendering/iswakameleongroup.cpp @@ -98,7 +98,7 @@ void IswaKameleonGroup::registerProperties() { //OsEng.gui()._iswa.registerProperty(&_fieldlines); _resolution.onChange([this]{ - LDEBUG("Group " + name() + " published resolutionChanged"); + LDEBUG("Group " + identifier() + " published resolutionChanged"); _groupEvent->publish( "resolutionChanged", ghoul::Dictionary({{"resolution", _resolution.value()}}) @@ -132,7 +132,7 @@ void IswaKameleonGroup::readFieldlinePaths(std::string indexFile) { for (json::iterator it = fieldlines.begin(); it != fieldlines.end(); ++it) { _fieldlines.addOption({i, it.key()}); _fieldlineState[i] = std::make_tuple( - name() + "/" + it.key(), + identifier() + "/" + it.key(), it.value(), false ); diff --git a/modules/iswa/rendering/kameleonplane.cpp b/modules/iswa/rendering/kameleonplane.cpp index a9d93613d9..5e01a38fa2 100644 --- a/modules/iswa/rendering/kameleonplane.cpp +++ b/modules/iswa/rendering/kameleonplane.cpp @@ -341,7 +341,7 @@ void KameleonPlane::readFieldlinePaths(std::string indexFile) { //Parse and add each fieldline as an selection json fieldlines = json::parse(seedFile); int i = 0; - std::string fullName = name(); + std::string fullName = identifier(); std::string partName = fullName.substr(0,fullName.find_last_of("-")); for (json::iterator it = fieldlines.begin(); it != fieldlines.end(); ++it) { _fieldlines.addOption({i, it.key()}); @@ -367,8 +367,8 @@ void KameleonPlane::subscribeToGroup() { //Add additional Events specific to KameleonPlane auto groupEvent = _group->groupEvent(); - groupEvent->subscribe(name(), "resolutionChanged", [&](ghoul::Dictionary dict) { - LDEBUG(name() + " Event resolutionChanged"); + groupEvent->subscribe(identifier(), "resolutionChanged", [&](ghoul::Dictionary dict) { + LDEBUG(identifier() + " Event resolutionChanged"); float resolution; bool success = dict.getValue("resolution", resolution); if (success) { @@ -376,8 +376,8 @@ void KameleonPlane::subscribeToGroup() { } }); - groupEvent->subscribe(name(), "cdfChanged", [&](ghoul::Dictionary dict) { - LDEBUG(name() + " Event cdfChanged"); + groupEvent->subscribe(identifier(), "cdfChanged", [&](ghoul::Dictionary dict) { + LDEBUG(identifier() + " Event cdfChanged"); std::string path; bool success = dict.getValue("path", path); if (success) { diff --git a/modules/kameleonvolume/rendering/renderablekameleonvolume.cpp b/modules/kameleonvolume/rendering/renderablekameleonvolume.cpp index 91ee83a814..6de19e319d 100644 --- a/modules/kameleonvolume/rendering/renderablekameleonvolume.cpp +++ b/modules/kameleonvolume/rendering/renderablekameleonvolume.cpp @@ -229,7 +229,8 @@ RenderableKameleonVolume::RenderableKameleonVolume(const ghoul::Dictionary& dict ghoul::Dictionary clipPlanesDictionary; dictionary.getValue(KeyClipPlanes, clipPlanesDictionary); _clipPlanes = std::make_shared(clipPlanesDictionary); - _clipPlanes->setName("clipPlanes"); + _clipPlanes->setIdentifier("clipPlanes"); + _clipPlanes->setGuiName("Clip Planes"); bool cache; if (dictionary.getValue(KeyCache, cache)) { diff --git a/modules/space/rendering/renderableplanet.cpp b/modules/space/rendering/renderableplanet.cpp index 9d78fee550..0611908e5f 100644 --- a/modules/space/rendering/renderableplanet.cpp +++ b/modules/space/rendering/renderableplanet.cpp @@ -193,8 +193,6 @@ RenderablePlanet::RenderablePlanet(const ghoul::Dictionary& dictionary) "RenderablePlanet" ); - const std::string name = dictionary.value(SceneGraphNode::KeyName); - ghoul::Dictionary geomDict = dictionary.value(KeyGeometry); if (dictionary.hasKey(KeyRadius)) { @@ -299,7 +297,7 @@ RenderablePlanet::RenderablePlanet(const ghoul::Dictionary& dictionary) "No Radius value specified for Shadow Source Name '{}' from " "'{}' planet. Disabling shadows for this planet", sourceName, - name + identifier() )); disableShadows = true; break; @@ -328,7 +326,7 @@ RenderablePlanet::RenderablePlanet(const ghoul::Dictionary& dictionary) "No Radius value expecified for Shadow Caster Name '{}' from " "'{}' planet. Disabling shadows for this planet.", casterName, - name + identifier() )); disableShadows = true; break; diff --git a/modules/spacecraftinstruments/rendering/renderablemodelprojection.cpp b/modules/spacecraftinstruments/rendering/renderablemodelprojection.cpp index b4b584bd01..8578873d69 100644 --- a/modules/spacecraftinstruments/rendering/renderablemodelprojection.cpp +++ b/modules/spacecraftinstruments/rendering/renderablemodelprojection.cpp @@ -132,16 +132,9 @@ RenderableModelProjection::RenderableModelProjection(const ghoul::Dictionary& di dictionary, "RenderableModelProjection" ); - - std::string name; - [[ maybe_unused ]] bool success = dictionary.getValue(SceneGraphNode::KeyName, name); - ghoul_assert(success, "Name was not passed to RenderableModelProjection"); - using ghoul::Dictionary; Dictionary geometryDictionary = dictionary.value(keyGeometry); - using modelgeometry::ModelGeometry; - geometryDictionary.setValue(SceneGraphNode::KeyName, name); - _geometry = ModelGeometry::createFromDictionary(geometryDictionary); + _geometry = modelgeometry::ModelGeometry::createFromDictionary(geometryDictionary); _colorTexturePath = absPath(dictionary.value( ColorTextureInfo.identifier @@ -154,6 +147,7 @@ RenderableModelProjection::RenderableModelProjection(const ghoul::Dictionary& di _colorTexturePath.onChange(std::bind(&RenderableModelProjection::loadTextures, this)); _projectionComponent.initialize( + identifier(), dictionary.value(keyProjection) ); diff --git a/modules/spacecraftinstruments/rendering/renderableplanetprojection.cpp b/modules/spacecraftinstruments/rendering/renderableplanetprojection.cpp index ae5f31066c..a940d39a74 100644 --- a/modules/spacecraftinstruments/rendering/renderableplanetprojection.cpp +++ b/modules/spacecraftinstruments/rendering/renderableplanetprojection.cpp @@ -200,19 +200,18 @@ RenderablePlanetProjection::RenderablePlanetProjection(const ghoul::Dictionary& "RenderablePlanetProjection" ); - std::string name; - bool success = dict.getValue(SceneGraphNode::KeyName, name); - ghoul_assert(success, ""); - ghoul::Dictionary geometryDictionary; - success = dict.getValue(KeyGeometry, geometryDictionary); + bool success = dict.getValue(KeyGeometry, geometryDictionary); if (success) { - geometryDictionary.setValue(SceneGraphNode::KeyName, name); - using planetgeometry::PlanetGeometry; - _geometry = PlanetGeometry::createFromDictionary(geometryDictionary); + _geometry = planetgeometry::PlanetGeometry::createFromDictionary( + geometryDictionary + ); } - _projectionComponent.initialize(dict.value(KeyProjection)); + _projectionComponent.initialize( + identifier(), + dict.value(KeyProjection) + ); _colorTexturePaths.addOption(0, NoImageText); _colorTexturePaths.onChange([this](){ diff --git a/modules/spacecraftinstruments/util/projectioncomponent.cpp b/modules/spacecraftinstruments/util/projectioncomponent.cpp index e248838cbe..c5ff8e8599 100644 --- a/modules/spacecraftinstruments/util/projectioncomponent.cpp +++ b/modules/spacecraftinstruments/util/projectioncomponent.cpp @@ -247,7 +247,9 @@ ProjectionComponent::ProjectionComponent() _applyTextureSize.onChange([this]() { _textureSizeDirty = true; }); } -void ProjectionComponent::initialize(const ghoul::Dictionary& dictionary) { +void ProjectionComponent::initialize(const std::string& identifier, + const ghoul::Dictionary& dictionary) +{ documentation::testSpecificationAndThrow( Documentation(), dictionary, @@ -290,9 +292,6 @@ void ProjectionComponent::initialize(const ghoul::Dictionary& dictionary) { static_cast(dictionary.value(keyTextureMapAspectRatio)); } - std::string name; - dictionary.getValue(SceneGraphNode::KeyName, name); - std::vector parsers; if (dictionary.hasKey(keySequenceDir)) { @@ -324,7 +323,7 @@ void ProjectionComponent::initialize(const ghoul::Dictionary& dictionary) { for (std::string& sequenceSource : sequenceSources) { if (sequenceType == sequenceTypePlaybook) { parsers.push_back(new HongKangParser( - name, + identifier, std::move(sequenceSource), _projectorID, translationDictionary, @@ -332,14 +331,14 @@ void ProjectionComponent::initialize(const ghoul::Dictionary& dictionary) { } else if (sequenceType == sequenceTypeImage) { parsers.push_back(new LabelParser( - name, + identifier, std::move(sequenceSource), translationDictionary)); } else if (sequenceType == sequenceTypeHybrid) { //first read labels parsers.push_back(new LabelParser( - name, + identifier, std::move(sequenceSource), translationDictionary)); @@ -349,7 +348,7 @@ void ProjectionComponent::initialize(const ghoul::Dictionary& dictionary) { //then read playbook _eventFile = absPath(_eventFile); parsers.push_back(new HongKangParser( - name, + identifier, _eventFile, _projectorID, translationDictionary, @@ -361,7 +360,7 @@ void ProjectionComponent::initialize(const ghoul::Dictionary& dictionary) { } else if (sequenceType == sequenceTypeInstrumentTimes) { parsers.push_back(new InstrumentTimesParser( - name, + identifier, std::move(sequenceSource), translationDictionary) ); diff --git a/modules/spacecraftinstruments/util/projectioncomponent.h b/modules/spacecraftinstruments/util/projectioncomponent.h index f4b5bb0848..4a09214c80 100644 --- a/modules/spacecraftinstruments/util/projectioncomponent.h +++ b/modules/spacecraftinstruments/util/projectioncomponent.h @@ -48,7 +48,7 @@ class ProjectionComponent : public properties::PropertyOwner { public: ProjectionComponent(); - void initialize(const ghoul::Dictionary& dictionary); + void initialize(const std::string& identifier, const ghoul::Dictionary& dictionary); bool initializeGL(); bool deinitialize(); diff --git a/modules/spout/renderableplanespout.cpp b/modules/spout/renderableplanespout.cpp index 5e82dda7a4..2d5bc22af4 100644 --- a/modules/spout/renderableplanespout.cpp +++ b/modules/spout/renderableplanespout.cpp @@ -99,19 +99,25 @@ RenderablePlaneSpout::RenderablePlaneSpout(const ghoul::Dictionary& dictionary) "RenderablePlaneSpout" ); - if (dictionary.hasKey(KeyName)) { - setName(dictionary.value(KeyName)); - } - else { + int iIdentifier = 0; + if (_identifier.empty()) { static int id = 0; - if (id == 0) { - setName("ScreenSpaceSpout"); + iIdentifier = id; + + if (iIdentifier == 0) { + setIdentifier("ScreenSpaceSpout"); } else { - setName("ScreenSpaceSpout " + std::to_string(id)); + setIdentifier("ScreenSpaceSpout" + std::to_string(iIdentifier)); } ++id; } + + if (_guiName.empty()) { + // Adding an extra space to the user-facing name as it looks nicer + setGuiName("ScreenSpaceSpout " + std::to_string(iIdentifier)); + } + _isSpoutDirty = true; if (dictionary.hasKey(NameInfo.identifier)) { diff --git a/modules/spout/screenspacespout.cpp b/modules/spout/screenspacespout.cpp index c515b2b7ce..ba5b4e7b96 100644 --- a/modules/spout/screenspacespout.cpp +++ b/modules/spout/screenspacespout.cpp @@ -94,19 +94,25 @@ ScreenSpaceSpout::ScreenSpaceSpout(const ghoul::Dictionary& dictionary) "ScreenSpaceSpout" ); - if (dictionary.hasKey(KeyName)) { - setName(dictionary.value(KeyName)); - } - else { + int iIdentifier = 0; + if (_identifier.empty()) { static int id = 0; - if (id == 0) { - setName("ScreenSpaceSpout"); + iIdentifier = id; + + if (iIdentifier == 0) { + setIdentifier("ScreenSpaceSpout"); } else { - setName("ScreenSpaceSpout " + std::to_string(id)); + setIdentifier("ScreenSpaceSpout" + std::to_string(iIdentifier)); } ++id; } + + if (_guiName.empty()) { + // Adding an extra space to the user-facing name as it looks nicer + setGuiName("ScreenSpaceSpout " + std::to_string(iIdentifier)); + } + _isSpoutDirty = true; if (dictionary.hasKey(NameInfo.identifier)) { diff --git a/modules/touch/src/touchinteraction.cpp b/modules/touch/src/touchinteraction.cpp index 3e83cc71d1..cffb2dab72 100644 --- a/modules/touch/src/touchinteraction.cpp +++ b/modules/touch/src/touchinteraction.cpp @@ -593,8 +593,9 @@ void TouchInteraction::findSelectedNode(const std::vector& list) { std::vector selectableNodes; for (SceneGraphNode* node : OsEng.renderEngine().scene()->allSceneGraphNodes()) for (std::string name : selectables) - if (node->name() == name) + if (node->identifier() == name) { selectableNodes.push_back(node); + } glm::dquat camToWorldSpace = _camera->rotationQuaternion(); glm::dvec3 camPos = _camera->positionVec3(); @@ -678,7 +679,10 @@ void TouchInteraction::findSelectedNode(const std::vector& list) { // If the user touched the planet directly, this is definitely the one // they are interested in => minimum distance if (dist <= 0.0) { - LINFOC(node->name(), "Picking candidate based on direct touch"); + LINFOC( + node->identifier(), + "Picking candidate based on direct touch" + ); pickingInfo.push_back({ node, -std::numeric_limits::max(), @@ -687,7 +691,10 @@ void TouchInteraction::findSelectedNode(const std::vector& list) { } else { // The node was considered due to minimum picking distance radius - LINFOC(node->name(), "Picking candidate based on proximity"); + LINFOC( + node->identifier(), + "Picking candidate based on proximity" + ); pickingInfo.push_back({ node, ndcDist, @@ -713,7 +720,7 @@ void TouchInteraction::findSelectedNode(const std::vector& list) { // If an item has been picked, it's in the first position of the vector now if (!pickingInfo.empty()) { _pickingSelected = pickingInfo.begin()->node; - LINFOC("Picking", "Picked node: " + _pickingSelected->name()); + LINFOC("Picking", "Picked node: " + _pickingSelected->identifier()); } _selected = std::move(newSelected); diff --git a/modules/volume/rendering/renderabletimevaryingvolume.cpp b/modules/volume/rendering/renderabletimevaryingvolume.cpp index 6cba240b7b..5754c18fb1 100644 --- a/modules/volume/rendering/renderabletimevaryingvolume.cpp +++ b/modules/volume/rendering/renderabletimevaryingvolume.cpp @@ -203,7 +203,8 @@ RenderableTimeVaryingVolume::RenderableTimeVaryingVolume( ghoul::Dictionary clipPlanesDictionary; dictionary.getValue(KeyClipPlanes, clipPlanesDictionary); _clipPlanes = std::make_shared(clipPlanesDictionary); - _clipPlanes->setName("clipPlanes"); + _clipPlanes->setIdentifier("clipPlanes"); + _clipPlanes->setGuiName("Clip Planes"); if (dictionary.hasValue(KeyGridType)) { VolumeGridType gridType = volume::parseGridType( diff --git a/modules/volume/rendering/volumeclipplanes.cpp b/modules/volume/rendering/volumeclipplanes.cpp index 702a3f5843..38c6ff2a65 100644 --- a/modules/volume/rendering/volumeclipplanes.cpp +++ b/modules/volume/rendering/volumeclipplanes.cpp @@ -40,7 +40,7 @@ VolumeClipPlanes::VolumeClipPlanes(const ghoul::Dictionary& dictionary) ghoul::Dictionary cutPlaneDictionary; dictionary.getValue(key, cutPlaneDictionary); auto clipPlane = std::make_shared(cutPlaneDictionary); - clipPlane->setName(key); + clipPlane->setIdentifier(key); _clipPlanes.push_back(clipPlane); } _nClipPlanes = static_cast(keys.size()); diff --git a/scripts/core_scripts.lua b/scripts/core_scripts.lua index 8c9ee568ae..8016df5cd6 100644 --- a/scripts/core_scripts.lua +++ b/scripts/core_scripts.lua @@ -76,7 +76,7 @@ end openspace.setDefaultGuiSorting = function() openspace.setPropertyValueSingle( - 'Modules.ImGUI.Main.Scene Properties.Ordering', + 'Modules.ImGUI.Main.SceneProperties.Ordering', { "Solar System", "Milky Way", "Universe", "Other" } diff --git a/src/engine/moduleengine.cpp b/src/engine/moduleengine.cpp index f0f7f0223e..6b45cbd2cc 100644 --- a/src/engine/moduleengine.cpp +++ b/src/engine/moduleengine.cpp @@ -48,10 +48,10 @@ ModuleEngine::ModuleEngine() void ModuleEngine::initialize(const ghoul::Dictionary& moduleConfigurations) { for (OpenSpaceModule* m : AllModules()) { - const std::string name = m->name(); + const std::string identifier = m->identifier(); ghoul::Dictionary configuration; - if (moduleConfigurations.hasKey(name)) { - moduleConfigurations.getValue(name, configuration); + if (moduleConfigurations.hasKey(identifier)) { + moduleConfigurations.getValue(identifier, configuration); } registerModule(std::unique_ptr(m), configuration); } @@ -59,8 +59,8 @@ void ModuleEngine::initialize(const ghoul::Dictionary& moduleConfigurations) { void ModuleEngine::deinitialize() { LDEBUG("Deinitializing modules"); - for (auto& m : _modules) { - LDEBUG(fmt::format("Deinitializing module '{}'", m->name())); + for (std::unique_ptr& m : _modules) { + LDEBUG(fmt::format("Deinitializing module '{}'", m->identifier())); m->deinitialize(); } _modules.clear(); @@ -76,20 +76,20 @@ void ModuleEngine::registerModule(std::unique_ptr m, _modules.begin(), _modules.end(), [&m](std::unique_ptr& rhs) { - return rhs->name() == m->name(); + return rhs->identifier() == m->identifier(); } ); if (it != _modules.end()) { throw ghoul::RuntimeError( - "Module name '" + m->name() + "' was registered before", + "Module name '" + m->identifier() + "' was registered before", "ModuleEngine" ); } - LDEBUG(fmt::format("Registering module '{}'", m->name())); + LDEBUG(fmt::format("Registering module '{}'", m->identifier())); m->initialize(this, configuration); addPropertySubOwner(m.get()); - LDEBUG(fmt::format("Registered module '{}'", m->name())); + LDEBUG(fmt::format("Registered module '{}'", m->identifier())); _modules.push_back(std::move(m)); } diff --git a/src/engine/moduleengine_lua.inl b/src/engine/moduleengine_lua.inl index e2db06bcc0..fc276b6bdc 100644 --- a/src/engine/moduleengine_lua.inl +++ b/src/engine/moduleengine_lua.inl @@ -47,7 +47,7 @@ int isLoaded(lua_State* L) { modules.begin(), modules.end(), [moduleName](OpenSpaceModule* module) { - return module->name() == moduleName; + return module->identifier() == moduleName; } ); diff --git a/src/engine/openspaceengine.cpp b/src/engine/openspaceengine.cpp index 639ff3fe16..745a7832ac 100644 --- a/src/engine/openspaceengine.cpp +++ b/src/engine/openspaceengine.cpp @@ -188,6 +188,8 @@ OpenSpaceEngine::OpenSpaceEngine(std::string programName, _rootPropertyOwner->addPropertySubOwner(_navigationHandler.get()); _rootPropertyOwner->addPropertySubOwner(_renderEngine.get()); + _rootPropertyOwner->addPropertySubOwner(_renderEngine->screenSpaceOwner()); + if (_windowWrapper) { _rootPropertyOwner->addPropertySubOwner(_windowWrapper.get()); } @@ -702,6 +704,7 @@ void OpenSpaceEngine::loadSingleAsset(const std::string& assetPath) { if (s->state() == ResourceSynchronization::State::Syncing) { resourceSyncs.insert(s); _loadingScreen->updateItem( + s->name(), s->name(), LoadingScreen::ItemStatus::Started, s->progress() @@ -722,6 +725,7 @@ void OpenSpaceEngine::loadSingleAsset(const std::string& assetPath) { if ((*it)->state() == ResourceSynchronization::State::Syncing) { loading = true; _loadingScreen->updateItem( + (*it)->name(), (*it)->name(), LoadingScreen::ItemStatus::Started, (*it)->progress() @@ -730,6 +734,7 @@ void OpenSpaceEngine::loadSingleAsset(const std::string& assetPath) { } else { _loadingScreen->tickItem(); _loadingScreen->updateItem( + (*it)->name(), (*it)->name(), LoadingScreen::ItemStatus::Finished, 1.0f diff --git a/src/interaction/navigationhandler.cpp b/src/interaction/navigationhandler.cpp index 59e5298af6..9738a6b600 100644 --- a/src/interaction/navigationhandler.cpp +++ b/src/interaction/navigationhandler.cpp @@ -241,7 +241,7 @@ ghoul::Dictionary NavigationHandler::getCameraStateDictionary() { ghoul::Dictionary cameraDict; cameraDict.setValue(KeyPosition, cameraPosition); cameraDict.setValue(KeyRotation, cameraRotation); - cameraDict.setValue(KeyFocus, focusNode()->name()); + cameraDict.setValue(KeyFocus, focusNode()->identifier()); return cameraDict; } @@ -262,7 +262,7 @@ void NavigationHandler::saveCameraStateToFile(const std::string& filepath) { glm::dquat q = _camera->rotationQuaternion(); ofs << "return {" << std::endl; - ofs << " " << KeyFocus << " = " << "\"" << focusNode()->name() << "\"" + ofs << " " << KeyFocus << " = " << "\"" << focusNode()->identifier() << "\"" << "," << std::endl; ofs << " " << KeyPosition << " = {" << std::to_string(p.x) << ", " diff --git a/src/network/parallelconnection.cpp b/src/network/parallelconnection.cpp index 153aeb781f..0781d37149 100644 --- a/src/network/parallelconnection.cpp +++ b/src/network/parallelconnection.cpp @@ -1196,7 +1196,7 @@ void ParallelConnection::sendCameraKeyframe() { kf._rotation = OsEng.navigationHandler().camera()->rotationQuaternion(); } - kf._focusNode = focusNode->name(); + kf._focusNode = focusNode->identifier(); // Timestamp as current runtime of OpenSpace instance kf._timestamp = OsEng.windowWrapper().applicationTime(); diff --git a/src/performance/performancemanager.cpp b/src/performance/performancemanager.cpp index c5f49f89c0..cfc9cf480f 100644 --- a/src/performance/performancemanager.cpp +++ b/src/performance/performancemanager.cpp @@ -399,11 +399,11 @@ void PerformanceManager::storeScenePerformanceMeasurements( #ifdef _MSC_VER strcpy_s( layout->sceneGraphEntries[i].name, - node->name().length() + 1, - node->name().c_str() + node->identifier().length() + 1, + node->identifier().c_str() ); #else - strcpy(layout->sceneGraphEntries[i].name, node->name().c_str()); + strcpy(layout->sceneGraphEntries[i].name, node->identifier().c_str()); #endif SceneGraphNode::PerformanceRecord r = node->performanceRecord(); diff --git a/src/properties/property.cpp b/src/properties/property.cpp index 59fe749cbb..79e224c658 100644 --- a/src/properties/property.cpp +++ b/src/properties/property.cpp @@ -81,7 +81,7 @@ std::string Property::fullyQualifiedIdentifier() const { std::string identifier = _identifier; PropertyOwner* currentOwner = owner(); while (currentOwner) { - std::string ownerId = currentOwner->name(); + std::string ownerId = currentOwner->identifier(); if (!ownerId.empty()) { identifier = ownerId + "." + identifier; } diff --git a/src/properties/propertyowner.cpp b/src/properties/propertyowner.cpp index d7a4e21729..5cc27fcec5 100644 --- a/src/properties/propertyowner.cpp +++ b/src/properties/propertyowner.cpp @@ -28,15 +28,15 @@ #include #include #include +#include #include #include -namespace openspace::properties { - namespace { constexpr const char* _loggerCat = "PropertyOwner"; } // namespace +namespace openspace::properties { PropertyOwner::PropertyOwner(PropertyOwnerInfo info) : DocumentationGenerator( @@ -58,10 +58,20 @@ PropertyOwner::PropertyOwner(PropertyOwnerInfo info) }, "${WEB}/properties/script.js" ) - , _name(std::move(info.name)) + , _identifier(std::move(info.identifier)) + , _guiName(std::move(info.guiName)) , _description(std::move(info.description)) , _owner(nullptr) -{} +{ + ghoul_precondition( + _identifier.find_first_of("\t\n ") == std::string::npos, + "Identifier must contain any whitespaces" + ); + ghoul_precondition( + _identifier.find_first_of(".") == std::string::npos, + "Identifier must contain any whitespaces" + ); +} PropertyOwner::~PropertyOwner() { _properties.clear(); @@ -125,14 +135,14 @@ std::vector PropertyOwner::propertySubOwners() const { return _subOwners; } -PropertyOwner* PropertyOwner::propertySubOwner(const std::string& name) const { +PropertyOwner* PropertyOwner::propertySubOwner(const std::string& identifier) const { std::vector::const_iterator it = std::find_if( _subOwners.begin(), _subOwners.end(), - [&name](PropertyOwner* owner) { return owner->name() == name; } + [&identifier](PropertyOwner* owner) { return owner->identifier() == identifier; } ); - if (it == _subOwners.end() || (*it)->name() != name) { + if (it == _subOwners.end() || (*it)->identifier() != identifier) { return nullptr; } else { @@ -140,12 +150,12 @@ PropertyOwner* PropertyOwner::propertySubOwner(const std::string& name) const { } } -bool PropertyOwner::hasPropertySubOwner(const std::string& name) const { - return propertySubOwner(name) != nullptr; +bool PropertyOwner::hasPropertySubOwner(const std::string& identifier) const { + return propertySubOwner(identifier) != nullptr; } -void PropertyOwner::setPropertyGroupName(std::string groupID, std::string name) { - _groupNames[std::move(groupID)] = std::move(name); +void PropertyOwner::setPropertyGroupName(std::string groupID, std::string identifier) { + _groupNames[std::move(groupID)] = std::move(identifier); } std::string PropertyOwner::propertyGroupName(const std::string& groupID) const { @@ -159,7 +169,7 @@ std::string PropertyOwner::propertyGroupName(const std::string& groupID) const { } void PropertyOwner::addProperty(Property* prop) { - ghoul_assert(prop != nullptr, "prop must not be nullptr"); + ghoul_precondition(prop != nullptr, "prop must not be nullptr"); if (prop->identifier().empty()) { LERROR("No property identifier specified"); @@ -177,7 +187,7 @@ void PropertyOwner::addProperty(Property* prop) { LERROR(fmt::format( "Property identifier '{}' already present in PropertyOwner '{}'", prop->identifier(), - name() + identifier() )); return; } else { @@ -202,30 +212,35 @@ void PropertyOwner::addProperty(Property& prop) { } void PropertyOwner::addPropertySubOwner(openspace::properties::PropertyOwner* owner) { - ghoul_assert(owner != nullptr, "owner must not be nullptr"); - ghoul_assert(!owner->name().empty(), "PropertyOwner must have a name"); + ghoul_precondition(owner != nullptr, "owner must not be nullptr"); + ghoul_precondition( + !owner->identifier().empty(), + "PropertyOwner must have an identifier" + ); // See if we can find the name of the propertyowner to add using the lower bound std::vector::const_iterator it = std::find_if( _subOwners.begin(), _subOwners.end(), - [name = owner->name()](PropertyOwner* o) { return o->name() == name; } + [identifier = owner->identifier()](PropertyOwner* o) { + return o->identifier() == identifier; + } ); // If we found the propertyowner's name, we need to bail out - if (it != _subOwners.end() && (*it)->name() == owner->name()) { + if (it != _subOwners.end() && (*it)->identifier() == owner->identifier()) { LERROR(fmt::format( "PropertyOwner '{}' already present in PropertyOwner '{}'", - owner->name(), - name() + owner->identifier(), + identifier() )); return; } else { // We still need to check if the PropertyOwners name is used in a Property - const bool hasProp = hasProperty(owner->name()); + const bool hasProp = hasProperty(owner->identifier()); if (hasProp) { LERROR(fmt::format( - "PropertyOwner '{}'s name already names a Property", owner->name() + "PropertyOwner '{}'s name already names a Property", owner->identifier() )); return; } @@ -241,7 +256,7 @@ void PropertyOwner::addPropertySubOwner(openspace::properties::PropertyOwner& ow } void PropertyOwner::removeProperty(Property* prop) { - ghoul_assert(prop != nullptr, "prop must not be nullptr"); + ghoul_precondition(prop != nullptr, "prop must not be nullptr"); // See if we can find the identifier of the property to add in the properties list std::vector::const_iterator it = std::find_if( @@ -266,21 +281,23 @@ void PropertyOwner::removeProperty(Property& prop) { } void PropertyOwner::removePropertySubOwner(openspace::properties::PropertyOwner* owner) { - ghoul_assert(owner != nullptr, "owner must not be nullptr"); + ghoul_precondition(owner != nullptr, "owner must not be nullptr"); // See if we can find the name of the propertyowner to add std::vector::const_iterator it = std::find_if( _subOwners.begin(), _subOwners.end(), - [name = owner->name()](PropertyOwner* o) { return o->name() == name; } + [identifier = owner->identifier()](PropertyOwner* o) { + return o->identifier() == identifier; + } ); // If we found the propertyowner, we can delete it - if (it != _subOwners.end() && (*it)->name() == owner->name()) { + if (it != _subOwners.end() && (*it)->identifier() == owner->identifier()) { _subOwners.erase(it); } else { LERROR(fmt::format( - "PropertyOwner with name '{}' not found for removal", owner->name() + "PropertyOwner with name '{}' not found for removal", owner->identifier() )); } } @@ -289,12 +306,29 @@ void PropertyOwner::removePropertySubOwner(openspace::properties::PropertyOwner& removePropertySubOwner(&owner); } -void PropertyOwner::setName(std::string name) { - _name = std::move(name); +void PropertyOwner::setIdentifier(std::string identifier) { + ghoul_precondition( + _identifier.find_first_of("\t\n ") == std::string::npos, + "Identifier must contain any whitespaces" + ); + ghoul_precondition( + _identifier.find_first_of(".") == std::string::npos, + "Identifier must contain any whitespaces" + ); + + _identifier = std::move(identifier); } -std::string PropertyOwner::name() const { - return _name; +std::string PropertyOwner::identifier() const { + return _identifier; +} + +void PropertyOwner::setGuiName(std::string guiName) { + _guiName = std::move(guiName); +} + +const std::string& PropertyOwner::guiName() const { + return _guiName.empty() ? _identifier : _guiName; } void PropertyOwner::setDescription(std::string description) { @@ -326,7 +360,7 @@ std::string PropertyOwner::generateJson() const { { std::stringstream json; json << "{"; - json << "\"name\": \"" << owner->name() << "\","; + json << "\"name\": \"" << owner->identifier() << "\","; json << "\"properties\": ["; auto properties = owner->properties(); diff --git a/src/rendering/dashboard.cpp b/src/rendering/dashboard.cpp index 51efdf8e40..5b447029c3 100644 --- a/src/rendering/dashboard.cpp +++ b/src/rendering/dashboard.cpp @@ -49,14 +49,14 @@ Dashboard::Dashboard() } void Dashboard::addDashboardItem(std::unique_ptr item) { - std::string originalName = item->name(); + std::string originalIdentifier = item->identifier(); int suffix = 1; while (true) { auto it = std::find_if( _items.begin(), _items.end(), [&item](const std::unique_ptr& i) { - return (i->name() == item->name()); + return (i->identifier() == item->identifier()); } ); @@ -65,7 +65,8 @@ void Dashboard::addDashboardItem(std::unique_ptr item) { break; } else { - item->setName(originalName + " " + std::to_string(suffix)); + item->setIdentifier(originalIdentifier + std::to_string(suffix)); + item->setGuiName(originalIdentifier + " " + std::to_string(suffix)); ++suffix; } } diff --git a/src/rendering/dashboarditem.cpp b/src/rendering/dashboarditem.cpp index c4f9b20e71..56809d7432 100644 --- a/src/rendering/dashboarditem.cpp +++ b/src/rendering/dashboarditem.cpp @@ -51,8 +51,8 @@ std::unique_ptr DashboardItem::createFromDictionary( return factory->create(dashboardType, dictionary); } -DashboardItem::DashboardItem(std::string name) - : properties::PropertyOwner({ std::move(name) }) +DashboardItem::DashboardItem(std::string identifier, std::string guiName) + : properties::PropertyOwner({ std::move(identifier), std::move(guiName) }) , _isEnabled(EnabledInfo, true) { addProperty(_isEnabled); diff --git a/src/rendering/loadingscreen.cpp b/src/rendering/loadingscreen.cpp index 7eb4b43065..37a2042e23 100644 --- a/src/rendering/loadingscreen.cpp +++ b/src/rendering/loadingscreen.cpp @@ -676,8 +676,8 @@ void LoadingScreen::setPhase(Phase phase) { _iProgress = 0; } -void LoadingScreen::updateItem(const std::string& itemName, - ItemStatus newStatus, +void LoadingScreen::updateItem(const std::string& itemIdentifier, + const std::string& itemName, ItemStatus newStatus, float newProgress) { if (!_showNodeNames) { @@ -690,8 +690,8 @@ void LoadingScreen::updateItem(const std::string& itemName, auto it = std::find_if( _items.begin(), _items.end(), - [&itemName](const Item& i) { - return i.name == itemName; + [&itemIdentifier](const Item& i) { + return i.identifier == itemIdentifier; } ); if (it != _items.end()) { @@ -704,11 +704,15 @@ void LoadingScreen::updateItem(const std::string& itemName, else { ghoul_assert( newStatus == ItemStatus::Started, - "Item '" + itemName + "' did not exist but first message was not Started" + fmt::format( + "Item '{}' did not exist and first message was not 'Started'", + itemIdentifier + ) ); // We are not computing the location in here since doing it this way might stall // the main thread while trying to find a position for the new item _items.push_back({ + itemIdentifier, itemName, ItemStatus::Started, newProgress, diff --git a/src/rendering/renderable.cpp b/src/rendering/renderable.cpp index b30d62e5fe..3693b4ed2f 100644 --- a/src/rendering/renderable.cpp +++ b/src/rendering/renderable.cpp @@ -92,13 +92,6 @@ documentation::Documentation Renderable::Documentation() { std::unique_ptr Renderable::createFromDictionary( const ghoul::Dictionary& dictionary) { - // The name is passed down from the SceneGraphNode - ghoul_assert( - dictionary.hasKeyAndValue(SceneGraphNode::KeyName), - "The SceneGraphNode did not set the 'name' key" - ); - std::string name = dictionary.value(SceneGraphNode::KeyName); - documentation::testSpecificationAndThrow(Documentation(), dictionary, "Renderable"); std::string renderableType = dictionary.value(KeyType); @@ -118,11 +111,6 @@ Renderable::Renderable(const ghoul::Dictionary& dictionary) , _endTime("") , _hasTimeInterval(false) { - ghoul_assert( - dictionary.hasKeyAndValue(SceneGraphNode::KeyName), - std::string("SceneGraphNode must specify '") + SceneGraphNode::KeyName + "'" - ); - dictionary.getValue(keyStart, _startTime); dictionary.getValue(keyEnd, _endTime); diff --git a/src/rendering/renderengine.cpp b/src/rendering/renderengine.cpp index bf8e76b16c..461f57a96c 100644 --- a/src/rendering/renderengine.cpp +++ b/src/rendering/renderengine.cpp @@ -256,6 +256,7 @@ RenderEngine::RenderEngine() , _hdrBackground(BackgroundExposureInfo, 2.8f, 0.01f, 10.0f) , _gamma(GammaInfo, 2.2f, 0.01f, 10.0f) , _frameNumber(0) + , _screenSpaceOwner({ "ScreenSpace" }) { _doPerformanceMeasurements.onChange([this](){ if (_doPerformanceMeasurements) { @@ -974,6 +975,9 @@ std::shared_ptr RenderEngine::performanceManage void RenderEngine::addScreenSpaceRenderable(std::shared_ptr s) { s->initialize(); s->initializeGL(); + + _screenSpaceOwner.addPropertySubOwner(s.get()); + _screenSpaceRenderables.push_back(std::move(s)); } @@ -986,6 +990,8 @@ void RenderEngine::removeScreenSpaceRenderable(std::shared_ptrdeinitialize(); + _screenSpaceOwner.removePropertySubOwner(s.get()); + _screenSpaceRenderables.erase(it); } } @@ -998,13 +1004,13 @@ void RenderEngine::removeScreenSpaceRenderable(const std::string& name) { } std::shared_ptr RenderEngine::screenSpaceRenderable( - const std::string& name) + const std::string& identifier) { auto it = std::find_if( _screenSpaceRenderables.begin(), _screenSpaceRenderables.end(), - [name](const std::shared_ptr& s) { - return s->name() == name; + [&identifier](const std::shared_ptr& s) { + return s->identifier() == identifier; } ); @@ -1254,4 +1260,8 @@ std::vector RenderEngine::getSyncables() { } } +properties::PropertyOwner& RenderEngine::screenSpaceOwner() { + return _screenSpaceOwner; +} + } // namespace openspace diff --git a/src/rendering/screenspacerenderable.cpp b/src/rendering/screenspacerenderable.cpp index df683fad23..53ce4b155b 100644 --- a/src/rendering/screenspacerenderable.cpp +++ b/src/rendering/screenspacerenderable.cpp @@ -123,6 +123,22 @@ documentation::Documentation ScreenSpaceRenderable::Documentation() { "the application and can be written to disk on application startup into " "the FactoryDocumentation." }, + { + KeyName, + new StringVerifier, + Optional::Yes, + "Specifies the name of this screenspace renderable. This does not have " + "to be unique to the scene, but it is recommended to be." + }, + { + KeyIdentifier, + new StringVerifier, + Optional::Yes, + "This is the unique identifier for this screenspace renderable. It has " + "to be unique amongst all existing screenspace nodes that already have " + "been added to the scene. The identifier is not allowed to have any " + "whitespace or '.' and must not be empty." + }, { EnabledInfo.identifier, new BoolVerifier, @@ -190,9 +206,10 @@ std::unique_ptr ScreenSpaceRenderable::createFromDictiona ); std::string renderableType = dictionary.value(KeyType); - - auto factory = FactoryManager::ref().factory(); - return factory->create(renderableType, dictionary); + return FactoryManager::ref().factory()->create( + renderableType, + dictionary + ); } ScreenSpaceRenderable::ScreenSpaceRenderable(const ghoul::Dictionary& dictionary) @@ -220,6 +237,15 @@ ScreenSpaceRenderable::ScreenSpaceRenderable(const ghoul::Dictionary& dictionary , _shader(nullptr) , _radius(PlaneDepth) { + if (dictionary.hasKey(KeyIdentifier)) { + setIdentifier(dictionary.value(KeyIdentifier)); + } + + if (dictionary.hasKey(KeyName)) { + setGuiName(dictionary.value(KeyName)); + } + + addProperty(_enabled); addProperty(_useFlatScreen); addProperty(_euclideanPosition); @@ -296,7 +322,7 @@ ScreenSpaceRenderable::ScreenSpaceRenderable(const ghoul::Dictionary& dictionary _delete.onChange([this](){ std::string script = - "openspace.removeScreenSpaceRenderable('" + name() + "');"; + "openspace.removeScreenSpaceRenderable('" + identifier() + "');"; OsEng.scriptEngine().queueScript( script, scripting::ScriptEngine::RemoteScripting::No diff --git a/src/scene/scale.cpp b/src/scene/scale.cpp index 1ff97c945e..685058578f 100644 --- a/src/scene/scale.cpp +++ b/src/scene/scale.cpp @@ -70,7 +70,7 @@ std::unique_ptr Scale::createFromDictionary(const ghoul::Dictionary& dict auto factory = FactoryManager::ref().factory(); std::unique_ptr result = factory->create(scaleType, dictionary); - result->setName("Scale"); + result->setIdentifier("Scale"); return result; } diff --git a/src/scene/scene.cpp b/src/scene/scene.cpp index 5940caacdc..a3361b0907 100644 --- a/src/scene/scene.cpp +++ b/src/scene/scene.cpp @@ -61,7 +61,8 @@ namespace { constexpr const char* _loggerCat = "Scene"; constexpr const char* KeyName = "Name"; - constexpr const char* KeyParentName = "Parent"; + constexpr const char* KeyIdentifier = "Identifier"; + constexpr const char* KeyParent = "Parent"; } // namespace namespace openspace { @@ -71,7 +72,7 @@ Scene::Scene(std::unique_ptr initializer) , _dirtyNodeRegistry(false) , _initializer(std::move(initializer)) { - _rootDummy.setName(SceneGraphNode::RootNodeName); + _rootDummy.setIdentifier(SceneGraphNode::RootNodeIdentifier); _rootDummy.setScene(this); } @@ -97,14 +98,14 @@ Camera* Scene::camera() const { } void Scene::registerNode(SceneGraphNode* node) { - if (_nodesByName.count(node->name())){ + if (_nodesByIdentifier.count(node->identifier())){ throw Scene::InvalidSceneError( - "Node with name " + node->name() + " already exits." + "Node with identifier " + node->identifier() + " already exits." ); } _topologicallySortedNodes.push_back(node); - _nodesByName[node->name()] = node; + _nodesByIdentifier[node->identifier()] = node; addPropertySubOwner(node); _dirtyNodeRegistry = true; } @@ -118,7 +119,7 @@ void Scene::unregisterNode(SceneGraphNode* node) { ), _topologicallySortedNodes.end() ); - _nodesByName.erase(node->name()); + _nodesByIdentifier.erase(node->identifier()); // Just try to remove all properties; if the property doesn't exist, the // removeInterpolation will not do anything for (properties::Property* p : node->properties()) { @@ -150,7 +151,7 @@ void Scene::sortTopologically() { _circularNodes.clear(); ghoul_assert( - _topologicallySortedNodes.size() == _nodesByName.size(), + _topologicallySortedNodes.size() == _nodesByIdentifier.size(), "Number of scene graph nodes is inconsistent" ); @@ -159,7 +160,7 @@ void Scene::sortTopologically() { } // Only the Root node can have an in-degree of 0 - SceneGraphNode* root = _nodesByName[SceneGraphNode::RootNodeName]; + SceneGraphNode* root = _nodesByIdentifier[SceneGraphNode::RootNodeIdentifier]; if (!root) { throw Scene::InvalidSceneError("No root node found"); } @@ -308,9 +309,9 @@ void Scene::update(const UpdateData& data) { } for (SceneGraphNode* node : _topologicallySortedNodes) { try { - LTRACE("Scene::update(begin '" + node->name() + "')"); + LTRACE("Scene::update(begin '" + node->identifier() + "')"); node->update(data); - LTRACE("Scene::update(end '" + node->name() + "')"); + LTRACE("Scene::update(end '" + node->identifier() + "')"); } catch (const ghoul::RuntimeError& e) { LERRORC(e.component, e.what()); @@ -321,9 +322,9 @@ void Scene::update(const UpdateData& data) { void Scene::render(const RenderData& data, RendererTasks& tasks) { for (SceneGraphNode* node : _topologicallySortedNodes) { try { - LTRACE("Scene::render(begin '" + node->name() + "')"); + LTRACE("Scene::render(begin '" + node->identifier() + "')"); node->render(data, tasks); - LTRACE("Scene::render(end '" + node->name() + "')"); + LTRACE("Scene::render(end '" + node->identifier() + "')"); } catch (const ghoul::RuntimeError& e) { LERRORC(e.component, e.what()); @@ -336,8 +337,8 @@ void Scene::clear() { _rootDummy.clearChildren(); } -const std::unordered_map& Scene::nodesByName() const { - return _nodesByName; +const std::unordered_map& Scene::nodesByIdentifier() const { + return _nodesByIdentifier; } SceneGraphNode* Scene::root() { @@ -349,8 +350,8 @@ const SceneGraphNode* Scene::root() const { } SceneGraphNode* Scene::sceneGraphNode(const std::string& name) const { - auto it = _nodesByName.find(name); - if (it != _nodesByName.end()) { + auto it = _nodesByIdentifier.find(name); + if (it != _nodesByIdentifier.end()) { return it->second; } return nullptr; @@ -364,30 +365,26 @@ SceneGraphNode* Scene::loadNode(const ghoul::Dictionary& dict) { // First interpret the dictionary std::vector dependencyNames; - if (!dict.hasKey(KeyName)) { - // TODO: Throw exception - LERROR("Name missing for scene graph node"); - return nullptr; - } + const std::string nodeIdentifier = dict.value(KeyIdentifier); + const bool hasParent = dict.hasKey(KeyParent); - const std::string nodeName = dict.value(KeyName); - const bool hasParent = dict.hasKey(KeyParentName); - - if (_nodesByName.find(nodeName) != _nodesByName.end()) { + if (_nodesByIdentifier.find(nodeIdentifier) != _nodesByIdentifier.end()) { LERROR(fmt::format( "Cannot add scene graph node '{}'. A node with that name already exists", - nodeName + nodeIdentifier )); return nullptr; } SceneGraphNode* parent = nullptr; if (hasParent) { - std::string parentName = dict.value(KeyParentName); - parent = sceneGraphNode(parentName); + const std::string parentIdentifier = dict.value(KeyParent); + parent = sceneGraphNode(parentIdentifier); if (!parent) { // TODO: Throw exception - LERROR("Could not find parent '" + parentName + "' for '" + nodeName + "'"); + LERROR(fmt::format( + "Could not find parent '{}' for '{}'", parentIdentifier, nodeIdentifier + )); return nullptr; } } @@ -395,7 +392,7 @@ SceneGraphNode* Scene::loadNode(const ghoul::Dictionary& dict) { std::unique_ptr node = SceneGraphNode::createFromDictionary(dict); if (!node) { // TODO: Throw exception - LERROR("Could not create node from dictionary: " + nodeName); + LERROR("Could not create node from dictionary: " + nodeIdentifier); } if (dict.hasKey(SceneGraphNode::KeyDependencies)) { @@ -416,11 +413,13 @@ SceneGraphNode* Scene::loadNode(const ghoul::Dictionary& dict) { // Make sure all dependencies are found std::vector dependencies; bool foundAllDeps = true; - for (const auto& depName : dependencyNames) { + for (const std::string& depName : dependencyNames) { SceneGraphNode* dep = sceneGraphNode(depName); if (!dep) { // TODO: Throw exception - LERROR("Could not find dependency '" + depName + "' for '" + nodeName + "'"); + LERROR(fmt::format( + "Could not find dependency '{}' for '{}'", depName, nodeIdentifier + )); foundAllDeps = false; continue; } diff --git a/src/scene/scenegraphnode.cpp b/src/scene/scenegraphnode.cpp index 46bf237288..5b80bb2bff 100644 --- a/src/scene/scenegraphnode.cpp +++ b/src/scene/scenegraphnode.cpp @@ -56,7 +56,8 @@ namespace { constexpr const char* _loggerCat = "SceneGraphNode"; constexpr const char* KeyRenderable = "Renderable"; - constexpr const char* KeyGuiPath = "GuiPath"; + constexpr const char* KeyName = "GUI.Name"; + constexpr const char* KeyGuiPath = "GUI.Path"; constexpr const char* keyTransformTranslation = "Transform.Translation"; constexpr const char* keyTransformRotation = "Transform.Rotation"; @@ -65,13 +66,6 @@ namespace { namespace openspace { -// Constants used outside of this file -const std::string SceneGraphNode::RootNodeName = "Root"; -const std::string SceneGraphNode::KeyName = "Name"; -const std::string SceneGraphNode::KeyParentName = "Parent"; -const std::string SceneGraphNode::KeyDependencies = "Dependencies"; -const std::string SceneGraphNode::KeyTag = "Tag"; - std::unique_ptr SceneGraphNode::createFromDictionary( const ghoul::Dictionary& dictionary) { @@ -83,8 +77,12 @@ std::unique_ptr SceneGraphNode::createFromDictionary( std::unique_ptr result = std::make_unique(); - std::string name = dictionary.value(KeyName); - result->setName(name); + std::string identifier = dictionary.value(KeyIdentifier); + result->setIdentifier(std::move(identifier)); + + if (dictionary.hasKey(KeyName)) { + result->setGuiName(dictionary.value(KeyName)); + } if (dictionary.hasKey(keyTransformTranslation)) { ghoul::Dictionary translationDictionary; @@ -94,13 +92,13 @@ std::unique_ptr SceneGraphNode::createFromDictionary( ); if (result->_transform.translation == nullptr) { LERROR(fmt::format( - "Failed to create ephemeris for SceneGraphNode '{}'", result->name() + "Failed to create ephemeris for SceneGraphNode '{}'", result->identifier() )); return nullptr; } result->addPropertySubOwner(result->_transform.translation.get()); LDEBUG(fmt::format( - "Successfully created ephemeris for '{}'", result->name() + "Successfully created ephemeris for '{}'", result->identifier() )); } @@ -110,12 +108,14 @@ std::unique_ptr SceneGraphNode::createFromDictionary( result->_transform.rotation = Rotation::createFromDictionary(rotationDictionary); if (result->_transform.rotation == nullptr) { LERROR(fmt::format( - "Failed to create rotation for SceneGraphNode '{}'", result->name() + "Failed to create rotation for SceneGraphNode '{}'", result->identifier() )); return nullptr; } result->addPropertySubOwner(result->_transform.rotation.get()); - LDEBUG(fmt::format("Successfully created rotation for '{}'", result->name())); + LDEBUG(fmt::format( + "Successfully created rotation for '{}'", result->identifier() + )); } if (dictionary.hasKey(keyTransformScale)) { @@ -124,12 +124,12 @@ std::unique_ptr SceneGraphNode::createFromDictionary( result->_transform.scale = Scale::createFromDictionary(scaleDictionary); if (result->_transform.scale == nullptr) { LERROR(fmt::format( - "Failed to create scale for SceneGraphNode '{}'", result->name() + "Failed to create scale for SceneGraphNode '{}'", result->identifier() )); return nullptr; } result->addPropertySubOwner(result->_transform.scale.get()); - LDEBUG(fmt::format("Successfully created scale for '{}'", result->name())); + LDEBUG(fmt::format("Successfully created scale for '{}'", result->identifier())); } // We initialize the renderable last as it probably has the most dependencies @@ -137,17 +137,20 @@ std::unique_ptr SceneGraphNode::createFromDictionary( ghoul::Dictionary renderableDictionary; dictionary.getValue(KeyRenderable, renderableDictionary); - renderableDictionary.setValue(KeyName, name); + renderableDictionary.setValue(KeyIdentifier, identifier); result->_renderable = Renderable::createFromDictionary(renderableDictionary); if (result->_renderable == nullptr) { LERROR(fmt::format( - "Failed to create renderable for SceneGraphNode '{}'", result->name() + "Failed to create renderable for SceneGraphNode '{}'", + result->identifier() )); return nullptr; } result->addPropertySubOwner(result->_renderable.get()); - LDEBUG(fmt::format("Successfully created renderable for '{}'", result->name())); + LDEBUG(fmt::format( + "Successfully created renderable for '{}'", result->identifier() + )); } if (dictionary.hasKey(KeyTag)) { @@ -173,7 +176,7 @@ std::unique_ptr SceneGraphNode::createFromDictionary( result->_guiPath = dictionary.value(KeyGuiPath); } - LDEBUG(fmt::format("Successfully created SceneGraphNode '{}'", result->name())); + LDEBUG(fmt::format("Successfully created SceneGraphNode '{}'", result->identifier())); return result; } @@ -194,7 +197,7 @@ SceneGraphNode::SceneGraphNode() SceneGraphNode::~SceneGraphNode() {} void SceneGraphNode::initialize() { - LDEBUG(fmt::format("Initialize: {}", name())); + LDEBUG(fmt::format("Initialize: {}", identifier())); if (_renderable) { _renderable->initialize(); } @@ -219,7 +222,7 @@ void SceneGraphNode::initializeGL() { } void SceneGraphNode::deinitialize() { - LDEBUG(fmt::format("Deinitialize: {}", name())); + LDEBUG(fmt::format("Deinitialize: {}", identifier())); setScene(nullptr); @@ -696,21 +699,21 @@ bool SceneGraphNode::sphereInsideFrustum(const psc& s_pos, const PowerScaledScal } */ -SceneGraphNode* SceneGraphNode::childNode(const std::string& name) -{ - if (this->name() == name) +SceneGraphNode* SceneGraphNode::childNode(const std::string& identifier) { + if (this->identifier() == identifier) { return this; + } else for (std::unique_ptr& it : _children) { - SceneGraphNode* tmp = it->childNode(name); - if (tmp) + SceneGraphNode* tmp = it->childNode(identifier); + if (tmp) { return tmp; + } } return nullptr; } -void SceneGraphNode::updateCamera(Camera* camera) const{ - +void SceneGraphNode::updateCamera(Camera* camera) const { psc origin(worldPosition()); //int i = 0; // the camera position diff --git a/src/scene/scenegraphnode_doc.inl b/src/scene/scenegraphnode_doc.inl index 5d455d30b9..4037bf8bf7 100644 --- a/src/scene/scenegraphnode_doc.inl +++ b/src/scene/scenegraphnode_doc.inl @@ -35,13 +35,20 @@ documentation::Documentation SceneGraphNode::Documentation() { "core_scene_node", { { - "Name", + "Identifier", new StringVerifier, Optional::No, - "The name of this scenegraph node. This name must be unique among all scene " - "graph nodes that are loaded in a specific scene. If a duplicate is detected " - "the loading of the node will fail, as will all childing that depend on the " - "node." + "The identifier of this scenegraph node. This name must be unique among all " + "scene graph nodes that are loaded in a specific scene. If a duplicate is " + "detected the loading of the node will fail, as will all childing that " + "depend on the node. The identifier must not contain any whitespaces or '.'." + }, + { + "Name", + new StringVerifier, + Optional::Yes, + "An optional user-facing name for this SceneGraphNode, which does not have " + "to be unique, though it is recommended, and can contain any characters." }, { "Parent", diff --git a/src/scene/sceneinitializer.cpp b/src/scene/sceneinitializer.cpp index c47830714a..0d586f1950 100644 --- a/src/scene/sceneinitializer.cpp +++ b/src/scene/sceneinitializer.cpp @@ -54,7 +54,8 @@ void MultiThreadedSceneInitializer::initializeNode(SceneGraphNode* node) { LoadingScreen& loadingScreen = OsEng.loadingScreen(); loadingScreen.updateItem( - node->name(), + node->identifier(), + node->guiName(), LoadingScreen::ItemStatus::Initializing, 1.f ); @@ -65,7 +66,8 @@ void MultiThreadedSceneInitializer::initializeNode(SceneGraphNode* node) { _initializingNodes.erase(node); loadingScreen.updateItem( - node->name(), + node->identifier(), + node->guiName(), LoadingScreen::ItemStatus::Finished, 1.f ); @@ -74,7 +76,8 @@ void MultiThreadedSceneInitializer::initializeNode(SceneGraphNode* node) { LoadingScreen& loadingScreen = OsEng.loadingScreen(); loadingScreen.setItemNumber(loadingScreen.itemNumber() + 1); loadingScreen.updateItem( - node->name(), + node->identifier(), + node->guiName(), LoadingScreen::ItemStatus::Started, 0.f ); diff --git a/src/scene/translation.cpp b/src/scene/translation.cpp index f1a7008251..404a43d9be 100644 --- a/src/scene/translation.cpp +++ b/src/scene/translation.cpp @@ -67,7 +67,7 @@ std::unique_ptr Translation::createFromDictionary( ghoul::TemplateFactory* factory = FactoryManager::ref().factory(); std::unique_ptr result = factory->create(translationType, dictionary); - result->setName("Translation"); + result->setIdentifier("Translation"); return result; } diff --git a/src/util/openspacemodule.cpp b/src/util/openspacemodule.cpp index 197dfb40ae..fb40e0c5f8 100644 --- a/src/util/openspacemodule.cpp +++ b/src/util/openspacemodule.cpp @@ -49,18 +49,18 @@ OpenSpaceModule::OpenSpaceModule(std::string name) void OpenSpaceModule::initialize(const ModuleEngine* moduleEngine, const ghoul::Dictionary& configuration) { - std::string upperName = name(); + std::string upperIdentifier = identifier(); std::transform( - upperName.begin(), - upperName.end(), - upperName.begin(), + upperIdentifier.begin(), + upperIdentifier.end(), + upperIdentifier.begin(), [](char v) { return static_cast(toupper(v)); } ); std::string moduleToken = ghoul::filesystem::FileSystem::TokenOpeningBraces + std::string(ModuleBaseToken) + - upperName + + upperIdentifier + ghoul::filesystem::FileSystem::TokenClosingBraces; std::string path = modulePath(); @@ -92,21 +92,21 @@ ghoul::systemcapabilities::Version OpenSpaceModule::requiredOpenGLVersion() cons } std::string OpenSpaceModule::modulePath() const { - std::string moduleName = name(); + std::string moduleIdentifier = identifier(); std::transform( - moduleName.begin(), - moduleName.end(), - moduleName.begin(), + moduleIdentifier.begin(), + moduleIdentifier.end(), + moduleIdentifier.begin(), [](char v) { return static_cast(tolower(v)); } ); // First try the internal module directory - if (FileSys.directoryExists(absPath("${MODULES}/" + moduleName))) { - return absPath("${MODULES}/" + moduleName); + if (FileSys.directoryExists(absPath("${MODULES}/" + moduleIdentifier))) { + return absPath("${MODULES}/" + moduleIdentifier); } else { // Otherwise, it might be one of the external directories for (const char* dir : ModulePaths) { - const std::string path = std::string(dir) + '/' + moduleName; + const std::string path = std::string(dir) + '/' + moduleIdentifier; if (FileSys.directoryExists(absPath(path))) { return absPath(path); } @@ -115,7 +115,7 @@ std::string OpenSpaceModule::modulePath() const { // If we got this far, neither the internal module nor any of the external modules fit throw ghoul::RuntimeError( - "Could not resolve path for module '" + name() + "'", + "Could not resolve path for module '" + identifier() + "'", "OpenSpaceModule" ); }