Remove em dashes where the replacement is unambiguous

The project has a standing style rule against em dashes that was missed
when these docs were written. This removes the 42 occurrences where the
substitution is mechanical and cannot change meaning:

- table cells using an em dash as a placeholder, now a hyphen
- em dashes immediately followed by a conjunction or subordinator
  (but, and, or, so, though, while, which, where, because, since),
  where a comma is simply correct

115 remain. Those join independent clauses, where a comma would create a
splice and a colon often reads wrong, so each needs a judgement call
rather than a pattern. A blanket regex over them was attempted and
reverted: it produced double colons and broken sentences.
This commit is contained in:
grabowski committed 2026-08-06 15:31:09 +07:00
1 parent 8c8e1be451
commit 1bbef055c4
7 files changed
+41 -41

No files matched your search

+3 -3
View File
@@ -30,7 +30,7 @@ class, not a premium — it is what the presses and pallet racking need, and
stepping up from a light-duty slab adds only on the order of 100–200 THB/m².
The real cost variable is the ground underneath (see soil, below). A later
value-engineering option is to zone the slab — 30 kN/m² under press hall and
warehouse only, lighter under offices — but for rough pricing the whole
warehouse only, lighter under offices, but for rough pricing the whole
floor is specified at 30 so the number is conservative.
### 1a. Panel core: where PIR is not enough
@@ -109,7 +109,7 @@ Simple industrial enclosures beside the main building.
| Boiler hall | 66 m² | 6.0 m |
| Biomass fuel store | 42 m² | 5.0 m |
| Chiller room | 60 m² | 5.0 m |
| Cooling tower pad (concrete pad only) | 10 m² | — |
| Cooling tower pad (concrete pad only) | 10 m² | - |
The 14 m flue stack comes with the boiler — excluded here. The boiler hall
envelope should be non-combustible (mineral-wool panels or masonry), not
@@ -165,7 +165,7 @@ transformer (PEA), and land works beyond normal grading.
soft-to-medium Lamphun valley soil and to **state the foundation
assumption they price** (footings vs driven piles; a piled slab can add
several hundred to 1,000+ THB/m²). The soil, not the slab spec, is the
main price risk in the whole package — and it now applies to 4,387 m² of
main price risk in the whole package, and it now applies to 4,387 m² of
pavement and a 1,711 m³ fill platform as well as the building.
- **Tank proximity to the building**: the fire water tank sits about 4.5 m
from the main building. Full, it is ~250 t on a 9 m ring foundation. On
+16 -16
View File
@@ -2,7 +2,7 @@
A first-pass economic model at mature capacity. Most numbers here are
estimates from industry pricing norms and this repo's own cost research.
**One set of real market prices now exists** — see the next section — and
**One set of real market prices now exists** (see the next section), and
it does not agree with the model. The point is the shape of the economics
and which levers matter, not precision.
@@ -104,14 +104,14 @@ as output.
All rows are on the same 300-day basis so they can be compared. CNX does
not overtake them on installed capability until the Duplex expansion, and
does not clearly lead until the mature fleet. The fleet is real and
should not be discounted — but nothing here is a measurement of what they
should not be discounted, but nothing here is a measurement of what they
actually ship, and an unconditioned floor may not hold top-end
effectiveness through the wet season.
What remains true is the **quality and capability gap**, and it is where
the whole differentiation now sits: no plating, no climate control, no
metrology, no traceability. There is still no *industrial* vinyl plant in
Thailand — but the gap CNX is closing is capability, not capacity, and it
Thailand, but the gap CNX is closing is capability, not capacity, and it
will be outgunned on presses for its first two phases.
### The incumbent is press-rich and metal-poor
@@ -138,7 +138,7 @@ these would shape a price list the same way:
- **Printed jackets.** Their price carries one, and a jacket print run
takes 10–20 working days from approved artwork. A 3,000-unit jacket
order is a bigger, slower print job — and this constraint **CNX would
order is a bigger, slower print job, and this constraint **CNX would
share**, which would remove the competitive read entirely.
- **Floor space.** Storing, finishing and shipping 3,000 records is an
area problem before it is a metal problem.
@@ -178,7 +178,7 @@ full capex, it addresses the market's actual bottleneck, it earns before
the press hall exists, and it is the one capability no one in the country
has. The counter-argument is real — galvanics still needs a building, a
clean room and zero-discharge water treatment, and it is the hardest skill
to hire — but the option deserves costing rather than assuming.
to hire, but the option deserves costing rather than assuming.
**The number that decides it is ResurRec's actual annual output and title
count**, which is not known. At 300 titles the stamper opportunity is
@@ -188,7 +188,7 @@ talks.
**No HVAC turns the biggest cost line into the product.**
[facility-security.md](../facility-security.md) specifies whole-factory
climate control — 20–26 °C, 35–60% RH, PM filtration sized for
burning-season PM2.5 — and the utilities budget treats it as overhead.
burning-season PM2.5, and the utilities budget treats it as overhead.
Against a competitor pressing in uncontrolled Bangkok air it is a quality
argument instead:
@@ -219,7 +219,7 @@ walk. Two things to ask on the back of it, both free: ask **Newbilt** for
their Thai
install base and a service-response precedent — the northern-dispatch SLA
question in [equipment-suppliers.md](../suppliers/equipment-suppliers.md)
is much easier to answer with an in-country reference — and, if the
is much easier to answer with an in-country reference, and, if the
collaboration talks progress, ask **ResurRec** directly what commissioning
and support actually cost them.
@@ -260,7 +260,7 @@ would be 430–500 USD per title:
Every cell above divides capex by the **top** of the saving range. At the
bottom the same table gives 2.5 and 5.0 years at 300 titles, 1.2 and 2.5
at 600 — so the honest span is **one to five years**, and the adverse
at 600, so the honest span is **one to five years**, and the adverse
corner stretches past six once the ±30–50% band that
[total-investment.md](total-investment.md) puts on the galvanics capex is
applied. It is nonetheless driven by **title count, not record volume**,
@@ -272,7 +272,7 @@ needs the Stamper Discs quote behind it.
evidence is internally inconsistent.** The model
bundles mastering, cutting, stampers and test pressings into 19,000–57,000
THB per title. At observed market rates a ten-track album masters at
50,000–200,000 THB *before* the 22,000 THB stamper set — so the real
50,000–200,000 THB *before* the 22,000 THB stamper set, so the real
per-title value is more like **72,000–222,000 THB (2,180–6,730 USD)**.
At 300–600 titles/yr that is **0.65M to 4.0M USD/yr of title services**,
@@ -297,8 +297,8 @@ for **300 units**. The published discounts:
| Run | Discount | THB/unit | USD/unit |
|---|---|---|---|
| 150 (stated minimum) | — | rarely accepted, "cost is way too high" | |
| **300 (reference)** | — | **650 – 950** | 19.70 – 28.80 |
| 150 (stated minimum) | - | rarely accepted, "cost is way too high" | |
| **300 (reference)** | - | **650 – 950** | 19.70 – 28.80 |
| 500 | −5% | 618 – 903 | 18.70 – 27.35 |
| 1,000 – 3,000 | −15% | 553 – 808 | 16.75 – 24.45 |
| >3,000 | −30% | 455 – 665 | 13.80 – 20.15 |
@@ -306,7 +306,7 @@ for **300 units**. The published discounts:
**The curve is remarkably flat.** A tenfold increase in run size buys only
30% off. Whatever the exact split, that shape means a large per-title
fixed cost that does not fall with volume — and it is the shape, not any
fixed cost that does not fall with volume, and it is the shape, not any
solved number, that is informative.
Solving the first three tiers as a fixed-plus-variable structure gives
@@ -350,7 +350,7 @@ worth testing next, not the finding most worth relying on.
**The fixed component looks small against the stated inputs.** At
34,000–50,000 THB it barely covers a ≤22,000 THB stamper set plus one to
three songs of mastering — though at the other end of the solve range
three songs of mastering, though at the other end of the solve range
(~41,800 THB low ladder) the tension eases, so this may be an artefact of
the endpoint chosen rather than a real gap. Either the 650–950 THB does
not fully carry album mastering, or albums are mastered far below the
@@ -362,7 +362,7 @@ problem.** At nameplate the two presses clear 3,000 units in about two
days, so a two-to-four-week extension cannot be press time. The likely
cause is in the numbers already in this repo: a stamper is good for
**1,000–2,000 pressings**, so a 3,000-unit run needs **two to three
stamper sets** — and with no plating in-house, every additional set is an
stamper sets**, and with no plating in-house, every additional set is an
overseas order. "Blocking out the entire factory" reads like scheduling
around an imported-metalwork wait.
@@ -504,7 +504,7 @@ security, overtime, bonus and PPE:
That is 3.7M–5.4M THB/yr (113k–163k USD), or **0.08–0.16 USD per record**
over 1.0–1.5M records. Mastering and cutting engineers are excluded —
they are title-services labour, not per-record — and admin, sales and
they are title-services labour, not per-record, and admin, sales and
logistics sit in overheads below.
## Margin per record
@@ -603,7 +603,7 @@ profits where there are any; see [boi.md](../boi.md).
data point above is buy-side, from one plant and one buyer, and it
contradicts the model on per-title services and probably on run size.
The Making Vinyl trip and early conversations should test the 3.50 to
4.60 USD blended assumption — and the run-size question — before either
4.60 USD blended assumption, and the run-size question — before either
anchors a financing case
- Demand risk is real: vinyl demand is cyclical and capacity has been
added globally; the model assumes the plant can sell what it presses