Install
$ agentstack add skill-summerengine-summer-engine-agent-3d-lighting ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
3D Lighting for Summer Engine
Set up lighting and environment for 3D scenes. Follow these patterns for outdoor and indoor setups.
Light Types
| Type | Use case | |------|----------| | DirectionalLight3D | Sun, moon, outdoor primary light | | OmniLight3D | Point lights (lamps, torches) | | SpotLight3D | Flashlights, stage lights |
Basic Outdoor Setup
1. Directional Light (Sun)
summer_add_node(parent="./World", type="DirectionalLight3D", name="Sun")
summer_set_prop(path="./World/Sun", key="rotation_degrees", value="Vector3(-45, 30, 0)")
summer_set_prop(path="./World/Sun", key="light_energy", value="1.0")
summer_set_prop(path="./World/Sun", key="shadow_enabled", value="true")
summer_set_prop(path="./World/Sun", key="light_color", value="Color(1, 0.95, 0.9, 1)")
Warm sunlight: Color(1, 0.95, 0.9, 1). Cool moonlight: Color(0.8, 0.85, 1, 1).
2. WorldEnvironment (Sky + Ambient)
summer_add_node(parent="./World", type="WorldEnvironment", name="WorldEnvironment")
summer_set_prop(path="./World/WorldEnvironment", key="environment", value="Environment")
Then configure the Environment's sub-properties. The Environment resource has:
background_mode— 2 for sky, 1 for color, 3 for canvassky— Sky resource (ProceduralSkyMaterial or PhysicalSkyMaterial)ambient_light_source— AMBIENTSOURCESKY or AMBIENTSOURCECOLORambient_light_colortonemap_mode
For a simple procedural sky:
summer_set_resource_property(nodePath="./World/WorldEnvironment", resourceProperty="environment", subProperty="background_mode", value="2")
You may need to create a Sky resource and assign it. In the editor this is done via the inspector; via MCP, SetResourceProperty on nested resources may require the resource to exist first. If environment is "Environment", the engine creates a default. For sky, you might set sky to "ProceduralSkyMaterial" or similar—check Godot docs for the exact property chain.
Simpler path: Use the 3d-basic template which already has a sky. Copy that structure.
3. Fill Light (Optional)
A second, weaker directional or omni for shadow fill:
summer_add_node(parent="./World", type="DirectionalLight3D", name="FillLight")
summer_set_prop(path="./World/FillLight", key="rotation_degrees", value="Vector3(-30, -120, 0)")
summer_set_prop(path="./World/FillLight", key="light_energy", value="0.3")
summer_set_prop(path="./World/FillLight", key="shadow_enabled", value="false")
summer_set_prop(path="./World/FillLight", key="light_color", value="Color(0.7, 0.8, 1, 1)")
Indoor / Point Lights
summer_add_node(parent="./World", type="OmniLight3D", name="Lamp")
summer_set_prop(path="./World/Lamp", key="position", value="Vector3(2, 3, 2)")
summer_set_prop(path="./World/Lamp", key="light_energy", value="0.8")
summer_set_prop(path="./World/Lamp", key="light_color", value="Color(1, 0.9, 0.7, 1)")
summer_set_prop(path="./World/Lamp", key="omni_range", value="8")
Property Reference
| Property | Type | Example | |----------|------|---------| | lightenergy | float | 1.0, 1.5 | | lightcolor | Color | "Color(1, 0.95, 0.9, 1)" | | shadowenabled | bool | true | | rotationdegrees | Vector3 | "Vector3(-45, 30, 0)" | | position | Vector3 | "Vector3(0, 10, 0)" | | omnirange | float | 10 (OmniLight3D) | | spotrange | float | 10 (SpotLight3D) | | spot_angle | float | 45 (degrees, SpotLight3D) |
Color Format
Always use Color(r, g, b, a) with values 0.0–1.0:
- Warm white:
Color(1, 0.95, 0.9, 1) - Cool white:
Color(0.9, 0.95, 1, 1) - Orange (torch):
Color(1, 0.6, 0.2, 1) - Green (alien):
Color(0.5, 1, 0.5, 1)
Fallback (no MCP — edit .tscn directly)
If Summer MCP isn't connected, append the lighting block to your scene file:
[node name="Sun" type="DirectionalLight3D" parent="World"]
transform = Transform3D(0.866, 0, -0.5, 0.354, 0.707, 0.612, 0.354, -0.707, 0.612, 0, 0, 0)
light_color = Color(1, 0.95, 0.9, 1)
light_energy = 1.0
shadow_enabled = true
[node name="WorldEnvironment" type="WorldEnvironment" parent="World"]
Then create Environment and Sky resources via the inspector or load from .tres.
Collaborative protocol
This skill mutates the scene (adds lights + WorldEnvironment + tunes Environment sub-properties). Always ask before applying: "May I add a DirectionalLight3D Sun with shadows + a WorldEnvironment with a procedural sky?". See ../../references/collaborative-protocol.md.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: SummerEngine
- Source: SummerEngine/summer-engine-agent
- License: MIT
- Homepage: https://summerengine.com/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.