1// Code generated by spec/gen from spec/registry.yaml. DO NOT EDIT.23package semconv45// Namespace prefixes every key the registry governs. An attribute6// outside it is not this registry's business and passes through7// untouched.8const Namespace = "atlas."910// Version names the vocabulary a bundle was written against. It rides11// the manifest as "conventions" and moves only when an existing key's12// meaning breaks -- additions ride on per-key stability instead.13//14// v2 collapsed the v1 entities zone, category, and location into15// collection and feature when the format unified them, and renamed16// atlas.category.key to atlas.collection.key to match.17const Version = 21819// The entities attributes attach to, from the widest to the narrowest.20const (21 EntityBundle Entity = "bundle"22 EntityWorld Entity = "world"23 EntityCollection Entity = "collection"24 EntityFeature Entity = "feature"25)2627// The stability tiers.28const (29 Stable Stability = "stable"30 Experimental Stability = "experimental"31)3233// The registered keys.34const (35 // KeyGeometryKind says what shape of thing a collection holds: points,36 // paths, or areas. Every collection declares one kind and every feature37 // in it is that kind; readers pick their rendering and UX by this key38 // instead of sniffing geometry types at draw time.39 KeyGeometryKind = "atlas.geometry.kind"4041 // KeyLabelPolicy says whether an area collection's features wear their42 // names on the map always, or quietly -- only on highlight, selection,43 // or an explicit reveal. Area collections only: absent means always for44 // areas, and paths are always quiet.45 KeyLabelPolicy = "atlas.label.policy"4647 // KeyRenderAs says how a point collection's features are drawn: as48 // markers or as floating text labels.49 KeyRenderAs = "atlas.render.as"5051 // KeyIconStd names a standard-library icon for a collection that has no52 // artwork of its own, as set/name, e.g. "maki/mountain". A producer53 // resolves it to embedded bytes; a reader only ever sees the resolved54 // asset.55 KeyIconStd = "atlas.icon.std"5657 // KeyIconKind says whether a collection's icon asset is a monochrome58 // glyph the reader tints, or a picture drawn as-is.59 KeyIconKind = "atlas.icon.kind"6061 // KeyIconOutset says which rim a world's markers wear so they stay62 // legible against its art: the light rim of a dark raster or the dark63 // rim of a light one.64 KeyIconOutset = "atlas.icon.outset"6566 // KeyGeometrySurface declares what a world's raster is a picture of: a67 // plane or a sphere. A world that says nothing is a plane.68 KeyGeometrySurface = "atlas.geometry.surface"6970 // KeyGeometryProjection says how a spherical surface was flattened into71 // the raster. Equirectangular is the only vocabulary so far.72 KeyGeometryProjection = "atlas.geometry.projection"7374 // KeyGeometryEquirectPx is the raster window the projection fills, in75 // world pixels, as "x,y,w,h".76 KeyGeometryEquirectPx = "atlas.geometry.equirect.px"7778 // KeyGeometryEquirectDeg is the ground that window pictures, in degrees,79 // as "west,north,east,south".80 KeyGeometryEquirectDeg = "atlas.geometry.equirect.deg"8182 // KeyGeometryMercatorPx is the raster window a Web-Mercator cut fills,83 // in world pixels, as "x,y,w,h". Where equirect declares y linear in84 // degrees, mercator declares y linear in the projected latitude --85 // asinh(tan latitude) -- which is the flattening a real-world tile86 // window actually is.87 KeyGeometryMercatorPx = "atlas.geometry.mercator.px"8889 // KeyGeometryMercatorDeg is the ground a Mercator window pictures, in90 // degrees at the window's edges, as "west,north,east,south".91 KeyGeometryMercatorDeg = "atlas.geometry.mercator.deg"9293 // KeyGeometryBody names the body pictured, e.g. "mars".94 KeyGeometryBody = "atlas.geometry.body"9596 // KeyGeometryRadiusKM is the body's mean radius in kilometers, as a97 // decimal string.98 KeyGeometryRadiusKM = "atlas.geometry.radius_km"99100 // KeyGeoLat and KeyGeoLon carry a feature's true planetary coordinates101 // as the source published them: planetocentric degrees, east-positive102 // longitude. They are provenance and card material; rendering derives103 // positions from the world-level mapping instead.104 KeyGeoLat = "atlas.geo.lat"105 KeyGeoLon = "atlas.geo.lon"106107 // KeyHydroHUC12 names the USGS twelve-digit hydrologic unit -- the108 // subwatershed -- a feature's ground lies wholly within. A feature109 // spanning subwatersheds carries no key rather than a misleading one.110 KeyHydroHUC12 = "atlas.hydro.huc12"111112 // KeyStrokeWidthPx is the ground width of a path collection's features,113 // in world pixels: a trail is a line and a weight, and declaring the114 // weight lets a reader draw the path as one continuous stroke instead of115 // an area faked around it.116 KeyStrokeWidthPx = "atlas.stroke.width_px"117118 // KeyCollectionKey is a collection's merge identity: the slug119 // collections from different sources meet under when they mean the same120 // concept. Absent, the icon key stands in.121 KeyCollectionKey = "atlas.collection.key"122)123124// KeyNoteText never appears in a payload. It is the name a merge policy125// table and its ledger use for a feature's description, so "which126// description wins" is decided and recorded in the same vocabulary as127// everything else. It is deliberately unregistered: [Validate] refuses128// it on any entity.129const KeyNoteText = "atlas.note.text"130131// The vocabularies the registered keys admit.132const (133 GeometryPoint = "point"134 GeometryPath = "path"135 GeometryArea = "area"136137 LabelAlways = "always"138 LabelQuiet = "quiet"139140 RenderAsPin = "pin"141 RenderAsText = "text"142143 IconKindGlyph = "glyph"144 IconKindPicture = "picture"145146 OutsetLight = "light"147 OutsetDark = "dark"148149 SurfacePlane = "plane"150 SurfaceSphere = "sphere"151152 ProjectionEquirect = "equirect"153)154155// registry is the whole vocabulary, and it is generated:156// spec/registry.yaml is the one source docs/semconv/REGISTRY.md and the157// TypeScript lanes' key constants are cut from too.158var registry = map[string]definition{159 KeyGeometryKind: {EntityCollection, Stable, enum(GeometryPoint, GeometryPath, GeometryArea)},160 KeyLabelPolicy: {EntityCollection, Experimental, enum(LabelAlways, LabelQuiet)},161 KeyRenderAs: {EntityCollection, Stable, enum(RenderAsPin, RenderAsText)},162 KeyIconStd: {EntityCollection, Stable, setName},163 KeyIconKind: {EntityCollection, Stable, enum(IconKindGlyph, IconKindPicture)},164 KeyIconOutset: {EntityWorld, Stable, enum(OutsetLight, OutsetDark)},165 KeyGeometrySurface: {EntityWorld, Stable, enum(SurfacePlane, SurfaceSphere)},166 KeyGeometryProjection: {EntityWorld, Stable, enum(ProjectionEquirect)},167 KeyGeometryEquirectPx: {EntityWorld, Stable, numbers(4)},168 KeyGeometryEquirectDeg: {EntityWorld, Stable, numbers(4)},169 KeyGeometryMercatorPx: {EntityWorld, Experimental, numbers(4)},170 KeyGeometryMercatorDeg: {EntityWorld, Experimental, numbers(4)},171 KeyGeometryBody: {EntityWorld, Experimental, slug},172 KeyGeometryRadiusKM: {EntityWorld, Experimental, decimal},173 KeyGeoLat: {EntityFeature, Experimental, decimal},174 KeyGeoLon: {EntityFeature, Experimental, decimal},175 KeyHydroHUC12: {EntityFeature, Experimental, huc12},176 KeyStrokeWidthPx: {EntityCollection, Experimental, positiveDecimal},177 KeyCollectionKey: {EntityCollection, Experimental, slug},178}