# ARTISAN ALTO · AT-101 — 2026 design study

A tactile, modular personal computer imagined as an evolution of Sony’s 1984 HB-101 MEZZO.

The current design is Revision 07 below. Earlier revision sections record the design’s evolution.

## Files

- `mezzo-master.blend`: reusable geometry and materials, with named movable assemblies.
- `build_mezzo.py`: procedural Blender 4.5 generator for the master, GLB and studio render.
- `render_details.py`: additional product photographs from the same studio scene.
- `model-info.json`: geometry totals, nominal housing dimensions and design references.

Open the master in Blender. Its working coordinates are centimetres (scene scale 0.01), Z up, front toward -Y. The GLB download uses metres and Y up. All legends are geometry; no external textures or fonts are needed to open the master.

## Rebuild

Run Blender 4.5 or later in background mode:

```sh
blender -b --python modeling/build_mezzo.py
blender -b --python modeling/render_details.py
```

The default output root is the parent of the modeling directory. Set MEZZO_ROOT to choose another project root. The generator uses system DejaVu Sans where available and Blender’s built-in font otherwise. Pass `-- --no-render` to export without rendering.

## Movable components

- `pause_rocker`: thumb saddle, legend and directional marks. Hinge at its origin.
- `cartridge_compute`: vertical cassette, cooling fins, labels and contacts.
- `cartridge_project`: side NVMe carrier, label and grip flutes.
- `pause_led_0` through `pause_led_8`: independently addressable amber transport indicators.
- `activity_led_vector`: powered-cassette indicator; the other cartridges use the same name with their respective suffix.
- `media_previous`, `media_play`, `media_next`: independent media caps, with origins at their press centres.
- `touchpad_surface`: etched graphite glass, retained as a named mesh.

Static parts are grouped by material to keep the web scene efficient. The generator preserves individual source components before that final join, making dimensional edits reproducible.

## Design intent

The housing is a low truncated pyramid. The keyboard opening crosses both sloping side cheeks, with a continuous charcoal deck meeting the lowered edge. Real open vent channels cover a plenum. Concave keycaps, mechanical controls, expansion guides, recessed I/O, a separate base and service access complete the assembly. Amber illumination communicates pause, direction and activity.

ARTISAN OS is a proposal for a carefully customized Linux environment with local agents and user-owned project workspaces. The pause rocker controls the website’s turntable as a demonstration of proportional transport.

This is an independent industrial-design and interaction concept, unaffiliated with Sony. The compute module’s 24 GB label is an illustrative target, not a shipping specification. The model is a visual design asset, not manufacturing CAD: PCIe lane allocation, power delivery, connector keying, thermals, EMC, service clearances and material engineering require validation before a working prototype. Module motion demonstrates the concept; live PCIe hot-swap is not promised.

## Primary design references

- Sony HB-101: https://www.sony.com/en/SonyInfo/design/gallery/HB-101/
- Sony WM-2: https://www.sony.com/en/SonyInfo/design/gallery/WM-2/
- Sony WM-20: https://www.sony.com/en/SonyInfo/design/gallery/WM-20/

## Revision 02 — silhouette and surface graphics

The upper face is narrower and the front facet longer. The keyboard recess passes through the sides instead of staying enclosed inside a raised rim. The SSD cassette moves beneath the taller rear shoulder. Its large SSD label is projected onto that sloping facet; MEZZO and HB-101 lettering follow the front face. PCIe lettering, boxed bay indices, registration rules and small functional captions use the hardware itself as a graphic layout grid.

This revision follows the owner-supplied HB-101 side advertisement and front photograph, plus two HB-F1XD reference photographs. The typography system interprets their hierarchy and placement while retaining an independent concept identity. All printed marks remain actual geometry, including marks projected onto the compound housing surfaces.

`render_details.py` now creates a low-angle profile photograph as well as the two closer studies.

## Revision 03 — horizontal deck and modern controls

The rear deck is parallel to the base; both cartridge bays, their shutters and the vent fins share that orientation. The upright compute cartridge therefore meets the deck at 90 degrees. The inclined keyboard and sloping outer facets retain the original silhouette.

Five orange bars each have left, centre and right press areas. Their mappings are F1 / MAKE / F2, F3 / PLAN / F4, F5 / BUILD / F6, F7 / REVIEW / F8 and F9 / RUN / F10. Fine divisions and individual legends distinguish the three actions. These are proposed hardware functions, not connected OS commands in the website.

An approximately 54 mm matte glass touchpad replaces the cursor petals and joystick. Previous, play/pause and next caps sit above the PAUSE rocker on the orange row's centreline. In the website, previous and next advance the turntable by a quarter-turn; play/pause toggles its motion. Accessible on-screen equivalents appear in The controls view.

## Revision 04 — ARTISAN ALTO · AT-101

The independent identity is now ARTISAN (family), ALTO (computer), AT-101 (model). New geometry and product photography carry this identity across the palm rest, rear deck, display and modules.

`cartridge_geometry.py` defines all five cartridges in a shared coordinate system. `build_cartridges.py` exports their individual GLBs, saves the editable `cartridge-library.blend`, and renders their product photographs. Run it after `build_mezzo.py` with Blender in background mode. Upright modules dock at local (0, 0, 0); their front faces point toward -Y in Blender. GLBs use metres / Y up. Bay 01 docks at (0.0846, 0.0439196, -0.073) and bay 02 at (0.0846, 0.0439196, -0.111) in the exported computer's local coordinates.

| Cartridge | Code | Modelled details |
| --- | --- | --- |
| VECTOR | AT-V01 | Graphite cooling fins, red crown, edge contacts, three USB-C display sockets |
| SOUND | AT-S01 | Ivory shell, instrument face, monitor dial, two combo XLR/TRS inputs, balanced outputs, MIDI in/out, ADAT in/out and headphones |
| ORIGIN | AT-O01 | Ivory shell, orange crown, inspection window, FPGA package, four engine indicators, MODE button, SD slot, two DE9 controller ports and audio |
| BATT | AT-B01 | Red housing, grip ribs, five-segment gauge, CHECK button, charging USB-C and dedicated power blades |
| WORLD | AT-W01 | Side NVMe carrier, writable label, red grip and connector fingers |

The main rear I/O panel follows the sloping rear facet, with a real pocket in the housing. Individual sockets include metal rims, recessed cavities and contact/tongue details. Silkscreen names sit above POWER, DISPLAY 01, DISPLAY 02, USB-C 01, USB-C 02, LAN, HDMI, USB-A and AUDIO. The AUDIO socket represents a 3.5 mm jack. Connector geometry communicates intended type and layout rather than validated component footprints.

Additional named controls are `origin_mode_button`, `origin_led_0` through `origin_led_3`, `batt_check_button`, `batt_led_0` through `batt_led_4`, and `sound_monitor_knob`. The independent main-model group `bay_02_shutters` is hidden when bay 02 contains a cartridge.

The website allows either upright bay to contain VECTOR, SOUND, ORIGIN or BATT. WORLD uses the side bay. All five have independent orbitable models in a manual carousel, with front/rear views, keyboard-accessible controls and GLB downloads. ORIGIN's selector is an illumination/state demonstration: no MSX runtime is implemented. A future FPGA design is intended to provide MSX, MSX2, MSX2+ and Turbo R profiles with sound logic; snapshot support, whole-system state rewind and acceleration need core-level engineering. BATT's 80 Wh is a capacity target; its momentary four-of-five gauge is a demonstration, not a measured battery state. The extra power blades indicate a separate managed power interface, not ordinary PCIe reverse power or live hot-swap.

The showroom treats each cartridge as one physical object: moving it to the other bay frees its previous bay. SOUND is offered in bay 02 first to keep rear cabling accessible.

## Revision 05 — shared fronts, accessible ends, e-paper

All upright cartridges now share VECTOR's visual grammar: a quiet graphite lettering field on the left, vertical ribbing on the right, and one amber activity indicator above the name. The ivory, red and graphite casings retain each module's character. Buttons, functional indicators and user connectors move to the narrow left and right end panels so a neighbouring cartridge cannot conceal them.

- VECTOR: three labelled USB-C display ports on its right end; a thermal array on its left.
- SOUND: two combo inputs, input meters, MIDI in and headphones on the left; ADAT in/out, MIDI out and balanced outputs on the right. A recessed monitor thumbwheel replaces the large front dial. Its axle and most of the wheel remain within the case; the knurled edge is accessible through a rounded rectangular side cutout.
- ORIGIN: a rounded-square MODE key, four vertically arranged mode indicators and full-size SD slot on the right. Two controller connectors and audio on the left. The FPGA inspection window moves to the rear face.
- BATT: a rounded-square CHECK key and vertical charge gauge on the right; USB-C charging on the left.
- WORLD: the broad carrier face repeats the lettering/ribbing split. Its exposed red grip contains an unlit e-paper panel showing a project label, plus the card's single activity indicator. The proposed label remains readable while docked and retains its contents without power. Its current “STUDIO / 01” display is modelled artwork, not a live storage readout or editable display.

The carousel now offers Front, Left side and Right side views. MODE and charge-check controls bring their right panel into view. Both upright bays are equally usable for SOUND; the earlier rear-cabling preference no longer applies. The common indicator meshes are named `activity_led_vector`, `activity_led_sound`, `activity_led_origin`, `activity_led_batt` and `activity_led_world`. SOUND's retained axis is now `sound_monitor_wheel`; its geometry is a control-design proposal, not an implemented audio-volume control. WORLD's label is grouped as `world_epaper_label`.

`verify_assets.mjs` checks real exported geometry: the rear deck remains horizontal, the two push buttons have square face proportions, each cartridge has one activity light, and MODE, CHECK and the thumbwheel are exposed along their side-facing approach in both bays with each of the other upright cartridges fitted. These visual-access checks do not replace electrical or mechanical engineering validation.

For photography-only revisions, `build_cartridges.py -- --render-only` loads the editable cartridge library. Add `--sides-only` to refresh just the end-panel photographs.


## Revision 07 — ASX / service architecture

`asx_geometry.py` adds the common capability cassettes and two audio instruments. `alto_service.py` builds the lower frame, one complete service lid, captive release mechanism, printed service map, two stepped LPCAMM2 memory positions, NVMe system drive, fans, radio, clock cell and recovery control. Both files are invoked by the original generators.

- The keyboard control surface is one graphite composition: the larger gesture pad above four independently modelled flush cursor keys. They meet across dark tessellated cuts.
- VECTOR, SOUND, ORIGIN and BATT share their external envelope. Front-left capability marks GPU / DSP / FPGA / PWR pair with specification blocks; the front-right grille stays uninterrupted. Left-end exhausts have recessed titanium throats, dark vanes, orange registers and CAUTION HOT silks.
- VECTOR and SOUND have no external sockets. SOUND includes a static stereo VU illustration. ORIGIN retains its mode key and a vertically oriented full-size SD opening. BATT is charged through ALTO’s managed power system.
- ASX contacts are a separate proposed output/control contact bank alongside the PCIe edge. Rear USB-C positions 1–3 have POWER / CARTRIDGE 1 / CARTRIDGE 2 underlabels; the assigned ports get amber route indicators. VECTOR, SOUND, and ORIGIN activate their assigned visual route while seated. The source-selection model is a proposal, not electrically validated hardware.
- WORLD remains a slim NVMe carrier with an unlit e-paper project label. AUDIO / AT-A01 is an ASX mini-card with compact MIDI TRS input/output, shown in the left secondary bay. Its purpose-designed interface must provide the appropriate I/O protocol; it is not claimed compatible with arbitrary M.2 sockets.
- MIX / AT-M01 is a separate USB audio desk: six channel strips, master fader, four MIC/LINE combo sockets, balanced/auxiliary outputs, MIDI and headphones. It is intended to work with other computers as a standard USB interface. Converter design, USB power requirements, USB audio implementation, and direct-monitoring performance require development.
- LPCAMM2 modules mount flat with compression fasteners. One module can already provide dual-channel memory; operating both illustrated positions requires explicit memory-controller/platform support. No shipping CPU compatibility or memory capacity is promised.

The underside viewer follows the release sequence: secure → release clamp → move lid aside → secure. A separate control deploys both rear supports through stowed, low and high positions. The enclosure uses one captive release screw; component retainers remain independently accessible. The mechanism, spring/cam geometry, structural stiffness, fit, airflow, and electrical design are visual targets requiring engineering validation.

Named groups: `service_lid`, `lid_clamp`, `lid_clamp_screw`, `service_internals`, `memory_a`, `memory_b`, `heel_left`, `heel_right`, `cartridge_audio_mini`, `cursor_up`, `cursor_down`, `cursor_left`, `cursor_right`, `route_led_1`, `route_led_2`. Existing PAUSE/media/MSX demonstrations remain visual interactions, not an implemented operating system or emulator. SOUND’s VU meter is an illustration, not a live audio signal.

Build cartridges with `build_cartridges.py -- --no-render`, then photograph the saved library with `-- --render-only`. Optional `--only sound` or `--skip sound` limits photography. Each of the eight objects has front, left, right and rear photographs. `render_details.py` adds the closed underside and opened service views to the computer photography.

Research: Micron LPCAMM2 (https://www.micron.com/products/memory/lpddr-modules/lpcamm2), TI USB-C routing (https://www.ti.com/lit/pdf/ssztce4), VESA DisplayPort Alt Mode (https://www.displayport.org/displayport-over-usb-c/). These establish architectural precedents rather than certify this concept.

### COMPANION / AT-C01

COMPANION is an upright ASX capability cartridge in the shared envelope: graphite body, ivory crown, large AGT mark, technical specification block, one activity light, right-front grille, and left-end thruster. Its proposed encrypted 1 TB vault carries the agent runtime, tools, private context, and persistent memory. ARTISAN OS supplies the host integration and user-granted access; WORLD remains the separate project workspace.

The site can fit COMPANION in either bay. “Build your local cyberdeck” seats COMPANION in bay 01 and VECTOR in bay 02. A configuration readout follows whether COMPANION and VECTOR are seated: disconnected, ALTO host compute, or fully local VECTOR pairing. These are configuration illustrations, not a running agent. Smaller models could use ALTO’s CPU/NPU; VECTOR supplies a dedicated local inference target. No capability or model speed is guaranteed. Cloud assistance would be explicitly opt-in.

The proposed agent transport is PAUSE / INSPECT / RESUME. State rewind is limited to recorded software state, and external actions need their own supported undo path. Removing the cartridge should stop agent work and lock its vault through a managed removal sequence; that behavior requires OS and security engineering.

`build_companion.py` appends the cartridge to an existing library. A full `build_cartridges.py -- --no-render` also includes it. `render_companion.py` photographs the paired computer without changing the standalone ALTO model.

## Revision 08 — enclosure and cartridge fit

`alto_enclosure.py` builds the restored red top louvres, compact rear connector strip, two aft-facing jet exhausts, and four independent bay-door hinges. The jet throats retain their recessed titanium faces, vanes, orange registers and CAUTION HOT markings. All nine rear connectors retain their original physical size and assignment; the strip is narrower because the spacing is tighter.

The internal electronics now sit 5.2 mm lower, beneath the lowest point of the sloping keyboard deck. The cursor monolith and surrounding graphite deck remain fully exposed. The service cover, fixed feet and release mechanism keep their original positions.

VECTOR, COMPANION, SOUND, ORIGIN and BATT now share a hollow protective connector sleeve. Its walls extend 5.85 mm past the lowest contact board, enclosing the PCIe, power and ASX contact banks. The sleeve inserts 16 mm below the main deck; the cartridge shoulder meets the bay with a narrow clearance. The bay floor and shell recess are deepened to accept it.

Both bays have two sprung doors. At rest the leaves share the bezel's upper datum; with a cartridge fitted they pivot inward beside the sleeve. The viewer follows actual cartridge lift, closing the doors only after the sleeve is clear and opening them before insertion. The exported master has VECTOR seated in bay 01 and bay 02 closed. The expansion photograph shows both empty bays closed.

Named groups: `top_grille`, `rear_exhaust_left`, `rear_exhaust_right`, `service_electronics`, `bay_01_shutters`, `bay_02_shutters`, `bay_01_door_front`, `bay_01_door_rear`, `bay_02_door_front`, `bay_02_door_rear`. Each upright cartridge also has `<id>_connector_guard` and `<id>_connector_contacts` groups. The shared seated origin is `(8.46, 7.30 or 11.10, 4.04196)` cm in Blender, or `(0.0846, 0.0404196, -0.073 or -0.111)` metres in Three.js.

`verify_assets.mjs` checks the previously obscured deck points, backward exhaust direction, flush doors, open-leaf clearance, connector recess and the existing controls using actual exported geometry. `build_cartridges.py -- --render-only --upright-only` refreshes the twenty photographs affected by the new sleeve. These fit dimensions describe the visual model; production tolerances and drop protection require physical engineering and testing.
