Separate Transform component into translation, rotation, and scale components
At this point this may be a minor optimization, but it's best to change it sooner as there will be more code to change if left for later.
ACompTransform consists of a 4x4 float matrix, which is 64 bytes. Many systems (like in-game gravity) only need to read the translation: just 3 of the 16 floats. This means systems can waste 80% of the memory they read, and miss out out on a few potential compiler optimizations. Also, some entities just don't need rotation or scale: camera entity doesn't need scale, billboard-rendered entity doesn't need rotation.
A separate translation component can simply be a Vector3. The rotation component can be a 3x3 matrix, quaternion, or something else. Scale can also be a Vector3, or combined into the rotation component as a 3x3 matrix. Whichever should be chosen is open for discussion.
One important thing to note is that the transform for drawing is a separate component calculated per-frame: ACompDrawTransform. This exists with the intention of drawing interpolated frames between physics frames.