ChangeLog
The next deadline is set for 2025-12-15.
Clickteam Forum Thread : ASTER :: Released
---
config:
textPosition: 0.7
themeVariables:
"pieOuterStrokeWidth": "1px"
pie1: "#921A40"
pie2: "#134B70"
pie3: "#3C3D37"
pie4: "#FBF5DD"
---
pie title (2025-10-17): Working Progress... 93 %
"Translation Completed" : 159
"unfinished" : 5
"editing" : 7
Version History & Software Backward Compatibility
ASTER rev.1.0.6
Usage Notice
(2025-10-15) Since rev.1.0.6, the software system requirements now include AVX2-compatible CPUs. Older CPUs that do not support AVX2 are supported only up to rev.1.0.5. If your hardware meets the requirements for Windows OS 11, your CPU is also AVX2-compatible.
Some internal optimizations have been applied in rev.1.0.6 to features implemented up to rev.1.0.5. Specifically, SIMD (small-scale parallel processing) is used, so if the CPU is not compatible, the program will crash. Detection of unsupported CPUs is not implemented at this time.
Reference URL: Intel® Intrinsics Guide: AVX2
AVX2 is not strictly required for practical use. If requested in the future, dynamic dispatch will be used to switch to standard scalar functions for non-compatible CPUs.
-
String search (replace) processing uses SIMD instructions and
std::boyer_moore_horspool (BMH), or a hybrid approach. -
Base64 Encode|Decode processing utilizes SIMD instructions. Benchmarks confirm a performance improvement of approximately 1.5 to 2 times compared to traditional scalar processing.
For SIMD-based Base64 processing, we referenced Faster Base64 Encoding and Decoding Using AVX2 Instructions (Muła & Lemire) arXiv:1704.00605 and aklomp/base64 (GitHub).
Code and structure from Turbo-Base64 were not directly referenced or reused, due to its GPL-3.0 license.
- Improved behavior of JSON Dump and FlattenDump. Fixed improper value copying (
const auto j = *lp_json;) by switching to reference (const auto& j = *lp_json;).
Avis d’utilisation
(2025-10-15) Depuis la version rev.1.0.6, les exigences système du logiciel incluent désormais les processeurs compatibles AVX2. Les anciens processeurs ne prenant pas en charge AVX2 sont pris en charge uniquement jusqu’à la version rev.1.0.5. Si votre matériel répond aux exigences de Windows OS 11, votre processeur est également compatible AVX2.
Des optimisations internes ont été appliquées dans la version rev.1.0.6 aux fonctionnalités déjà implémentées jusqu’à rev.1.0.5. En particulier, des instructions SIMD (traitement parallèle à petite échelle) sont utilisées, donc si le processeur n’est pas compatible, le programme plantera. La détection des processeurs non compatibles n’est pas encore implémentée.
URL de référence : Intel® Intrinsics Guide: AVX2
AVX2 n’est pas strictement requis pour une utilisation pratique. Si une demande est formulée à l’avenir, un dispatch dynamique sera utilisé pour basculer vers des fonctions scalaires standard sur les processeurs non compatibles.
-
Le traitement de recherche (remplacement) de chaînes utilise les instructions SIMD et
std::boyer_moore_horspool (BMH), ou une approche hybride. -
Le traitement Base64 Encode|Decode utilise les instructions SIMD. Les benchmarks confirment une amélioration des performances d’environ 1,5 à 2 fois par rapport au traitement scalaire traditionnel.
Le traitement Base64 basé sur SIMD s’est inspiré de Faster Base64 Encoding and Decoding Using AVX2 Instructions (Muła & Lemire) arXiv:1704.00605 et de aklomp/base64 (GitHub).
Le code et la structure de Turbo-Base64 n’ont pas été directement référencés ni réutilisés, en raison de sa licence GPL-3.0.
- Amélioration du comportement de JSON Dump et FlattenDump. La copie de valeur incorrecte (
const auto j = *lp_json;) a été remplacée par une référence (const auto& j = *lp_json;).
Usage Notice
(2025-10-15) rev.1.0.6 以降、ソフトウェアのシステム要件に AVX2 対応 CPU が追加されました。AVX2 に対応しない古い CPU の利用について、rev.1.0.5 までの対応とさせていただきます。ハードウェアが Windows OS 11 の動作要件を満たす場合、CPU も AVX2 には対応しています。
rev.1.0.5 までに実装された機能について rev.1.0.6 では一部内部処理の最適化が施されています。具体的には SIMD (小規模な並列処理) を利用しているため、CPU が対応しない場合はプログラムがクラッシュします。 非対応 CPU の検出は現時点で実装されていません。
参考 URL : Intel® Intrinsics Guide: AVX2
実用上 AVX2 は必須でも無いので、今後もしも要望があったら非対応 CPU 向けには動的ディスパッチを使って、スカラ処理を利用した通常の関数へ切り替えを行うようにします。
-
文字列の検索 (置換) 処理に SIMD 命令 と
std::boyer_moore_horspool (BMH)を利用、もしくはハイブリッド化した処理。 -
Base64 Encode|Decode 処理に SIMD 命令を活用。従来のスカラ処理よりも実測で 1.5 ~ 2 倍程度、処理速度の向上をベンチマークにて確認済み。
Base64 処理を SIMD 化する際に Faster Base64 Encoding and Decoding Using AVX2 Instructions(Muła & Lemire 論文)arXiv:1704.00605 及び aklomp/base64 (GitHub) を参考にしています。
Turbo-Base64 はライセンスが GPL-3.0 なので、Turbo-Base64 のコードや構造を直接参照・流用していません。
- JSON Dump および FlattenDump の動作を改善。本来参照すべき箇所で値コピー(
const auto j = *lp_json;)していたため、参照(const auto& j = *lp_json;)に修正。
ASTER Rev.1.0.5
(2025-06-15) :: MessagePack-related features have been added. MessagePack is a format designed to handle JSON, which is typically stored as text-based data, in a binary form, allowing for more efficient processing and storage.
MessagePack is an open-source data format designed to handle text-based JSON in binary form. As for JSON’s binary format, CBOR was standardized by IETF RFC 8949 in 2020, while an official ISO standard has not yet been established.
Functions include converting JSON data being edited in ASTER into MessagePack, compressing the binary, encoding the compressed data in Base64 for storage, decoding Base64, and loading MessagePack. Users can choose between Zlib and LZ4 for compression. A Python script for verifying stored data is also included.
MessagePack をファイルから直接ロードする機能は nlohmann/json ではなく、msgpack-c を利用する予定。ただし ASTER は現時点で MessagePack のみを扱っていますが、本命として CBOR 対応と libcbor の導入が検討されています。libcbor へ対応したら msgpack-c には対応しません。最終的にどちらかに絞ります。
| update | description |
|---|---|
| Add | A new example: ‘_62_oCtrl_Mvtwd_ReCyclic_tracking’ |
| Add | A new example: ‘_61_oCtrl_Mvtwd_ReCyclic_grid’ |
| Add | A new example: ‘_60_oCtrl_Mvtwd_ReCyclic_triangle’ |
| Revise | .mfx example: ‘41_oCtrl_MvUtil_pickout_Tgt_&_MvSwap’ |
| New Fnc | Action :: MotionControl :: Create Reference Vector: Current coords of obj instances |
| New Fnc | Action :: MotionControl :: Create New Motion Group: MoveTowards Re.:Cyclic |
| New Fnc | Expression :: MotionControl :: EvD.: Get moving dirs converted to CF25 Animation Dir |
| New Fnc | Condition :: MotionControl :: EvD.: Begin Moving Towards |
| New Fnc | Condition :: MotionControl :: EvD.: End Moving Towards |
| Specification Change | The parameter specifications of MoveTowards have been partially modified. Parameters from rev.1.0.4 and earlier will not work in rev.1.0.5. |
| New | Base64-Encoding (B64E) & Decoding (B64D) for MessagePack (JSON) |
| New | Zlib & LZ4, Compression & decompression for MessagePack (JSON) |
| New Fnc | Action :: JSON :: Save to a file: B64E: Zlib compressed MessagePack |
| New Fnc | Action :: JSON :: Save to a file: B64E: LZ4 compressed MessagePack |
| New Fnc | Action :: JSON :: Rebuild B64D to JSON: Zlib compressed MessagePack |
| New Fnc | Action :: JSON :: Rebuild B64D to JSON: LZ4 compressed MessagePack |
| New Fnc | Expression :: JSON :: Generate B64E: Zlib compressed MessagePack |
| New Fnc | Expression :: JSON :: Generate B64E: LZ4 compressed MessagePack |
| Add | A new example: ‘58_JSON_Rebuild_B64D_msgPack_Zlib’ |
| Add | A new example: ‘59_JSON_Rebuild_B64D_msgPack_LZ4’ |
| Add | python3 script: For stored data verification (Zlib Compressed, B64E) |
| Add | python3 script: For stored data verification (LZ4 Compressed, B64E) |
| Fatal Incident | Spell miss: Inplimentation » Implementation |
ASTER Rev.1.0.4
(2025-05-15) :: Usage Notice
Includes specification changes for the JSON Data Sharing Option and Batch Selection. Some related commands have been deprecated, and older operation samples are not compatible with ASTER Rev.1.0.4.
(2025-05-15) :: Avis d’utilisation
Comprend des modifications de spécification pour l’option de partage de données JSON et la sélection par lot. Certaines commandes associées ont été supprimées, et les anciens exemples de fonctionnement ne sont pas compatibles avec ASTER Rev.1.0.4.
(2025-05-15) :: Usage Notice
JSON Data Sharing Option と Batch Selection の仕様変更を含みます。関連する命令が一部廃止され、古い動作サンプルは ASTER Rev.1.0.4 と動作互換性がありません。
| update | description |
|---|---|
| Specification Change | Condition: True while the JSON Data Option is disabled |
| Specification Change | MvtUtil: Batch toggle mvt.Pursuer selection state |
| Add | A new example: 57_oCtrl_MvtUtil_Batch_toggle_mvt_Pursuer |
| update | Due to specification changes in the JSON Data Sharing Option, the following features have been deprecated. |
| obsolete | Clear : Sharing JSON Data |
| obsolete | Clear : JSON Data |
| Fatal Incident | Spell miss: Algorythm » Algorithm |
ASTER Rev.1.0.3
ASTER Rev.1.0.2
ASTER Rev.1.0.1
ASTER Rev.1.0.0
ASTER Public Preview Version 0.9.23
