SindriLot 1.0.0 — manual

SindriLot records which production batch filled which order line, blocks overselling a batch, traces in both directions, and prints a remake sheet and a change notice from your own batch records. It is one offline HTML file. There is no account, no upload and no tracking.

Tested on: Google Chrome 152 on Linux (desktop and a 390 px narrow window). Other browsers and operating systems were not tested. Printing was checked as a PDF; no physical printer was tested.

1. Prerequisites and opening the app

  1. Unzip SindriLot-1.0.0.zip into a folder you keep, for example Documents/SindriLot.
  2. Double-click sindrilot.html. If it opens in a different browser, right-click it and choose Open with › Google Chrome.
  3. No installation, build step or internet connection is needed.
SindriLot welcome screen with three numbered steps and buttons to open the sample, start empty or restore an archive
First run: open the sample, start an empty studio, or restore an archive.

2. First result in two minutes (sample studio)

Click Open sample studio. The fictional Oak Lane Studio has three batches, five order lines and one image: a labelled fixture diagram attached to batch M1 (an original drawing, not a photograph). All names and values are invented.

BatchFormMadeFirstsSecondsLost
M1Everyday Mug241842
P1Dinner Plate161222
P2Dinner Plate121110
  1. The app opens Allocate on order E1003 (6 mugs, firsts). Choose batch M1, type 15 and press Allocate. It is refused with both reasons: the line needs only 6, and M1 has only 14 firsts left.
  2. Type 6 and press Allocate. M1 now has 8 firsts left.
Allocation of 15 refused with two reasons listed
Overselling is blocked and nothing is saved.
Batches table showing firsts left M1 8 of 18, P1 0 of 12, P2 11 of 11
Expected result: firsts left M1 = 8, P1 = 0, P2 = 11. M1 seconds left = 1 (order S2001 took 3 seconds).

Trace: batch P1 → orders W07 (10) and E1002 (2); order W07 → batch P1 (10).

Trace view with batch to orders and order to batches tables
Forward and backward trace, each with a CSV download.

Remake sheet: choose order W07. Its only supplying batch, P1, is selected. For 10 good pieces the estimate is ceil(10 × 16 ÷ 12) = 14. Add a buffer if you want extra pieces; it is shown separately.

Remake sheet with estimate 14 and printable preview
The estimate uses only the chosen batch's recorded first-quality yield.
Printed remake sheet in black and white
What prints: labels, measurements, outcome, estimate and photos.

Change notice: reference P1, compared P2. Exactly one recorded difference is listed: the clay label.

Change notice listing clay label Stoneware A versus Stoneware A (new supplier lot)
Counts are outcomes, not material changes, and are not listed.

3. Your own studio

  1. On Start, type a studio name and press Start empty studio.
  2. Forms: add each repeat product (name, optional SKU, optional order-file labels — exact alternative names that appear in your order CSV).
  3. Batches › New batch: code (unique), form, made date, clay/glaze/firing labels in your own words, up to 6 extra labels (Name: value), up to 8 measurements (Height: 95 mm), and counts made / firsts / seconds / lost. Any gap is shown as unrecorded. Duplicate as next batch copies labels and measurements but not counts or photos.
  4. Optional photos: JPEG or PNG, at most 1 MiB and 12 megapixels each, 4 per batch, 32 per studio. The original file and name are kept unchanged.
  5. Orders: add order lines by hand or import a CSV. Each line names one form, a quantity and the accepted grade: firsts (default) or seconds.
  6. Allocate: a firsts line can only take recorded firsts; a seconds line only recorded seconds. Lost and unrecorded pieces are never available.
Batch M1 editor with counts, labels, forward trace and a fixture diagram attached
Batch M1 in the sample, with its labelled fixture diagram already attached when you open the sample. It is an original drawing, not a photograph.

Edits are checked as a whole before saving. You cannot lower firsts, seconds or a quantity below what is already allocated, change a line's form or grade, or delete a batch, line or form that is in use; the message lists the dependent rows to revise first. Remove allocation returns exactly that quantity to its pool.

4. Importing order lines (CSV)

Import review rejecting an order ID with spaces at both ends while 0001, 0001 with line a, and 00001 are added as separate lines
Exact IDs: row 2 (" 0001 ") is rejected with the reason; rows 3–5 are three different lines.
Import review table listing each row with status and reason
The sample file oak-lane-orders.csv: 2 new, 2 unchanged, 1 changed, 1 duplicate, 2 rejected.

5. Saving, closing and reopening

SindriLot keeps your studio in this browser's storage for convenience, but browser storage can be cleared. Save studio archive downloads a ZIP containing studio.json, spreadsheet views (batches.csv, order_lines.csv, allocations.csv), your original photos and manifest.sha256. The header shows Changes not yet saved in an archive until you save.

The example file examples/oak-lane-sample-archive.zip is exactly what Save studio archive produced after the walkthrough above (Open sample studio, then allocate 6 from M1 to E1003): the same studio.json, CSV views, fixture diagram and manifest. Only the ZIP timestamps differ when you save it yourself.

Restore archive… checks the whole archive before anything changes: SHA-256 of every entry, entry names and count, size limits, record fields, links between records, grades and allocation totals. You then confirm replacing the current studio. A damaged or edited archive is refused and the current studio is untouched. Restore archives exactly as saved; a re-zipped (compressed) copy is refused. The manifest detects accidental changes; it does not prove who made the file.

Restore confirmation dialog summarising the archive
Restoring in a fresh browser: an explicit confirmation before replacement.
Restore refused because studio.json is damaged
An altered archive is refused.

CSV exports prefix cells starting with = + - @ with an apostrophe so spreadsheets do not run them as formulas; studio.json keeps the exact text.

Two tabs: if the studio is changed in another tab, this tab shows a warning and refuses to save until reloaded, so two tabs cannot oversell the same batch.

Allocate view in a narrow phone-width window
Narrow window (390 px).

6. Limits

Per studio200 batches, 2,000 order lines, 4,000 allocations, 100 forms, 32 photos
Per batchmade/firsts/seconds/lost 0–1,000,000; 6 extra labels; 8 measurements; 4 photos
PhotoJPEG or PNG, ≤ 1 MiB, ≤ 12 megapixels
CSV import≤ 2 MiB and ≤ 2,000 data rows per file
IDsorder ID ≤ 64 characters, line ID ≤ 32; kept exactly (see section 4); photo file names kept exactly, ≤ 255 characters
Archive≤ 40 MiB, ≤ 100 entries, studio.json ≤ 8 MiB
Remake estimateneeded pieces and buffer 0–1,000,000; first quality only; needs every made piece recorded and at least one first

7. Troubleshooting

Message or symptomWhat to do
“… has N firsts left; you entered M”Choose a smaller number or another batch of the same form.
“… recorded N but M are allocated”Remove or reduce the listed allocations first, then lower the count.
“… unrecorded pieces” on the remake sheetRecord every made piece as firsts, seconds or lost in that batch.
Import row “starts or ends with a space”, “contains a tab … or invisible character” or “not Unicode NFC”Correct that ID in your spreadsheet and import again. SindriLot never trims or rewrites IDs, so it refuses ones that would look identical to a different ID.
Import row “does not exactly match a form”Add the exact text as an order-file label on the form, or fix the file.
“not valid UTF-8”Save the spreadsheet as “CSV UTF-8 (comma delimited)”.
“changed in another tab”Reload the page; the latest saved studio appears.
Restore refusedUse the archive exactly as SindriLot saved it. The message names the failing entry.
Studio missing after clearing browser dataRestore your latest archive.

8. Privacy

Everything stays on your computer. The app file makes no network requests (verified with a request log in testing) and contains a content-security policy that blocks connections. Archives and CSVs go only where you save them.

9. What SindriLot does not do

No firing schedules, recipes, chemistry, food-safety, product-safety or compliance guidance. Clay, glaze and firing appear only as your own labels. No shop integration, stock counts, accounting or seconds-yield forecasts. The remake number is an estimate from one batch, not a guaranteed yield.

10. Uninstall

Save a final archive if you want to keep your records. On Start, press Remove studio from this browser, then delete the SindriLot folder.