release: freeze RN field renderer 13.4.1-particle.2
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled

This commit is contained in:
OpenAI Codex
2026-09-10 09:37:51 +08:00
parent 6f0233e49b
commit e43b58707c
6 changed files with 45 additions and 8 deletions

View File

@@ -1,6 +1,6 @@
# STEP-064 RN 纯 Field Renderer 接口 V2
状态:进行中(代码完成,待 Consumer 验证)
状态:完成(Consumer 验证通过,待正式发布冻结)
## 目标
@@ -32,3 +32,11 @@
- 待 Consumer 安装最终 `.2` tarball 并实际运行验证;此项完成前不得标记 RELEASED 或 CLOSED/PASS。
- 未修改 Native/Core/JNI/shader/Android AAR,Native artifact 继续 `13.4.1-particle.1`。
- 未进入 NavSea。
## 2026-09-10 Consumer 正式验证
- Win11 固定 Consumer 安装 `13.4.1-particle.2` tgz,MLRN 唯一解析为 11.3.6,TypeScript 通过。
- 首轮实测暴露 RN helper 无效属性 `raster-particle-opacity`,导致 `rn-weather-particles` 缺失;仅在 RN helper 改为 Native `.1` 已验证的 `raster-particle-active`,未改 Native。
- 修正后 `FieldRuntime attached; style ready`;T0–T3 依次返回 Pending / InitialWindowReady / NextSnapshot / NextSnapshot,Runtime READY。
- `Field OFF + Particle ON` 与 `Field ON + Particle OFF` 均实测通过,并恢复两者 ON。
- hard gate 未见 WEATHER_OBJECTS_NOT_READY、FATAL、SIGSEGV、JNI DETECTED ERROR、NoSuchMethodError、UnsatisfiedLinkError 或非法 layer property。

View File

@@ -1,6 +1,6 @@
# STEP-064 RN 纯 Field Renderer 接口 V2 完成报告
状态:IMPLEMENTED / WAITING_CONSUMER_VALIDATION
状态:VALIDATED / READY_FOR_RELEASE_TAG
## 完成内容
@@ -38,3 +38,11 @@ Consumer 尚未安装最终 `.2` tarball 并在既有 `.1` Native artifact 的 A
- 实现提交 push 后:`HEAD == origin/particle/main == 59a48608fb140d04f9008cb8273119999a87b6ef`。
- Codex sandbox 曾因 `.git/index.lock` 只读失败未能自行提交;最终由 ChatGPT 通过同一 Linux 仓库精确 stage、commit、push,本任务无关 modified/untracked 文件未带入。
- 本段为 docs-only 收尾更新;最终仓库 HEAD 以任务最终回复记录为准。
## 2026-09-10 Consumer 验证与 Release Freeze 前结论
- 固定 Win11 Consumer 已安装 `.2` tgz,依赖树为一份 `@maplibre/maplibre-react-native@11.3.6`。
- 首轮发现 `createParticleFieldStyleFragment()` 使用无效 `raster-particle-opacity`,Native 报 particle layer missing;已在 RN-only 范围改为 `raster-particle-active`。
- 修正后 attach、T0–T3、Runtime READY、图场/粒子独立开关及恢复均通过。
- 未重新构建 Android APK/AAR;复用既有 Native `.1` APK + Metro 验证 RN `.2`。
- hard gate 无上述 Native/崩溃错误。当前允许进入 release tag 与固定 HTTPS tgz 发布。

View File

@@ -8,6 +8,8 @@
- 新增 `FieldColorStop.value`、`particleFieldIds` 与不含底图的 `createParticleFieldStyleFragment()`。
- 非原生环境可安全导入;实际调用且 native bridge 缺失时返回稳定错误。
- RN 包版本升为 `.2`;Android Native artifact 保持 `13.4.1-particle.1`,未构建、未修改、未发布。
- Consumer 实测发现并修正 style helper 中无效的 `raster-particle-opacity`;最终 helper 使用 Native `.1` 已验证的 `raster-particle-active`,不修改 Native AAR。
- Android Consumer 已验证 `FieldRuntime` attach、T0–T3、Runtime READY,以及图场/粒子独立开关。
## 13.4.1-particle.1

View File

@@ -45,7 +45,7 @@ export function createParticleFieldStyleFragment(): ParticleFieldStyleFragment {
id: particleFieldIds.particleLayer,
type: "raster-particle",
source: particleFieldIds.source,
paint: { "raster-particle-opacity": 0.9 },
paint: { "raster-particle-active": true },
},
],
};

View File

@@ -1,6 +1,6 @@
{
"release": "13.4.1-particle.2",
"releaseState": "rn-api-prepared-waiting-consumer-validation",
"releaseState": "validated-ready-for-release-tag",
"upstreamMapLibreNative": "13.4.1",
"upstreamCoreCommit": "18545ca10d296704b2cba675b182ff2c8da24588",
"extensionLine": "particle",
@@ -29,10 +29,22 @@
},
"validation": {
"androidPackageConsumer": {
"status": "pending",
"status": "pass",
"targetReactNativePackage": "13.4.1-particle.2",
"validatedAt": "2026-09-10",
"consumer": "integration/react-native/MapLibreParticlePackageConsumerTestHost",
"note": "13.4.1-particle.2 尚未完成发布 tarball 的 Consumer 运行验证。"
"dataset": "ECMWF HRES 20260807 T0-T3",
"transport": "FILE_REF / FLOAT32_LE / INTERLEAVED_UV",
"nativeArtifact": "13.4.1-particle.1",
"checks": [
"FieldRuntime attach",
"T0-T3 ordered submit",
"runtime READY",
"field OFF + particle ON",
"field ON + particle OFF",
"restore both ON",
"hard-gate no fatal/native bridge errors"
]
},
"previousBaseline": {
"reactNativePackage": "13.4.1-particle.1",
@@ -45,7 +57,8 @@
},
"publication": {
"npmRegistry": null,
"mavenRepository": "https://pbf.jpcn.ccwu.cc/maven"
"mavenRepository": "https://pbf.jpcn.ccwu.cc/maven",
"npmTarball": "https://pbf.jpcn.ccwu.cc/npm/navsea-maplibre-particle-rn-13.4.1-particle.2.tgz"
},
"releaseTag": null
"releaseTag": "maplibre-particle/rn/13.4.1-particle.2"
}

View File

@@ -607,3 +607,9 @@ WeatherColorLayer 的 `ParticleGpuValidationUBO` designated initializer 补齐 `
- 包内 WeatherV2 HTTP、manifest、time index、decoder 与 loader 已移出,Consumer Test Host 保留自身的真实 fixture/file URI 业务链,并直接从官方 MLRN 导入 Map/Camera。
- `FieldColorStop.value` 在 RN 薄层转换为冻结 Native ABI;无 Native module 时 import 安全,实际调用明确失败。图场与粒子继续共享一次 canonical Field 提交,显示可独立控制。
- Native/Core/JNI/shader/Android AAR 未改,artifact 继续 `cc.navsea.maplibre:android-sdk-particle-opengl:13.4.1-particle.1`;Android Gradle/AAR/APK/ADB/Jest/NavSea 均未执行。package 与 Consumer TypeScript 检查已通过,发布 tarball 的实际 Consumer 验证待后续完成。
## 2026-09-10 — STEP-064 Consumer 验证通过 / Release Freeze 前
- `.2` Consumer 首轮发现 RN style helper 的 `raster-particle-opacity` 非 Native `.1` 支持属性,导致 particle layer 缺失;RN-only 修正为 `raster-particle-active`。
- 固定 Consumer 复用既有 Native `.1` APK,通过 Metro 加载 `.2`:FieldRuntime attach、真实 T0–T3、Runtime READY、Field/Particle 独立开关与恢复全部通过。
- hard gate 未见 WEATHER_OBJECTS_NOT_READY、FATAL、SIGSEGV、JNI/链接错误;未重建 Android AAR/APK。
- 当前进入 `maplibre-particle/rn/13.4.1-particle.2` Release Freeze/Tag。