Class ManipulationTransformCalculator
- Namespace
- GridPlacement.GDScript
- Assembly
- MoonBark.GridPlacement.GDScript.dll
ManipulationTransformCalculator - Pure logic component for manipulation transform calculations.\n\nResponsibilities: - Calculate final transforms for placed objects after manipulation - Preserve flip semantics (negative scale values) during transform application - Provide testable, isolated transform logic separate from system dependencies\n\nThis component contains NO dependencies on: - Scene tree - Signals - State management - Input handling\n\nAll methods are pure functions that take inputs and return outputs.
class ManipulationTransformCalculator extends RefCounted
ManipulationTransformCalculator
Properties
final_position
var final_position: Vector2 = manipulation_parent.global_position
accumulated_rotation
var accumulated_rotation: float = manipulation_parent.rotation
accumulated_scale
var accumulated_scale: Vector2 = manipulation_parent.scale
issues
var issues: Array[String] = []
scale
var scale: Vector2 = transforms["scale"]
pos
var pos: Vector2 = transforms["position"]
rot
var rot: float = transforms["rotation"]
scale
var scale: Vector2 = transforms["scale"]
differences
var differences: Dictionary = {}
pos_diff
var pos_diff: Vector2 = expected["position"] - actual["position"]
rot_diff
var rot_diff: float = expected["rotation"] - actual["rotation"]
scale_diff
var scale_diff: Vector2 = expected["scale"] - actual["scale"]
Methods
calculate_final_transform
static func calculate_final_transform(preview_root: Node2D, manipulation_parent: Node2D) -> Dictionary:
Parameters
preview_rootmanipulation_parent
Returns
validate_transform_preservation
static func validate_transform_preservation(calculated_transforms: Dictionary) -> Dictionary:
Parameters
calculated_transforms
Returns
format_transforms_debug
static func format_transforms_debug(transforms: Dictionary) -> String:
Parameters
transforms
Returns
extract_transform_components
static func extract_transform_components(transform: Transform2D) -> Dictionary:
Parameters
transform
Returns
compare_transforms
static func compare_transforms( expected: Dictionary,