fn try_placing_children<'a>(
source_idx: usize,
depth: i32,
context_idx: usize,
config: &JigsawConfig,
pools: &'a FxHashMap<Identifier, TemplatePoolData>,
templates: &'a FxHashMap<Identifier, TemplateData>,
alias_map: &FxHashMap<Identifier, Identifier>,
pool_template_cache: &mut FxHashMap<Identifier, Vec<&'a PoolElement>>,
scratch: &mut AssemblyScratch<'a>,
pieces: &mut Vec<PlacedPiece>,
free_spaces: &mut Vec<FreeSpace>,
queue: &mut PieceQueue,
rng: &mut LegacyRandom,
get_height: &mut dyn FnMut(i32, i32) -> i32,
)Expand description
Vanilla’s tryPlacingChildren. context_idx is this piece’s collision context
in free_spaces — external children get the parent’s context, internal
children get the parent’s internal free space.