Sprites Source
The Sprites library is plain JavaScript, one namespace per file. Every file that ships lives in this list, grouped to match the library reference. The file name opens its full source on its own page; the Docs link opens its reference page. The Standards column counts the standards violations a simple check finds in each file; the fundamental reactive helpers are exempt. The Tests column runs each file's tests in the page and shows how many pass, in green when they all pass; the count links to the file's own Testing section, where each test opens to show its source.
Reactive Framework
The reactive framework: values, calculations and two way fields, with the logic, object, array, grid, optional, maths and text helpers built on it.
| File | Description | Docs |
|---|---|---|
Sprites.js | The one global object every file fills its own slice of. | View |
Sprites.Reactive.js | The two phase reactive core: values, calculations and two way lenses. | View |
Sprites.Logic.js | Boolean logic over reactive values: Not, And, Or and Equals. | View |
Sprites.Object.js | Reactive helpers over objects: read, construct, field views and copies. | View |
Sprites.Array.js | Reactive helpers over lists: length, item, slice, resize and size binding. | View |
Sprites.Grid.js | The Grid namespace and the Tiled block that cuts a large image into fixed tiles. | View |
Sprites.Grid.Two.js | Reactive helpers over a two dimensional grid of cells in row order. | View |
Sprites.Grid.Three.js | Reactive helpers over a three dimensional volume of cells, for voxels. | View |
Sprites.Optional.js | Helpers for values that may be absent, with a default when one is missing. | View |
Sprites.Maths.js | Arithmetic over reactive values: sums, products and the rest, kept live. | View |
Sprites.Text.js | String operations over reactive values, for labels and parsed numbers. | View |
Sprites.Animate.js | Time based drivers: Counter steps a value on an interval, SetAfter writes once after a delay. | View |
Sprites.Browser.js | The browser viewport width and height as reactive values. | View |
User Interface
The user interface framework on Sprites.Reactive: content, layout, buttons, input, a code editor, windows, overlays, DOM, images, scenes and touch.
| File | Description | Docs |
|---|---|---|
Sprites.Ui.js | The interface layer over Sprites.Reactive: Root, Enabled and Disabled. | View |
Sprites.Ui.Content.js | Content parts: a paragraph, a title and a section. | View |
Sprites.Ui.Layout.js | Layout parts over the stylesheet classes: row, column, grid and stretch. | View |
Sprites.Ui.Button.js | Button parts whose click runs as a reverse phase lens. | View |
Sprites.Ui.Input.js | Form controls, each two way bound to a reactive value. | View |
Sprites.Ui.Code.js | A plain monospace code editor two way bound to a reactive string. | View |
Sprites.Ui.Window.js | Windows: modal panels and draggable, resizable floating panels. | View |
Sprites.Ui.Overlay.js | Overlays: content shown above a background at the top of an area. | View |
Sprites.Ui.Dom.js | DOM builders: elements, attributes, text, classes, styles and events. | View |
Sprites.Ui.Image.js | Image surfaces for the interface: a Bitmap canvas and a Vector SVG. | View |
Sprites.Ui.Scene.js | Scene surfaces that hold a camera and draw over an image surface. | View |
Sprites.Ui.Touch.js | Pointer input surfaces reporting over, down and position. | View |
Sprites.Ui.Loading.js | A loading boundary that shows a spinner while a value read inside is pending. | View |
Sprites.Ui.Scroll.js | Scroll regions that clip content and scroll to the rest. | View |
Sprites.Keyboard.js | The keyboard as reactive values: a key's pressed state through a shared driver. | View |
Desktop
The desktop environment: a full screen surface with a dock, hosting the editors and standalone tools as applications in floating windows.
| File | Description | Docs |
|---|---|---|
Sprites.Desktop.js | The desktop shell: the grid surface, the dock, and the Application and Window parts. | Not documented yet |
Sprites.Desktop.Engine.js | The desktop instance registry: open windows as a reactive array, keyed by media and id. | Not documented yet |
Sprites.Application.Calculator.js | A scientific and programming calculator built as a reactive stack machine: every key is a handler that composes a new state and Sets it, handling precedence and brackets one press at a time with no expression parser. | Not documented yet |
Sprites.Application.About.js | A standalone about application: one window of details about the Sprites desktop. | Not documented yet |
Sprites.Application.Asteroids.js | A standalone application: the asteroids.net game in a resizeable window. | Not documented yet |
Storage
The storage layer: the user's saved work kept in the browser, one store across every media type.
| File | Description | Docs |
|---|---|---|
Sprites.Store.js | A generic reactive store over IndexedDB: reads, writes, filters and counts through one driver, live across tabs. | View |
Sprites.Library.Store.js | The media library over the store: fresh ids and the blank document envelope. | View |
Sprites.Library.Store.Meta.js | The listing half: one light meta row per document, for listings and counts. | View |
Sprites.Library.Store.Media.js | A piece of media as one whole record, with its meta projection kept in step. | View |
Sprites.Library.Store.Refs.js | The reference edges between documents: who uses a target, and what an owner holds. | View |
Graphics
The shared graphics primitives: colour, shapes on an image surface, a scene projected from three dimensions, and the WebGL2 shader render driver.
| File | Description | Docs |
|---|---|---|
Sprites.Colour.js | Colour values and components: pack, unpack, css, levels, a picker and a palette. | View |
Sprites.Image.js | The backend independent image surface context. | View |
Sprites.Image.Draw.js | The drawing commands placed inside an image surface. | View |
Sprites.Scene.js | A small three dimensional engine built on the reactive image model. | View |
Sprites.Scene.Draw.js | The drawing commands placed inside a scene. | View |
Sprites.Shader.js | The WebGL2 render driver that turns GLSL and inputs into a texture. | View |
Media
The editable media types, one kind of art per category, each with its own editor, drawing parts and tools.
Sprite
The sprite editor over an integer pixel grid, with its drawing parts and tools.
| File | Description | Docs |
|---|---|---|
Sprites.Media.Sprite.js | The sprite editor over an integer pixel grid, and its model. | View |
Sprites.Media.Sprite.Canvas.js | The drawing surface that shows the pixel grid. | View |
Sprites.Media.Sprite.Draw.js | The Draw tool: the brush that lays colour on the canvas. | View |
Sprites.Media.Sprite.File.js | The File panel: import and export a sprite. | View |
Sprites.Media.Sprite.Frames.js | The frames panel: the animation frames and their controls. | View |
Sprites.Media.Sprite.History.js | The history panel: undo and redo. | View |
Sprites.Media.Sprite.Info.js | The Info window: the mode and size controls. | View |
Sprites.Media.Sprite.Layers.js | The layers panel: the stack of layers and their controls. | View |
Sprites.Media.Sprite.Move.js | The Move tool: pan and zoom the view over the sprite. | View |
Sprites.Media.Sprite.Palette.js | The colour palette window, its picker modals and slot helpers. | View |
Sprites.Media.Sprite.Select.js | The Select tool: mark a region to move, rotate or clone. | View |
Sprites.Media.Sprite.Tool.js | The tool selector, the Windows buttons and the Tools window. | View |
Image
The image editor over a high resolution bitmap, with layers, drawing parts and tools.
| File | Description | Docs |
|---|---|---|
Sprites.Media.Image.js | The image editor over a high resolution tiled pixel grid, and its model. | View |
Sprites.Media.Image.Canvas.js | The canvas view: a backdrop, the pixel surface and the brush cursor. | View |
Sprites.Media.Image.Cells.js | The attribute image editor: a one bit mask over ink and paper cells. | View |
Sprites.Media.Image.Insert.js | The Insert panel: stamp a saved sprite into the current layer. | View |
Sprites.Media.Image.Layers.js | The layers panel: the stack of layers and their controls. | View |
Sprites.Media.Image.Tool.js | The image editor's Tools window. | View |
Shader
The shader editor: a stack of GLSL layers rendered into an image through the WebGL2 driver, with its per-type parameters, code editor and tools.
| File | Description | Docs |
|---|---|---|
Sprites.Media.Shader.js | The shader image editor: a stack of GLSL layers, and its model. | View |
Sprites.Media.Shader.Canvas.js | The stage that chains the visible layers and draws the result. | View |
Sprites.Media.Shader.Parameter.js | The control for one shader parameter. | View |
Sprites.Media.Shader.Params.js | A list of shader parameters and its Add button. | View |
Sprites.Media.Shader.Globals.js | The Globals window: shared code added ahead of every layer. | View |
Sprites.Media.Shader.Layer.js | The Layer window: the selected layer's name, code and parameters. | View |
Sprites.Media.Shader.Layers.js | The Layers window: the stack of layers and their controls. | View |
Sprites.Media.Shader.Info.js | The Info window: the image pixel size and layer count. | View |
Sprites.Media.Shader.Tool.js | The shader editor's Tools window. | View |
Font
The font editor for bitmap glyphs, with its parts and tools.
| File | Description | Docs |
|---|---|---|
Sprites.Media.Font.js | The font editor for bitmap glyphs, and its model. | View |
Sprites.Media.Font.Chars.js | The characters panel: the glyphs laid out to pick one to edit. | View |
Sprites.Media.Font.Tool.js | The font editor's Tools window and its Windows buttons. | View |
Text
The text screen editor: characters and ink and paper attributes over a grid of cells.
| File | Description | Docs |
|---|---|---|
Sprites.Media.Text.js | The text screen editor: characters with ink and paper over a cell grid, and its model. | View |
Sprites.Media.Text.Tool.js | The text editor's Tools window and colour palette. | View |
Map
The map editor for tile maps across the machines that support them.
| File | Description | Docs |
|---|---|---|
Sprites.Media.Map.js | The map media: tile indices over a two dimensional grid. | View |
Sequencer
The tracker style sequencer that drives each platform's native sound channels, with its grid, keyboard, note and effect parts.
| File | Description | Docs |
|---|---|---|
Sprites.Media.Sequencer.js | The tracker sequencer editor, its document factory and layout. | View |
Sprites.Media.Sequencer.Effect.js | The per cell effects and their editors. | View |
Sprites.Media.Sequencer.File.js | The File window: import and export a tune. | View |
Sprites.Media.Sequencer.Grid.js | The block table: a column per channel and a row per beat. | View |
Sprites.Media.Sequencer.Info.js | The Info window: tempo, beats per bar and bars per block. | View |
Sprites.Media.Sequencer.Keyboard.js | The piano keyboard that sets a note into the selected cell. | View |
Sprites.Media.Sequencer.Note.js | The Note window: edit the selected cell's note and effects. | View |
Sprites.Media.Sequencer.Transport.js | The Transport window: play and stop the tune. | View |
Sprites.Media.Sequencer.Tune.js | The tune: the arrangement of block slots and its editor strip. | View |
Binary
The binary data editor: a raw byte buffer with its editing tools.
| File | Description | Docs |
|---|---|---|
Sprites.Media.Binary.js | The binary media: a run of raw bytes, drawn as a hex editor. | View |
Sprites.Media.Binary.Tool.js | The binary editor's Tools window: the tool selector and the Windows buttons. | View |
Sprites.Media.Binary.Tool.Move.js | The binary editor's Move tool window: the start address and a Reset button. | View |
Sprites.Media.Binary.Tool.Draw.js | The binary editor's Draw tool window and its byte and bit palettes. | View |
Sprites.Media.Binary.Tool.Type.js | The binary editor's Type tool window: the entry granularity and caret readout. | View |
Sprites.Media.Binary.Tool.Select.js | The binary editor's Select tool window: the marked range and a Clear button. | View |
Sprites.Media.Binary.Tool.View.js | The binary editor's View panel: the bytes per line and the hex or binary choice. | View |
Sprites.Media.Binary.Tool.Info.js | The binary editor's Info panel: the byte length and count. | View |
Across the media
The shared media list module: the live listing every media page shows, the inline picker a caller fills a selection from, and the windows that wrap them.
| File | Description | Docs |
|---|---|---|
Sprites.Media.List.js | The one media list module: the paged Browser, the inline Picker, the shared cells and controls, and the Rename, Delete and Picker windows. | View |
Platforms
The platform packs, one for each machine, holding its colours, sizes, sprite modes and sound channels.
Commodore 64
The Commodore 64: hardware sprites, a fixed palette, redefinable characters, text and its SID sequencer.
| File | Description | Docs |
|---|---|---|
Sprites.Platform.C64.js | The Commodore 64 platform core: name, palette and channel bits, read by its media packs. | View |
Sprites.Platform.C64.Sprite.js | The C64 sprite pack: colour slots, modes and default size. | View |
Sprites.Platform.C64.Image.js | The C64 image pack: colour slots, modes and default size. | View |
Sprites.Platform.C64.Font.js | The C64 font pack: character sets, slots and modes. | View |
Sprites.Platform.C64.Text.js | The C64 text pack: default size, palette and modes. | View |
Sprites.Platform.C64.Sequencer.js | The C64 sequencer pack: its SID channels, note range and per channel capabilities. | View |
BBC Micro
The BBC Micro: its display modes, palette, sprites, images, fonts and sound.
| File | Description | Docs |
|---|---|---|
Sprites.Platform.BBC.js | The BBC Micro platform core: name, palette and channel bits, read by its media packs. | View |
Sprites.Platform.BBC.Sprite.js | The BBC sprite pack: colour slots, modes and default size. | View |
Sprites.Platform.BBC.Image.js | The BBC image pack: colour slots, modes and default size. | View |
Sprites.Platform.BBC.Font.js | The BBC font pack: character sets, slots and modes. | View |
Sprites.Platform.BBC.Sequencer.js | The BBC sequencer pack: its sound channels, note range and per channel capabilities. | View |
ZX Spectrum
The ZX Spectrum: attribute colour cells, sprites, images, fonts, text and beeper sound.
| File | Description | Docs |
|---|---|---|
Sprites.Platform.Spectrum.js | The ZX Spectrum platform core: name, palette and channel bits, read by its media packs. | View |
Sprites.Platform.Spectrum.Sprite.js | The Spectrum sprite pack: colour slots, modes and default size. | View |
Sprites.Platform.Spectrum.Image.js | The Spectrum image pack: colour slots, modes and default size. | View |
Sprites.Platform.Spectrum.Font.js | The Spectrum font pack: character sets, slots and modes. | View |
Sprites.Platform.Spectrum.Text.js | The Spectrum text pack: default size, palette and modes. | View |
Sprites.Platform.Spectrum.Sequencer.js | The Spectrum sequencer pack: its beeper channels, note range and per channel capabilities. | View |
Nintendo Entertainment System
The Nintendo Entertainment System: background tiles, sprites, fonts, maps and sound.
| File | Description | Docs |
|---|---|---|
Sprites.Platform.NES.js | The NES platform core: name, palette and channel bits, read by its media packs. | View |
Sprites.Platform.NES.Sprite.js | The NES sprite pack: colour slots, modes and default size. | View |
Sprites.Platform.NES.Font.js | The NES font pack: character sets, slots and modes. | View |
Sprites.Platform.NES.Map.js | The NES map pack: tile configuration. | View |
Sprites.Platform.NES.Sequencer.js | The NES sequencer pack: its sound channels, note range and per channel capabilities. | View |
Super Nintendo
The Super Nintendo: layered tiles, sprites, fonts, maps and sound.
| File | Description | Docs |
|---|---|---|
Sprites.Platform.SNES.js | The Super Nintendo platform core: name, palette and channel bits, read by its media packs. | View |
Sprites.Platform.SNES.Sprite.js | The SNES sprite pack: colour slots, modes and default size. | View |
Sprites.Platform.SNES.Font.js | The SNES font pack: character sets, slots and modes. | View |
Sprites.Platform.SNES.Map.js | The SNES map pack: tile configuration. | View |
Sprites.Platform.SNES.Sequencer.js | The SNES sequencer pack: its sound channels, note range and per channel capabilities. | View |
Game Boy
The Game Boy: four shade tiles, sprites, fonts, maps and sound.
| File | Description | Docs |
|---|---|---|
Sprites.Platform.GameBoy.js | The Game Boy platform core: name, palette and channel bits, read by its media packs. | View |
Sprites.Platform.GameBoy.Sprite.js | The Game Boy sprite pack: colour slots, modes and default size. | View |
Sprites.Platform.GameBoy.Font.js | The Game Boy font pack: character sets, slots and modes. | View |
Sprites.Platform.GameBoy.Map.js | The Game Boy map pack: tile configuration. | View |
Sprites.Platform.GameBoy.Sequencer.js | The Game Boy sequencer pack: its sound channels, note range and per channel capabilities. | View |
Game Boy Color
The Game Boy Color: colour tiles, sprites, fonts and maps.
| File | Description | Docs |
|---|---|---|
Sprites.Platform.GameBoyColor.js | The Game Boy Color platform core: name, palette and channel bits, read by its media packs. | View |
Sprites.Platform.GameBoyColor.Sprite.js | The Game Boy Color sprite pack: colour slots, modes and default size. | View |
Sprites.Platform.GameBoyColor.Font.js | The Game Boy Color font pack: character sets, slots and modes. | View |
Sprites.Platform.GameBoyColor.Map.js | The Game Boy Color map pack: tile configuration. | View |
Commodore Amiga
The Commodore Amiga: bitplane graphics, sprites, images, fonts and sound.
| File | Description | Docs |
|---|---|---|
Sprites.Platform.Amiga.js | The Commodore Amiga platform core: name, palette and channel bits, read by its media packs. | View |
Sprites.Platform.Amiga.Sprite.js | The Amiga sprite pack: colour slots, modes and default size. | View |
Sprites.Platform.Amiga.Image.js | The Amiga image pack: colour slots, modes and default size. | View |
Sprites.Platform.Amiga.Font.js | The Amiga font pack: character sets, slots and modes. | View |
Sprites.Platform.Amiga.Sequencer.js | The Amiga sequencer pack: its sound channels, note range and per channel capabilities. | View |
Oric
The Oric: attribute colour, sprites, images, fonts, text and sound.
| File | Description | Docs |
|---|---|---|
Sprites.Platform.Oric.js | The Oric platform core: name, palette and channel bits, read by its media packs. | View |
Sprites.Platform.Oric.Sprite.js | The Oric sprite pack: colour slots, modes and default size. | View |
Sprites.Platform.Oric.Image.js | The Oric image pack: colour slots, modes and default size. | View |
Sprites.Platform.Oric.Font.js | The Oric font pack: character sets, slots and modes. | View |
Sprites.Platform.Oric.Text.js | The Oric text pack: default size, palette and modes. | View |
Sprites.Platform.Oric.Sequencer.js | The Oric sequencer pack: its sound channels, note range and per channel capabilities. | View |
Teletext
The Teletext: its mosaic fonts and attribute text screens.
| File | Description | Docs |
|---|---|---|
Sprites.Platform.Teletext.js | The Teletext platform core: name, palette and channel bits, read by its media packs. | View |
Sprites.Platform.Teletext.Font.js | The Teletext font pack: character sets, slots and modes. | View |
Sprites.Platform.Teletext.Text.js | The Teletext text pack: default size, palette and modes. | View |
VGA
The VGA: 256 colours, sprites, images, fonts and text.
| File | Description | Docs |
|---|---|---|
Sprites.Platform.VGA.js | The VGA platform core: name, palette and channel bits, read by its media packs. | View |
Sprites.Platform.VGA.Sprite.js | The VGA sprite pack: colour slots, modes and default size. | View |
Sprites.Platform.VGA.Image.js | The VGA image pack: colour slots, modes and default size. | View |
Sprites.Platform.VGA.Font.js | The VGA font pack: character sets, slots and modes. | View |
Sprites.Platform.VGA.Text.js | The VGA text pack: default size, palette and modes. | View |
PC
The PC: its internal speaker sequencer.
| File | Description | Docs |
|---|---|---|
Sprites.Platform.PC.Sequencer.js | The PC sequencer pack: its internal speaker channel, note range and capabilities. | View |
MIDI
The MIDI: the MIDI output sequencer pack.
| File | Description | Docs |
|---|---|---|
Sprites.Platform.MIDI.Sequencer.js | The MIDI sequencer pack: its output channels, note range and per channel capabilities. | View |
MOD
The MOD: the module tracker sequencer pack.
| File | Description | Docs |
|---|---|---|
Sprites.Platform.MOD.Sequencer.js | The MOD sequencer pack: its module voices, note range and per channel capabilities. | View |