# Cold Bore Lab > Cold Bore Lab is an extreme-long-range (ELR) ballistics solver and range log that runs in a browser or on a phone and works offline. It also has a connector, so an AI assistant can solve shots, read and edit rifle profiles, log groups and run calibrations for its user. This file lists the reference: what every field of a profile and of the range log means, what every solver option does (with the math), and what every connector tool takes and answers. How to read it: start at the index (https://coldborelab.app/api/docs/raw/index.md), which lists every page with a one-line summary. Each area has its own index (the first links under each heading below) with a few lines per page; read that, then open only the page you need. Every address below answers with plain Markdown (`text/markdown`), is public and needs no sign-in. Links inside a page are relative, so they can be followed from the page's own address. The app itself is at https://coldborelab.app/ and shows the same pages at https://coldborelab.app/#/docs. There is no single-file copy of the reference: it is larger than is useful to load at once. ## Start here - [Reference index](https://coldborelab.app/api/docs/raw/index.md): Every page of the reference as a relative link with its summary. - [Cold Bore Lab reference](https://coldborelab.app/api/docs/raw/map.md): The map: what the reference covers and how to read it with guide. ## Connector tools - [Connector tools](https://coldborelab.app/api/docs/raw/tools.md): Every tool of the connector in a few lines: what it does, the scope a link needs, what it changes, where it runs, and its inputs. - [The connector](https://coldborelab.app/api/docs/raw/connector.md): What every tool of the Cold Bore Lab connector shares: which tool fits which request, how a reply is shaped, what a link may do, and the limits on long work. - [Appearance tools](https://coldborelab.app/api/docs/raw/appearance.md): The fifteen tools that read and change themes and Calculator layouts, and what is true of all of them. - [calibrate_profile](https://coldborelab.app/api/docs/raw/calibrate_profile.md): Fit a profile to the groups in the shooter's range log, and keep the result if asked. - [check_profile](https://coldborelab.app/api/docs/raw/check_profile.md): Check one profile's entered numbers against what is independent of them, and say what looks wrong. - [compare_models](https://coldborelab.app/api/docs/raw/compare_models.md): Compare the four solver models (Standard, Physics, Classic, Spin) for one profile at up to 12 ranges: each one's dial and its difference from Standard. - [copy_shared_profile](https://coldborelab.app/api/docs/raw/copy_shared_profile.md): Save the shooter's own copy of a profile someone shared with them, as a new profile at version 1. - [create_layout](https://coldborelab.app/api/docs/raw/create_layout.md): Make a new layout of the shooter's as a copy of a built-in, one of their layouts, or an older version, under a name they give. - [create_profile](https://coldborelab.app/api/docs/raw/create_profile.md): Create a new profile, at version 1, from numbers the shooter gives. - [create_theme](https://coldborelab.app/api/docs/raw/create_theme.md): Make a new theme of the shooter's as a copy of a built-in, one of their themes, or an older version, under a name they give. - [delete_profile](https://coldborelab.app/api/docs/raw/delete_profile.md): Ask the shooter to delete one profile. - [edit_layout](https://coldborelab.app/api/docs/raw/edit_layout.md): Change one of the shooter's own Calculator layouts with a list of operations, applied in order. - [edit_profile](https://coldborelab.app/api/docs/raw/edit_profile.md): Change values on one existing profile: name, rifle, zero, scope, ammo, bullet, BC, muzzle velocity, model or its confirmed come-ups. - [edit_theme](https://coldborelab.app/api/docs/raw/edit_theme.md): Change one of the shooter's own themes: colors, fonts, text size, corner and spacing style, background. - [explain_dope](https://coldborelab.app/api/docs/raw/explain_dope.md): Test a profile against 1 to 6 confirmed come-ups and say which cause would explain them: velocity, BC, zero height or sight height. - [get_context](https://coldborelab.app/api/docs/raw/get_context.md): Read what the phone's Calculator last reported: profile id and version, the typed air, target and wind fields, the model, its solution (or none) and the age. - [get_layout](https://coldborelab.app/api/docs/raw/get_layout.md): Read one Calculator layout in full (sections, swipe groups and their pages, widgets, spans, sizes) by id or name, built-ins too, with its live versions. - [get_profile](https://coldborelab.app/api/docs/raw/get_profile.md): Read one of the shooter's own profiles whole: every version that is not deleted, lowest first, the last being the profile as it stands. - [get_session](https://coldborelab.app/api/docs/raw/get_session.md): Read one range session of the shooter's own account by its id: the session record and every logged group in it that is not deleted, oldest first. - [get_shared_profile](https://coldborelab.app/api/docs/raw/get_shared_profile.md): Read one profile someone shared with the shooter, as the app shows it to them: its numbers and its setup state. - [get_theme](https://coldborelab.app/api/docs/raw/get_theme.md): Read one theme in full (colors, fonts, sizes, background) by id or name, built-ins too, with its live versions. - [guide](https://coldborelab.app/api/docs/raw/guide.md): Read the reference for this connector: what each tool really does, what a profile or log field means, what a solver option changes. - [list_appearance](https://coldborelab.app/api/docs/raw/list_appearance.md): List the shooter's themes and layouts (built-ins first), what each device last reported showing, the phone and desktop defaults and the Auto setting. - [list_assets](https://coldborelab.app/api/docs/raw/list_assets.md): List the background images the shooter uploaded in the theme editor: sha256, type, size, date and ref. - [list_profiles](https://coldborelab.app/api/docs/raw/list_profiles.md): List the shooter's own profiles by name: for each, its id, newest version that is not deleted, name, muzzle velocity and drag model. - [list_sessions](https://coldborelab.app/api/docs/raw/list_sessions.md): List the shooter's own range sessions, newest date first, each whole as stored: place, notes, planned targets. - [list_shared_with_me](https://coldborelab.app/api/docs/raw/list_shared_with_me.md): List the profiles other people share with the shooter, at most 50, latest stored save time first. - [list_shares](https://coldborelab.app/api/docs/raw/list_shares.md): List the shooter's share links to themes and layouts, newest first. - [log_group](https://coldborelab.app/api/docs/raw/log_group.md): Log one shot group: the dial, any hold, and where the group landed, in unit, else the scope's (up and right are +); pass numbers as said, unconverted. - [next_target](https://coldborelab.app/api/docs/raw/next_target.md): Say which of today's targets to shoot next to learn the most for the profile's calibration goal, as the Guide card on the Session screen does. - [preview_appearance](https://coldborelab.app/api/docs/raw/preview_appearance.md): Show an unsaved theme or layout change on one device, before anything is saved. - [range_card](https://coldborelab.app/api/docs/raw/range_card.md): Make a range card: elevation and windage in the scope's unit for each range from from_yd to to_yd in steps of step_yd, 1 to 100 rows, from one profile. - [restore_version](https://coldborelab.app/api/docs/raw/restore_version.md): Bring back an old version of one of the shooter's themes or layouts by saving its content as the newest version. - [revoke_share](https://coldborelab.app/api/docs/raw/revoke_share.md): Stop a share link to a theme or layout, by its id from list_shares (not a log share). - [search_bullets](https://coldborelab.app/api/docs/raw/search_bullets.md): Look up a bullet in the catalog and return its diameter, weight, length and G1 and G7 ballistic coefficients. - [sensitivity](https://coldborelab.app/api/docs/raw/sensitivity.md): Show how far the come-up moves for a small fixed step in each input, at up to 6 ranges. - [set_active](https://coldborelab.app/api/docs/raw/set_active.md): Choose the theme and/or layout one device shows now, or the default that phones or desktops use when they have not chosen their own. - [set_auto_theme](https://coldborelab.app/api/docs/raw/set_auto_theme.md): Change Auto, the account's theme choice that follows the sun or the phone's light or dark setting. - [set_calculator](https://coldborelab.app/api/docs/raw/set_calculator.md): Put a range, wind, air, direction of fire, slope or profile into the Calculator on the shooter's open phone, and say the come-up it then shows. - [share_appearance](https://coldborelab.app/api/docs/raw/share_appearance.md): Make a share link for one of the shooter's own themes or layouts (not a log share). - [solve](https://coldborelab.app/api/docs/raw/solve.md): Give the dial for one range: elevation and windage in the scope's unit, from one of the shooter's profiles. - [start_session](https://coldborelab.app/api/docs/raw/start_session.md): Start a new range session at a named place (location_name, required), with optional notes. - [tall_target](https://coldborelab.app/api/docs/raw/tall_target.md): Work out how true the scope's elevation tracks from a tall-target test: yards, the amount dialed, inches the impact moved. - [zero_check](https://coldborelab.app/api/docs/raw/zero_check.md): Say where the rifle prints at the zero from one or several zero-check groups, and the turret correction that puts it on the aim. ## Profile - [Profile fields](https://coldborelab.app/api/docs/raw/profile.md): Every field of a profile version in a few lines: which page describes it, who writes and reads it, what a hand edit does, and what a shared log shows. - [Ammunition](https://coldborelab.app/api/docs/raw/profile/ammo.md): What the load is called, its lot, and whether it is factory ammunition or a handload with its recipe: all for people, none of it read by the solver. - [Bullet shape](https://coldborelab.app/api/docs/raw/profile/bullet-shape.md): The bullet's outline (nose, boattail, base, meplat) and the raw caliper readings that guided setup keeps behind it. - [Bullet](https://coldborelab.app/api/docs/raw/profile/bullet.md): The bullet in the load - its name, size, weight, length, build and tip - and the link that records where a picked bullet's values came from. - [Calibration goal](https://coldborelab.app/api/docs/raw/profile/calibration-goal.md): What guided calibration aims at for this profile: a shot (distance, angle, air) or a Mach number, and how sure the shooter wants to be there. - [Calibration](https://coldborelab.app/api/docs/raw/profile/calibration.md): The record of the calibration last saved into a profile version (method, groups, model, solver version, result) and the records it replaced. - [Drag](https://coldborelab.app/api/docs/raw/profile/drag.md): Which ballistic coefficient is live, the fitted drag correction (curve, factor, drop table) and the slowest speed it covers. - [Model](https://coldborelab.app/api/docs/raw/profile/model.md): Which of the four models a profile solves with (or Custom, a list of option choices) and what the stored option choices of a Custom or Spin profile are. - [Origin](https://coldborelab.app/api/docs/raw/profile/origin.md): Where a profile came from: read from another app, or copied from someone's shared profile, and what a copy keeps, changes and drops. - [Rifle](https://coldborelab.app/api/docs/raw/profile/rifle.md): The rifle itself: its name, cartridge, barrel length and muzzle device (for people only), and the twist, twist direction and sight height the solver uses. - [Scope](https://coldborelab.app/api/docs/raw/profile/scope.md): The scope's turret units, its tracking factors, its elevation travel and the words used for a turn of each turret. - [Setup](https://coldborelab.app/api/docs/raw/profile/setup.md): How far a profile has been looked at on the profile screen - which sections were saved or marked "Looks right", which values the shooter answered "Don't know yet" for, and (on older profiles) when setup was marked finished. - [Spin](https://coldborelab.app/api/docs/raw/profile/spin.md): The two stored fields of the Spin model, an optional coefficient set the account has been given and the shooter's own Spin trim, and where to find every other profile field that model reads. - [Velocity](https://coldborelab.app/api/docs/raw/profile/velocity.md): The one muzzle velocity the solver uses, the chronograph strings kept as evidence behind it, and the table of velocity against ammo temperature. - [Versions](https://coldborelab.app/api/docs/raw/profile/versions.md): What a saved version of a profile is: its ids and times, how every save adds a numbered version, how two devices that pick the same number are sorted out, what a delete does, how an old version is shown and restored, and which page describes which part of a profile. - [Zero](https://coldborelab.app/api/docs/raw/profile/zero.md): Where the rifle is zeroed (the zero range), the air and slope it was zeroed in, and how far the group prints off the aim point there. ## Range log - [Log fields](https://coldborelab.app/api/docs/raw/log.md): Every field of a session, a logged group and a calibration suggestion in a few lines: which page describes it, who writes and reads it, and what a shared log shows. - [Air](https://coldborelab.app/api/docs/raw/log/air.md): The temperature, humidity, station pressure and latitude stored with one logged group, the density altitude worked out from them, and where they came from. - [Group](https://coldborelab.app/api/docs/raw/log/group.md): What was aimed at a target (the dial and any hold), where the group landed, how big it was, how many shots made it, and the mark for a group shot in calm air. - [Target marks](https://coldborelab.app/api/docs/raw/log/marks.md): The holes, the aim point and the scale marked on a photo of the target for one logged group, from which its centre, size and shot count are worked out. - [Muzzle velocity](https://coldborelab.app/api/docs/raw/log/muzzle-velocity.md): The chronograph numbers of one logged group: mean, SD, ES, shot count, the shots themselves and the ammo temperature, and how a fit uses them. - [Group record](https://coldborelab.app/api/docs/raw/log/observation.md): The logged group itself: its id and times, the session and profile version it belongs to, its soft delete, its free-text notes, and which page describes each other part of it. - [Photo](https://coldborelab.app/api/docs/raw/log/photo.md): The optional camera-aim photo saved with a logged group: a reference to the picture, the zoom used and the aim reading it was taken with, and who can see the picture. - [Positions](https://coldborelab.app/api/docs/raw/log/positions.md): The GPS fixes of where a logged group was fired from and where its target stood, with their accuracy and the two kinds of height a fix can carry. - [Prediction](https://coldborelab.app/api/docs/raw/log/prediction.md): What the Standard and Physics models predicted for a group at the moment it was logged, and the dial the app suggested, to set against what was shot and observed. - [Session targets](https://coldborelab.app/api/docs/raw/log/session-targets.md): The targets listed for one range day before any group is shot: a name, a distance, and the direction and slope learned from the first group, with an optional position and height. - [Session record](https://coldborelab.app/api/docs/raw/log/session.md): A day at the range: its date, place name, notes, the device that made it, and the window of ranges guided calibration can choose from. - [Calibration suggestion](https://coldborelab.app/api/docs/raw/log/suggestion.md): A calibration fit that a helper made on a shared log and sent back to its owner, and where it stands: open, accepted, declined or cancelled. - [Target](https://coldborelab.app/api/docs/raw/log/target.md): The range, direction, slope and wind of one logged group, as the shooter entered them, and what each is used for when the group is solved again. - [Zero check](https://coldborelab.app/api/docs/raw/log/zero-check.md): The mark on a group shot to check the zero, and what the shooter did after it: moved the turret, saved the zero offsets, or left the zero as it was. ## Solver options - [Solver options](https://coldborelab.app/api/docs/raw/options.md): Every solver option in a few lines: what it is, what each of the four models uses, when it matters and what it interacts with. - [Aerodynamic jump](https://coldborelab.app/api/docs/raw/options/aeroJump.md): The small up or down shift a crosswind at the muzzle gives a spinning bullet: a published formula that depends on the bullet, or a fixed amount per mph. - [Crosswind jump (Spin model)](https://coldborelab.app/api/docs/raw/options/aeroJumpSpin.md): How the Spin model works out the small up or down kick a crosswind at the muzzle gives the bullet: from its spin, shape and lift by the classical theory, by the app's earlier form of it, or from a formula of its stability and length. - [Air density (humidity)](https://coldborelab.app/api/docs/raw/options/airDensity.md): Which density of humid air the drag uses at the rifle: a simple humidity correction, or the exact mix of dry air and water vapor. - [Elevation angle](https://coldborelab.app/api/docs/raw/options/angle.md): How the drop at the target becomes an elevation in mil, and, for the Classic choice, how the sight height is counted on a slope. - [Coriolis](https://coldborelab.app/api/docs/raw/options/coriolis.md): How the Earth's rotation moves the bullet: a drift formula plus a change in gravity, the full acceleration at every step, or nothing. - [Earth curvature](https://coldborelab.app/api/docs/raw/options/curvature.md): Whether the Earth's curvature is taken to have lowered a distant target below the horizontal line you entered as the slope. - [Drag table](https://coldborelab.app/api/docs/raw/options/dragTable.md): Which published drag curve the bullet flies on, and whether the Standard model's small correction near the speed of sound is applied; also how the drag deceleration is built from it. - [Bullet dynamics](https://coldborelab.app/api/docs/raw/options/dynamics.md): Whether the bullet is a point with drag and gravity plus formulas for spin drift and jump, or a spinning body whose spin, yaw, lift and Magnus force are flown. - [Estimated coefficients](https://coldborelab.app/api/docs/raw/options/estimatorRules.md): Which typical values the Spin model starts from when it has to estimate a bullet's aerodynamic coefficients from its weight, size, length and construction. - [Flight to each range](https://coldborelab.app/api/docs/raw/options/flight.md): Whether each range's come-up is read off one flight with your zero, or off a fresh flight dialed for that range. - [Gravity](https://coldborelab.app/api/docs/raw/options/gravity.md): Whether gravity is the fixed standard value or the value for the shot's latitude. - [Air along the path](https://coldborelab.app/api/docs/raw/options/lapse.md): How air density and the speed of sound change with height during the flight. - [Magnus force](https://coldborelab.app/api/docs/raw/options/magnus.md): How strong the small upward push from the bullet's spin is taken to be, and how it changes with speed, in the Spin model. - [Speed of sound](https://coldborelab.app/api/docs/raw/options/soundSpeed.md): Whether the speed of sound at the rifle comes from temperature alone or also from humidity. - [Spin drift](https://coldborelab.app/api/docs/raw/options/spinDrift.md): How far a spinning bullet drifts sideways in calm air, either from a published formula in time of flight and stability, or as a fixed fraction of the come-up. - [Lift below the speed of sound](https://coldborelab.app/api/docs/raw/options/subsonicLift.md): Whether the bullet's lift, in the Spin model, is cut to about two thirds of its Mach-2 value once the bullet is below the speed of sound. - [Temperature on slopes](https://coldborelab.app/api/docs/raw/options/tempClamp.md): On cold or hot days, how the air cools or warms along a slope for the three Classic air choices, easing back toward a normal day on one side. - [Water vapor in hot air](https://coldborelab.app/api/docs/raw/options/vapour.md): How much water vapour the air holds: the usual saturation formula, or the classic reference's smaller amount above 80 °F. - [Wind in drag](https://coldborelab.app/api/docs/raw/options/windDrag.md): Whether drag is worked out from the bullet's speed over the ground or from its speed through the moving air. - [Yaw of repose](https://coldborelab.app/api/docs/raw/options/yawRepose.md): Whether the small angle the spinning bullet flies at to its path is worked out from gravity (and the Earth's rotation) alone, or from the bullet's own lift and Magnus force as well. - [Zero offset](https://coldborelab.app/api/docs/raw/options/zeroOffset.md): Whether the profile's stored zero height and zero offset shift every come-up and windage, or the rifle is taken as zeroed exactly on the aim point.