Align with (BitPack→Base64) mvt.RefVec Artifact
ASTER::ACTION::ALIGN::via RefVec Snapshot (BitPack→Base64)
Align Object Instances using the Base64-encoded string derived from the BitPack-compressed mvt.RefVec.
(reserved variable not used)
During the execution of the CF25 application, the coordinates of the selected object instance are aligned and modified.
Only sprite (Active) object types can be selected.
Use the Reference Vector used by MoveTowards as the placement coordinates for instances, and place instances.
However, this feature does not reference mvt.RefVec directly; it adopts a method where mvt.RefVec is first converted to binary data and the reference coordinates are reconstructed from a Base64-encoded string.
Related:
- ASTER :: Action :: Object Control :: Create mvt.RefVec using XY pos w/ respect to OIs
- ASTER :: Action :: Object Control :: Load mvt.RefVec from BitPack-compressed, Base64 string
- ASTER :: Expression :: Object Contorl :: Generate B64E mvt.RefVec (BitPack)
Reference coordinate data restored by the Align feature is temporarily stored as a std::vector in a separate area from mvt.RefVec (data type: std::deque). This temporary storage is dedicated to Align and does not interfere with mvt.RefVec in memory.
Parameter.1
Select the object instance. Only the "Active (sprite) Object" Type can select.
If "The Active Object" is not specified, an error will be displayed when executing the action from the event, and the process will be aborted.
Parameter.2
"CQAAADwBAABWAAAAAL6+AL5Cvr4AAABCAL5CAEJCQg=="In the CF25 Expression Editor, two methods are available:
- Paste and submit a
Base64string directly. - Specify an external data reference to fetch the data.
However, the Expression Editor imposes a maximum pasteable string length, and the length of a Base64 string grows with the amount of coordinate data, which may exceed that limit. For this reason, it is recommend specifying an external data reference as a reliable way to send data without being affected by size restrictions.
When encoding the binary data of the Reference Vector to Base64, the data size increases by about +33% if no compression is applied beforehand.
With BitPack compression, numeric values are analyzed before binary conversion. For example, 4‑byte numbers can often be reduced to 1–2 bytes through type minimization and delta encoding. This achieves compression ratios of 50% or more, depending on the dataset.
After compression, Base64 encoding adds about +33% relative to the compressed size. As a result, compared to the original uncompressed binary, the final Base64 string is typically 40–60% smaller overall, while remaining efficiently decodable.
The time required for Base64 decoding is proportional to the string length and largely independent of the data contents. Therefore, even if the compression ratio varies by dataset, shortening the Base64 string consistently contributes to faster decoding.
Notes
Apart from Align: RefVec B64E BitPack, ASTER’s Align function has the following variations:
These functions, based on parameters:
- Sequentially calculate placement coordinates and arrange instances
- Use the object instance’s
Variable A (0)as a reserved variable
They include a built-in feature that assigns sequential numbers to variables simultaneously with instance placement, and this feature cannot be disabled.
Align: RefVec B64E BitPackdoes not include the sequential numbering feature.
- It only arranges instances using reference coordinates and does not use any reserved variables.
