# Jimny V2 — Moving essentials

Private new version: https://kvm1.tail7e7b1.ts.net:8449/
Original remains unchanged: https://kvm1.tail7e7b1.ts.net:8448/

Four independently drawn mechanical concept prototypes for an India five-door Jimny. These are alternatives, not a request to install all four. Begin with the portable capsule or cassette. The friend’s year/trim/MT-AT, glovebox and glasses are unmeasured. No drop-in fit, physical print, slicer, G-code, heat, durability, load or crash test is claimed.

## Files and coordinates

- `public/models/`: 21 separately printable parts, each STL + STEP + exact indexed viewer mesh JSON; four assembly STEP files.
- `public/catalog.json`: canonical part IDs, print-to-assembly translations, sequential physical motion keyframes, illustrative explode offsets, closed and sampled operating envelopes.
- `public/footprints/`: A4-landscape 1:1 conservative projected footprint templates. Print at 100%, never fit-to-page. Verify the 50 mm bar with a ruler. Add cardboard spacers matching stated height; a footprint is not a three-dimensional insertion test.
- `public/coupons/`: local dovetail clearance sweep, capsule tab/ledge, swivel pivot and cassette runner/groove coupons, manifest, editable source and instructions.
- `public/research.html`, `dimensions.md`, `design-brief.md`, `FIT-CHECK.md`: individually cited research, measurement types and user-fit checklist.
- `build_models.py` + `cad_core.py`: editable millimetre CAD, export and geometry checks. No third-party CAD or trademarks reused.
- `viewer.js`, package/lock files: locally bundled Three.js configurator. The downloaded meshes and viewer geometry are the same geometry; creased normals only change shading.

All printed parts are XYZ millimetres, Z up, have an actual planar Z=0 print contact and remain under 230 mm in every oriented dimension. Geometry is NOT globally scaled. CAD source sections with nonzero minimum Z preserve that normalization in each part's assembly translation. Browser coordinates map CAD (X,Y,Z) to (X,Z,-Y). Hardware listed below is purchased, not included among the 21 printed pieces or falsely shown as printed parts.

## What really moves

1. **Cassette:** remove coral lock pin, then slide drawer and saddle 65 mm along opposed captured runners. The separate stop key enters a rounded floor slot and blocks overtravel. Install the drawer BEFORE attaching its stop key. The source intentionally uses an open skeletal cradle, not two nested complete bins. The whole cradle is unanchored: lift out for bench use until independent retention is resolved.
2. **Capsule:** fully withdraw long rear lock, slide lid 30 mm on straight lands, then lift 48 mm only after four tabs align with four actual relief windows. Opening DOES require upward clearance. Two separate blue supports need cut felt and a check that frame—not lenses—contacts the supports. No universal eyewear dimensions are assumed.
3. **Pods:** remove both external end keepers, then the wedge and lens kits slide off opposite rail ends. Independent access needs room at BOTH ends. Lids are clearance-fit lift-off plugs, NOT latches; add suitable separate elastic bands and independently contain in a properly restrained closed soft bag. No rail-to-board attachment or vehicle anchor is supplied/validated.
4. **Swivel:** remove blue through-lock, lift transport cover, then rotate upper leaf 95 degrees on the real sleeve. A floor arc running over a fixed post limits rotation. Remove the entire case from the car and use on a stable table. An open sweep is larger than the closed footprint, and tipping remains untested. The washer specification below is essential for axial capture.

Removable pins and keepers are NOT captive or self-retaining. They prove geometric blocking, not resistance to vibration or driving loads. Externally contain all assemblies, small pieces and contents. Keep closed and secured before moving the car. Do not install around airbags, ride-in assist grip, pedals, levers, belt hardware or seat rails. Keep factory glovebox latched and manual/service access clear.

## Purchased hardware — exact provisional envelope BOM

**Cassette:** 2 × M3 × 6 mm countersunk screws (nominal head OD 6 mm), 2 × standard M3 hex nuts (nominal 5.5 mm across flats, 2.4 mm high). No washers. The cradle has countersinks; the stop flange has underside hex traps. Verify screw heads and nuts sit flush and no metal enters the drawer path. Do not substitute projecting cap-head screws.

**Swivel:** 1 × M3 × 30 mm button-head screw (nominal head OD 5.5 mm / height 3 mm), 1 × wide M3 washer with **12 mm OD, 3.4 mm ID, 0.5 mm thickness**, 1 × standard M3 hex nut (5.5 mm AF / 2.4 mm high) in the bottom pocket. The sleeve top is Z=29.5; leaf bearing shoulder top Z=29.1. Washer bottom at Z=29.5 gives 0.4 mm top axial gap while its diameter captures the 8.8 mm leaf bore. A small ≤7 mm washer will NOT capture it; do not substitute it. The ideal 30 mm shank reaches Z=0 with a 0.5 mm washer. Actual suppliers' dimensions and safe tightening must be checked. No torque or load rating is supplied. Thread engagement/strength are not simulated.

`public/hardware-report.json` records static collision-free ideal fastener envelopes and a deliberate lifted-leaf/washer interference check. These simplified envelope checks do not establish screw quality, compression, thread fit or durability. Capsule and pods require no metal fasteners for bench operation; felt and appropriate external bands/containment are separately selected after fit checks.

## Print/process limitations

Use the coupon in the intended material and orientation first. PLA is for removable fit mockups; PETG is not automatically hot-car safe. Heat/creep can change the fit of rails and pins. ASA or other materials require appropriate equipment/process/ventilation and real thermal evaluation.

The flat print plane does NOT mean support-free. Cassette runner undersides/groove roofs and capsule lid tabs/underside skin need support or orientation review. The pod dovetail shoe is an undercut with a short bridge. Pin stems and caps need adhesion/support review. Swivel stop-arc floor openings and annular bosses need bridge/elephant-foot inspection. Blue eyewear supports are rigid parts unless printed in a suitable separately validated soft material; their color does not imply cushioning. Review walls, perimeters, infill, seam, supports and brim in a slicer; no settings or time/mass estimate is fabricated.

## Rebuild and verify

`coupons.zip` is a standalone twelve-sample rebuild kit: extract it, retain `public/coupons/`, and follow `public/coupons/README.md`. It includes the two cassette source STEP inputs; do not run `build_models.py` for a coupon-only rebuild. `jimny-v2.zip` is the full source/asset kit, not a complete offline gallery mirror: run `package_release.py` after extraction to regenerate the release manifest and downloadable ZIPs. The commands below apply to the full project.

```
uv venv --python 3.12 .venv
uv pip sync --python .venv/bin/python requirements.lock
npm ci --include=dev --ignore-scripts
.venv/bin/python -B build_models.py
.venv/bin/python -B public/coupons/source.py
.venv/bin/python -B build_cassette_coupon.py
.venv/bin/python -B verify_hardware.py
npm run build
.venv/bin/python -B package_release.py
/usr/bin/python3 -B configure_routes.py
/usr/bin/python3 -B -m unittest -v test_server
.venv/bin/python -B -m unittest -v test_artifacts
.venv/bin/python -B verify_viewer.py https://kvm1.tail7e7b1.ts.net:8449
/usr/bin/python3 -B verify_deployment.py
```

Do not run concurrent CAD exporters. Isolated `build_models.py cassette` runs are diagnostic and produce a partial catalog; the release packager rejects anything except four assemblies / 21 parts. Rebuild the complete set before packaging. Reimported STEP **Solids**, not parent Compound containers, are transformed for interference tests; the latter can drop parent placements during intersection distribution in the current CAD API.

Digital checks: valid single-solid source and STEP round-trip; closed positive single-component STL; exact viewer mesh bounds/volume; ≤230 mm and Z=0 planar contact; 21 sampled mechanism states per assembly, all printed pairs, minimum separation and overlap; intended material/void checks plus deliberately blocked overtravel/lift/locked movement. Finite sampling and ideal dimensions do not prove a continuous collision-free real mechanism.

## Private service operations

The copied allowlist-only server is pinned to `/home/aditya/jimny-organizers-v2/public`, binds only `127.0.0.1:8059`, and has no arbitrary root/bind arguments, CAD execution API, write method or directory listing. Allowed filenames are generated from the explicit release manifest, never from request text. The user service is `jimny-v2-preview.service`. No CDN, analytics or remote font is requested.

```
systemctl --user status jimny-v2-preview.service
systemctl --user restart jimny-v2-preview.service
sudo tailscale serve --bg --https=8449 http://127.0.0.1:8059
# Remove ONLY V2, never reset all Serve mappings:
sudo tailscale serve --https=8449 off
systemctl --user disable --now jimny-v2-preview.service
```

Never restart/modify `jimny-preview.service`, `/home/aditya/jimny-organizers`, or mappings 8443–8448. No Funnel/public exposure is approved. V1 hashes, service PID/restart count and mapping baselines are verified separately.
