Glossary
The main terms a newcomer meets in Chapters 1 to 10, in the order the chapters bring them up. On the other pages, a word with a dotted underline opens its entry.
- Splash
-
What you see and play in Splashery: one object or tool that opens from the shelf, such as
the Torus or 3D Photo. A Splash's name is in title case, 16 characters or fewer (20 at
most), with no commas or parentheses, and an old name stays in its search words. Code,
ids, and links still say "toy" (
?toy=,toy:chest). - Gaussian (peak-one bell)
- A smooth weight that falls off exponentially with the squared distance from a center, measured in units of the widths. In this manual it peaks at 1.
- Weight field, positive widths
- A weight field is a number at every point in space: 1 at the center, falling off with distance. The three widths are a splat's sizes along its own axes; they must be above zero.
- Mean, center μ
- The position where the bell has its largest weight.
- Standard deviation, axis width s
- A length that measures distance along one of a splat's own axes. It is a yardstick, not a hard radius: the ideal weight is still about 0.14 at two widths.
- Covariance Σ
- A symmetric 3-by-3 matrix that holds the squared widths and the way the axes are turned, Σ = R S ST RT. Terms off the diagonal mean the axes are tilted.
- Quadratic form
- An expression in which every term has two factors of the input. In two dimensions, ad1² + 2bd1d2 + cd2². With 4 and 1 on the diagonal it is 4d1² + d2², and setting it to 1 draws an ellipse. The exponent of a Gaussian holds one [5].
- Matrix inverse
- The matrix that undoes another one: multiplying a matrix by its inverse gives the identity matrix (1s on the diagonal, 0s everywhere else). A Gaussian bell uses the inverse Σ−1 of its covariance. Only a matrix whose determinant is not 0 has one.
- Determinant
- One number that sums up a square matrix. For a 2-by-2 covariance with entries a, b, b, c it is ac − b2, which is also the product of its two eigenvalues. A determinant of 0 means the matrix is flat in one direction and has no inverse.
- Eigenvalue, eigenvector
- An eigenvector of a matrix is a direction the matrix only stretches, never turns; its eigenvalue says by how much. For a covariance, the eigenvectors are the axes of the bell's ellipse, and the eigenvalues are the squares of its widths along them.
- Positive definite
- A symmetric matrix whose eigenvalues are all above 0 (for a 2-by-2 matrix: a above 0 and the determinant above 0). A covariance has to be positive definite, so that the bell falls off in every direction instead of growing in one.
- Tilt, rotation
- Tilt is the off-diagonal terms of Σ: zero when a splat's axes line up with x, y, and z. Rotation is a splat's own turn. "Tilt lock" is a different thing: the camera control in Chapter 5.
- Anisotropic, isotropic
- Different widths along the axes, or equal widths in every direction. A plain kit splat is isotropic; the flat discs that cover a surface are anisotropic.
- Radian
-
A way to measure an angle by the length of arc it cuts off on a circle of radius 1. A full
turn is 2π (about 6.28) radians, a half turn is π, and a quarter
turn is π/2. The equation language's
sinandcos, and the angles in a recipe, use radians, not degrees. - Quaternion q
- Four numbers that describe a rotation. They only describe a rotation when their length is 1, so a reader scales them to length 1 first.
- Affine
- A straight-line map plus a shift, p ↦ Ap + b. Straight lines stay straight [6].
- Footprint
- The patch of the screen where one splat can add any color.
- Cull
- To skip a splat that would add nothing to the picture: one too faint, too small, behind the camera, or off the screen.
- Jacobian J
- The matrix of the projection's slopes at one point, used as a straight-line stand-in for the projection near the splat's center.
- Opacity α, transmittance T
- Opacity says how much a splat covers. Transmittance is how much of what lies behind still shows after the splats in front: the product of (1 − a) over them.
- Alpha compositing
- Laying colors over one another in order, each weighted by its opacity and by how much of the pixel is still uncovered.
- Anti-aliasing
- Softening the jagged stair-steps on an edge by blending the pixels it only partly covers. In some splat renderers, an option of that name lowers each splat's opacity to make up for the energy that a little extra blur spreads out. Splashery adds no such compensation.
- Spherical harmonics
- A compact way to store how a color changes with the direction you look from. Many trained captures store them; a kit splat has one base color.
- Recipe, capture
- A recipe is a program that makes splats. A capture is a file of splats fitted to photographs of a real thing.
- Kit, kit Splash
- The kit is Splashery's Splash-building library. A recipe names shapes, colors, and moving parts, and the kit fills them with splats in the browser, spreading the budget evenly by area. A kit Splash is built this way; a scan or capture is loaded from a file.
- Smoothstep
- The curve 3g² − 2g³, an S-shaped ramp from 0 to 1 that is flat at both ends, used to start and stop a motion gently [7].
- Grammar, atom
-
A grammar is a list of rules for what counts as a valid program. In it,
=is "is made of",|is "or",{ }repeats,[ ]is optional, and quotes mark text typed exactly. An atom is the smallest piece of an expression that can stand alone [8]. - u, v, t, morph
-
u and v are the coordinates of the flat sheet of points that each
splat gets a place on, before the equations bend it into shape. They are parameters of a
parametric surface, not a substitution [9].
t is time: 0 to 2π in the equation language, and the Splash's running time in a
recipe's
drive. A morph is a splat sliding from its own place to a target place. - Parametric surface
- A surface drawn by giving x, y, and z each as a formula of two numbers, u and v. Each splat gets its own pair (u, v), and the equations carry it to a place in space. A sphere, a torus, and a Möbius strip are all parametric surfaces.
- Kernel
- The rule for how a splat's weight falls off across its patch. The site normally draws a cut-off Gaussian; a labs setting can use a sharper one. Neither is the ideal bell.
- Part, token
- A part is a group of a Splash's splats that moves as one solid piece, such as a lid or a sail. Every splat carries the number of its part; number 0 is the body, so a Splash has up to 15 more (Chapter 2). A token is one of up to 48 separate pieces, such as a game piece, that a recipe moves by its own offset.
- Lever
- A piece that a recipe can move or turn by its own offset, such as a piano key. A kit Splash can have up to 96 levers in 6 groups, besides its parts and tokens.
- Drive
- The function in a recipe that runs every frame and says how the Splash looks now: the angle of each part, the glow, the page of a sheet. It does not move splats itself; it hands numbers to the graphics chip.
- Splat budget, tier
-
The number of splats the Splash is asked to draw. It depends on the Splash and on the
device: a tier (Low, Mid, High, or Max; Auto picks one) sets a count for each kit Splash
(about 200,000 at Mid for most), and a recipe may ask for more or fewer per base budget
with its
density. The Splats slider changes the count, up to about 1,000,000. - Pack
-
A file under
src/splashery/packs/that holds the recipes of a group of Splashes. - Labs switch
-
The setting that shows the Splashes and tools not yet ready for everyone. Add
?labs=1to the site's address to turn it on (the browser remembers it) and?labs=0to turn it off. A link to a labs Splash opens it either way; the switch only decides what the shelf shows. - Seed
- A number that starts a repeatable stream of pseudo-random numbers. The same seed gives the same Splash every time, which is why a link can rebuild it.
- Sorting, back to front
- Splats are partly see-through, so they must be drawn from the farthest to the nearest for the blending to come out right. The engine sorts them for the camera; a Splash that moves its splats may need them sorted again where they stand.
- Overdraw
- How many splats are drawn over one pixel. It is where the graphics chip's time goes: the grape at 300,000 splats piles 227 splats on each covered pixel on average and 793 at most, about 33 million blended fragments a frame, which the Heat Map view shows.
- View
-
A viewing tool that shows how a Splash is drawn or how it moves, rather than the Splash
itself: Cutaway, Show the Splats, Heat Map, Scrub and Slow Motion, Exploded Parts, Falling
Keys, and the Measuring Panel. Open one with the Views button in the bottom bar, or with
?view=<name>in the address (the Measuring Panel uses?measure=1). - Uniform, shader
- A shader is a small program that runs on the graphics chip for every splat. A uniform is a value the page hands it once a frame, the same for every splat, such as a part's rotation. Hands-on play, a recipe's drive, and the controls all reach the screen as uniforms.
- Level of detail
- Drawing less where little shows: a big structure gets fewer splats per atom, and a page far away gets a coarser sheet.
- Web worker
- A background thread of a page. Heavy jobs (reading a file, turning a page into splats, training) run in one so the page stays smooth.
- Sheet, leaf, spine
- A sheet is a flat place in a Splash where a picture shows (Chapter 5). A leaf is a sheet that turns like a page, about a spine.
- Focus mode
- After 5 seconds untouched, the header, the bottom bar, and the stage's buttons fade, so that only the Splash shows. Touch a strip at the top or bottom of the screen, or press a key, to bring them back.
- Hands-on, rigid body
- Hands-on is the ✋ switch: a drag picks up the Splash and a let-go tosses it. A rigid body is a thing that never changes shape, described by its place and its turn; most Splashes play as one (Chapter 6).
- Pop out
- On a picture Splash, raises a figure or a photo off its page into a card.
- Splash Book
- The Splash that shows a PDF as a book you can turn the pages of (Chapter 9). Its sample book is this Manual.
- Position-based dynamics (XPBD)
- A way to simulate physics by moving things to where they would be if nothing overlapped and every joint held, then working out their speeds from how far they moved. Splashery's own engine uses an extended form of it [11, 12].
- Substep
- One of the smaller steps a physics engine takes inside a single time step, to be more accurate. Hands-on steps 1/60 of a second at a time, in 8 substeps for a whole Splash and 10 for a Splash with pieces; smaller steps keep fast pieces from sinking into one another.
- Joint: hinge, slider, dial, socket, break
- The ways a part may move in hands-on play. A hinge swings about an axis, a slider moves along a line, a dial turns round and round, a socket lets a loose piece click back into its place, and a break lets a piece snap off when pulled hard. Each of the first three is moved by one number, an angle or a distance.
- Node, skin
- A node is one point of a rope or a cloth, held to its neighbors by links. A splat that follows two nodes (or four, for cloth) is called a skin splat: the rope bends and the splat stays whole.
- Restitution (bounce)
- The share of its speed a thing keeps after a bounce: a basketball dropped on a hard floor keeps about 0.82 to 0.88.
- Splash radius
- The unit of length hands-on play uses: the Splash's own radius. Gravity, throws, and the play area are given in Splash radii, so every Splash falls the same way whatever its size on screen.
- Ångström, B-factor
- An ångström is a tenth of a nanometer; atoms in a bond are about 1 to 2 of them apart. A B-factor says how much an atom's place is blurred in a crystal, by motion or disorder.
- CT, MRI
- Two kinds of medical scan that measure the inside of a body slice by slice: CT (computed tomography) uses X-rays, and MRI (magnetic resonance imaging) uses magnetic fields and radio waves. Each slice is a grid of numbers, and a stack of slices is a volume of voxels.
- Voxel
- A volume pixel: one little cube of a 3D scan, with one number for how dense the material is there.
- Window and level, Hounsfield unit
- A window picks the range of values that show, from a lower to an upper level, and the rest is hidden or faded. In a CT scan the values are in Hounsfield units, on which water is 0 and air is about −1000.
- Spectrogram
- A picture of a sound over time: time runs along one side, pitch along the other, and brightness shows how loud each pitch is at that moment. Song Landscape turns the spectrogram of a song into a 3D field.
- Loudness (LUFS)
- A meter's reading of how loud a sound seems, worked out from how a person hears it and not from its highest peak; a smaller (more negative) number is quieter. Splashery holds a single sound to at most −20 LUFS in its loudest 400 milliseconds, and what plays at once to about −16 LUFS.
- Point cloud, lidar, LAS and LAZ
- A point cloud is a list of points with places and sometimes colors. Lidar makes one by timing laser pulses. LAS is the standard file for them; LAZ is the same file compressed.
- Magnitude
- A scale on which each step is a fixed ratio. An earthquake's magnitude goes up by one for about 32 times the energy. A star's magnitude goes the other way: the smaller (or more negative) the number, the brighter the star, and 6 is about the faintest the unaided eye sees under a dark sky.
- Precession, sidereal time, J2000
- Precession is the slow wobble of the Earth's axis, one turn in about 26,000 years, which shifts where the stars are. Sidereal time is time measured by the stars instead of the Sun, and tells which part of the sky is overhead. J2000 is the moment (January 1, 2000, noon) a star catalog's positions are given for.
- Snapshot, feed
- A feed is a web address that serves current data, such as the earthquakes of the past week. A snapshot is a dated copy of that data that ships with the site, for when the feed cannot be reached.
- Depth map, relative depth
- A picture the same size as a photo whose every pixel holds how far away that part is. A depth model's map is relative: it says which parts are nearer than which, not how many meters. Often it is stored as disparity, which is large for near things.
- Sharp view, relief
- A second view of the photo Splashes that lays the photo, at its full resolution, on a relief: a surface lifted by the same depth the splats use. It is a textured surface, not splats.
- Back layer
- In the Sharp view of 3D Photo, the picture behind a near thing: the far side of a step in depth is copied in, and mirrored, as far as a 60° turn can uncover, so a turn shows picture where a gap would be. Nothing is invented.
- Training, gradient descent
- Gradient descent nudges numbers again and again in the direction that lowers an error. Training a splat scene is gradient descent on the splats' places, sizes, colors, and opacities until pictures drawn from them match the photos [1].
- Structure from motion
- Working out where the camera was for each of many overlapping photos, and where the points they show lie in space.
- WebGPU, WebAssembly
- WebGPU is the browser's newer way to use the graphics chip for general computation. Where a browser has it, it runs the depth model of 3D Photo, 3D Video, and Splat Mirror, and the piano-listening model; 3D World needs it for training. WebAssembly is a compact code format that runs at near native speed; it is the fallback, and without WebGPU the depth model runs on it through ONNX Runtime Web.
- PLY, SOG, SPZ, .splat
- Splat file formats. PLY is the plain one that every tool reads and that keeps everything. SPZ is about a tenth of its size and keeps view-dependent color. SOG is the smallest and can keep view-dependent color (Splashery's Splat Toolkit writes it with base colors only). .splat is simple and keeps base colors only.
- Light file, cross-fade
- A light file is a smaller copy of a capture, about 100,000 splats. At Low's count a capture opens on it; above that, the full file opens behind a veil, with an older light file drawn behind it first. Where a light file on the stage gives way to the full file, it does so in a 400 millisecond cross-fade: one picture fades out as the other fades in.
- Labels, hotspot
- A hotspot is a numbered, labeled point on a capture. Labels, a button on the stage, shows them as markers; a tap on one opens its title and text and glides the view to it. A marker the capture hides turns faint. Only a capture that lists hotspots has the button.
- Module, finder pattern, quiet zone
- A module is one cell of a QR code. The three big squares in the corners are the finder patterns, which let a reader find and orient the code. The quiet zone is the blank border, four modules wide.
- Error correction, Reed–Solomon, codeword
- A QR code holds extra codewords (8 modules each) made with a Reed–Solomon code [19], so a reader can rebuild the text if some are lost. The level (L, M, Q, or H) sets how much damage it can repair: about 7, 15, 25, or 30 percent of the codewords lost.
- QR version
- The size of a QR code, from 1 (21 modules on a side) to 40 (177). A longer text needs a higher version.
- Frame (QR)
- A setting for a round QR code. On QR Code it is None, the default, which fills the circle with code-like modules up to the code's edge, with a light ring round each eye, or White square. On Picture QR and Video QR it is Feather, the default, Continuous, or White square.
- Halftone, error diffusion
- Showing a picture with only dark and light dots. Error diffusion decides each dot by passing the error of the last choice on to the pixels beside it.
- Check digit
- A digit of a barcode worked out from the others, so a reader can tell when it has misread one.
- Fragment, deflate, base64url
-
The fragment of a link is everything after the
#; a browser never sends it to a server. Deflate is the compression of zip files and PNG pictures; a Splashery link uses its raw form. Base64url spells bytes with the 64 letters, digits,-, and_that are safe in an address. - Scene
- Everything needed to rebuild a view: the Splash, its options, the look, the camera, and any paint, written as JSON. A link is a scene; a scene file is the same scene saved as a file.