15 KiB
scripts
run tests:
$ VERBOSE=y ./misc/run-generated-datatype-tests
next steps
- https://archive.org/services/docs/api/metadata-schema/index.html#external-identifier
- https://archive.org/services/docs/api/metadata-schema/index.html#identifier-ark
- protection/safety/commitment
- what is the right term for what we are trying to describe?
- does "G" mean Protection Abundant? The climb is safe? most falls are safe? most likely falls are safe? low consequences?
- what is the right term for what we are trying to describe?
- rename "ascents" to "events"
- this can include route developer
- this gives climbs personality, and hightlights that it's shared by the community
- https://www.mountainproject.com/forum/topic/116157988/why-fas-dont-matter
- Proper Soul:
-> "1989 [Started Equipping] Porter Jarrard" https://web.archive.org/web/20150625032248/http://www.dpmclimbing.com/articles/view/porter-jarrard-climbing-514-44
-> "1997 Brian McCray" https://www.mountainproject.com/route/107337912/proper-soul
-> "2008 [Onsight] Chris Sharma"
-> "2010 Porter Jarrard" https://web.archive.org/web/20150625032248/http://www.dpmclimbing.com/articles/view/porter-jarrard-climbing-514-44 -> "2010 [Trad] Brent Perkins" https://www.ukclimbing.com/videos/categories/trad_climbing/brett_perkins_climbing_proper_soul_514a_on_gear-518
- photo fields
- should
real{Location,DateTimeOriginal}
just be captureLocation and captureTime? - add
tags
- should
- clarify "length":
- how to handle mantles, like the UFO Mantle (96f8b78f-7826-40d7-a087-89d8e64bdf86) in descanso. is it 4 feet? the climber-distance? how long/high it feels?
- would "moves" be better?
- lon lat lon lat
- GeoTIFF
- should start&stop points on a polygon be duplicated? it makes modification awkward (but drawing easy?). why do other libraries (postgis? postgres?) do it?
- projectStatus shouldn't use
null
for a non project- an absense of this should be sufficient
- there is no other stele1 attribute that uses
null
as a meaningful value
- docs for people who...
- are entirely new
- want to use it
- install
- web interface
- people who want to contribute to the ecosystem
- people who want to contribute to core
- myself
- how should (UU)ID be handled?
- rename Project -> Product/Page/Pamphlet/Deck/Tab(let)/Binder/Notebook/Portfolio/{Umbrella,Squirrel}
- rename Metadata -> Miscellaneous
- is there a name/term better than "metadata"? context, document, project-info?
- verify that python/README.md instructions work a on a clean development system
- verify that javascript/README.md instructions work a on a clean development system
- autogenerate a diagram to explain schema aspects
- add a script to autogenerate tests for the datatypes and filesystem based on a repo
- use a registration/composition model for entities and attributes
- extension support isn't thought-out
- photo and svg support should be better modeled
- if a field is a blob it can be stored as a separate file: {uuid}_{attr-name-kebab}.ext???
- expand the spec to include {examples.json,description.md,summary.txt,usage/practices.md}
- usage/practices for climb note fields would establish standard note topics
Pitch200
- a <=200 character elevator pitch for the climbPitch500
- a <=500 character elevator pitch for the climbHistory
- broken holds?FA Story
FFA Story
Context
Controversy
Approach Details
Beta
- usage/practices for climb note fields would establish standard note topics
- doc site
- https://www.gnu.org/software/guile/
- https://cons.io/
- https://racket-lang.org/
- include something interactive
- publish {js,py} packages
- egg vs wheel? https://pythonwheels.com/
- python module naming conventions
- PEP
- packaging namespace packages
- options
stele1_{datatypes,filesystem}
stele1.{datatypes,filesystem}
as hinted to by django.contribstele1{.,_,}{datatypes,filesystem}
as hinted to as django.contrib{datatypes,filesystem}stele1
as seen on srht
- POSIX sh stuff isn't complete; only project_create and project_exists are written
- there's a CLI tool similar to jq that's used for building JSON objects
- publish/upload projects to the internet archive
ecosystem-dependent
- keep an eye on https://github.com/WICG/uuid
rough plans and half-baked ideas
- support routes with incomplete bolting/cleaning to make the guide useful to publishers for areas that are actively being developed
- what's an open license for the data model? is that necessary?
breaking changes
- perhaps the canonical names should be snake_case?
project integrity checks
- are there dangling references?
- are there duplicate names?
- tag taxonomy?
- label taxonomy?
- what climbs are not drawn on anything?
- what climbs should be in an overhead-sketch that aren't?
- what climbs should be in a photo that aren't?
- what climbs should be in a face-sketch that aren't?
- is JSON and the filesystem well formed?
- extra files?
- extra fields?
- are ids and filenames in sync?
- check for the same units on climb length, the same grading systems for climbs, ...
- warn when an
climb.approximate-location
is over a given threshold - ascent/project-status
- when nothing in climb.ascents, and nothing in climb.project-status
- will deleting an item (and associated annotations) leave some other item dangling? (e.g., will deleting a photo leave a climb without drawings?)
images & diagrams
- inkscape plugin for svg
- "live path effects" might be the tool for drawing ticks for roofs and corners
- https://gitlab.com/inkscape/extensions
- https://inkscape.org/develop/extensions/
- https://wiki.inkscape.org/wiki/index.php/Release_notes/1.0#Extensions
- https://wiki.inkscape.org/wiki/index.php/Release_notes/1.0#For_extension_writers
- annotate raster images?
- annotate pdf?
- python establish HEIC/HEIF support (see Pillow issue#2806)
preserving exif dates
from StackExchange Photography
... Date/Time Original and Create Date should be the same for a modern camera picture. But if you were, for example, scanning old pictures, slides, or negatives, the Create Date should be the date/time you saved it to the file and then you would alter the Date/Time Original to the correct time, if you knew it. Obviously, few people are going to know the exact time a picture was taken and probably not going to bother.
offline use
- tool to pull local copies of links in a stele1 project
- https://archive.org/about/offline-archive/
- map tiles?
- check how the RACHEL module handles it.
- https://github.com/robertomlsoares/leaflet-offline
- https://github.com/mWater/offline-leaflet-map
- archiving links
geospatial
- GeoJSON and WKT
- GeoJSON
- WKT
- use USGS data
- https://gis.stackexchange.com/questions/115433/online-wkt-and-geojson-viewer
- WKT geometry
- points should be be pairs (lng, lat) instead of {latitude, longitude} objects/dicts?
- this goes against the "absolute transparency" guideline for development
- https://www.ogc.org/standards/sfa
- points should be be pairs (lng, lat) instead of {latitude, longitude} objects/dicts?
- buffering geospatial objects
- include relevant geospatial operations in the python db
ratings
- Wikipedia
use wikipedia's tables for rating conversions/validation
- pros: support wikipedia
- pros: support self sufficiency
unix
make the cli composable with other tools
pick
feh
orsxiv
- unwritten drawing tool
- unwritten gis tool
- Command-Line Cartography could offer leads
- Arch Wiki's suggestions
- gdal python bindings
- ogr2ogr
unsolved issues
- using a better json pretty-printer
to make git diffs more friendly
- pretty print coordinate lists on a single line
- sort keys so they don't reorder on read/write
3d models
- the Wayback Boulder
in patpasco by Dominic Albanese
I used Agisoft PhotoScan for this, but am also using Reality Capture lately. Cleaned up in ZBrush. I am an avid rock climber so I have a huge interest in scanning rocks that I come across!
- the Black Boulder in The Gunks by Dominic Albanese
- https://climbassist.com/
- there's a 3d model of woodstock rock in patapsco somewhere
future features
- add a stele1-git-init script to
- make sure all directories are tracked?
- types of visualizations/sketches/drawings
- svg -- flexible and builds on existing standards
- overhead-sketches -- precise and could support custom rendering tools
- face-sketches -- precise and could support custom rendering tools
- multipitch grades?
- break ratings down into pitches?
- draw pitches on scenes (photos, face-sketches)
- alternate grades? boulder & route grades for a single 20' climb
notes
type and style, discipline, ethics, ...
saying "type" is generic. type can be "trad", "sport", "psicobloc", "boulder", "crack", "big wall", "free solo", "barefoot", "redpoint", .... few of these are mutually exclusive.
- some mutually exclusive categories:
- how long the climb is: big wall, route, boulder
- how the climber protects the ascent: trad, sport, top-rope, free-solo, pads (boulder),
- what the climbing is like: crack, face, offwidth, chimney, crimpy
simple tree for organizing/nesting areas
- seneca
- southern pillar
- south peak
- spwf
- spef
- south end
- <the burn, sunshine, ...>
- north peak
- npwf
- npef
- lower slabs
seneca
/\ \
/ \ \
/ \ \
/ \ \
southern \ \
pillar \ \
\ north peak
\
south peak
notes on naming
- Retro-naming vs. Given Names
- "20 years from now your problems will be re-discovered and re-named by an entirely different generation. Just the nature of bouldering."
- "I think a lot of energy has been wasted over something really silly like the name of a set of holds on a random block in a talus field. A name is only useful as a consensus description. There is no inalienable naming right in the consitution. Plenty of routes go by multiple names, and you can call it whatever you want. Climbing history is full of routes thate were re-named after the first ascent: Supercrack, Astroman just to name two."
- example of "Spragueasorus Boulder (aka Underworld Boulder)"
- naming for pragmatism
- "[...] noticed that most Seattle climbing areas are named after the highway exit that you use to access them"
restrictions on activity
- no access ever
- no access in nesting season
- no access in hunting season
- ethics/practice is to not top-out for ecological reasons
- nursery status for areas under-development
extensions for ammenities
- campground
- guidebooks
- grocery stores
- restaurants
backends.txt
- unix
- browser/js
- postgresql & postgis
- sqlite/spatialite
targets.txt
- static html
- data
- spa
- data + spa bundle
- like google takeout: create a tar (more realistically zip) archive that can be opened as a file:/// in the browser.
- book
- openapi