From dca62314b265c607eedf93c7c6f2a0658f09f3e0 Mon Sep 17 00:00:00 2001 From: benpm Date: Mon, 27 Oct 2025 09:50:31 -0600 Subject: [PATCH] moved light source to sun.asset, removed light_source.asset --- data/assets/examples/celestial_globe.asset | 7 +++--- .../scene/solarsystem/sun/light_source.asset | 24 ------------------- data/assets/scene/solarsystem/sun/sun.asset | 17 +++++++++++-- 3 files changed, 19 insertions(+), 29 deletions(-) delete mode 100644 data/assets/scene/solarsystem/sun/light_source.asset diff --git a/data/assets/examples/celestial_globe.asset b/data/assets/examples/celestial_globe.asset index 61e57eff9e..79d704b0d2 100644 --- a/data/assets/examples/celestial_globe.asset +++ b/data/assets/examples/celestial_globe.asset @@ -4,7 +4,7 @@ local sun_transforms = asset.require("scene/solarsystem/sun/transforms") local mars = asset.require("scene/solarsystem/planets/mars/mars") local earth = asset.require("scene/solarsystem/planets/earth/earth") local moon = asset.require("scene/solarsystem/planets/earth/moon/moon") -local lightsource = asset.require("scene/solarsystem/sun/light_source") +local sun = asset.require("scene/solarsystem/sun/sun") local celestial_globe_folder = asset.resource({ Name = "Celestial Globe", @@ -49,7 +49,7 @@ function createModel(longitude, latitude, scale, name, parent, group) sun_transforms.LightSource }, CastShadow = true, - LightSource = lightsource.LightSource.Identifier, + LightSource = sun.LightSource.Identifier, ShadowGroup = group }, GUI = { @@ -71,7 +71,8 @@ asset.onInitialize(function() end) asset.onDeinitialize(function() - for i = 1, #globeModels do + -- Reverse order to deinitialize to avoid dependency issues between nodes + for i = #globeModels, 1, -1 do openspace.removeSceneGraphNode(globeModels[i].Identifier) end end) diff --git a/data/assets/scene/solarsystem/sun/light_source.asset b/data/assets/scene/solarsystem/sun/light_source.asset deleted file mode 100644 index 3f483eaf3d..0000000000 --- a/data/assets/scene/solarsystem/sun/light_source.asset +++ /dev/null @@ -1,24 +0,0 @@ -local transforms = asset.require("./transforms") - -local LightSource = { - Identifier = "sun-directional-lightsource", - Parent = transforms.SunIAU.Identifier, - Renderable = { - Type = "DirectionalLightSource", - }, - GUI = { - Name = "Directional Light Source", - Path = "/Solar System/Sun", - Description = "Shadow-casting directional light source for our Sun" - } -} - -asset.onInitialize(function() - openspace.addSceneGraphNode(LightSource) -end) - -asset.onDeinitialize(function() - openspace.removeSceneGraphNode(LightSource) -end) - -asset.export("LightSource", LightSource) diff --git a/data/assets/scene/solarsystem/sun/sun.asset b/data/assets/scene/solarsystem/sun/sun.asset index 773b9b74ed..649255db9a 100644 --- a/data/assets/scene/solarsystem/sun/sun.asset +++ b/data/assets/scene/solarsystem/sun/sun.asset @@ -50,21 +50,34 @@ local SunLabel = { } } +local LightSource = { + Identifier = "sun-directional-lightsource", + Parent = transforms.SunIAU.Identifier, + Renderable = { + Type = "DirectionalLightSource", + }, + GUI = { + Name = "Directional Light Source", + Path = "/Solar System/Sun", + Description = "Shadow-casting directional light source for our Sun" + } +} asset.onInitialize(function() openspace.addSceneGraphNode(Sun) openspace.addSceneGraphNode(SunLabel) + openspace.addSceneGraphNode(LightSource) end) asset.onDeinitialize(function() + openspace.removeSceneGraphNode(LightSource) openspace.removeSceneGraphNode(SunLabel) openspace.removeSceneGraphNode(Sun) end) asset.export(Sun) asset.export(SunLabel) - - +asset.export("LightSource", LightSource) asset.meta = { Name = "Sun",