1// Package minting declares the capability shared by the pure Atlas web2// application and a native host that can turn an authored region into a3// validated Atlas file. It contains contracts only; filesystem and network4// work remain in the implementation supplied by the host.5package minting67import "context"89// Request is the compact, user-owned recipe for one geographic Atlas.10type Request struct {11 Title string12 Bounds [4]float6413 DetailZoom int14 Topo bool15 Roads bool16 Hydro bool17 Counties bool18 RoadLabel string19 HydroLabel string20 CountyLabel string21 RoadColor string22 HydroColor string23 HydroFill string24 CountyColor string25}2627// Preview is the bounded plan shown before a build begins.28type Preview struct {29 Pixels int6430 RasterTiles int6431 Requests int32 EstimatedBytes int6433}3435// Event is one stage reported by the deterministic authoring pipeline.36type Event struct {37 Stage string38 Message string39 Current int40 Total int41 Bytes int6442 Cached bool43 Artifact string44}4546// Result identifies the installed volume the application should open.47type Result struct {48 Slug string49 World string50 Title string51 Stamp string52}5354// Minter is an optional native capability. Headless hosts omit it; the55// desktop supplies it without teaching the HTTP application about paths.56type Minter interface {57 Default() Request58 Preview(Request) (Preview, error)59 Mint(context.Context, Request, func(Event)) (Result, error)60}