Files
osmWorkflow/.trellis/workspace/dingkang/journal-1.md
2026-08-17 14:47:24 +08:00

18 KiB
Raw Blame History

Journal - dingkang (Part 1)

AI development session journal Started: 2026-08-03


Session 1: Initialize Trellis project guidelines

Date: 2026-08-03 Task: Initialize Trellis project guidelines Branch: main

Summary

Initialized Trellis project scaffolding and replaced the incorrect frontend spec templates with project-specific pipeline, Blender, preview, config, and cross-layer guidance. Verified spec layers, placeholder cleanup, key-contract coverage, and Blender pure Python tests.

Git Commits

Hash Message
4c5981c (see git log)

Status

[OK] Completed

Session 2: Refactor Cesium material export contract

Date: 2026-08-03 Task: Refactor Cesium material export contract Branch: main

Summary

Moved Cesium material export overrides into catalog-backed material contracts saved as Blender material custom properties. Kept legacy name-table fallback for old .blend files, updated Blender/spec guidance, and verified with unit tests, py_compile, diff check, and parity before/after comparison showing only expected cesium_export blend property diffs.

Git Commits

Hash Message
0635c09 (see git log)

Status

[OK] Completed

Session 3: Archive osmassets refactor plan

Date: 2026-08-03 Task: Archive osmassets refactor plan Branch: main

Summary

Moved durable conclusions from the temporary osmassets refactor plan into changelog and Trellis specs, removed docs/refactor-plan.md, and verified no live docs/spec references to the deleted plan remain.

Git Commits

Hash Message
6882921 (see git log)

Status

[OK] Completed

Session 4: Extract fountain module

Date: 2026-08-03 Task: Extract fountain module Branch: main

Summary

Moved fountain assembly from generate_scene.py into blender/osmassets/fountain.py, updated P2 refactor docs, and verified py_compile, 51 pure tests, and Blender/Cesium parity before/after with identical snapshots.

Git Commits

Hash Message
6271055 (see git log)

Status

[OK] Completed

Session 5: Extract building module

Date: 2026-08-03 Task: Extract building module Branch: main

Summary

Moved building assembly from generate_scene.py into blender/osmassets/building.py, updated P2 refactor docs so only roads remains in generate_scene.py, and verified py_compile, 51 pure tests, and Blender/Cesium parity before/after with identical snapshots.

Git Commits

Hash Message
032922a (see git log)

Status

[OK] Completed

Session 6: Extract road assembly module

Date: 2026-08-03 Task: Extract road assembly module Branch: main

Summary

Moved Blender road GeoJSON assembly and OSM fallback roads into blender/osmassets/roads.py while preserving road_counts, Layer catalog warnings, scene metadata, and SCENE_DONE output. Verified py_compile, unittest, task validation, and Blender/Cesium parity before/after as identical for both sample areas.

Git Commits

Hash Message
0f3c1ee (see git log)

Status

[OK] Completed

Session 7: Add feature registry dispatch

Date: 2026-08-03 Task: Add feature registry dispatch Branch: main

Summary

Introduced blender/osmassets/features.py with FeatureHandler and dispatch_ways for ordered OSM way feature dispatch. Converted generate_scene.py water/grass/scrub/tree_row/building branches into registry handlers while keeping material order, counts, road warning behavior, scene metadata, and SCENE_DONE unchanged. Verified py_compile, unittest, task validation, and Blender/Cesium parity before/after as identical for both sample areas.

Git Commits

Hash Message
ff18217 (see git log)

Status

[OK] Completed

Session 8: Clean stale tuft density comment

Date: 2026-08-03 Task: Clean stale tuft density comment Branch: main

Summary

Cleared stale D3 tuft_density_wave comment debt and updated parity guide known-defect records without changing executable scene generation logic. Verified py_compile, 51 pure tests, and task validation.

Git Commits

Hash Message
f569d45 (see git log)

Status

[OK] Completed

Session 9: Improve Cesium cruise smoothness

Date: 2026-08-03 Task: Improve Cesium cruise smoothness Branch: main

Summary

Reduced Cesium preview cruise stutter by lowering dense scrub bush nodes in nantaizi from 707 to 266, preserving scrub ground cover, and trimming preview route/follow hot-path overhead without lowering default visual clarity. Verified nantaizi blender/cesium/preview rebuild, node --check, py_compile, 51 pure tests, and task validation.

Git Commits

Hash Message
0d2dc22 (see git log)

Status

[OK] Completed

Session 10: Reject low-poly scrub bush experiment

Date: 2026-08-03 Task: Reject low-poly scrub bush experiment Branch: main

Summary

Tested user-supplied assets/models/custom/bush_low/bush_low.glb for nantaizi scrub edge bushes. Geometry dropped from 63,762 verts / 67,536 indices to 4,044 / 4,050 and GLB size dropped from 31.96 MB to 27.51 MB with 266 scrub bush nodes unchanged, but user validation found the visual effect unsatisfactory. Restored generate_scene.py to the original default bush asset, archived the task, and recorded the rejected experiment in changelog/spec without adding bush_low to git.

Git Commits

Hash Message
e58a928 (see git log)

Status

[OK] Completed

Session 11: Adopt Shapespark vegetation

Date: 2026-08-03 Task: Adopt Shapespark vegetation Branch: main

Summary

Adopted split Shapespark low-poly plants for nantaizi trees, scrub bushes, and lawn tufts; toned Cesium foliage export, removed retired vegetation assets/loaders, validated nantaizi blender/cesium/preview.

Git Commits

Hash Message
dbb5705 (see git log)

Status

[OK] Completed

Session 12: Optional GLB compression stage

Date: 2026-08-03 Task: Optional GLB compression stage Branch: main

Summary

Added an explicit compress stage and GLB compression script for nantaizi WebP review artifacts without replacing the baseline GLB.

Git Commits

Hash Message
7ba8594 (see git log)

Status

[OK] Completed

Session 13: Fix OSM multipolygon buildings

Date: 2026-08-03 Task: Fix OSM multipolygon buildings Branch: main

Summary

Parsed building multipolygon relations, generated building holes, and respected explicit OSM height for nantaizi relation -65.

Git Commits

Hash Message
95f8458 (see git log)

Status

[OK] Completed

Session 14: Add area diagnostics command

Date: 2026-08-04 Task: Add area diagnostics command Branch: main

Summary

Added a fast diagnose:area command for OSM structure, building relation health, artifact status, and GLB digest checks; shared area config normalization between build and diagnostics.

Git Commits

Hash Message
d4c3baf (see git log)

Status

[OK] Completed

Session 15: Add GLB stage manifests

Date: 2026-08-04 Task: Add GLB stage manifests Branch: main

Summary

Added first-version cesium and compress stage manifests under _pipeline/stages, shared manifest helpers, and diagnose:area reporting for missing/stale manifests.

Git Commits

Hash Message
2832383 (see git log)

Status

[OK] Completed

Session 16: Add area quality gate

Date: 2026-08-04 Task: Add area quality gate Branch: main

Summary

Added a read-only check:area command backed by shared area diagnostics, documented the quality-gate failure policy, and verified nantaizi pass plus controlled missing-output failure.

Git Commits

Hash Message
7fcc4ee (see git log)

Status

[OK] Completed

Session 17: Add full stage manifests

Date: 2026-08-04 Task: Add full stage manifests Branch: main

Summary

Extended stage manifests across intermediates, reimport, blender, and preview; added alternate ownership handling and validated the complete nantaizi pipeline.

Git Commits

Hash Message
5874cf9 (see git log)

Status

[OK] Completed

Session 18: Add OSM area preflight

Date: 2026-08-04 Task: Add OSM area preflight Branch: main

Summary

Added the read-only preflight:area command, a successful preflight manifest, shared OSM structural checks, and quality-gate freshness validation. OSM diagnostics now ignore action=delete historical objects; verified only nantaizi with unit fixtures, preflight, diagnose, check, and a controlled stale-manifest failure.

Git Commits

Hash Message
e1f5207 (see git log)

Status

[OK] Completed

Session 19: Add configurable area asset budgets

Date: 2026-08-04 Task: Add configurable area asset budgets Branch: main

Summary

Added configurable GLB budgets with documented exceptions, shared budget evaluation for diagnostics, quality gates, and Cesium/compress manifests, plus render-triangle, embedded-image, and source attribution diagnostics. Verified budget tests, preflight tests, nantaizi diagnostics/check, and a controlled low-budget failure without running heavy stages.

Git Commits

Hash Message
463cb06 (see git log)

Status

[OK] Completed

Session 20: Split area preview orchestration

Date: 2026-08-04 Task: Split area preview orchestration Branch: main

Summary

Extracted preview route, vehicle glTF, and HTML/runtime assembly from build-area into focused modules; added preview asset tests and verified nantaizi preview, diagnostics, and quality gate.

Git Commits

Hash Message
396df51 (see git log)

Status

[OK] Completed

Session 21: Add OSM turn lane arrows

Date: 2026-08-05 Task: Add OSM turn lane arrows Branch: main

Summary

Added vendored lane-icons assets, tested OSM turn-lane arrow generation and lane-center placement, and normalized crosswalk and stop-line generation around rendered Driving lanes.

Git Commits

Hash Message
9a23f74 (see git log)

Status

[OK] Completed

Session 22: Cesium semantic inspection preview

Date: 2026-08-05 Task: Cesium semantic inspection preview Branch: main

Summary

Added semantic Cesium inspection assets and controls; fixed compressed metadata to preserve inspection assets; verified the rebuilt compressed preview.

Git Commits

Hash Message
607d8fc (see git log)

Status

[OK] Completed

Session 23: 车辆连续巡航与转弯

Date: 2026-08-05 Task: 车辆连续巡航与转弯 Branch: main

Summary

实现 OSM 有向道路图驱动的连续往返车辆路线,支持 turn:lanes 转向筛选、单行限制、路口曲线与端点调头Cesium 路线选择显示编号、长度及左/右/直统计,并补充路线 JSON 中文契约与自动化验证。

Git Commits

Hash Message
30846b6 (see git log)

Status

[OK] Completed

Session 24: 拆分 LowPoly Cars 车辆资产

Date: 2026-08-05 Task: 拆分 LowPoly Cars 车辆资产 Branch: main

Summary

拆分 LowPoly Cars 资产库并接入 Cesium 预览候选集;每条巡航路线独立随机选模型,修正贴图、亮度、比例和 Truck A03 行驶方向;导入脚本支持脱离 Blender 验证已入库资产。

Git Commits

Hash Message
3108336 (see git log)
2489b8a (see git log)

Status

[OK] Completed

Session 25: Cesium traffic signal countdowns

Date: 2026-08-06 Task: Cesium traffic signal countdowns Branch: main

Summary

Added shared 7LED countdown geometry, split dynamic Cesium assets by phase group for reliable lamp-matched colors, documented the inverse-font and exporter grouping contracts, and verified the preview asset and Blender Python test suites.

Git Commits

Hash Message
0e1574f (see git log)

Status

[OK] Completed

Session 26: 交通信号拓扑与部分构建同步修复

Date: 2026-08-07 Task: 交通信号拓扑与部分构建同步修复 Branch: main

Summary

基于 OSM highway=traffic_signals 控制节点生成 T/十字路口信号,复用共享 OSM 解析Blender stage 每次重写交通信号锚点,避免部分构建沿用旧 JSON 导致 GLB 与 Cesium 预览 signal id 错位。验证了 nantaizi 区域 35 盏信号、动态/倒计时 GLB、Safari 预览和 preview-assets 测试。

Git Commits

Hash Message
1c077a3 (see git log)

Status

[OK] Completed

Session 27: QGIS traffic signal editing and countdown stability

Date: 2026-08-07 Task: QGIS traffic signal editing and countdown stability Branch: main

Summary

Implemented editable traffic signal assemblies in QGIS with stable IDs, position/heading overrides, reimport ownership, source validation, and Blender/Cesium runtime derivation. Fixed long signal IDs overflowing Blender node names with short nodeKey values, and changed QGIS SVG symbols to direct heading_deg field rotation so QGIS rotation edits write back to the field. Verified real GeoPackage round-trip, focused Node tests, preview tests, and 59 Blender tests. Safari cache caused stale GLB symptoms and was resolved with a hard refresh.

Git Commits

Hash Message
e153a1c (see git log)

Status

[OK] Completed

Session 28: 默认压缩交付

Date: 2026-08-11 Task: 默认压缩交付 Branch: main

Summary

将 GLB 压缩纳入默认构建并使用标准产物路径交付,移除并列压缩输出契约;同步诊断、测试与文档。

Git Commits

Hash Message
0790cbd (see git log)

Status

[OK] Completed

Session 29: Publish reusable area asset packages

Date: 2026-08-12 Task: Publish reusable area asset packages Branch: main

Summary

Published the reusable osm-asset-package/v1 contract, moved static models under package/, kept dynamic cruise and signal assets in _preview/, fixed preview manifest-relative loading, and verified the target area quality gate.

Git Commits

Hash Message
f385009 (see git log)
c925890 (see git log)
db0fba5 (see git log)
f2b8d79 (see git log)
0102ffb (see git log)

Status

[OK] Completed

Session 30: Add vehicle incident preview cards

Date: 2026-08-12 Task: Add vehicle incident preview cards Branch: main

Summary

Added click-to-open vehicle information cards with normal, breakdown, and accident preview-only states, floating vehicle-anchored cards, route and motion changes, plus bundled repair and warning icons.

Git Commits

Hash Message
761a526 (see git log)

Status

[OK] Completed

Session 31: Native road lane markings

Date: 2026-08-14 Task: Native road lane markings Branch: feature/native-road-compiler

Summary

Implemented native lane separators, repeated road direction arrows, explicit junction turn arrows, Workbench inspection/toggles, and Blender/Cesium adapter support for Nantaizi; validated native compile, checks, tests, and non-package visual build.

Git Commits

Hash Message
1b9829d (see git log)

Status

[OK] Completed

Session 32: Native road control markings

Date: 2026-08-17 Task: Native road control markings Branch: feature/native-road-compiler

Summary

Added native-source crosswalk and stop-line layers with workbench inspection, Blender/Cesium delivery, and control-marking arrow avoidance.

Main Changes

  • Compiled explicit marked OSM crossings into source-traceable native GeoJSON.
  • Added Chinese workbench control-layer toggle, selection evidence, and summary counts.

Git Commits

Hash Message
4c4f453 (see git log)

Testing

  • [OK] Passed native-road, road-workbench, turn-lane-arrows, build-stages, native compile/check, and Blender/Cesium/preview build.

Status

[OK] Completed

Next Steps

  • Continue native road compiler workbench with the next user-approved priority.

Session 33: Add native road center lines

Date: 2026-08-17 Task: Add native road center lines Branch: feature/native-road-compiler

Summary

Implemented Nantaizi native-road center_lines output, workbench selection/toggle, Blender adapter, control-marking avoidance, and cross-layer verification.

Git Commits

Hash Message
fb863da (see git log)

Status

[OK] Completed

Session 34: Add center line style overrides

Date: 2026-08-17 Task: Add center line style overrides Branch: feature/native-road-compiler

Summary

Added persistent native road centre-line colour and pattern overrides, automatic Workbench staging, continuous solid-line rendering, and Blender white material support.

Git Commits

Hash Message
47efb78 (see git log)

Status

[OK] Completed

Session 35: Complete native lane separator styles

Date: 2026-08-17 Task: Complete native lane separator styles Branch: feature/native-road-compiler

Summary

Completed per lane-pair separator colour/pattern overrides, Workbench staging, Blender yellow material routing, and centre-line control clearance.

Git Commits

Hash Message
bc04517 (see git log)

Status

[OK] Completed