SectionMerger Reference
Module defined in `lua/common/jbeam/sectionMerger.lua`. Merges duplicate/aliased JBeam sections together for backward compatibility (e.g. `triggers2` → `triggers`).
Module defined in lua/common/jbeam/sectionMerger.lua. Merges duplicate/aliased JBeam sections together for backward compatibility (e.g. triggers2 → triggers).
Exports
Functions
M.process(vehicle, sectionRenames)
Merges predefined section pairs. Currently merges triggers2 into triggers and rails2 into rails. Records renames in sectionRenames so the link system can resolve references to renamed sections.
- Parameters:
vehicle- table - Assembled vehicle datasectionRenames- table - Output map populated with{oldName → newName}entries
- Returns: boolean -
trueon success
Internal Notes
- Two merge strategies:
mergeNamedSections: dict-keyed sections - copies key-value pairs from source to target, marks target as valid table ifisTableCidis true. Warns on key collisions. SetsoriginSectionon moved entries.mergeNumberedSections: 0-indexed array sections - appends source rows to end of target.
- Source sections are
nil'd out after merging to prevent duplicate processing. triggers/triggers2merge uses named (CID-tracked) strategy.rails/rails2merge uses named (non-CID) strategy.
Scaling Reference
Module defined in `lua/common/jbeam/scaling.lua`. Applies `scale*` prefixed properties to their corresponding base values by multiplication.
SlotSystem Reference
Module defined in `lua/common/jbeam/slotSystem.lua`. Resolves the vehicle part tree from configuration, handling slot matching, part selection, and part unification (merging).