cesium-heatbox 1.2.1 → 1.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +53 -0
- package/README.ja.md +13 -1
- package/README.md +13 -1
- package/dist/cesium-heatbox.min.js +1 -1
- package/dist/cesium-heatbox.min.js.map +1 -1
- package/dist/cesium-heatbox.umd.min.js +1 -1
- package/dist/cesium-heatbox.umd.min.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -41,6 +41,59 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
41
41
|
|
|
42
42
|
## [Unreleased]
|
|
43
43
|
|
|
44
|
+
## [1.3.4] - 2026-04-07
|
|
45
|
+
|
|
46
|
+
### Fixed
|
|
47
|
+
- temporal examples で初回表示やカメラ移動後に voxel が空のまま残る問題を修正しました。
|
|
48
|
+
- `TimeController` がカメラ変更時に現在の time slice を再描画するようにし、`RenderPlanner` のカリング後でも表示が回復するようにしました。
|
|
49
|
+
- `examples/temporal/temporal-data.js` の CZML パス解決をページ URL 非依存に修正し、examples 配下での読み込み失敗を防止しました。
|
|
50
|
+
- `TimeSlicer` は lazy-loaded entry を統合した際に global stats cache を破棄するようになりました。
|
|
51
|
+
- `Heatbox.updateValues()` の bounds 再利用判定を保守的に見直し、既存グリッドを不正に再利用しないようにしました。
|
|
52
|
+
- `examples/temporal/advanced-temporal.html` は初期スライス描画、ポイントプレビュー、全高レイアウトを追加し、ロード直後から表示状態を確認しやすくしました。
|
|
53
|
+
|
|
54
|
+
## [1.3.3] - 2026-04-06
|
|
55
|
+
|
|
56
|
+
### Added
|
|
57
|
+
- `examples/temporal/advanced-temporal.html` を追加し、`temporal.interpolate` / `temporal.dataSource` / `temporal.useWorker` を単一画面で確認できるようにしました。
|
|
58
|
+
|
|
59
|
+
### Changed
|
|
60
|
+
- `package.json`、`package-lock.json`、`src/index.js` の版番号を `1.3.3` に更新しました。
|
|
61
|
+
- `examples/README.md`、`examples/temporal/README.md`、`docs/API.md` を現行の時系列機能セットに合わせて更新しました。
|
|
62
|
+
- `README.md` と `README.ja.md` の temporal セクションに `useWorker` と時系列デモ構成の説明を追記しました。
|
|
63
|
+
|
|
64
|
+
## [1.3.2] - 2026-04-06
|
|
65
|
+
|
|
66
|
+
### Added
|
|
67
|
+
- `temporal.interpolate` を実装し、スライス間ギャップの数値プロパティ補間を追加しました。
|
|
68
|
+
- `temporal.dataSource` を実装し、遅延ロードで時系列スライスを供給できるようにしました。
|
|
69
|
+
- `temporal.useWorker` を実装し、補間と時系列統計の前処理を worker へオフロードできるようにしました。
|
|
70
|
+
|
|
71
|
+
### Changed
|
|
72
|
+
- `TimeController` と `TimeSlicer` を非同期時系列経路に対応させ、worker 非対応環境ではメインスレッドへフォールバックするよう整理しました。
|
|
73
|
+
- README / MIGRATION / ROADMAP / API docs を `v1.3.2` の temporal 拡張内容に合わせて更新しました。
|
|
74
|
+
|
|
75
|
+
## [1.3.1] - 2026-04-06
|
|
76
|
+
|
|
77
|
+
### Added
|
|
78
|
+
- `Heatbox.updateValues(entities, runtimeOptions?)` を追加し、既存 bounds/grid を再利用できる更新を軽量化しました。
|
|
79
|
+
|
|
80
|
+
### Changed
|
|
81
|
+
- `TimeController` は `updateValues()` を優先利用し、時系列更新時の再構築コストを削減するようになりました。
|
|
82
|
+
|
|
83
|
+
## [1.3.0] - 2026-04-06
|
|
84
|
+
|
|
85
|
+
### Added
|
|
86
|
+
- `RenderPlanner` を追加し、描画優先度制御、簡易LoD、ビューポートカリングを分離。
|
|
87
|
+
- CI に `cesium@^1.120.0` / `cesium@latest` の dual smoke test を追加。
|
|
88
|
+
|
|
89
|
+
### Changed
|
|
90
|
+
- `DataProcessor` の voxel record から `entities` 配列保持を削除し、compact な内部表現へ変更。
|
|
91
|
+
- `GeometryRenderer` を差分更新型に変更し、ボクセルキー単位の add/update/remove を実装。
|
|
92
|
+
- 互換性ポリシーを整理し、minimum supported Cesium を `^1.120.0` と明記。
|
|
93
|
+
|
|
94
|
+
### Fixed
|
|
95
|
+
- レンダ/クリア反復時の不要なエンティティ再生成を抑制し、ヒープ増分の回帰を起こしにくい構成へ修正。
|
|
96
|
+
|
|
44
97
|
## [1.1.0] - 2025-11-19
|
|
45
98
|
|
|
46
99
|
### Changed
|
package/README.ja.md
CHANGED
|
@@ -51,6 +51,12 @@ npm install
|
|
|
51
51
|
npm run build
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
+
## 互換性
|
|
55
|
+
|
|
56
|
+
- minimum supported Cesium: `^1.120.0`
|
|
57
|
+
- latest verified Cesium: CI の互換 smoke test を最後に通過した最新版
|
|
58
|
+
- CI では `cesium@^1.120.0` と `cesium@latest` の両方を検証
|
|
59
|
+
|
|
54
60
|
## クイックスタート
|
|
55
61
|
|
|
56
62
|
```javascript
|
|
@@ -128,13 +134,18 @@ const heatbox = new Heatbox(viewer, {
|
|
|
128
134
|
],
|
|
129
135
|
classificationScope: 'global', // または 'per-time'
|
|
130
136
|
updateInterval: 1000, // ミリ秒スロットル
|
|
131
|
-
outOfRangeBehavior: 'clear'
|
|
137
|
+
outOfRangeBehavior: 'clear', // または 'hold'
|
|
138
|
+
interpolate: true // スライス間ギャップの数値を補間
|
|
132
139
|
}
|
|
133
140
|
});
|
|
134
141
|
```
|
|
135
142
|
|
|
136
143
|
- オーバーラップ解決: `prefer-earlier`、`prefer-later`、`skip`
|
|
137
144
|
- 二分探索+キャッシュによる効率的な時間検索
|
|
145
|
+
- `updateValues()` は既存グリッドに収まる更新を軽量経路で処理
|
|
146
|
+
- `dataSource(currentTime, context)` で lazy loading を追加可能
|
|
147
|
+
- `useWorker: true` で補間と時系列統計の前処理を worker に逃がせます
|
|
148
|
+
- デモは baseline 再生、Global/Per-Time 比較、シナリオ切替、補間/lazy loading の拡張フローまで含みます
|
|
138
149
|
- デモ: `examples/temporal/`
|
|
139
150
|
|
|
140
151
|
詳細は[APIリファレンス — 時系列](docs/API.md)を参照してください。
|
|
@@ -266,6 +277,7 @@ aggregation: {
|
|
|
266
277
|
| `new Heatbox(viewer, options)` | インスタンス作成 |
|
|
267
278
|
| `createFromEntities(entities)` | ヒートマップ作成(非同期、統計情報を返却) |
|
|
268
279
|
| `setData(entities)` | データ設定と描画 |
|
|
280
|
+
| `updateValues(entities, runtimeOptions?)` | 既存グリッドを再利用できる場合の軽量更新 |
|
|
269
281
|
| `updateOptions(newOptions)` | オプション更新と再描画 |
|
|
270
282
|
| `setVisible(show)` | 表示/非表示切り替え |
|
|
271
283
|
| `clear()` | ヒートマップをクリア |
|
package/README.md
CHANGED
|
@@ -51,6 +51,12 @@ npm install
|
|
|
51
51
|
npm run build
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
+
## Compatibility
|
|
55
|
+
|
|
56
|
+
- Minimum supported Cesium: `^1.120.0`
|
|
57
|
+
- Latest verified Cesium: latest version that passes the CI compatibility smoke job
|
|
58
|
+
- CI validates both `cesium@^1.120.0` and `cesium@latest`
|
|
59
|
+
|
|
54
60
|
## Quick Start
|
|
55
61
|
|
|
56
62
|
```javascript
|
|
@@ -128,13 +134,18 @@ const heatbox = new Heatbox(viewer, {
|
|
|
128
134
|
],
|
|
129
135
|
classificationScope: 'global', // or 'per-time'
|
|
130
136
|
updateInterval: 1000, // ms throttle
|
|
131
|
-
outOfRangeBehavior: 'clear'
|
|
137
|
+
outOfRangeBehavior: 'clear', // or 'hold'
|
|
138
|
+
interpolate: true // interpolate numeric properties across gaps
|
|
132
139
|
}
|
|
133
140
|
});
|
|
134
141
|
```
|
|
135
142
|
|
|
136
143
|
- Overlap resolution: `prefer-earlier`, `prefer-later`, or `skip`
|
|
137
144
|
- Binary search + cache for efficient temporal lookup
|
|
145
|
+
- `updateValues()` reuses the current grid when temporal slices stay within the existing bounds
|
|
146
|
+
- `dataSource(currentTime, context)` can lazily provide additional temporal slices
|
|
147
|
+
- `useWorker: true` offloads interpolation and temporal stats preprocessing when workers are available
|
|
148
|
+
- Demos cover baseline playback, global/per-time comparison, scenario simulation, and advanced interpolation/lazy-loading flows
|
|
138
149
|
- Demos: `examples/temporal/`
|
|
139
150
|
|
|
140
151
|
See [API Reference — Temporal](docs/API.md) for full details.
|
|
@@ -266,6 +277,7 @@ See [Aggregation Examples](examples/aggregation/) for details.
|
|
|
266
277
|
| `new Heatbox(viewer, options)` | Create a new instance |
|
|
267
278
|
| `createFromEntities(entities)` | Create heatmap (async, returns statistics) |
|
|
268
279
|
| `setData(entities)` | Set data and render |
|
|
280
|
+
| `updateValues(entities, runtimeOptions?)` | Update data while reusing the current grid when possible |
|
|
269
281
|
| `updateOptions(newOptions)` | Update options and re-render |
|
|
270
282
|
| `setVisible(show)` | Toggle visibility |
|
|
271
283
|
| `clear()` | Clear heatmap |
|