BETA · PATTERN TO SEWING · VERSION 0.4

Cutting Room
Operator Manual

A practical guide to receive an order, plan the cloth, cut traceable parts and issue bundles to sewing.

All processing stays on this computer. The browser uses local Rust WASM and the loopback Rust server for native operations. The desktop app uses its native Rust engine. No online factory account is required.

Before physical production, check pattern fit, fabric measurements, marker validation, shade and shrinkage, print scale and the machine profile. A green software check does not certify a cutter controller or a garment fit.

1. Receive orders and roll packing lists

  1. Open Floor → Orders and rolls. Choose Purchase orders or Roll packing list.
  2. Download the CSV or Excel template. Replace the example row. Keep schema_version equal to 1. In Excel, keep the sheet name Orders or Rolls.
  3. Use one order row per PO, style, colour and size. Give every row a permanent external_id. Quantities are whole garments. Use a new reviewed revision ID if the order changes.
  4. For rolls, use measured usable length in metres and laid-flat usable width in millimetres. Remove selvedges from the width. Keep receiving lot, dye lot and shade separate.
  5. Choose the file. Read the preview and row errors. Use Column mapping when source headers differ. Mapping does not convert units.
  6. Correct every error, preview again, then select Import checked rows. The whole file is rejected if a row fails. Identical records can be replayed without duplication. The same ID with different contents is a conflict.

Files must be UTF-8 CSV or XLSX, up to 5 MB, 10,000 data rows and 64 columns. Legacy XLS, formulas and Excel date serials are not accepted. Paste values and use YYYY-MM-DD text dates. XLSX identifiers should be text so leading zeros remain. CSV exports prefix dangerous formula-like text with an apostrophe; map that text explicitly in another system.

Select the PO / style / colour and choose Send quantities to Cut plan. Patterns for every ordered size must already be in Editor. Colours stay separate. Choose Open stock in Rolls for inspection to inspect a received packing list.

2. Make, import or digitize patterns

In Pattern, load the teaching bodice or start a document. Enter sizes and measurements. Create points, curves and piece outlines. Add seam allowances, grain, notches, drills and cut quantities. Grade all required sizes and inspect each size. The teaching block is a learning example; fit-test it.

DXF-AAMA/ASTM-style patterns open through the file bar. Seamly imports use the documented supported subset. Preserve source JSON and review the import report. Check units, pairs, labels, notches and grain after import.

For paper pieces, open Digitize. Print the BETA A3 target at 100%. Ten cells must measure 50 mm in both directions within 0.2 mm. Use dark matte backing, separated pieces and visible target codes. Upload PNG/JPEG, review the recovered overlay and scale, then accept selected pieces. Size, material and handedness are not inferred. Assign them before sending to Marker.

3. Make and check a marker

A marker is the arrangement of pattern pieces on fabric. Its x axis follows the fabric length. All geometry uses millimetres. Enter cuttable width, grain/nap rules, spacing, shrinkage, repeat and permitted reflections. For folded/tubular fabric the entered width is the laid-flat cutting width, not twice that width.

  1. Set garment ratio and check per-piece normal/mirrored quantities.
  2. Run automatic nesting or place pieces manually. A short search is useful for a draft; a longer run may improve a production marker.
  3. Use arrows to nudge, Alt+arrows to bump, R to rotate, F to flip when allowed, L to lock, and Ctrl+Z to undo. The Editor keyboard help lists all tools.
  4. Review missing/extra pieces, overlap, clearance, grain, folds, defects and matching errors. Keep the best valid result.
  5. Save job and result JSON. Export SVG/PLT/PDF for plotting or a reviewed ISO profile for cutting. Print patterns at 100%; disable fit to page.

Marker efficiency = piece outline area ÷ marker fabric area. It does not include end allowance, splice overlap, defects removed or returned ends. A higher percentage at another width does not by itself prove lower order cost.

4. Plan the order

In Cut plan, enter garments per size or load imported quantities. Set maximum plies, maximum garments per marker, allowed over-cut and table limits. Set allowance at each end of every ply. Make the plan, check quantity coverage and open every proposed marker that needs review.

One lay is one marker spread across several plies. Ratio M2/L1 on 20 plies produces 40 M and 20 L garments on open fabric. Folded cut counts follow the physical layer rules. The planner reports missing quantities explicitly. It never converts an estimated un-nested length into released cutter geometry.

The native CLI also provides batch width trials, cost-based planning, production report packs and a persistent queue. Those advanced operations have no complete dedicated web screen yet. Refer to the plan and queue READMEs for their commands and search-budget limits.

5. Inspect stock and approve shade/shrinkage

  1. In Rolls, confirm ticket and measured lengths, laid-flat usable width and complete lot/dye/shade identity.
  2. Add four-point defect observations. Choose the buyer score unit and limit. Review the roll and lot results.
  3. Record tested length/width shrinkage. Apply the compatible group's shrinkage to the job before nesting. Re-nest and remake a plan if compensation changes.
  4. Return to Floor → Orders and rolls and select Use inspected Rolls register.

The floor release checks the default inspection policy, required width, shade identity, shrinkage compensation and consumed defects again. It rejects any unresolved non-ignored defect in consumed cloth. Use Rolls and replanning to resolve it. A packing-list import alone is not an inspection certificate.

6. Release a spreading lay

  1. Open Floor → Spreading. Choose the current Editor marker or one saved Cut plan lay.
  2. Enter a unique lay ID, PO, colour, scheduled date and table. Confirm plies, end allowance and bundle size.
  3. Select compatible inspected rolls. A roll already reserved by another floor lay cannot be selected.
  4. For whole plies, leave safe splice zones blank. For a splice, enter both zone endpoints in table metres, including head allowance, and the overlap length. The entire full-width zone must clear every cut piece.
  5. Select Prepare lay. Rust independently checks the marker, allocates stock, audits roll balance and makes physical bundles. Short stock or unresolved defects stop release.
  6. Download the lay sheet HTML, generic spreader CSV/JSON, sticker-order CSV and ticket/sticker PDFs. The files use the saved source, so a later editor change cannot silently alter them.

Follow segment sequence, ply number, roll ID and roll starting offset. All spreads are forward, face up, with left usable edges aligned. At a splice position s with overlap o, outgoing cloth ends at s + o and incoming cloth starts at s. End allowances and overlaps consume real cloth.

Generic spreader CSV/JSON is an exchange contract, not a certified machine program. It contains no speed, tension, acceleration or controller-specific commands. Have the factory adapt and dry-run it before machine use. Cutter ISO has its own profile and calibration requirements.

The floor reserves each opened roll for one lay. After physical return, receive a verified reusable end under a new remnant ID, preserving lot/dye/shade and tested shrinkage. This version does not automatically reconcile or reuse returns across later lays.

7. Record spreading and cutting

In Floor → Cut tracking, choose a saved lay. The only sequence is planned → spread → cut → bundled. Status changes require an operator and date and are retained in history.

  1. At spread completion, enter actual spread passes and each opened roll's issued metres and reusable returned metres.
  2. Issued metres must not exceed measured stock. Returns cannot exceed issue. Net use must cover the actual marker passes.
  3. If fewer plies were spread, enter a measurement note. The app rebuilds bundles for only those actual plies. Discard old tickets and reprint the reduced set. More plies than planned require a new plan and are blocked.
  4. Record Cut only after physical cutting. Record Bundled after numbering and checking the bundles.

Measurements are frozen after spread completion. Correcting a released physical record currently needs a reviewed backup/replan process; there is no silent overwrite or reversal. Save a backup before each shift.

8. Number parts and print bundles

A floor bundle contains one part, size, colour, shade and handedness across contiguous plies. The complete physical piece key contains part, ply, marker garment, repeated-part slot and handedness. A marker garment ID is not a floor bundle number.

Use the ply sticker order CSV for a deterministic print/application order: ply, size, garment, part, slot, handedness. Every part of one garment and ply gets the same printed garment number. A label such as 1-60 means garment number 1 of the final number 60 for that size run; it is not a ply range.

Print A4 ticket and sticker PDFs at 100%. Check real label stock before a full run. QR payloads retain Unicode identity; the current PDF human text font is ASCII-limited. Do not rely on a printed number alone to identify a piece. Reprinting these files retains the same IDs; this version does not record a separate reprint audit.

9. Replace a damaged piece

  1. Open Floor → Re-cuts and select the original cut lay.
  2. Select the exact physical part, including bundle, ply, garment and handedness. Enter the damage reason.
  3. Choose a new batch ID and select Schedule replacements. Duplicate damage for the same physical piece is rejected.
  4. Open each generated job in Editor. The job contains only damaged quantities, uses open fabric, retains source rules and carries the required inventory shade identity.
  5. Nest and independently validate the replacement job. Prepare a separate floor lay using stock with the original lot/dye/shade identity. That lay accounts for its own fabric.
  6. After the physical replacement is cut, mark the damage Cut. After returning the replacement to its original bundle, mark it Replaced.

Do not mark a replacement cut merely because a marker exists. Re-cut transitions are operator attestations; they do not sense the cutter. Replacement fabric is not silently added to the original lay. A returned replacement is not a second sewing issue of the original bundle.

10. Issue bundles to sewing

  1. Open Floor → Issue to sewing. Enter the sewing line, operator and issue date.
  2. Focus the QR payload field. Scan a bundle ticket with a USB/keyboard scanner, or paste its compact JSON. Press Enter.
  3. The app validates the schema and exact registered bundle data. Unknown tickets, changed quantities and individual piece-sticker QR payloads are rejected.
  4. The lay must be Bundled. A repeated scan on the same line does not add another issue. A different line is a conflict; transfers need a separately reviewed process.
  5. Export BETA Time WIP CSV and save the floor backup.

Work in progress (WIP) is work issued to the next stage. The export is a versioned exchange for BETA Time or a factory spreadsheet. It is not a live connector, sewing receipt confirmation or an ERP goods posting.

CSV fieldsMeaning / mapping
schema_version, event_idVersion 1; stable issue event identity for duplicate-safe import.
date, line, operatorIssue date, factory sewing-line reference and person recording it.
order, style, colourMap to the factory's order/style references before import.
lay, bundle, size, part, mirrored, shadePreserve the full identity. The bundle key is order + lay + bundle.
first_ply, last_ply, issued_parts, statusInclusive ply range, physical part count and status issued. Do not sum different parts as completed garments.

No direct SQL or automatic Tally/SAP posting is performed. Test exchange replay and the site's field mapping before using totals in another system.

11. Read the dashboard and reports

Floor → Dashboard filters lays by scheduled date. Sewing issues are filtered by their issue date. Planned fabric includes each released lay's end and splice allowances. Actual use is issued minus reusable returns.

MeasureHow to read it
Fabric varianceActual use minus plan for measured lays only. An unmeasured lay is not a zero-use lay.
Marker efficiencyArea-weighted outline area divided by marker area, before end/splice loss.
Cutting yieldGeometric cut area for measured plies divided by actual consumed roll area. The roll's physical width and folded layers are included. Damaged parts remain in geometric cut area; this is not good-garment yield.
Returned end bitsMeasured reusable returns, distinct from planned opened-roll remainder and unopened stock.
Re-cuts pendingDamage not yet replaced on the original lays scheduled for the selected day.

Export consumption CSV for review. Blank actual fields mean not measured. For buyer/style costing, width comparisons and monthly production packs, use the existing cutroom production-report APIs/CLI. Quick costing is explicitly an estimate and requires representative calibration before commercial quotation.

12. Save, restore and recover

Floor state is stored locally under beta-floor-v1. Use Save floor backup to save all received records, frozen lays, measurements, damage, jobs and sewing issues as JSON. Keep shift backups outside browser storage. Restoring a backup replaces this floor state after Rust validates it; it does not merge records.

The desktop project also captures the floor snapshot with existing editor and planning panels. After merging or upgrading, rebuild and verify the floor WASM assets in the desktop package. Browser-storage failure blocks a mutation and leaves the prior in-memory state intact. The app never reports an unsaved scan as saved.

English is the source language. Hindi and Tamil navigation and main Floor labels are machine-translated drafts and are clearly marked for native operator review. Detailed instructions and validation messages remain English.

Quick problem checks

ProblemAction
Floor engine unavailableInstall/build the local floor WASM assets, then reload. Saved records remain untouched. Ask the installer maintainer to include them.
Import conflictCheck the external ID and original saved row. Do not change identity just to hide a duplicate. A real revision needs a reviewed new revision ID.
Not enough compatible clothCheck usable width, shade, shrinkage, reservations, end allowance and safe splice zones. Add inspected stock or revise the plan.
Actual plies differFor fewer plies, record a note and reprint the reduced bundles. Extra plies need a revised plan. Never issue original quantities for a shorter lay.
Unknown QRRestore/register the correct lay and scan the whole-bundle ticket. Do not edit the payload to force acceptance.
Storage fullSave the existing backup. Free space or restore a smaller reviewed dataset. Retest a save before recording more production.