When an asset fails to appear, a trajectory throws a SPICE error, or OpenSpace crashes on startup, check logs/log.html first and match the symptom against the known failure modes below.
Diagnostic Workflow
Open <OpenSpace_Root>/logs/log.html in your browser (refresh after each OpenSpace run).
Filter or search (Ctrl+F) for Error or Warning entries—OpenSpace logs exact Lua line numbers, missing file paths, and SPICE exception codes here.
Open SettingsProperty VisibilityDeveloper in the UI to inspect hidden node state flags (Enabled, bounding sphere radius, and active tile counts).
Screenshot Placeholder: log-html-diagnostics.png
Crop: Capture a browser view of logs/log.html showing color-coded Info, Warning, and Error rows with a Lua or SPICE error message highlighted.
Callouts:(1) Log severity level filter, (2) Source module (Lua, SpiceManager, GlobeBrowsing), (3) Exact file path and line number where loading failed.
Path, File & Archive Gotchas
Symptom / Error
Root Cause
Fix
Syntax error or invalid escape sequence in .asset / openspace.cfg
Windows backslashes (C:\OpenSpace\...) inside Lua strings act as escape characters.
Replace all backslashes with forward slashes (C:/OpenSpace/...) or use asset.localResource(...).
Asset works on dev PC, fails on show PC
Hardcoded absolute drive letters (D:/...) instead of relative resource helpers.
Use asset.localResource("file.ext") for files stored alongside the .asset inside ${USER}/data/assets/.
HttpSynchronization or UrlSynchronization fails to locate extracted files
Downloaded .zip archive contains a nested root subfolder (e.g., archive.zip/folder/data.bin) instead of flat files.
Flatten the zip structure or adjust your localResource path to include the nested subfolder name.
Custom .asset doesn't appear in Profile Editor
File lacks the .asset extension (e.g., saved as my_asset.asset.lua or .txt) or sits outside ${USER}/data/assets/.
Verify the exact .asset extension and confirm USER_ASSETS points to ${USER}/data/assets in openspace.cfg.