Monorepo for Aesthetic.Computer aesthetic.computer

TrackDrum comes to the phone, and oskiewar's Mac build reaches the store master

The instrument was already an iOS instrument and nobody had noticed: MenuBandPercussion's 1,339 lines — the 96-voice pool, the ten-mode Bessel membrane, the five concentric zones — compile for arm64 device untouched, and the only unresolved symbol was _main. So this is mostly the app that was missing around it, plus the surgery a trackpad instrument needs before it belongs on glass. The surgery is a re-proportioning, not a stretch. A Mac trackpad is 1.64:1 and a portrait phone is 0.46:1, and squeezing one into the other turns every circle into an ellipse and every band into two different thicknesses — @jeffrey saw it immediately ('the graphics are like stretched and scaled'). The field is now built in the screen's own proportions and measured isotropically, depth being distance in points from the nearest edge, so a band 20pt deep at the left is 20pt deep at the top; measured off the rendered pixels, not eyeballed. The engine never learns about any of this: a view point is carried onto the drum's own contour at the matching depth, so playDrumSkin receives exactly the normalized coordinates it receives on a Mac. The drum turns 90° to run down the phone and bleeds to all four edges, one involution shared by hit-testing and drawing so the painted rim and the playable rim cannot disagree. Every band now clears a thumb — kick 63 · tom 44 · snare 44 · hat 52 · click 44, where the phone's 215pt across could not afford five 44s until the kick core gave up the difference; the rim was 'a little thin' because the Mac drew it on 16cm of aluminium, where the same fraction is a comfortable border. Latency was the other half of being a drum. 5.33ms of buffer where iOS defaults to 23, .measurement mode to shed output processing, 48kHz so nothing resamples, and the strike fired synchronously from touchesBegan — the Mac hops trackpad frames onto a serial queue, but UIKit already delivers on the main thread, so a hit now reaches the engine with no dispatch at all. 13.29ms round trip, read back from the device rather than hoped for. Haptics carry the click the trackpad used to give the finger: intensity from the engine's own velocity, sharpness from zone depth, so the centre thuds and the rim ticks. Stereo follows the glass rather than the drum's axis, which the turn had stood vertical, via a pan-axis parameter defaulting to bit-identical Mac behaviour. The icon is the Mac's own vector drum, cropped past its macOS chrome and flattened, because an iOS icon is a full-bleed square the system masks itself. Two things found on the way: the Mac TrackDrum had not built for some time (PitchBendCursor references PolyrhythmTrainerView, which was in neither the project nor the DMG script), and codesigning over ssh dies with errSecInternalComponent because a notty session has no security session — a launchd bootstrap into gui/501 gets around it without root. Alongside, oskiewar's Mac App Store lane came out of theory: gym takes no api_key, so cloud signing had no credentials and -allowProvisioningUpdates was falling back to an empty keychain; the key reaches xcodebuild the way xcodebuild asks for one, and the certificates minted themselves on the first real run. A signed sandboxed pkg is uploaded and processing, and the listing has its title screenshot — the one frame of this game that shows no dismemberment.