+
+
## License
MIT.
+
diff --git a/package.json b/package.json
index 8e437054..1f89b541 100644
--- a/package.json
+++ b/package.json
@@ -23,6 +23,7 @@
"test": "pnpm --filter './packages/*' -r --if-present test",
"test:coverage": "pnpm --filter './packages/*' -r --if-present test:coverage",
"sync:readmes": "node .github/scripts/sync-package-readmes.mjs",
+ "check:readmes": "node .github/scripts/sync-package-readmes.mjs --check",
"publish:all": "pnpm sync:readmes && pnpm --filter './packages/*' -r publish --access public",
"dev:website": "pnpm --filter @layoutit/polycss-website dev",
"build:website": "pnpm --filter @layoutit/polycss-website build",
diff --git a/packages/core/README.md b/packages/core/README.md
index 9e379187..fc3550e8 100644
--- a/packages/core/README.md
+++ b/packages/core/README.md
@@ -1,250 +1,123 @@
-# PolyCSS
+# @layoutit/polycss-core
-A CSS polygon mesh library. A 3D engine for the DOM. Renders OBJ/MTL, STL, glTF/GLB, and VOX as real HTML elements transformed with CSS `matrix3d(...)`. Supports colors, textures, lighting, shadows, shapes and animations. Works with React, Vue or plain JavaScript.
+The pure-math core of [PolyCSS](https://polycss.com). Vec3/polygon math, scene
+and camera math, mesh parsers, mesh optimization, lighting, shadow projection,
+and texture-atlas planning — with **zero browser globals** (built against
+`lib: ES2020` only).
-Visit [polycss.com](https://polycss.com) for docs and model examples.
-
-
-
+Supported formats: OBJ (+ MTL), STL (ASCII and binary, including Magics face
+colors), glTF / GLB (embedded images, `TEXCOORD_0`), and MagicaVoxel `.vox`.
+`loadMesh` fetches and dispatches by extension; the `parse*` functions take
+already-loaded input.
+
+## What's in here
+
+- **Types** — `Polygon`, `PolyMaterial`, `Vec2`, `Vec3`, the `PolyTexture*`
+ presentation types, `PolyDirectionalLight`, `PolyPointLight`,
+ `PolyAmbientLight`, `PolyTextureLightingMode`, `MeshResolution`.
+- **Scene + camera math** — `buildSceneContext`, `computeSceneBbox`,
+ `normalizePolygons`, `createIsometricCamera`, `buildPolyCameraSceneTransform`,
+ `capturePolyCameraSnapshot`, `screenToWorldRay`, `screenToWorldOnSphere`,
+ `BASE_TILE`.
+- **Transforms** — `buildPolyMeshTransform`, `buildPolySceneTransform`,
+ rotation and quaternion helpers.
+- **Color + lighting** — `parseColor`, `parsePureColor`, `shadeColor`,
+ `computeShapeLighting`.
+- **Primitives** — `boxPolygons`, `planePolygons`, `spherePolygons`,
+ `cylinderPolygons`, `conePolygons`, `torusPolygons`, `ringPolygons`,
+ `axesHelperPolygons`, and the Platonic solids.
+- **Mesh optimization** — `optimizeMeshPolygons`, `mergePolygons`,
+ `dedupeOverlappingPolygons`, `cullInteriorPolygons`,
+ `simplifyTriangleMeshPolygons`, `repairMeshSeams`.
+- **Culling** — `polygonFacesCamera`, `polygonCssSurfaceNormal`,
+ `cameraCullNormalGroups`, and the voxel camera-cull helpers.
+- **Shadow projection** — `buildParametricCasterOverride`,
+ `computeParametricShadowSilhouette`, `computeCoverageShadowSilhouette`,
+ `projectCssVertexToGround`, `convexHull2D`.
+- **Atlas planning** — the pure-math half of the texture atlas pipeline. Canvas
+ rasterisation itself lives in each renderer, because it needs the DOM.
+
+The package has two public entry points: the root (`@layoutit/polycss-core`,
+exported from `src/index.ts`) and the Three.js parity subpath
+(`@layoutit/polycss-core/three`, described below). Everything they export is the
+supported surface; anything else is implementation detail.
+
+## Authoring polygons directly
+
+If you build `Polygon[]` by hand, read
+[Authoring Polygons](https://polycss.com/core-concepts#authoring-polygons)
+first. Three constraints bite immediately:
+
+- **Winding is CCW seen from the outside.** Vertex order sets the face normal
+ via the right-hand rule, and PolyCSS backface-culls, so a reversed face is
+ invisible.
+- **`color` accepts hex and `rgb()`/`rgba()` only** — not CSS named colors.
+- **Non-triangular polygons must be coplanar.** Only the React/Vue
+ `
-
+
## License
MIT.
+
diff --git a/packages/react/README.md b/packages/react/README.md
index 9e379187..97e46a61 100644
--- a/packages/react/README.md
+++ b/packages/react/README.md
@@ -1,44 +1,27 @@
-# PolyCSS
+# @layoutit/polycss-react
-A CSS polygon mesh library. A 3D engine for the DOM. Renders OBJ/MTL, STL, glTF/GLB, and VOX as real HTML elements transformed with CSS `matrix3d(...)`. Supports colors, textures, lighting, shadows, shapes and animations. Works with React, Vue or plain JavaScript.
+React bindings for [PolyCSS](https://polycss.com) — a 3D engine for the DOM.
+Renders OBJ/MTL, STL, glTF/GLB, and VOX meshes as real HTML elements
+transformed with CSS `matrix3d(...)`. No WebGL, no canvas-per-frame.
+
Visit [polycss.com](https://polycss.com) for docs and model examples.
+Join [chat.polycss.com](https://chat.polycss.com) for support and community discussions.
+
-
+
## License
MIT.
+
diff --git a/packages/vue/README.md b/packages/vue/README.md
index 9e379187..44b3dc88 100644
--- a/packages/vue/README.md
+++ b/packages/vue/README.md
@@ -1,157 +1,159 @@
-# PolyCSS
+# @layoutit/polycss-vue
-A CSS polygon mesh library. A 3D engine for the DOM. Renders OBJ/MTL, STL, glTF/GLB, and VOX as real HTML elements transformed with CSS `matrix3d(...)`. Supports colors, textures, lighting, shadows, shapes and animations. Works with React, Vue or plain JavaScript.
+Vue 3 bindings for [PolyCSS](https://polycss.com) — a 3D engine for the DOM.
+Renders OBJ/MTL, STL, glTF/GLB, and VOX meshes as real HTML elements
+transformed with CSS `matrix3d(...)`. No WebGL, no canvas-per-frame.
+
Visit [polycss.com](https://polycss.com) for docs and model examples.
+Join [chat.polycss.com](https://chat.polycss.com) for support and community discussions.
+
-
+
## License
MIT.
+