port EterLib/GrpLightManager.cpp verbatim, initialise CLightManager (unit B)

Replaces the platform_stub skeleton with the 40250 source and mirrors
m_LightManager.Initialize() from 40250 PythonApplication.cpp:1263.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
shenlei
2026-09-28 12:59:31 +09:00
co-authored by Claude Opus 5.5
parent 5285ca85fd
commit 96ea03d0a0
6 changed files with 547 additions and 172 deletions
@@ -0,0 +1,196 @@
{
"reference": "EterLib/GrpLightManager.cpp",
"reference_sha256": "673be49eac112ebf7650489db33a185dfbb7215b7b0fe7626f2302b422dc8261",
"priority": "P4",
"contracts": [],
"functions": {
"CLightManager::CLightManager": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLightManager::CLightManager"
]
},
"CLightManager::~CLightManager": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLightManager::~CLightManager"
]
},
"CLightManager::Destroy": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLightManager::Destroy"
]
},
"CLightManager::Initialize": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLightManager::Initialize"
]
},
"CLightManager::RegisterLight": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLightManager::RegisterLight"
]
},
"CLightManager::DeleteLight": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLightManager::DeleteLight"
]
},
"CLightManager::GetLight": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLightManager::GetLight"
]
},
"CLightManager::SetCenterPosition": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLightManager::SetCenterPosition"
]
},
"CLightManager::SetLimitLightCount": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLightManager::SetLimitLightCount"
]
},
"CLightManager::SetSkipIndex": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLightManager::SetSkipIndex"
]
},
"CLightManager::FlushLight": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLightManager::FlushLight"
],
"note": "40250 has no caller of FlushLight/RestoreLight; effect lights (SimpleLightInstance) are registered but never sent to the device in 40250 either"
},
"CLightManager::RestoreLight": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLightManager::RestoreLight"
]
},
"CLightManager::NewLightID": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLightManager::NewLightID"
]
},
"CLightManager::ReleaseLightID": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLightManager::ReleaseLightID"
]
},
"CLightManager::Update": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLightManager::Update"
]
},
"CLight::CLight": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLight::CLight"
]
},
"CLight::~CLight": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLight::~CLight"
]
},
"CLight::Initialize": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLight::Initialize"
]
},
"CLight::Clear": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLight::Clear"
]
},
"CLight::SetDeviceLight": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLight::SetDeviceLight"
],
"note": "m_isEdited is never cleared in 40250; kept"
},
"CLight::SetParameter": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLight::SetParameter"
]
},
"CLight::SetDiffuseColor": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLight::SetDiffuseColor"
]
},
"CLight::SetAmbientColor": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLight::SetAmbientColor"
]
},
"CLight::SetRange": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLight::SetRange"
]
},
"CLight::GetPosition": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLight::GetPosition"
]
},
"CLight::SetPosition": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLight::SetPosition"
]
},
"CLight::SetDistance": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLight::SetDistance"
]
},
"CLight::BlendDiffuseColor": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLight::BlendDiffuseColor"
]
},
"CLight::BlendAmbientColor": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLight::BlendAmbientColor"
]
},
"CLight::BlendRange": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLight::BlendRange"
]
},
"CLight::Update": {
"status": "PORTED",
"impl": [
"extension/src/port/EterLib/GrpLightManager.cpp:CLight::Update"
]
}
}
}
@@ -157,7 +157,7 @@
"impl": [
"extension/src/platform/UserInterface/PythonApplication.cpp:CPythonApplication::Create"
],
"note": "40250 CPythonApplication lifecycle and state adapted for platform host and singletons",
"note": "40250 CPythonApplication lifecycle and state adapted for platform host and singletons; m_LightManager.Initialize() (40250 :1263) now called; Destroy() still empty (m_LightManager.Destroy at 40250 :1418 not yet mirrored)",
"test": "extension/tests/port_login_flow_test.cpp"
},
"CPythonApplication::SetGlobalCenterPosition": {