Commit Graph
89 Commits
Author SHA1 Message Date
grabowski 9b03e4de07 Plant overview: header bands follow the rounded box corners
Deploy test site / deploy (push) Successful in 44s
Every machine box has rounded corners (rx 4), but its header band was
a square rect inset by 1, painted over the box. At both top corners the
band's square corner covered the inside of the curved border, so the
border looked thin and squared off there, most visibly on a selected
box. The band is now a path with top corners of radius 3, concentric
with the box.

Measured on zoomed crops in headless Edge (light theme, selected
border): border thickness along the 45-degree diagonal against the
straight edge was 0.26 to 0.42 on the Traceability box, Classic C1 and
the VEX 50; now 0.9 to 1.13. Full UI check unchanged: all press states,
47 stations, demo buttons, no overflow, canvas alignment, no errors.
2026-10-14 09:27:49 +07:00
grabowski f776025b58 Plant overview: motion on canvas, no more lag
Deploy test site / deploy (push) Successful in 53s
The page spent most of each second laying out the SVG, not simulating:
the simulation itself costs ~26 ms per simulated hour. Profiled headless
on Edge (CDP metrics and a timeline trace with invalidation tracking):

- tokens asked the DOM for getPointAtLength right after writing a
  transform, which forced a layout of the whole SVG for every token,
  every frame (540 to 630 ms/s);
- ~55 CSS stroke-dashoffset animations repainted the drawing all the
  time;
- the press platens were SVG rects moved every frame, and any geometry
  write re-lays-out the whole SVG with its 275 text labels.

Now the SVG holds only the machines and labels. Pipes, flow dashes and
the conveyor are drawn on a canvas under it; tokens, records, platens,
cakes, the extruder screw and plating bubbles on a canvas over it, both
with the SVG's own viewBox transform, so pan and zoom need nothing extra.
Routes are measured polylines (ptAt) instead of DOM path queries, and
the 5 Hz tag, lamp and KPI writes only touch the DOM when the value
changes.

Headless Edge, 1600 x 900, before -> after:
  1x     26 -> 60 fps, layout 842 -> 26 ms/s, long tasks 19 -> 0
  60x    19 -> 59 fps, layout 858 -> 29 ms/s
  600x   18 -> 60 fps, layout 855 -> 30 ms/s
  3600x  33 -> 60 fps, layout 726 -> 29 ms/s

Behaviour unchanged: all press states seen at 3600x, 47 stations open
their detail, steam dip holds and recovers, lot and repress log, no text
overflow at 1600 x 900 and 1258 x 800, canvas and SVG agree within
0.2 px at fit, zoomed, 1258 x 800 and phone size, both themes, no
errors.
2026-10-14 09:16:38 +07:00
grabowski 53f3a07a45 Unified Engelbert Strauss workwear for all staff
Deploy test site / deploy (push) Successful in 43s
User, October 2026: we want unified Engelbert Strauss work clothes.

- worker-safety.md: decision recorded; everyone, office included, in the
  same Strauss workwear with the company logo, process PPE on top. Kit at
  Strauss catalogue prices checked October 2026 (incl. 19 % German VAT,
  which drops out on export): production 3 trousers e.s.motion 2020, 3
  polo shirts, 2 T-shirts, a sweatshirt, S1 safety shoes e.s. Vasegus II
  low, ~293 EUR before VAT, ~338 with embroidered logos (embroidery price
  an estimate); office 4 polos and a softshell jacket, ~127 EUR. Ordering:
  Strauss ships outside Germany where customs law allows, shipping quoted
  with the order, prepayment, duty and taxes charged to the recipient;
  Thai duty on work trousers 13.8 %, BOI does not cover clothing. About
  9k USD (~0.3M THB) a year at the start fleet. Check lighter lines for
  the press hall heat with samples.
- revenue-model.md: workwear noted on top of the x1.3.
- Fleet calculator: workwear line under labour (production and office
  kits a year, shipping and Thai duty), six new assumptions; 8,573 USD a
  year at the defaults.
2026-10-10 20:46:27 +07:00
grabowski 8032e0ea47 BOI: machinery import duty and import VAT, PVC duty relief
Deploy test site / deploy (push) Successful in 35s
User, October 2026: take the BOI duty-free import and VAT exemption into
consideration.

- boi.md: import VAT goes with the BOI duty exemption (Revenue Department
  answer on the BOI OSOS FAQ, checked October 2026); what it is worth:
  ~2.75M USD of imported machinery at the start fleet (block midpoints)
  would otherwise carry ~5 % duty (Thai MFN averages 4.1 % on HS 8477,
  0 to 10 % across HS 84; estimate until the HS codes are set), ~0.14M
  USD, and 7 % import VAT, ~0.2M paid at the border and recovered later
  as input tax, mostly as a refund claim since exports are zero-rated.
- total-investment.md: the blocks are vendor prices without duty or
  import VAT, so the headline already assumes promotion.
- Fleet calculator: BOI promoted / not promoted switch and export share.
  Not promoted adds the machinery duty to capex and depreciation, shows the
  import VAT as cash at the border, and charges duty on imported PVC
  compound; promoted exempts both, with no compound duty on exported
  records and 90 % off for domestic sales (sections 36(1) and 30). A note
  under the KPIs shows what promotion saves either way. Defaults: payback
  3.1 years with BOI, 3.2 without; adverse case operating result -31k
  with BOI, -68k without. CIT and BOI CIT exemptions still not modelled.
2026-10-10 20:29:32 +07:00
grabowski 1a368287f8 Labour from base salaries; health care with check-ups for all staff
Deploy test site / deploy (push) Successful in 34s
User, October 2026: option to enter base salaries; the company should
provide proper extra health care with check-ups for all staff.

- worker-safety.md: new "Health care for all staff" policy (decided
  October 2026): group health insurance (inpatient and outpatient) and a
  yearly check-up for everyone, office included, on top of social
  security; the occupational checks Thai law requires for risk-factor
  work (Ministerial Regulation B.E. 2547: within 30 days, then yearly, by
  an occupational physician, records kept 2 years after the job ends) for
  the press floor, galvanics and maintenance; planning costs with sources
  checked October 2026 (group insurance ~8,000 to 18,006 THB a head a
  year, plan ~15,000; Rajavej Chiang Mai check-ups 1,290 to 5,990 THB,
  plan ~2,500 plus ~1,500 risk-factor tests, estimates); social security
  5 % up to the 17,500 THB ceiling since 1 January 2026.
- revenue-model.md: cutting engineer 50,000 THB is base salary; health
  care on top of the x1.3 (~0.35M THB a year at the start fleet); what the
  x1.3 is made of.
- Fleet calculator: base salaries per role (the revenue model loaded
  rates / 1.3; cutting engineer 50,000), employer social security 5 %
  capped at 17,500, 25 % overtime, bonus and PPE, health insurance and
  check-ups for all staff incl. 4 office staff (scale.md 3 to 5), risk-
  factor tests for the press floor, galvanics and maintenance; all as
  editable assumptions; people table gains office and all-staff rows.
  Defaults: labour 5.25M THB (was 4.67M loaded), direct cost 1.90 USD a
  record, EBITDA 2.19M USD.
2026-10-10 20:17:39 +07:00
grabowski eac45eb234 Lacquer blank 70 EUR and cutting engineer 50,000 THB a month
Deploy test site / deploy (push) Successful in 39s
Team figures, October 2026:
- revenue-model.md: a lacquer blank costs about 70 EUR, one per side, so
  ~160 USD a two-sided title before recuts; a cutting engineer costs about
  50,000 THB a month;
- fleet calculator: the lacquer assumption is now in EUR (70, one per
  side, converted at 1.155 USD per EUR; styli and recuts not included)
  and the cutting engineer 50,000 THB a month, both marked as team
  figures instead of estimates. At the defaults lacquers come to ~54k USD
  a year and direct cost to 1.88 USD a record (was 1.86).
2026-10-10 20:12:26 +07:00
grabowski ce1d71e0b5 Fleet calculator: material, energy and labour cost, revenue and P&L
Deploy test site / deploy (push) Successful in 36s
User, October 2026: add calculation for material cost, PVC, carton,
chemicals, labour etc. and revenue from sales.

New "Money a year" card (and a "Prices and money" input card):
- revenue: standard records at the standard price, specials with the
  premium, title services per title (revenue-model.md 3.50 to 4.60
  blended, +0.60 to 1.70, 580 to 1,730 USD a title);
- materials and packaging: PVC from the compound tonnage (rejects in,
  trim back as regrind), labels per pressed record, inner sleeves,
  printed jackets, shrink wrap, shipping cartons (estimate), maintenance;
- stamper making: lacquer blanks and styli per side (estimate), nickel,
  silver and chemistry per electroformed part (revenue model: 60 to 150
  USD a three-generation set);
- energy from the fleet: machines, chiller and compressors at the hours
  run plus an estimated base load, roof PV off, PEA 3.2.2 blended rate and
  demand charge; steam from the presses running time at the biomass heat
  price (biomass.md); the start fleet lands in scale.md 4.3 to 6.4M THB;
- loaded labour per role (revenue-model.md wages; cutting engineer an
  estimate), headcount now also counts QC, maintenance and cutting;
- overheads, EBITDA, depreciation of capex (total-investment.md start
  fleet plan plus or minus each Duplex system and Classic), operating
  profit, payback; per-record cost bar;
- Adverse / Central / Favourable presets from the revenue model ranges,
  USD / THB / EUR display; ladder gains revenue and EBITDA columns.
At the defaults (1 M records, 20 % specials): revenue 4.42M USD, direct
cost 1.86 USD a record (revenue model central 1.94), EBITDA 2.23M.

README bullet; revenue-model.md links the calculator from its operating
picture.
2026-10-10 19:41:08 +07:00
grabowski 7d7a378c8b Fleet calculator: machine park schematic with the stamper line feeding it
Deploy test site / deploy (push) Successful in 34s
User, October 2026: add a visualization of the machine park and the
connected stamper production to the tool.

- New card "Machine park and stamper production": one live SVG that
  follows every input. Top: the stamper line, lathe, Pheenix PASU, PPPU,
  PDPU (2 cells), PMPB, Sibert VSF, VSP, VSC, each with its count, flow a
  day and how busy it is. Middle: the press hall, each Duplex cell drawn as
  in the cell sketch (presses either side of the operator, EX 50 and EX 35
  behind, trimmer in front) and each Classic with its built-in extruder,
  wrapping into rows and scaling down for big fleets; compound in on the
  left, stamper rack in and finishing out on the right. Bottom: central
  hydraulics, boiler, cooling, air and electrical piped up into the hall,
  amber where they exceed the plant as planned today.
- Stamper production is now counted per station from the cycle times in
  galvanics.md (silvering, pre-plate four at a time, father, mother,
  stamper plus handling per PDPU cell, PMPB, Sibert steps; usable share of
  the hours 80 %, estimate) instead of a flat 20 to 32 parts per PDPU.
  At the defaults: 1 PDPU at ~43 % busy, as galvanics.md concludes.
  New assumptions with sources; the lathe rate (8 sides a day) is an
  estimate.
- Requirements table: per-station counts and load; the URL hash now also
  reloads in an open tab (hashchange).

Checked headless in Edge, both themes: no JS errors, no text overlap or
overflow in the schematic at the default, 8 M and 30 M records, no
horizontal overflow at 390 px.
2026-10-10 19:30:05 +07:00
grabowski 6df1301fb9 Site: light and dark mode for the landing page, plant overview and fleet calculator
Deploy test site / deploy (push) Successful in 36s
User, October 2026: add bright/dark mode to the site for both tools.

- Each page sets data-theme on <html> before first paint: the saved choice
  (localStorage "cnx-theme", shared by all cnxvinyl.lol pages) or, without
  one, the system setting (prefers-color-scheme), which it keeps following
  until the user picks a mode. Toggle: header button (sun / moon).
- Plant overview: light overrides for every SVG class; pipe colours are
  now CSS variables (--p-*), used by the pipes and the legend, darkened in
  light mode where the dark-mode tints were too pale (DI water, granulate,
  stamper sets, cooling return); press state text and the VEX zone fills
  use variables instead of inline hex, so they flip with the theme.
- Fleet calculator and landing page: light palettes; input, flag, badge
  and ladder-highlight colours moved to variables.

Checked headless in Edge: both system schemes pick the right mode, the
toggle persists across pages, computed colours flip (press text, zones,
pipes, legend), no text overflow in either mode, no JS errors.
2026-10-10 18:27:58 +07:00
grabowski c6bec71442 Press fleet calculator: target output and specials share to fleet mix and needs
Deploy test site / deploy (push) Successful in 37s
User, October 2026: calculations for the later business plan, starting
from 2 Duplex + 1 Classic at 3 records a minute per Duplex and 2 per
Classic, as an interactive tool on the website: pick the yearly output
and the share of splatter/specials, get the machine mix and all the
requirements (people, hydraulics, power, ...).

docs/fleet-calculator.html (single static page, no dependencies):
- target mode sizes the fleet (specials only on Duplex with its EX 35;
  grow with Classics or with Duplex systems; start fleet as the floor);
  fleet mode takes a fleet and gives its output at the specials share;
- output, capacity, utilisation and the mix bar per machine type;
- needs: people per shift and in total, galvanics operators, machines,
  connected kVA and average kW, MWh/yr, central hydraulics (flow, motor,
  oil, accumulator), steam, cooling and cooling water, compressed air,
  press floor, room climate, compound, trim, titles, electroformed parts
  and plating units; checks against the 400 kg/h boiler, 250 kW chiller
  and the 870 m2 Payap press hall;
- ladder from the start fleet to a full Payap press hall, click to load;
- every assumption editable with its source (Newbilt Duplex site
  requirements V14 and offer 240620-04, scale.md, galvanics.md, revenue
  model, Payap model; estimates labelled), shareable link via the hash.
The Classic counts as one HRP 12 press plus one extruder until Newbilt
states figures (Toolex Alpha leaflet as a cross-check).

Site: DEMOS entry (/demos/fleet-calculator/) and landing-page entry.
README bullet and layout line; backlinks from scale.md (capacity) and
pressing-line.md (current plan).
2026-10-10 18:21:47 +07:00
grabowski 68539d563c Payap model: main gate, guard house, boom barrier; truck paving cut down
User, October 2026: add the guard house and the gate; the truck apron is
far too big.

Model (changed live in FreeCAD 26.3):
- main gate as in the phase 1 RFQ: piers and two 5 m sliding leaves (shown
  open, parked inside the wall), 10 m clear (gate_width 8 -> 10 m);
- guard house as in the RFQ: 4 x 3 m (guard room 8.4 m2 + WC 3.6 m2),
  window wall to the gate, guard desk, on the gate's north-west side;
- boom barrier just inside the gate (cars and trucks both pass it);
- truck paving: the 42 x 101 m apron (~4,240 m2) replaced by an 8 m gate
  road (550 m2) and a 32 m deep apron and dock face (1,600 m2) that joins
  the east service road; new params apron_depth, road_w.

Docs: site-candidates Access bullet (~2,150 m2 heavy-duty paving against
1,608 m2 in the Mueang Chi RFQ).
2026-10-10 17:58:18 +07:00
grabowski 90697c8cac Payap model: Duplex cells at Newbilt sizes; fire water per facility-security
User, October 2026: the Duplex sketch is not to scale, check it against
the documents; the fire water tank is too small.

Model (changed live in the open FreeCAD 26.3 document):
- both Duplex cells rebuilt in the sketched arrangement at the documented
  sizes: presses 0.95 m square (0.9 m2) turned 45 deg, EX 50 0.5 x 1.0 m
  (0.5 m2), EX 35 0.4 x 0.8 m and trimmer 0.6 x 0.6 m (estimates),
  operator position marked; 0.6 to 0.8 m between machines;
- fire water: the ~25 m3 yard tank replaced by the facility-security
  planning tank, 9 m x 4 m (254 m3 gross, ~200 m3 usable), new params
  fw_dia, fw_h, fw_x, fw_y, at the front by the access road, outside the
  production yard, on a ring foundation, with a pump house (duty electric,
  standby diesel, jockey); the yard process water tank is now the 5 x 3 m
  raw water tank of the phase 1 RFQ.

Docs: site-candidates (cell, raw water, fire water bullet),
facility-security (the Payap model draws the tank; 6 m racking and twice
the floor area make ~200 m3 a floor there).
2026-10-10 17:43:09 +07:00
grabowski 7da64088ce Duplex cell layout: one operator, presses turned towards him
User sketch, October 2026 (filed as docs/equipment/
duplex-cell-layout-sketch.png; arrangement only, the user notes it is not
to scale): operator in the middle, the two presses either side turned 45
degrees towards him, EX 50 and EX 35 side by side behind him, one trimmer
per cell in front on the left.

Sized from the Newbilt site requirements p. 10 (press ~0.9 m2, extruder
~0.5 m2, hydraulic aggregate ~1.0 m2, walk-around space, >= 60 cm to
walls, room height >= 2.5 m): cell ~5 x 3 m, 0.6 to 0.8 m between
machines; EX 35 and trimmer footprints are estimates. The layout drawing
the site requirements refer to on p. 11 is missing from our copy: ask
for it with the re-quote. README layout line for the sketch.
2026-10-10 17:43:00 +07:00
grabowski 83840d45dc Payap model v4: colour store, silos, two-storey finishing and print block
User, October 2026: ground-floor colour store plus outdoor silos; a
two-storey block at the east end with packaging below and printing plus
print and packaging stock above; in-house printing not decided, so the
print room is reserved only.

Model (rebuilt live in FreeCAD 26.3 after checking a copy of the saved
file for user edits; parametric check plot 150->160 m and upper floor
3.8->4.2 m passed):
- factory 128 x 25 m, plot 150 m (14.1 rai), corridor 98 m, fire wall
  at 106 m, new params crane_x (runway end = press hall end, 92 m) and
  mezz_z (+3.8 m);
- galvanics open to stamper prep (wall kept only on the material area
  and electrical side);
- colour store 10 m bay (~180 m2): two racking rows, ~100 pallet
  positions on 4 levels (estimate), weighing and mixing, vacuum
  conveying station; indoor silos replaced by regrind bins;
- 4 outdoor PVC silos (2 black, 2 standard colours, ~50 m3 each,
  estimate), big-bag filling station, buried conveying lines;
- finishing and print block 14 x 25 m: ground floor trim, optical
  inspection, QC, packaging (tables, shrink wrap, pallet wrapper), stair
  (Arch Stairs) and goods lift; upper floor print room (reserved), print
  stock, packaging materials.
New docs/cnx_vinyl_parametric_payap-block.png with both block levels.

Docs: site-candidates Payap section rewritten (areas ~3,800 m2 under
roof, ~4,630 m2 of floor), crane doc (98 m corridor, runway ends at the
press hall), README bullet and layout line.
2026-10-10 17:21:44 +07:00
grabowski d9f3a4b88e Compound storage for tens of colours; stamper prep open to galvanics
User, October 2026: special designs will need tens of colours, so the
compound store needs far more space, with maybe a few silos for black and
the standard colours; and the wall between stamper prep and galvanics is
to go.

- pressing-line: "Compound storage" bullet (colour store with pallet
  racking, ~100 positions in the Payap model, estimate; outdoor silos
  proposed; compound stays on the ground floor, ~160 to 270 t a year at
  the mature fleet; sacks vs big bags decides the silo filling).
- galvanics: stamper prep open to galvanics, one clean zone.
2026-10-10 17:21:33 +07:00
grabowski 0700c14b5c Payap model: two-storey office building with canteen, changing and showers
User, October 2026: the office building also houses several showers, a
changing room, toilets and a canteen; the office area itself about
150 m2; the building can be multi-storey.

Model (office rebuilt live in FreeCAD 26.3; factory and site untouched):
- 32 x 15 m on two storeys (off_storey 3.6 m), ~960 m2 of floor, Arch
  Stairs plus a lift, first floor slab with the stair and lift void;
- ground floor: reception and lobby (entrance and link door), canteen
  ~40 seats with kitchen and servery, changing rooms women and men with
  4 showers each and lockers, toilets, mastering and cutting (acoustic
  lining), listening room, archive;
- first floor: offices 147 m2 (16 desks), training room (Payap
  programmes), meeting room, IT and server, toilets, pantry, flexible
  room;
- factory staff entry relabelled "PPE, WC" (changing is in the office).
New docs/cnx_vinyl_parametric_payap-office.png with both floor plans.

Docs: site-candidates Payap section (office bullet, staff entry, area
~3,400 m2 footprint / ~3,880 m2 floor), README bullet and layout line.
2026-10-10 17:01:40 +07:00
grabowski 4263fbbd9b Payap model v2: bigger factory, shared plant room, separate water treatment
User, October 2026: the factory is too small and needs room to grow
(possibly ten more Classics), one shared hydraulic and air supply, water
treatment perhaps in a separate building connected to the galvanics lab,
and a fully equipped workshop (maintenance tools, 3D printers, maybe a
lathe and a small CNC mill).

Model (rebuilt live in FreeCAD 26.3, BIM objects, Params-driven,
parametric check plot 135->145 m and factory 112->120 m passed):
- plot 135 m (11.4 rai) with a reserve; factory 112 x 25 m, 16 bays,
  82 m visitor corridor, fire wall at 90 m;
- press hall ~870 m2: two Duplex systems (EX 50 + EX 35), the Classic,
  ten future Classic positions in two rows on a service trench;
- central hydraulics and compressed-air plant room (~62 m2);
- water treatment building 12 x 10 m behind galvanics: buried duct
  (gravity from the +1.2 m floor), covered crossing 6 m clear;
- workshop ~200 m2 with benches, tool cabinets, 3D printers, lathe,
  small CNC mill, drill, saw, welding bay, press, washer, measuring table.

Docs: galvanics (water treatment building, proposed), crane doc (workshop
fit-out; lathe and CNC mill not yet priced; corridor now 82 m),
site-candidates Payap section rewritten, README bullet.
2026-10-10 16:47:44 +07:00
grabowski 9e0c5d4045 Fleet: one shared hydraulic and air supply; room for ten more Classics
User, October 2026: the presses run from one shared hydraulic supply
and one compressed-air supply, and the plant may add up to ten more
Newbilt Classics at some point.

- pressing-line: fleet table and intro (shared central supply), new
  bullets on the shared supply and the expansion option, re-quote point
  (central supply for the whole fleet, extendable, can the Classic run
  from it), Hydraulics bullet now the plan.
- scale: "Expansion (option)" capacity row, ~4.7 to 5.8M records/yr on
  the same basis, explicitly outside revenue model and investment;
  utilities note: fifteen presses would need ~2.3 to 2.7 t/h steam and
  up to ~1.9 MW cooling, a utility phase of its own.
2026-10-10 16:47:34 +07:00
grabowski f2bb7f3d85 Payap scenario: parametric BIM model of the whole plant on a square plot
A separate FreeCAD 26.3 model (the Mueang Chi model is untouched) sites
the plant on a 110 m square placeholder plot of Payap land, built from
BIM objects (Arch Site, Buildings and Levels, walls, slabs, columns,
beams, a ramp, Spaces with computed areas, Equipment). Every object sits
on an expression-driven base, so the Params sheet drives plot, setbacks,
floor level, building sizes, fire wall line and office gap (checked:
plot 110 to 120 m and factory 84 to 90 m, everything followed).

- Factory 84 x 25 m, production only, in process order along a 54 m
  glazed corridor; press hall 465 m2 with the October fleet (two Duplex
  systems, each EX 50 + EX 35, and the Classic); crane to the fire wall;
  machine door and 12 m ramp at the north-west corner.
- Office building 24 x 15 m, 12 m away on its own slab with a covered
  link: reception, offices, meeting/training, mastering and cutting,
  listening, IT, archive. Resolves the crane-zone conflict of the old
  sketch.
- Utility yard behind the press hall (boiler and chiller flagged for
  re-sizing), gate, truck apron, car park, service road.
- site-candidates: new section and plot-fit note; crane doc: conflict
  resolved, 54 m corridor; README bullet and layout lines; the old
  sketch is labelled as Mueang Chi with the earlier fleet.
2026-10-10 16:31:46 +07:00
grabowski 3a758fcffb Fleet: each Duplex has an EX 50 main and an EX 35 colour extruder
Correction from the user: the two Duplex systems are not in the
two-extruder configuration. Each runs two HRP 12 presses from an EX 50
main extruder with an EX 35 auxiliary extruder beside it for a second
colour; the Classic stays. Fleet still five presses. Updated in
pressing-line (table, phasing, re-quote: EX 50 vs the VEX 50 of the 2024
quote, and whether one EX 50 keeps both presses at full rate), scale,
total investment (wording; estimates unchanged), roadmap item 4, README.
2026-10-10 16:11:46 +07:00
grabowski c50417668b Press fleet: two Newbilt Duplex systems with an extruder per press, plus a Classic
The current plan (user decision, October 2026) replaces the 50/50 target
(two semi-automatic presses and two Pheenix AD12s) with an all-Newbilt
fleet of five presses: two Duplex systems in Newbilt's two-extruder
configuration (two HRP 12 presses, an extruder each, one hydraulic unit)
and one Classic fully automatic press.

- pressing-line.md: new "Current plan" section (fleet table, what it
  means, phasing from the Single 2.1 as the first half of system 1,
  re-quote questions); site requirements per Duplex system.
- scale.md: capacity table and basis (368 to 448 records/h, ~1.06 to 1.5M
  a year on two shifts, same range as before); pressing electrical row;
  steam and cooling flagged, not re-based: five presses draw ~750 to 900
  kg/h of steam and up to ~625 kW of cooling at Newbilt's per-press
  figures, against the 400 kg/h / 250 kW sized for one Duplex.
- total-investment.md: fleet change as an added-scope row (system 2
  ~230k-300k and the Classic ~290k-460k, estimates; -60k / -160k against
  the two blocks it replaces); headline unchanged until the re-base.
- roadmap items 4, 5 and 24, revenue model mature row, crane doc (the
  Classic's weight now decides 5 t or 3.2 t), vendor landscape (AD12 is
  the comparison for the Classic), README.

The business plan docx is not regenerated.
2026-10-10 16:05:27 +07:00
grabowski f1334f4756 OMS introduction letter and links, Sibert's answer (9 October 2026)
OMS (Lou Wullms) sent its introduction letter, filed in
docs/equipment/oms/: wet-room units with reference prices, two 4-cell
configurations (EUR 224,000 basic with two EFS2-200, EUR 311,000 advanced
with one AEFS4-250 and PLC; installation days extra), capacities of 24
and 32 shells in an 8-hour day, utilities, rooms, staffing, used
equipment, and five contacts for buying a cutting lathe. Recorded in
galvanics.md (tables, our reading: the advanced units add up to EUR
314,000, know-how transfer is left out of both totals although CNX has no
plating know-how, the basic set has no passivation unit), the exhibitor
follow-ups, vendor landscape (new section on used lathes and cutting-room
contacts, plus Lou's three websites), supplier map, roadmap items 6 and
13, total investment (basis note only, block unchanged) and the scale
people estimate. Open: forward the letter to Simona, as Lou asked.

Sibert (Ian Locke, 9 October): footprints and formal quotations when we
are ready; settle the pressing side first, hopefully with Pheenix, and
mention his recommendation if we do; impressed by the green-factory
plans (supplier feedback). Open: pass on the recommendation if Pheenix is
chosen.

CNX-01 in proplan: OMS basic and advanced added as options to D-002 with
their reference prices in THB; budget line 3 notes the OMS range.
2026-10-10 15:52:23 +07:00
grabowski 90d8a3778a Record the replies to Sibert and OMS
- Sibert: back in Thailand, investor meeting in preparation, his OMS/Pheenix
  advice noted; itemised quotation not yet requested.
- OMS: met in Haarlem; role split given to Lou (Simona management and audio,
  Alexander technical); waiting for his calculation material.
- README: team roles, investor meeting in the status list.
2026-10-09 12:14:59 +07:00
grabowski 21419145f8 Replies sent to Sibert (Ian Locke) and OMS (Lou Wullms)
OMS confirmation is done; next is the calculation material from Lou
Wullms. Sibert itemised quotation still open.
2026-10-09 12:08:07 +07:00
grabowski 4fec258f15 After Haarlem: Pheenix CEO follow-up, OMS first contact, SST
- Pheenix Alpha (Robert Gunnarsson, 5 Oct; Simona's reply 9 Oct): offers
  a Teams call, reference clients and a factory visit near Stockholm;
  300+ presses (vendor figure); we call once questions are concrete,
  next Europe trip planned for February 2027. CEO contact and Marsta
  address added.
- OMS (Lou Wullms, 7 Oct): first email contact, company data, contacts
  (Lou Wullms technical, Wilma Peeters accounting/logistics); open: reply
  to confirm, then OMS sends material to calculate from.
- SST Frankfurt (Daniel Krieger, 7 Oct): cut the lacquers for POY003,
  005, 006 and 013; on good terms with ResurRec; offered help. New cutting
  service entry in the supplier map and vendor landscape; corrected the
  briefing, which had SST as DMM (its site lists lacquer and dubplates).
- Roadmap items 5, 6 and 14 and the production timeline launch basis
  updated accordingly.
2026-10-09 06:38:52 +02:00
grabowski 47e5f9e458 Biomass: reported northern fuel prices (October 2026)
No public price index exists; DEDE lists buyers, not prices. Reported
market prices: fresh chips 1,350-1,800 THB/t (LH Bank, Mar 2026),
rubberwood firewood >1 THB/kg farm gate (OIE RIU 2026, doubled since late
2025), corn residue 2 THB/kg (Sunsweet, Mae Chaem), rice husk ~1.5 THB/kg,
pellets 3,000-5,000 THB/t. Planning price 1.35-2 THB/kg delivered, so the
mature fuel bill is ~0.6M-1.2M THB/yr (was 0.35M-0.8M): still a quarter
to a tenth of electric steam. Prices follow diesel; Ratch Pathana's Pa Sak
(Lamphun) buying centre is the local price-setter. Sources filed under
docs/finance/biomass/; sustainability.md and README follow.
2026-10-07 10:08:54 +02:00
grabowski 9640a4f075 Energy: PEA tariff, electric vs biomass steam, PV vs solar thermal
PEA tariff schedule (May 2023 onward, still current) filed under
docs/finance/pea/; Ft 0.1623 THB/kWh for Sep-Dec 2026 from the PEA Ft page.
The plant falls under Schedule 3.2.2 (Medium General Service, TOU, 22 kV).

New section in sustainability.md: blended ~3.81 THB/kWh for two-shift
production plus 132.93 THB/kW demand charge; electric steam ~4.7M-5.5M
THB/yr at maturity against ~0.35M-0.8M of biomass fuel; self-consumed PV
worth ~3.7 THB/kWh (~4.5-7 yr payback); solar thermal not recommended;
the battery earns little from TOU arbitrage or peak shaving. biomass.md,
scale.md, the utilities CSV note and the README follow.
2026-10-07 09:54:31 +02:00
grabowski 79e8cddcff Production hall: rough BIM layout sketch
FreeCAD BIM (Arch) sketch of the 60 x 25 m phase 1 hall:
Building > Ground floor with Spaces for every zone (areas computed),
room-in-room partitions, the fire wall at 48 m, the 5 t crane runway,
and the main equipment as BIM Equipment (Pheenix line, Sibert row,
Newbilt Duplex and two Classic presses, silos, racking). Zones run in
process order along the visitor corridor. Top-view PNG alongside.
Linked from the README and from the crane doc, with the one conflict it
shows: reception and cutting room under the crane travel.
2026-10-07 09:40:13 +02:00
grabowski 856e0a2ccf Add the Poy Records logo
docs/brand/poyrecord-logo-1536x1536.png (1536 px PNG), shown at the top
of the README and listed in the repository layout.
2026-10-07 09:24:35 +02:00
grabowski 6888abe602 Sibert follow-up: USD 250k budget, current VS specs, OMS as galvanics option
Deploy test site / deploy (push) Successful in 41s
Ian Locke's email of 5 October 2026 after Making Vinyl Europe:

- Budget of USD 250k for VSP, VSF and VSC confirmed; his time, spares,
  shipping and travel extra; itemised quotation on request. The
  total-investment block keeps its estimate until the re-base, the
  difference (+190k low case / +80k high case) goes into the
  not-yet-rolled-up table.
- Current specifications filed (VSF and VSC 2022, VSP 2023) plus the
  VSF/VSP/VSC line-up drawing (4958 x 833 mm); the 2021 issues move to
  sibert/specs-2021/. VSC is now 1000 kg with split OD hydraulic / ID
  pneumatic forming; VSF 0-30 psi, 4-station head. Crane table, supplier
  map, vendor landscape and the plant page details updated.
- Fully automatic VSPa exists; Sibert offers to move features to the VSP.
- Electroforming: OMS (Optical Media Services, Lou Wullms) named next to
  Pheenix; added as a third galvanics candidate with open questions.
- Sequencing advice (presses, boilers, operators and live feedback loops
  first) recorded in the exhibitor briefing, roadmap item 23, and as
  digital-factory design decision 9 (operators see the data first).
2026-10-07 09:24:11 +02:00
grabowski b672c58e34 Plant page: mature fleet at real cycle times
Deploy test site / deploy (push) Successful in 34s
Rebuild docs/plant-operation.html from the single P1 press into the mature
plant: Newbilt Duplex (two HRP 12 on a VEX 50, EX 35 for splatter), two
Newbilt Classic automatic presses with edge trimmers, label punch and
Granulator 400; Pheenix Alpha PASU, PPPU, two PDPU and PMPB; Sibert VSF,
VSP and VSC in that order; father and mother archive and the stamper rack.

Time runs at 1x real time with speeds up to 3600x. Press cycles are
Newbilt's (Classic 28 s, Duplex ~30 s), plating follows Faraday's law at
the PDPU current, and the operator steps use the galvanics.md table, with
unpublished times marked as estimates. Titles flow through the three artist
gates in days; test pressings unmount and the presses run approved work
meanwhile; worn stampers and represses come from the archived mothers.
Two shifts, unplanned press stops sized to scale.md's 60 to 70 %
effectiveness, and demos for a steam dip, a new PVC lot and a repress.

The boiler and chiller are shown at 800 kg/h and 500 kW (estimates) and
the detail panels flag that scale.md's 400 kg/h and 250 kW are Duplex
figures; scale.md itself is unchanged.

Also commits the galvanics.md cycle-time table the page runs on (one PDPU
covers demand, the second is redundancy) and updates the README and the
test-site descriptions.
2026-10-03 22:47:57 +02:00
grabowski 9b26cfbf7c PVC lab: instrument list with estimates, and cost it
quality-automation.md: the day-one per-lot tier becomes a table with an
instrument class and a rough price per check (moisture analyzer, strip
oven, density balance, spectrophotometer, gloss, sieves, muffle furnace,
stereo microscope), plus what was missing: a lab plaque press or two-roll
mill so speck, color and DSC tests do not tie up a production press;
sample conditioning as part of the method at 60 to 90 % ambient humidity;
magnets for metal in lots and regrind. Day-one tier ~USD 55k to 150k
(estimate); Karl Fischer and the ISO 182 Thermomat as options. Mature tier
priced (~120k to 240k), handheld XRF as an option, and partner labs (Payap
pharmacy, CMU science) to defer it.

total-investment.md: the day-one tier goes into "Added scope, not yet in
the roll-up" (55k to 150k USD, 1.8M to 5.0M THB); added total now ~290k
to 690k USD, about 7 to 9 % on the subtotal. Headline total unchanged.
2026-10-03 21:51:00 +02:00
grabowski c56d403da0 Record the Making Vinyl feedback on traceability
Most people the team talked to in Haarlem were strongly interested in the
full-traceability approach. For Sibert it was one of the reasons to talk to
us at all; without it their representative would strongly advise against
the plan, and seeing buildfor.life's development and data work convinced
him the project comes from the right direction.

Exhibitor briefing gets an "After the show" section (feedback, what has
been filed since); traceability.md opens with the market signal; roadmap
item 1 notes it as supply-side evidence, with buyer prices still missing;
README project status updated (show attended, Payap lead).
2026-10-03 21:39:45 +02:00
grabowski ffbc46782a Add the Payap University partnership: joint student programmes
Payap also wants to work closely with the project on new student
programmes: audio engineering (mastering, lathe cutting), IT, business
administration and more.

New docs/payap-partnership.md: why it fits (mastering/cutting engineers
are the hardest hires; Payap has music, IT, business, communication arts,
an English-language International College and pharmacy labs; the plant has
a lathe, production data and a real factory application), programme areas
mapped to the docs they draw on, and what it changes: a reason to bring
the cutting room (roadmap item 27) forward, a cutting engineer before the
students, lacquer and stylus cost of teaching, pre-release security for
customer audio, student access and safety, IT work on staging only, the
link to the Payap land, BOI R&D merit. Suggested form: MOU, internships,
short certificate courses first, degree tracks later; what to settle in
writing and questions for the next meeting.

Links from README (bullet, layout), site-candidates, roadmap item 27, the
supplier map's open training item and the BOI open items.
2026-10-03 21:36:17 +02:00
grabowski 31d89faf03 Add Payap University land as a site candidate
Payap University (Chiang Mai) is interested in leasing land to the
project; a pharmaceutical facility is under construction on the same land.

New docs/site-candidates.md puts the three options side by side (Mueang
Chi lease, Northern Region Industrial Estate, Payap) with the public facts
on Payap (Mae Khao campus on the Chiang Mai-Lampang superhighway, bought
as low-lying land, ~275 acres; Faculty of Pharmacy cosmetics production
facility tendered July 2024; RPAH cannabis/herbal bioreactor centre), why
it is attractive (5 km from the old city, a university partner with music,
pharmacy and labs, production already being built there) and the checks
that could rule it out, in order: zoning for pressing, boiler and later
electroplating; whether the university can lease to a company; the GMP
neighbour's sensitivity to our emissions (argues against biomass steam
there); flooding; plot fit; galvanics consent. Questions for the next
meeting listed. Nothing re-sited: model, RFQ and site code stay on
Mueang Chi until a plot is known.

README (intro, bullet, layout), roadmap item 9 and the lease fork in
project-timeline link to it.
2026-10-03 21:31:25 +02:00
grabowski 81f3279efd Add Pheenix galvanics flyers and Sibert stamper prep specs
Deploy test site / deploy (push) Successful in 45s
docs/equipment/pheenix-alpha/: the four Pheenix Alpha electroforming flyers
(2024: PASU silvering, PPPU pre-plating, PDPU dual-cell plating, PMPB
passivation bench), renamed from their download hashes.
docs/equipment/sibert/: the VSP, VSF and VSC technical specifications
(2021), plus Sibert's 2008-09 optical-disc SPS literature and the 2008
Blu-ray stamper characteristics paper in sps-optical-disc-2009/. Two
byte-identical duplicates in the download were dropped.

New docs/equipment/galvanics.md, the metal-path counterpart to
pressing-line.md: datasheet tables for both ranges and what they change.
Pheenix is a second turnkey galvanics vendor next to Digital Matrix and
can quote lacquer-to-record as one vendor; neither range includes water
treatment. Utilities from the sheets (~27 kVA connected per line, DI water,
12-20 C cooling water, extraction sizes), ~5.6 m2 of footprint, and a cell
count estimate (one PDPU at the low end, two at the high end). The Sibert
machines are single-phase, 200/250/600 kg on castors, centre manually and
list no data interface; the VSC locates on the punched hole; the finisher's
water carries nickel. Weights, cycle times, prices and mould fit are listed
as quote questions.

Backlinks and small updates: README (bullet, layout tree, vendor list),
roadmap items 6 and 23, vendor landscape, supplier map, exhibitor briefing
(on-file notes, Sibert three-phase question answered), digital factory
(Pheenix PLC data, Sibert data question, RFQ clause 5), quality automation
(hardness on the centre slug, BD paper as the acceptance-spec model),
sustainability (finisher water), total investment block label (numbers
unchanged), scale (galvanics feeder note), crane weight table, process
flow, pressing-line stamper-fit question, plant page detail lines.
2026-10-03 21:05:00 +02:00
grabowski 293979bef8 Supplier list: drop the last em dash 2026-10-02 21:54:25 +02:00
grabowski 88220bcd1f Supplier list: drop the two remaining em dashes 2026-10-02 21:54:14 +02:00
grabowski 725f0cc9d1 Add the Newbilt flyers from Making Vinyl Europe 2026
Deploy test site / deploy (push) Successful in 35s
docs/equipment/newbilt/flyers-2026/: the six 2026 product flyers
(Classic, Duplex, EX 35, Edge Trimmer, Granulator 400, Label Punch) and
the 2024 Classic print flyer, collected at the booth in Haarlem.

pressing-line.md gets a range table with the flyer figures and what they
change: Classic and Duplex share inserts (one mould family for a
Newbilt-only fleet, Classic now named as automated candidate next to the
Pheenix AD12), edge trim of 20 to 40 g per 12" 180 g record brackets the
~20 % regrind share, the Granulator 400 runs in batches, central
hydraulics is an option, and the EX 35 is not in the 2024 quote.

Sources disagree on the Classic's panel (two 21" vs one 10"), extruder
power (7.5 kW drive in the 2024 flyer vs 15 kW noted earlier) and 10"
support; recorded as re-quote points instead of picking one. Supplier
table and exhibitor briefing corrected to match and given Erwin Neubauer
as a second contact; plant page grinder detail cites the flyer figures.
2026-10-02 21:53:45 +02:00
grabowski e23be20b13 Plant operation page: work on phones and tablets held sideways
Deploy test site / deploy (push) Successful in 37s
The header no longer forces a 1,600 px layout: it wraps on tablets and
narrow desktops (all nine KPIs now fit at 1,600 px, one was clipped
before), and on short screens (max-height 560 px, i.e. phones in
landscape) it collapses to one row with a scrolling KPI strip. There the
detail, event log and legend move into a side sheet (Info button, opens
by itself when a station is tapped), so the drawing gets the full height.

The drawing pans and zooms by viewBox, so the sim coordinates are
untouched: pinch and drag on touch, wheel and drag with a mouse, plus
zoom buttons and +/-/0 keys. A drag or pinch never selects the station
under the finger. Uses 100dvh and disables iOS landscape text inflation.
Upright phones get a hint to turn sideways.

Checked in Chrome device emulation at 667x375, 740x360, 844x390,
932x430, 1024x768, 1180x820, 1366x1024, 1258x800, 1600x900, 1920x1080
(no horizontal overflow, zoom controls clear of every station) with real
touch input (tap, tab switching, pinch, drag) and a 10x sim run without
errors.
2026-10-02 21:33:04 +02:00
grabowski 52bf35f183 Deploy workflow: check the SSH key and log its fingerprint
Deploy test site / deploy (push) Successful in 36s
A first run failed with "Permission denied (publickey)": s1 accepts only
the blog key (deploy@s1.b4l.co.th, SHA256:o4w7HL...) for the deploy user,
and the secret held a different key. The SSH step now strips CR, refuses
a secret that is not an unencrypted private key, and logs the key's
fingerprint for comparison with authorized_keys. The ssh host alias is
renamed so the masked VPS_USER value no longer hides it in the log.
2026-10-02 21:14:33 +02:00
grabowski 560d073019 Add the cnxvinyl.lol test site with a Gitea deploy workflow
Deploy test site / deploy (push) Canceled after 0s
site/ builds the internal test site: public/ served as is (landing page,
robots.txt, static sites) plus demo pages copied out of docs/ (the plant
operation page at /demos/plant-operation/). build.sh fails on dead
internal links and stamps version.txt.

.gitea/workflows/deploy-site.yml rsyncs site/dist to the buildfor.life
web server with the blog's two-directory rename swap, checks version.txt
on the server, purges Cloudflare when a token is set, and checks the
public URL. Secret names match the blog's workflow.

site/Caddyfile is the virtual host to append on s1 (noindex everywhere,
Cloudflare-only like the blog apex, www redirect). site/README.md has the
one-time setup: DNS, Caddy, web root, secrets, runner.
2026-10-02 20:59:38 +02:00
grabowski 0e033784a2 Note the internal testing domain cnxvinyl.lol 2026-10-02 20:44:10 +02:00
grabowski 4607a4da58 Plan the artist platform: price calculator and fan-funded pressing
New docs/artist-platform.md: upload master and artwork with automatic
audio, artwork and rights checks; an itemised price calculator for every
customer (per-title vs per-copy lines, price-per-copy curve, lead time
from the production-timeline quote table, versioned price list); and
fan-funded campaigns that press and dropship per fan once the goal is
reached, refund otherwise. Covers goal maths, payments (charge into a
ring-fenced account, CNX as seller of record, legal opinion first; the
Qrates failure as the design rule), repress pre-orders, architecture on
the cnx-factory stack with the public side on a fleet machine, PDPA,
phasing (calculator public early as a run-size probe, campaigns only
after first releases ship), cost and open decisions.

Backlinks from README, process flow, production timeline, revenue model,
digital factory and roadmap items 1 and 20; total investment added-scope
table gains the platform line.
2026-10-02 17:37:32 +02:00
grabowski 917a3eb933 Plan the overhead crane, maintenance workshop and visitor corridor
New docs/crane-workshop-tours.md: a 5 t single-girder EOT crane over the
whole production compartment (stops at the warehouse fire wall), a
machine door and crane-served workshop/machine bay at the ramp end, and
a glazed ground-level visitor corridor along the car-park elevation with
stations in process order, its own air and acoustic glazing so tours
need no PPE. Covers what each changes in the shell (crane-ready frame,
hook height under the 7.0 m eave, no full-height cross walls in the
crane zone, room lids and crane hatches), safety, costs and open
decisions.

Propagated: construction RFQ (crane-ready frame, new section 1c, machine
door, accessible 1:12 entrance now required), scale zone table (+210 to
280 m2, total ~1,400 to 2,000 m2), facility security, worker safety,
roadmap items 9 and 15, total investment added-scope table, README.
2026-10-02 17:34:24 +02:00
grabowski 81185d8013 Add the Sillitoe SDMS as a second mastering lathe candidate
Sillitoe Audio Technology (Australia) sells a complete cutting system:
lathe, MMFB feedback cutterhead, cutting amplifier, Space / Time Control
automation with a virtual groove, vacuum and microscope, at a published
USD 125,000 ex tax and shipping. Vendor landscape gets the narrative and
an Agnew-or-Sillitoe comparison; supplier map, total investment basis,
roadmap item 13 and the digital factory's no-telemetry section (STC cue
sheet, Open Groove export, stylus hours) follow.
2026-10-02 17:31:36 +02:00
grabowski ffcce42a51 Digital factory plan: build on the existing cnx-network clan
Rewrite docs/digital-factory.md against the fleet that already exists at
git.b4l.co.th/B4L/cnx-network-clan instead of a plant-only clan:

- The plant is one more site: gw-lpn-1 from the cnx.router module, plant
  machines in the same inventory, reached over the existing ZeroTier mesh
  (no VPS, no moon, no port forwards).
- Fleet pieces reused as-is: control for host metrics, journals and host
  alerts; ns1/ns2 for the gateway wildcard cert; web01 as the public
  proxy for the customer portal; clan borgbackup with a plant server.
- Process time series move from TimescaleDB to a plant-local
  VictoriaMetrics (same modules and rules as control); PostgreSQL keeps
  everything with identity. Object storage dropped for ZFS datasets.
- VLAN table on the fleet addressing convention (siteId 3 assumed, ids
  above 40); OT segments as dual-homed islands behind the collectors;
  stations reach the app only through the gateway Caddy proxy.
- New section listing every file that changes in the clan repo, the
  modules/vinyl/* to write, and three router-module extensions (NTP
  serving, static VLANs, second WAN).
- Gaps the plant closes for the fleet: Alertmanager delivery, off-site
  backup destination, TSDB backup.
- Repository layout decided: infra in cnx-network-clan, app in
  cnx-factory as a flake input, this repo stays documents.

README bullet updated to match.
2026-09-21 21:41:49 +02:00
grabowski 0fb60bcbb5 Add digital factory systems plan (NixOS fleet as one Clan)
New docs/digital-factory.md: every system needed for environmental,
machine, QC and genealogy data to land in one database keyed to one
record identity. Standing decision: all services run on NixOS machines
declared and deployed as a single clan.lol inventory (mesh, backups,
host monitoring, secrets from clan services).

Covers machine list and roles, VLAN zoning, Telegraf/MQTT acquisition
source by source with the RFQ clause for each, environment sensor zones,
QC instrument integration paths, the factory application modules and
entities, alerting tiers, backup and retention, security, procurement
clauses, build order aligned with the roadmap phases, rough cost and
open questions.

README index and layout tree updated; roadmap item 17 and the
traceability spec link to the new document.
2026-09-21 21:06:42 +02:00
grabowski 122d908862 Labels are pressed into the record, not applied at finishing
The docs and the plant page had labelling as a finishing step after the
press. On a record press the bottom label, the cake and the top label go
in between the stampers every cycle and the mold bonds the paper into the
vinyl; the oven only pre-dries them. Corrected everywhere the process is
described:

- process-flow.md: labels are a parallel input to pressing with their own
  row (print inspection, oven, lot per cycle); stage 6 loads label, cake,
  label; stage 7 is trim, sleeve, shrink
- process-flow.drawio (+ regenerated png/pdf): label input now feeds
  stage 6, not stage 7
- README vision list and the business plan source (regenerated docx/pdf):
  pressing paragraph explains the pressed-in label, finishing no longer
  claims to label
- plant-operation.html: label dry oven station feeds two label discs
  into the press with every cake, the cake in the mold shows its labels,
  the cycle log records the label lot, finishing is sleeve + shrink
2026-09-21 16:16:18 +02:00
grabowski c8482b7a76 Add animated plant operation page (simulated SCADA overview)
docs/plant-operation.html: one self-contained static page showing the
whole plant running, from PVC intake and the material lab gate through
extruder, press cycle (load/close/steam/cool/open/eject), trimmer, 100%
optical inspection, sampled audio comparison, finishing, packaging
(matrix code vs barcode) and fulfillment. The metal path (audio intake,
mastering, cutting, silvering, father/mother/stamper, stamper prep) runs
above with the three artist gates; utilities (steam, cooling, air,
hydraulics, grinder/regrind, energy, traceability, HVAC) below with
live-looking tags.

Numbers are taken from the repo (Newbilt site requirements, scale.md,
quality-automation.md, process-flow.md). Every station is clickable for
what happens there and the checks that gate it. Two demo buttons show a
steam pressure dip holding the press and a new PVC lot held by the lab
until a test pressing releases it. README links the page.
2026-09-21 16:01:41 +02:00