CesiumGS / cesium-omniverse

Bringing the 3D geospatial ecosystem to Omniverse
https://cesium.com/platform/cesium-for-omniverse/
Apache License 2.0
51 stars 7 forks source link

Combine cesium.usd.plugins into the main extension #685

Closed lilleyse closed 5 months ago

lilleyse commented 5 months ago

Fixes https://github.com/CesiumGS/cesium-omniverse/issues/659 which goes into the motivation for this change.

Surprisingly it was not a whole lot of work, so if we decide to separate it again in the future we can.

r-veenstra commented 5 months ago

I'm having trouble with this one. In a fresh repo with a git clean -x -d -f I've built debug, but encounter the following problems:

Running the Dev app, it builds and appears to start but the window never launches and the following is the latest in the vscode console. No crashes appear to happen, it just stalls

[50.410s] app ready
2024-02-13 23:26:03 [49,956ms] [Warning] [omni.kit.hotkeys.core.registry] [Hotkey] duplicated action as SPACE (On Press) with omni.kit.widget.toolbar.omni.kit.widget.toolbar::toolbar::play!
2024-02-13 23:26:03 [49,957ms] [Warning] [omni.kit.hotkeys.core.registry] [Hotkey] Cannot register Global [omni.kit.widget.toolbar] omni.kit.widget.toolbar::toolbar::play.SPACE, error code: Duplicated action definition
2024-02-13 23:32:54 [460,616ms] [Warning] [omni.fabric.plugin] Warning: cesium:selectedIonServer not found

2024-02-13 23:35:47 [634,205ms] [Warning] [omni.fabric.plugin] Warning: subsetMaterialId not found

2024-02-13 23:35:47 [634,253ms] [Warning] [rtx.neuraylib.plugin] [MDLC:COMPILER]   1.0   MDLC   comp warn : file:/D:/_dev/ov/cesium-omniverse-2/extern/nvidia/_build/target-deps/kit-sdk/mdl/core/mdl/gltf/pbr.mdl?watch=000002c71ebae770(823,21): C183 unused parameter 'vertex_opacity_name_spec'
2024-02-13 23:35:47 [634,257ms] [Warning] [rtx.neuraylib.plugin] [MDLC:COMPILER]   1.0   MDLC   comp warn : file:/D:/_dev/ov/cesium-omniverse-2/extern/nvidia/_build/target-deps/kit-sdk/mdl/core/mdl/gltf/pbr.mdl?watch=000002c71ebae770(823,21): C183 unused parameter 'vertex_opacity_name_spec'
2024-02-13 23:35:47 [634,274ms] [Warning] [rtx.neuraylib.plugin] [MDLC:COMPILER]   1.0   MDLC   comp warn : file:/D:/_dev/ov/cesium-omniverse-2/extern/nvidia/_build/target-deps/kit-sdk/mdl/core/mdl/gltf/pbr.mdl?watch=000002c71ebae770(823,21): C183 unused parameter 'vertex_opacity_name_spec'
2024-02-13 23:35:47 [634,294ms] [Warning] [rtx.neuraylib.plugin] [MDLC:COMPILER]   1.0   MDLC   comp warn : file:/D:/_dev/ov/cesium-omniverse-2/extern/nvidia/_build/target-deps/kit-sdk/mdl/core/mdl/gltf/pbr.mdl?watch=000002c71ebae770(823,21): C183 unused parameter 'vertex_opacity_name_spec'
2024-02-13 23:35:47 [634,305ms] [Warning] [rtx.neuraylib.plugin] [MDLC:COMPILER]   1.0   MDLC   comp warn : file:/D:/_dev/ov/cesium-omniverse-2/extern/nvidia/_build/target-deps/kit-sdk/mdl/core/mdl/gltf/pbr.mdl?watch=000002c71ebae770(823,21): C183 unused parameter 'vertex_opacity_name_spec'
2024-02-13 23:35:50 [637,274ms] [Warning] [omni.fabric.plugin] No source has valid data array=000002C74CE70870 usdValid=0 cpuValid=0

In USD Composer I encounter some errors after enabling fabric, along with continuous warnings.

2024-02-14 00:23:53  [Warning] [omni.ext.plugin] [ext: 0.17.0] Extensions config 'extension.toml' doesn't exist 'c:/users/ryan/documents/kit/shared/exts/0.17.0' or 'c:/users/ryan/documents/kit/shared/exts/0.17.0/config'
2024-02-14 00:23:53  [Warning] [gpu.foundation.plugin] Skipping unsupported non-NVIDIA GPU: Intel(R) UHD Graphics 630
2024-02-14 00:23:53  [Warning] [omni.stageupdate.plugin] Deprecated: direct use of IStageUpdate callbacks is deprecated. Use IStageUpdate::getStageUpdate instead.
2024-02-14 00:23:53  [Warning] [omni.kit.profiler.window] remove _SpanInstance.__lt__ and use insort 'key' arg instead
2024-02-14 00:23:53  [Warning] [omni.particle.system.core.scripts.extension] 
2024-02-14 00:23:53  [Warning] [pxr.AudioSchema] pxr.AudioSchema is deprecated - please use pxr.OmniAudioSchema instead
2024-02-14 00:23:53  [Warning] [omni.kit.hotkeys.core.registry] [Hotkey] duplicated action as SPACE (On Press) with omni.kit.widget.toolbar.omni.kit.widget.toolbar::toolbar::play!
2024-02-14 00:24:03  [Error] [carb.events.python] ErrorException: 
2024-02-14 00:24:03  [Error] [carb.events.python]   Error in 'pxrInternal_v0_22__pxrReserved__::UsdStage::_SetValueImpl' at line 6174 in file W:\ac88d7d902b57417\USD\pxr\usd\usd\stage.cpp : 'Empty typeName for </CesiumServers/IonOfficial.cesium:displayName>'
2024-02-14 00:24:03  [Error] [carb.events.python] 
2024-02-14 00:24:03  [Error] [carb.events.python] At:
2024-02-14 00:24:03  [Error] [carb.events.python]   c:/users/ryan/documents/kit/shared/exts/cesium.omniverse/cesium/omniverse/extension.py(494): _setup_ion_server_prims
2024-02-14 00:24:03  [Error] [carb.events.python]   c:/users/ryan/documents/kit/shared/exts/cesium.omniverse/cesium/omniverse/extension.py(282): _on_stage_event
2024-02-14 00:24:03  [Error] [carb.events.python]   c:/users/ryan/appdata/local/ov/pkg/create-2023.2.3/extscache/omni.usd-1.10.21+fc5a6c6b.wx64.r.cp310/omni/usd/_impl/api.py(63): _new_stage_python_wrapper
2024-02-14 00:24:03  [Error] [carb.events.python]   c:/users/ryan/appdata/local/ov/pkg/create-2023.2.3/extscache/omni.usd-1.10.21+fc5a6c6b.wx64.r.cp310/omni/usd/_impl/api.py(80): _new_stage_sync
2024-02-14 00:24:03  [Error] [carb.events.python]   c:/users/ryan/appdata/local/ov/pkg/create-2023.2.3/extscache/omni.kit.stage_templates-1.1.20+fc5a6c6b/omni/kit/stage_templates/new_stage.py(449): new_stage
2024-02-14 00:24:03  [Error] [carb.events.python]   c:/users/ryan/appdata/local/ov/pkg/create-2023.2.3/exts/omni.create.app.setup/omni/create/app/setup/extension.py(175): __new_stage
2024-02-14 00:24:03  [Error] [carb.events.python]   c:\users\ryan\appdata\local\ov\pkg\create-2023.2.3\kit\python\lib\asyncio\events.py(80): _run
2024-02-14 00:24:03  [Error] [carb.events.python]   c:\users\ryan\appdata\local\ov\pkg\create-2023.2.3\kit\python\lib\asyncio\base_events.py(1909): _run_once
2024-02-14 00:24:03  [Error] [carb.events.python]   c:\users\ryan\appdata\local\ov\pkg\create-2023.2.3\kit\python\lib\asyncio\base_events.py(603): run_forever
2024-02-14 00:24:03  [Error] [carb.events.python]   c:\users\ryan\appdata\local\ov\pkg\create-2023.2.3\kit\python\lib\asyncio\windows_events.py(321): run_forever
2024-02-14 00:24:03  [Error] [carb.events.python]   c:/users/ryan/appdata/local/ov/pkg/create-2023.2.3/kit/extscore/omni.kit.async_engine/omni/kit/async_engine/async_engine.py(177): _on_update
2024-02-14 00:24:03  [Error] [carb.events.python] 
2024-02-14 00:24:05  [Warning] [omni.usd] Warning: in SdfPath at line 81 of W:\ac88d7d902b57417\USD\pxr\usd\sdf\path.cpp -- Ill-formed SdfPath <>: syntax error
2024-02-14 00:24:05  [Warning] [omni.usd] 
2024-02-14 00:24:05  [Warning] [omni.usd] Warning: in SdfPath at line 81 of W:\ac88d7d902b57417\USD\pxr\usd\sdf\path.cpp -- Ill-formed SdfPath <>: syntax error
2024-02-14 00:24:05  [Warning] [omni.usd] 
2024-02-14 00:24:05  [Warning] [omni.usd] Warning: in SdfPath at line 81 of W:\ac88d7d902b57417\USD\pxr\usd\sdf\path.cpp -- Ill-formed SdfPath <>: syntax error
2024-02-14 00:24:05  [Warning] [omni.usd] 
2024-02-14 00:24:05  [Warning] [omni.usd] Warning: in SdfPath at line 81 of W:\ac88d7d902b57417\USD\pxr\usd\sdf\path.cpp -- Ill-formed SdfPath <>: syntax error
2024-02-14 00:24:05  [Warning] [omni.usd] 
2024-02-14 00:24:05  [Warning] [omni.usd] Warning: in SdfPath at line 81 of W:\ac88d7d902b57417\USD\pxr\usd\sdf\path.cpp -- Ill-formed SdfPath <>: syntax error
2024-02-14 00:24:05  [Warning] [omni.usd] 
2024-02-14 00:24:05  [Warning] [omni.usd] Warning: in SdfPath at line 81 of W:\ac88d7d902b57417\USD\pxr\usd\sdf\path.cpp -- Ill-formed SdfPath <>: syntax error
2024-02-14 00:24:05  [Warning] [omni.usd] 
2024-02-14 00:24:05  [Warning] [omni.usd] Warning: in SdfPath at line 81 of W:\ac88d7d902b57417\USD\pxr\usd\sdf\path.cpp -- Ill-formed SdfPath <>: syntax error
2024-02-14 00:24:05  [Warning] [omni.usd] 
2024-02-14 00:24:05  [Warning] [omni.usd] Warning: in SdfPath at line 81 of W:\ac88d7d902b57417\USD\pxr\usd\sdf\path.cpp -- Ill-formed SdfPath <>: syntax error
2024-02-14 00:24:05  [Warning] [omni.usd] 
2024-02-14 00:24:05  [Warning] [omni.usd] Warning: in SdfPath at line 81 of W:\ac88d7d902b57417\USD\pxr\usd\sdf\path.cpp -- Ill-formed SdfPath <>: syntax error
lilleyse commented 5 months ago

I thought I had a successful run yesterday with the dev app after a git clean -dxf but now I'm having issues as well. There were some changes I forgot to push (https://github.com/CesiumGS/cesium-omniverse/pull/685/commits/108dbecd63d781aaa818ad1a8edfb2953370d918) but there's a more fundamental issue with this approach; the load order needs to be:

With separate extensions the load order looks like this:

With a combined extension it looks like this:

The problem with the combined extension is that by the time cesium.omniverse is loaded it's too late to register schemas and you get errors like this:

2024-02-14 14:03:12  [Error] [carb.events.python] AttributeError: 'Data' object has no attribute 'GetProjectDefaultIonAccessTokenAttr'
2024-02-14 14:03:12  [Error] [carb.events.python] 
2024-02-14 14:03:12  [Error] [carb.events.python] At:
2024-02-14 14:03:12  [Error] [carb.events.python]   c:/users/slilley/code/cesium-omniverse/exts/cesium.omniverse/cesium/omniverse/ui/token_window.py(140): __init__
2024-02-14 14:03:12  [Error] [carb.events.python]   c:/users/slilley/code/cesium-omniverse/exts/cesium.omniverse/cesium/omniverse/ui/main_window.py(280): _show_token_window
2024-02-14 14:03:12  [Error] [carb.events.python]   c:/users/slilley/code/cesium-omniverse/exts/cesium.omniverse/cesium/omniverse/ui/main_window.py(157): _on_show_token_window
2024-02-14 14:03:12  [Error] [carb.events.python] 

Unless another solution comes up, I'm going to close this PR.