Re-do Lua API
Now that we have experience with the Lua API, the multi-backend, and have new feature requests which require API changes, we should redo the API.
To allow a transform to be compatible with current API we can use different function names, and then a transform can implement both entry points reasonably easily.
The current API is
function filter_tags_node(tags, num_tags) return filter, tags function filter_tags_way(tags, num_tags) return filter, tags, polygon, roads function filter_basic_tags_rel(tags, num_tags) return filter, tags function filter_tags_relation_member(tags, member_tags, roles, num_members) return filter, tags, member_superseded, boundary, polygon, roads
Experience has shown num_tags is not needed because we're not in C. next(tags) == nil does the same check, is more idiomatic Lua, and is faster.
With old-style MP support gone, we don't need the superseded tests.
New features desired are
- Knowing if a way is closed or not to determine area formation (blocks recreation of C transform in multi backend)
- Allowing columns on objects from ways to be set based on relations they are a member of Allow propagating tags to ways during relations processing #230
What other changes do we want to make?