A suggested contribution roadmap #6
Replies: 7 comments 1 reply
|
Hi @chrisdebian, I didn´t see your post, hadn´t turned on all notification on the repo itself but many things you mentioned i dsicovered. I could move the TODOs inline into issues but my focus has been to get something up and running and verify that i can get all the tools working, now the grunt work with the style can begin and some refinements to the schema, seing that it is one kind of geometry per layer I have learned in maplibre gl js. I have also succefully been able to run Maputnik locally due to the CORS issues. Wrote more on that in the readme.md. I should have been more clear that this is a pre-pre release and not even a 0.1 yet - I want to have the basics of a style in place before pushing a tag/release. I mandated merge requests(pullrequests in github-land) now too to hopefully clean up the commit history. The inline TODOs are things that I´m going to fix before that release. and the opionon about it being cumbersome to read through multiple files I don´t especially share. I think if i know where somehting should be placed and the language I am writing in supports comments, I will just write it out to be able to actually get back to what I was doing, then absolutely one could create issues for lenghtier discussions - but it is hard to reference lines when the code changes so much. For things thta people can do if they want to help I put some preliminary under: https://github.com/HuggeK/golfTiles#contributions , mainly the javascript/typescript golf course animations which we need a more stable schema to access the data on the vector attributes themselves(no need to query a slow overpass instance when you have already fetched the data) In regard to Phase 1 - Data quality pipeline - I have asked around on the discord and It seems like some format that maproulette and/or the format the TODO plugin is expecting in JOSM is a good idea to not reinvent the wheel - we are first and foremost in this project about consuming the data and the quailty works in such a way that it discard data if it is not in the right types according to the wiki before needing parsing in client side javscript for endconsumers/apps. It is better to actually motivate editors to write good values (please usemeters as the wiki says if you have not annoted the data to explain to data consumers that it is yards you are using) instead of having to write so much custom lua code, just becuase the tilemaker approach is not the final goal. That would be to rewrite all process schema code in sql on a postgis database and a tileserver to be able to serve more frequent updates. See discussion on discord: https://discord.com/channels/413070382636072960/607265062322700308/1511826755235741696 In regards to Phase 2 - as I have writen in the TODO´s, it will be done but as I had a gut feeling that this approach of puting almost every golf features regardless of its geometry was wrong so more layers need to be added to be able to style it. I cannot see any solution to solve the name:
|
|
That said, it would be valuable if we could gather atleast 15 persons for a proper RFC vote on now golf features, see some of my proposals: https://wiki.openstreetmap.org/wiki/Tag:leisure%3Dgolf_course#Proposals%CB%90 jsut becuase the out of bounds one is really valuable for us but got downvoted last years becuase of people who do not play golf and think that a out of bounds marker line is the same as a bollard.... |
|
If you know how to setup GitHub Actions CI on some small extracts It would be great if we could get that to generate on each pull request - I have no previous experience in that. |
|
Another thing I also would need help is how we configure osmium to not include stuff outside of the leisure=golf_course facility polygon but still be able to run tilemaker. |
|
Hi Hugo, Thank you for the very detailed response — this is really helpful. The core message is clear: pre-pre-release, style and schema first, keep it pragmatic. A few notes on what I am revising from the original proposal based on your feedback:
Here is a revised roadmap reordered around your two explicit asks: Revised contribution roadmapPhase 0 — Immediate code health
Phase 1 — CI: test fixture and pipeline validation
Phase 2 — osmium extract: boundary fixYour The fix is two steps:
Phase 3 — Schema stabilisation
Phase 4 — Data quality output
Phase 5 — DocumentationOnce the schema is stable:
I am happy to start with Phase 0 and Phase 1 now — the code health fixes and CI workflow are the most self-contained contributions and do not depend on the schema stabilising. I will raise individual issues for each item before opening any pull request. Thanks again for the detailed feedback and for the extensive wiki work on golf tagging. Chris |
|
#31 now it is an issue to take care of the cmpute that has been spent on to figure out what values is malformed. |
|
Hi Hugo — thanks for the detailed follow-up. Looking at your questions, I think it is clear you have a specific technical direction in mind (osmium polygon filtering, CI on PBF extracts) and my roadmap suggestions were getting ahead of where the project actually is. I am going to step back from the structured contribution plan; it is creating more noise than value at this stage. I wish golfTiles well — the schema and style work you are doing sounds genuinely promising. I will follow along from a distance. |
Uh oh!
There was an error while loading. Please reload this page.
Hi, Hugo.
I came across golfTiles through the OSM community and wanted to say it looks like a really valuable project. The idea of golf-centric vector tiles from OSM data, built on tilemaker and served as PMtiles, fills a genuine gap; and the pipeline you have working already is impressive for such an early stage.
I have spent some time reading through the README, todo.md, process.lua, run_all.sh, and the golftiles.org site, and I have put together a suggested contribution roadmap. I want to be clear that this is offered in the spirit of helping, not criticism; please feel free to take, leave, or reshape any of it as you see fit.
The roadmap is organised into five phases:
Phase 0 — Code health and immediate technical debt
TODOcomments in process.lua that could each become a dedicated GitHub issue, keeping the code free of stale annotations. The most actionable is the trio of-- TODO log to some file to processcomments inset_AttributeInteger_and_log()— completing this would produce abad_tags.csvon each run, directly enabling the todo.md item about uploading a fixable dataset for the OSM community.set -eandset -o pipefailto prevent silent failures mid-pipeline.golftiles.org/github.com/...rather thanhttps://github.com/...). A basic MapLibre GL JS embed showing one of the existing sample PMtiles would make the project immediately tangible to new visitors.Phase 1 — Data quality pipeline
The tilemaker output already produces a large number of
Invalid integerwarnings from malformed OSM tags (e.g.hole_number=7 & 16,par=4/5,dist=332 yd). Two improvements here:bad_tags.csvper run (columns: osm_type, osm_id, key, value). This could seed a MapRoulette challenge or Overpass query for community-led OSM data cleanup.dist, extracting integers fromX/YorX & Yformats inhole_numberandpar, treating named hole variants (e.g.hole_number=Becton 1) as strings rather than attempted integers.Phase 2 — Schema documentation
facilities,golf,other), their zoom ranges, all attributes, and the rationale for key decisions — following the shortbread-docs model already mentioned in the README.water_hazard,lateral_water_hazard, surface variants) and thearchitecttag — both noted as open items in todo.md.name:<CODE>multi-language subtag support, currently noted as a TODO ingeneral_attributes().Phase 3 — Testing and CI
Phase 4 — route=golf relation support
This is the highest-impact item: reading hole order from
route=golfrelations and assigning values togolf_hole=tags, enabling correct multi-course facilities and the animated hole viewer. The currentwhile true doloop inway_function()has an inline comment noting it needs reworking to handle multiple relations. Would it be worth resolving the design question (namespace prefix vs. separate geometry per route) with input from FairwayMapper and the OSM golf tagging community before implementation begins?Phase 5 — Community and visibility
route=golfschema, given the shared goals.I am happy to contribute to any of the above, particularly the data quality work and documentation, where my OSM background is most relevant. Would any of this be useful? And are there areas you would rather keep focused on for now?
Thanks,
Chris
All reactions