14 lines
437 B
Plaintext
14 lines
437 B
Plaintext
compute_ntracks = function(parent)
|
|
-- leaf nodes need 1 track
|
|
if parent.children == nil then
|
|
return 1
|
|
end
|
|
-- otherwise add up the tracks needed by all children (parent will fit in among them)
|
|
-- if we have a single child, it will slide into the same track. This is desirable.
|
|
local result = 0
|
|
for _,child_id in ipairs(parent.children) do
|
|
local child = Nodes[child_id]
|
|
result = result + ntracks(child)
|
|
end
|
|
return result
|
|
end |