diff --git a/docs/dannom-feature-requests.md b/docs/dannom-feature-requests.md index f759bd06b4..54bfb5c510 100644 --- a/docs/dannom-feature-requests.md +++ b/docs/dannom-feature-requests.md @@ -17,7 +17,7 @@ Captured from 6,478 public `laer-klokken` messages between June 1 and August 8, | DAN-009 | Needs validation | Teach sentences or grammar as well as vocabulary. | `2026-07-14 19:39` — `@q13R608tx`: “dannom is only good for general vocabulary”; `@theamerican`: “you won't learn full sentenses.” | Product feedback rather than a direct feature request. Explore as a distinct mode so the word-munching game stays legible. | | DAN-010 | Closed; no reproduction | Track transient reports that Dannom disappeared. | `2026-08-03 20:46` — “rip dannom”; `21:37` — “is dannom gone?”; `21:38` — “its still here.” | Self-resolved in chat. Reopen only with a reproducible load failure or piece-log evidence. | | DAN-011 | Implemented locally | Brand Nom HUDs with Comic Relief and show cute handled identities. | Product direction, August 7. | Browser HD text loads the foundry Comic Relief face. The score HUD and leaderboard paint handles character-by-character with their saved colors, with a generated color fallback. Word tiles retain Unicode-safe text. | -| DAN-012 | Implemented locally; device verification pending | Run the shared Nom engine in the OSKIEWAR-generation Xbox stack. | Product direction, August 7. | `xbox/tools/bundle-nom.mjs` produces a QuickJS `xbox/live/dannom.js` from the real Nom, scoring, synth, and percussion sources. The adapter uses fixed-step pad edges, native drawing/audio, and packaged `comicWrite`; its command-frame probe and rendered 1280×720 frame pass locally. Deploy against the current OSKIEWAR native BIOS remains to be verified on Xbox hardware. | +| DAN-012 | Implemented locally; device verification pending | Run the shared Nom engine in the oskiewar-generation Xbox stack. | Product direction, August 7. | `xbox/tools/bundle-nom.mjs` produces a QuickJS `xbox/live/dannom.js` from the real Nom, scoring, synth, and percussion sources. The adapter uses fixed-step pad edges, native drawing/audio, and packaged `comicWrite`; its command-frame probe and rendered 1280×720 frame pass locally. Deploy against the current oskiewar native BIOS remains to be verified on Xbox hardware. | ## Not promoted diff --git a/lith/deploy.fish b/lith/deploy.fish index a49732dab6..98e618f294 100644 --- a/lith/deploy.fish +++ b/lith/deploy.fish @@ -207,9 +207,9 @@ git rev-parse HEAD > system/public/.commit-ref" exit 1 end -echo -e "$GREEN-> Verifying OSKIEWAR social preview freshness...$NC" +echo -e "$GREEN-> Verifying oskiewar social preview freshness...$NC" if not ssh -i $SSH_KEY $LITH_USER@$TARGET_HOST "cd $REMOTE_DIR && node xbox/live/render-social-preview.mjs --check" - echo -e "$RED x OSKIEWAR social preview is stale; restoring $PREVIOUS_HEAD.$NC" + echo -e "$RED x oskiewar social preview is stale; restoring $PREVIOUS_HEAD.$NC" ssh -i $SSH_KEY $LITH_USER@$TARGET_HOST "\ cd $REMOTE_DIR && \ git reset --hard $PREVIOUS_HEAD --quiet && \ diff --git a/lith/webhook.sh b/lith/webhook.sh index 00c3a9d91e..4c479c4b62 100755 --- a/lith/webhook.sh +++ b/lith/webhook.sh @@ -60,7 +60,7 @@ if [ "$OLD_HEAD" = "$NEW_HEAD" ]; then fi if ! node xbox/live/render-social-preview.mjs --check; then - log "OSKIEWAR social preview is stale; restoring $OLD_HEAD" + log "oskiewar social preview is stale; restoring $OLD_HEAD" git reset --hard "$OLD_HEAD" --quiet exit 1 fi diff --git a/package.json b/package.json index 8735ab556d..5471103364 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,8 @@ "xbox:test:oskiewar:blackbox": "node xbox/live/tests/blackbox-rounds.mjs", "xbox:burn:oskiewar-social": "node xbox/live/render-social-preview.mjs", "xbox:check:oskiewar-social": "node xbox/live/render-social-preview.mjs --check", + "oskiewar:mac:build": "sh xbox/tools/build-macos-app.sh", + "oskiewar:mac:install": "sh xbox/tools/build-macos-app.sh --install", "test:nopaint:e2e": "node tests/browser/nopaint-journey.test.mjs", "test:nopaint:e2e:local": "node tests/browser/run-nopaint-local.mjs", "test:nopaint:e2e:film": "AC_HEADED=1 AC_SLOWMO=120 AC_FRAME_RECEIPTS=1 node tests/browser/nopaint-journey.test.mjs", diff --git a/papers/arxiv-oskiewar/README.md b/papers/arxiv-oskiewar/README.md index 2c6cc76636..ae0214d719 100644 --- a/papers/arxiv-oskiewar/README.md +++ b/papers/arxiv-oskiewar/README.md @@ -1,4 +1,4 @@ -# OSKIEWAR +# oskiewar Archival system report for the native Xbox game, web spectator, and shared-client direction. diff --git a/papers/arxiv-oskiewar/oskiewar.tex b/papers/arxiv-oskiewar/oskiewar.tex index 209e183e9a..e54a9830fe 100644 --- a/papers/arxiv-oskiewar/oskiewar.tex +++ b/papers/arxiv-oskiewar/oskiewar.tex @@ -39,7 +39,7 @@ \hypersetup{colorlinks=true,linkcolor=acblue,urlcolor=acblue,citecolor=acblue, pdfauthor={@jeffrey}, - pdftitle={OSKIEWAR: A Cross-Platform Fighting-Game Laboratory for Aesthetic Computer}} + pdftitle={oskiewar: A Cross-Platform Fighting-Game Laboratory for Aesthetic Computer}} \titleformat{\section}{\normalfont\bfseries\normalsize\uppercase}{\thesection.}{0.45em}{} \titlespacing{\section}{0pt}{1.15em}{0.3em} \titleformat{\subsection}{\normalfont\bfseries\small}{\thesubsection}{0.45em}{} @@ -47,7 +47,7 @@ \pagestyle{fancy} \fancyhf{} \renewcommand{\headrulewidth}{0pt} -\fancyhead[C]{\footnotesize\color{acpink}\textit{OSKIEWAR --- system report}} +\fancyhead[C]{\footnotesize\color{acpink}\textit{oskiewar --- system report}} \fancyfoot[C]{\footnotesize\thepage} \setlist[itemize]{nosep,leftmargin=1.2em,itemsep=0.1em} \setlength{\columnsep}{1.7em} @@ -61,7 +61,7 @@ \emergencystretch=1em \graphicspath{{../arxiv-ac/figures/}} \newcommand{\ac}{\textsc{Aesthetic.Computer}} -\newcommand{\game}{\textsc{OSKIEWAR}} +\newcommand{\game}{\textsc{oskiewar}} \newcommand{\code}[1]{\texttt{#1}} \InputIfFileExists{version.tex}{}{% \providecommand{\paperhash}{dev}\providecommand{\paperrev}{?}} @@ -75,7 +75,7 @@ \twocolumn[{% \begin{center} \includegraphics[height=3.5em]{pals}\par\vspace{0.45em} -{\acbold\fontsize{23pt}{27pt}\selectfont\color{acdark} OSKIEWAR}\par +{\acbold\fontsize{23pt}{27pt}\selectfont\color{acdark} oskiewar}\par \vspace{0.2em} {\aclight\fontsize{12pt}{14pt}\selectfont\color{acpink} A Cross-Platform Fighting-Game Laboratory for Aesthetic Computer}\par @@ -226,7 +226,7 @@ Table~\ref{tab:endpoints} is the complete network surface used by the present bu \begin{table*}[t] \centering -\caption{OSKIEWAR network endpoints. Braces denote validated variables; \texttt{match} is a pronounceable three-word name and \texttt{id} is prefixed \texttt{ow-}.} +\caption{oskiewar network endpoints. Braces denote validated variables; \texttt{match} is a pronounceable three-word name and \texttt{id} is prefixed \texttt{ow-}.} \label{tab:endpoints} \small \begin{tabularx}{\textwidth}{@{}p{0.19\textwidth}p{0.37\textwidth}X@{}} @@ -272,7 +272,7 @@ Identity/HUD & @jeffrey, @oskie, @fifi, @sat, DUMMY; handle colors; MOTD/latest- Sound & Spatial local synthesis; event OSC; Max for Live receiver; labeled sample-free Drum Rack; raw OSC bus. & UDP redundancy reduces loss but cannot mathematically guarantee delivery; receiver must observe sequence gaps.\\ Replay/spectator & Instant replay viewer; globally stored demos; match counts; public phone URL; QR; bounded latest-only relay. & Determinism across future physics versions requires migration or preservation of old simulation code.\\ Web & URL-addressable read-only spectator; interpolated fighters and balls; authoritative camera projection; live/viewer status; responsive handles beneath bodies. & Browser combat input and feature-equivalent simulation are not yet integrated.\\ -Distribution & Installed name OSKIEWAR; launcher chooses OSKIEWAR or NEW GAME input lab; package 1.0.0.35. & Self-signed Developer Mode package; Microsoft Store association and certification have not been completed.\\ +Distribution & Installed name oskiewar; launcher chooses oskiewar or NEW GAME input lab; package 1.0.0.35. & Self-signed Developer Mode package; Microsoft Store association and certification have not been completed.\\ \bottomrule \end{tabularx} \end{table*} @@ -330,7 +330,7 @@ Microsoft, ``Windows.Gaming.Input,'' Windows App SDK documentation. \url{https:/ M. Wright, ``Open Sound Control: an enabling technology for musical networking,'' Center for New Music and Audio Technologies, University of California, Berkeley, 2005. \bibitem{repo} -Aesthetic Computer contributors, ``OSKIEWAR source, tests, native host, replay endpoint, spectator relay, web viewer, and Ableton devices,'' commit \code{ec3978b5b8}, 5 August 2026. \url{https://github.com/whistlegraph/aesthetic-computer} +Aesthetic Computer contributors, ``oskiewar source, tests, native host, replay endpoint, spectator relay, web viewer, and Ableton devices,'' commit \code{ec3978b5b8}, 5 August 2026. \url{https://github.com/whistlegraph/aesthetic-computer} \end{thebibliography} \end{document} diff --git a/papers/cli.mjs b/papers/cli.mjs index 5ee4265e88..d063fa363a 100755 --- a/papers/cli.mjs +++ b/papers/cli.mjs @@ -303,7 +303,7 @@ const PAPER_MAP = { "arxiv-oskiewar": { base: "oskiewar", siteName: "oskiewar-26-arxiv", - title: "OSKIEWAR", + title: "oskiewar", }, "arxiv-penrose": { base: "penrose", diff --git a/session-server/oskiewar-live-manager.mjs b/session-server/oskiewar-live-manager.mjs index cf88772dda..e743861842 100644 --- a/session-server/oskiewar-live-manager.mjs +++ b/session-server/oskiewar-live-manager.mjs @@ -1,4 +1,4 @@ -// OSKIEWAR Live Manager, 26.08.04 +// oskiewar Live Manager, 26.08.04 // Small, public, match-id-scoped relay for phone spectators. import { diff --git a/session-server/session.mjs b/session-server/session.mjs index fc317c4c20..ac5b99cf51 100644 --- a/session-server/session.mjs +++ b/session-server/session.mjs @@ -1726,7 +1726,7 @@ wss.on("connection", async (ws, req) => { log('🔌 Total wss.clients.size:', wss.clients.size); log('🔌 Current connections count:', Object.keys(connections).length); - // Public, pronounceable-ID-scoped OSKIEWAR phone spectator rooms. + // Public, pronounceable-ID-scoped oskiewar phone spectator rooms. if (oskiewarLiveManager.handleConnection(ws, req)) return; // Route status dashboard WebSocket connections separately diff --git a/system/public/aesthetic.computer/disks/oskiewar.mjs b/system/public/aesthetic.computer/disks/oskiewar.mjs index 976d58e47c..ab80ef8824 100644 --- a/system/public/aesthetic.computer/disks/oskiewar.mjs +++ b/system/public/aesthetic.computer/disks/oskiewar.mjs @@ -1,5 +1,5 @@ -// OSKIEWAR, 26.08.05 -// Opens the standalone OSKIEWAR game, live room, or replay suite. +// oskiewar, 26.08.05 +// Opens the standalone oskiewar game, live room, or replay suite. const WORD = "(?:[bdfgklmnprstvz][aeiou]){3}"; const ROUND_NAME = new RegExp(`^(?:${WORD}-${WORD}-${WORD}|[a-z]{4,7}[0-9]{1,3})$`); @@ -18,8 +18,8 @@ function boot({ colon = [], params = [], jump }) { function meta({ params = [], colon = [] } = {}) { const url = target({ params, colon }); const round = url.split("/").filter(Boolean).at(-1); - return { title: round && round !== "oskiewar.com" ? `OSKIEWAR ${round}` : "OSKIEWAR", - desc: "Play OSKIEWAR or open a live round and its demo." }; + return { title: round && round !== "oskiewar.com" ? `oskiewar ${round}` : "oskiewar", + desc: "Play oskiewar or open a live round and its demo." }; } export { boot, meta, target }; diff --git a/system/tests/oskiewar-analytics.test.mjs b/system/tests/oskiewar-analytics.test.mjs index f035884d81..5ffb202fa3 100644 --- a/system/tests/oskiewar-analytics.test.mjs +++ b/system/tests/oskiewar-analytics.test.mjs @@ -7,7 +7,7 @@ import { oskiewarReplayProperties, } from "../public/aesthetic.computer/lib/oskiewar-analytics.mjs"; -test("OSKIEWAR events discard identifiers, handles, scores, and content", () => { +test("oskiewar events discard identifiers, handles, scores, and content", () => { assert.deepEqual( oskiewarEvent("round_stored", { source_system: "lith", diff --git a/system/tests/oskiewar-live-viewer.test.mjs b/system/tests/oskiewar-live-viewer.test.mjs index 88ee4601b8..5c2707f2ab 100644 --- a/system/tests/oskiewar-live-viewer.test.mjs +++ b/system/tests/oskiewar-live-viewer.test.mjs @@ -2,7 +2,7 @@ import test from "node:test"; import assert from "node:assert/strict"; import { boot, target } from "../public/aesthetic.computer/disks/oskiewar.mjs"; -test("the AC piece jumps out to the standalone OSKIEWAR suite", () => { +test("the AC piece jumps out to the standalone oskiewar suite", () => { const destinations = []; boot({ jump: (url) => destinations.push(url) }); assert.deepEqual(destinations, ["out:https://oskiewar.com/"]); diff --git a/system/tests/product-analytics.test.mjs b/system/tests/product-analytics.test.mjs index cd53d7d8c1..324eb0dcf5 100644 --- a/system/tests/product-analytics.test.mjs +++ b/system/tests/product-analytics.test.mjs @@ -27,7 +27,7 @@ test("routes omit user-published names and source", () => { assert.equal(safeRoutePath("/notepat?ignored=true"), "/_other"); }); -test("OSKIEWAR routes collapse round identifiers", () => { +test("oskiewar routes collapse round identifiers", () => { assert.equal(safeAnalyticsRoute("/", "oskiewar.com"), "/oskiewar"); assert.equal( safeAnalyticsRoute("/bafegu-dorimi-kunapo", "oskiewar.com"), diff --git a/xbox/live/OSKIEWAR-FRAME-DESIGN.md b/xbox/live/OSKIEWAR-FRAME-DESIGN.md index 3c5cca9566..d34971bee1 100644 --- a/xbox/live/OSKIEWAR-FRAME-DESIGN.md +++ b/xbox/live/OSKIEWAR-FRAME-DESIGN.md @@ -1,4 +1,4 @@ -# OSKIEWAR pose and frame system +# oskiewar pose and frame system Target: original geometry-only fighters in `xbox/live/hello.js`, simulated at 60 Hz. Street Fighter references are timing and readability research only. Do not import, trace, ship, or derive coordinates from copyrighted sprites, captures, models, or hitbox images. diff --git a/xbox/live/dannom.js b/xbox/live/dannom.js index 71bf6686bc..8124fe488a 100644 --- a/xbox/live/dannom.js +++ b/xbox/live/dannom.js @@ -1,4 +1,4 @@ -// Dannom for the OSKIEWAR-generation native Xbox host. GENERATED. +// Dannom for the oskiewar-generation native Xbox host. GENERATED. // Rebuild: node xbox/tools/bundle-nom.mjs (function (xboxNativeSynth) { // source: system/public/aesthetic.computer/lib/percussion.mjs @@ -3633,7 +3633,7 @@ function xboxNomOpaque(color) { } function xboxNomRect(x, y, width, height, style) { - // The current OSKIEWAR host's box primitive is opaque. Dropping translucent + // The current oskiewar host's box primitive is opaque. Dropping translucent // overlays preserves the board; drawing their blended color as an opaque // rectangle would erase every command beneath it. if (xboxNomInk[3] < 250) return; @@ -3793,7 +3793,7 @@ globalThis.paint = function paint() { nomPaint(xboxNomPaintApi); }; -// OSKIEWAR samples controller state in its fixed simulation step too. Keeping +// oskiewar samples controller state in its fixed simulation step too. Keeping // act empty prevents a native edge callback from advancing Nom twice. globalThis.act = function act() {}; globalThis.leave = function leave() { nomLeave(); }; diff --git a/xbox/live/hello.js b/xbox/live/hello.js index 7a68338b0a..b603ff5fe3 100644 --- a/xbox/live/hello.js +++ b/xbox/live/hello.js @@ -1,5 +1,5 @@ // @bundle-qr -const buildTimestamp = "2026.08.07.1251 PDT"; +const buildTimestamp = "2026.08.07.1336 PDT"; const floorY = 12000; const ceilingY = 0; const wallThickness = 80; @@ -4810,6 +4810,17 @@ function animatedTitleColor(index, t, daylight = visualTheme.light) { return mixColor(night, day, daylight); } +function titleButtonRect() { + const compact = compactLayout(); + const textSize = hudTypeSize; + const textWidth = handleWidth("start", textSize); + const width = textWidth + (compact ? 54 : 76); + const height = textSize + (compact ? 24 : 34); + return { x: viewCenterX() - width / 2, + y: viewHeight * (compact ? .61 : .64) - (compact ? 10 : 15), + width, height, textSize, textWidth }; +} + function drawTitleScreen(t, ink, transitionAge = -1) { const compact = compactLayout(); const socialPreview = typeof capabilities === "function" && @@ -4852,14 +4863,29 @@ function drawTitleScreen(t, ink, transitionAge = -1) { } const prompt = "start"; - const promptSize = hudTypeSize; - const promptWidth = handleWidth(prompt, promptSize); + const button = titleButtonRect(); + const pointer = globalThis.__oskiewarTouch?.pointer; + const hovered = transitionAge < 0 && pointer?.active && pointInRect(pointer, button); + if (globalThis.__oskiewarTouch) { + globalThis.__oskiewarTouch.titleButton = button; + globalThis.__oskiewarTouch.titleHover = Boolean(hovered); + } const promptPulse = .68 + (Math.sin(t * 3.2) + 1) * .16; const promptInk = transitionInk || mixColor([196, 142, 18], [255, 238, 82], promptPulse); - if (!socialPreview && (transitionAge >= 0 || Math.floor(t * 2.4) % 2 === 0)) - typeWrite(prompt, viewCenterX() - promptWidth / 2, - viewHeight * (compact ? .61 : .64), promptSize, ...promptInk); + if (!socialPreview) { + const buttonPanel = transitionInk || mixColor( + [18, 24, 48], [215, 225, 239], visualTheme.light); + const buttonEdge = hovered ? promptInk : mixColor(buttonPanel, ink, .24); + box(button.x + 5, button.y + 6, button.width, button.height, + ...mixColor([3, 5, 14], [96, 104, 118], visualTheme.light)); + box(button.x, button.y, button.width, button.height, + ...mixColor(buttonPanel, promptInk, hovered ? .25 : .06)); + box(button.x, button.y, button.width, hovered ? 7 : 4, ...buttonEdge); + typeWrite(prompt, button.x + (button.width - button.textWidth) / 2, + button.y + (button.height - button.textSize) / 2 - 2, + button.textSize, ...promptInk); + } if (transitionAge >= 0 || socialPreview) return; const titleNow = pacificTimeLabel(runtime().unixMs || Date.now()); const stamp = buildTimestamp.match(/^(\d{4})\.(\d{2})\.(\d{2})\.(\d{2})(\d{2})/); diff --git a/xbox/live/mac-test.html b/xbox/live/mac-test.html index 70680b570a..6593def012 100644 --- a/xbox/live/mac-test.html +++ b/xbox/live/mac-test.html @@ -4,7 +4,7 @@ oskiewar - + @@ -37,7 +37,7 @@ @supports (height: 100dvh) { html, body { height: 100dvh; } } body { display: grid; place-items: center; font-family: "Comic Relief", "Comic Sans MS", Arial, sans-serif; cursor: url("/aesthetic.computer/cursors/precise.svg") 12 12, auto; } - body.selection-hover, body.title-open { + body.selection-hover { cursor: url("/aesthetic.computer/cursors/active.svg") 12 12, pointer; } canvas { position: fixed; inset: 0; width: 100vw; height: 100vh; min-width: 0; min-height: 0; display: block; cursor: inherit; } @@ -98,7 +98,7 @@ - +
@@ -225,8 +225,18 @@ return true; } - function tapTitle() { - if (!dismissTitle()) return false; + function tapTitle(point = null) { + if (!titleOpen) return false; + const button = globalThis.__oskiewarTouch?.titleButton; + const inside = !point || button && point.x >= button.x && + point.x <= button.x + button.width && point.y >= button.y && + point.y <= button.y + button.height; + if (!inside) { + ensureAudio(); + drum("block", .32, 0); + return true; + } + dismissTitle(); keys[0].add("A"); ensureAudio(); globalThis.__oskiewarSfx?.unlock().catch(() => {}); @@ -604,11 +614,11 @@ globalThis.__oskiewarTouch.pointer.active = false; }); canvas.addEventListener("pointerdown", (event) => { - if (tapTitle()) { + const point = canvasPoint(event); + if (tapTitle(point)) { event.preventDefault(); return; } - const point = canvasPoint(event); Object.assign(globalThis.__oskiewarTouch.pointer, point, { active: true }); selectTaps.push(point); ensureAudio(); @@ -727,7 +737,8 @@ } previousPieceScreen = pieceScreen; const hover = globalThis.__oskiewarTouch?.hover || null; - document.body.classList.toggle("selection-hover", Boolean(hover)); + const titleHover = globalThis.__oskiewarTouch?.titleHover === true; + document.body.classList.toggle("selection-hover", Boolean(hover) || titleHover); const key = hover ? [hover.back ? "back" : "", hover.option ?? ""].join(":") : ""; if (key && key !== selectionHoverSoundKey && !titleOpen) oskiewarSfx.drum("hat", .26, 0); diff --git a/xbox/live/nom-host-adapter.js b/xbox/live/nom-host-adapter.js index a137fdc609..26899d476a 100644 --- a/xbox/live/nom-host-adapter.js +++ b/xbox/live/nom-host-adapter.js @@ -42,7 +42,7 @@ function xboxNomOpaque(color) { } function xboxNomRect(x, y, width, height, style) { - // The current OSKIEWAR host's box primitive is opaque. Dropping translucent + // The current oskiewar host's box primitive is opaque. Dropping translucent // overlays preserves the board; drawing their blended color as an opaque // rectangle would erase every command beneath it. if (xboxNomInk[3] < 250) return; @@ -202,7 +202,7 @@ globalThis.paint = function paint() { nomPaint(xboxNomPaintApi); }; -// OSKIEWAR samples controller state in its fixed simulation step too. Keeping +// oskiewar samples controller state in its fixed simulation step too. Keeping // act empty prevents a native edge callback from advancing Nom twice. globalThis.act = function act() {}; globalThis.leave = function leave() { nomLeave(); }; diff --git a/xbox/live/nopaint.html b/xbox/live/nopaint.html new file mode 100644 index 0000000000..23763c1d3a --- /dev/null +++ b/xbox/live/nopaint.html @@ -0,0 +1,219 @@ + + + + + + No Paint Xbox — command prototype + + + + + +
+ + + + diff --git a/xbox/live/nopaint.js b/xbox/live/nopaint.js new file mode 100644 index 0000000000..c6caa516b5 --- /dev/null +++ b/xbox/live/nopaint.js @@ -0,0 +1,633 @@ +// @bundle-qr +// No Paint Xbox prototype: command-backed paintings. + +const background = [247, 243, 232]; +const inkColors = [ + [24, 27, 35], + [238, 70, 101], + [30, 124, 214], + [244, 172, 42], + [57, 170, 116], + [133, 82, 186], +]; +const uiInk = [24, 27, 35]; +const uiPaper = [247, 243, 232]; +const uiRule = [205, 198, 181]; +const noHover = [238, 70, 101]; +const paintHover = [30, 124, 214]; +const acceptedMarks = []; +const brushKinds = ["line", "box", "triangle", "rays", "echo", "grid"]; +const effectKinds = ["mirror", "turn", "zoom", "blur", "invert", + "flip", "scroll", "skew", "breathe", "saturate", "contrast", + "posterize", "recurse", "vignette", "noise"]; +const proposalKinds = [...brushKinds, ...effectKinds]; +const acceptedEffects = []; +const maxPaintingCommands = 1600; + +let proposal = null; +let proposalNumber = 0; +let rejectedCount = 0; +let mode = "making"; +let previousButtons = []; +let randomState = 1; +let view = { width: 1920, height: 1080 }; +let proposalFrame = 0; +let decisionHeld = false; + +function hashSeed(value) { + let hash = 2166136261; + for (const character of String(value)) { + hash ^= character.charCodeAt(0); + hash = Math.imul(hash, 16777619); + } + return hash >>> 0 || 1; +} + +function random() { + randomState ^= randomState << 13; + randomState ^= randomState >>> 17; + randomState ^= randomState << 5; + return (randomState >>> 0) / 4294967296; +} + +function clamp(value, low, high) { + return Math.max(low, Math.min(high, value)); +} + +function syncView() { + const next = typeof gameView === "function" ? gameView() : null; + view.width = clamp(Math.round(Number(next?.width) || 1920), 480, 3840); + view.height = clamp(Math.round(Number(next?.height) || 1080), 480, 2160); +} + +function ink() { + return inkColors[Math.floor(random() * inkColors.length)].slice(); +} + +function lineCommand(x1, y1, x2, y2, width, color) { + return { primitive: "line", x1, y1, x2, y2, width, color: color.slice() }; +} + +function makeLine() { + const angle = random() * Math.PI * 2; + const length = .16 + random() * .58; + const centerX = .14 + random() * .72; + const centerY = .13 + random() * .62; + const dx = Math.cos(angle) * length * .5; + const dy = Math.sin(angle) * length * .5; + return [lineCommand(clamp(centerX - dx, .055, .945), + clamp(centerY - dy, .055, .78), clamp(centerX + dx, .055, .945), + clamp(centerY + dy, .055, .78), .004 + random() * .022, ink())]; +} + +function makeBox() { + const width = .09 + random() * .32; + const height = .07 + random() * .28; + return [{ primitive: "box", x: .06 + random() * (.88 - width), + y: .06 + random() * (.72 - height), width, height, color: ink() }]; +} + +function makeTriangle() { + const centerX = .18 + random() * .64; + const centerY = .16 + random() * .48; + const radius = .08 + random() * .18; + const angle = random() * Math.PI * 2; + const points = [0, 1, 2].map((index) => { + const theta = angle + index * Math.PI * 2 / 3; + return { x: clamp(centerX + Math.cos(theta) * radius, .04, .96), + y: clamp(centerY + Math.sin(theta) * radius, .04, .79) }; + }); + return [{ primitive: "triangle", x1: points[0].x, y1: points[0].y, + x2: points[1].x, y2: points[1].y, x3: points[2].x, y3: points[2].y, + color: ink() }]; +} + +function makeRays() { + const centerX = .18 + random() * .64; + const centerY = .16 + random() * .48; + const radius = .10 + random() * .20; + const count = 7 + Math.floor(random() * 7); + const color = ink(); + const width = .003 + random() * .009; + const commands = []; + for (let index = 0; index < count; index++) { + const angle = index / count * Math.PI * 2 + random() * .08; + const reach = radius * (.72 + random() * .36); + commands.push(lineCommand(centerX, centerY, + clamp(centerX + Math.cos(angle) * reach, .035, .965), + clamp(centerY + Math.sin(angle) * reach, .035, .79), width, color)); + } + return commands; +} + +function makeEcho() { + const color = ink(); + const angle = random() * Math.PI * 2; + const length = .18 + random() * .38; + const centerX = .22 + random() * .56; + const centerY = .18 + random() * .42; + const dx = Math.cos(angle) * length * .5; + const dy = Math.sin(angle) * length * .5; + const nx = -Math.sin(angle) * .025; + const ny = Math.cos(angle) * .025; + return [-2, -1, 0, 1, 2].map((offset) => lineCommand( + clamp(centerX - dx + nx * offset, .035, .965), + clamp(centerY - dy + ny * offset, .035, .79), + clamp(centerX + dx + nx * offset, .035, .965), + clamp(centerY + dy + ny * offset, .035, .79), + .003 + Math.abs(offset) * .0015, color)); +} + +function makeGrid() { + const color = ink(); + const left = .08 + random() * .52; + const top = .08 + random() * .38; + const width = .18 + random() * Math.min(.34, .89 - left); + const height = .14 + random() * Math.min(.27, .76 - top); + const columns = 2 + Math.floor(random() * 4); + const rows = 2 + Math.floor(random() * 4); + const commands = []; + for (let column = 0; column <= columns; column++) { + const x = left + width * column / columns; + commands.push(lineCommand(x, top, x, top + height, .0025, color)); + } + for (let row = 0; row <= rows; row++) { + const y = top + height * row / rows; + commands.push(lineCommand(left, y, left + width, y, .0025, color)); + } + return commands; +} + +function nextProposal() { + proposalNumber++; + const kind = proposalKinds[(proposalNumber - 1) % proposalKinds.length]; + const factories = { line: makeLine, box: makeBox, triangle: makeTriangle, + rays: makeRays, echo: makeEcho, grid: makeGrid }; + proposal = effectKinds.includes(kind) + ? { kind, family: "effect", effect: { kind, + seed: Math.floor(random() * 1000000) } } + : { kind, family: "brush", commands: factories[kind]() }; + proposalFrame = 0; +} + +function drawCommand(command) { + const scale = Math.min(view.width, view.height); + if (command.primitive === "line") { + line(command.x1 * view.width, command.y1 * view.height, + command.x2 * view.width, command.y2 * view.height, + Math.max(2, command.width * scale), ...command.color); + } else if (command.primitive === "box") { + box(command.x * view.width, command.y * view.height, + command.width * view.width, command.height * view.height, ...command.color); + } else if (command.primitive === "triangle") { + triangle(command.x1 * view.width, command.y1 * view.height, + command.x2 * view.width, command.y2 * view.height, + command.x3 * view.width, command.y3 * view.height, ...command.color); + } +} + +function drawMark(mark) { + for (const command of mark.commands) drawCommand(command); +} + +function cloneMark(mark) { + return { kind: mark.kind, family: mark.family || "brush", + ...(mark.effect ? { effect: { ...mark.effect } } : {}), + ...(mark.commands ? { commands: mark.commands.map((command) => ({ + ...command, color: command.color.slice(), + })) } : {}) }; +} + +function mix(from, to, amount) { + return from + (to - from) * amount; +} + +function animatedCommand(command, index, frame) { + const phase = frame / 18 + index * .71; + const dx = Math.sin(phase) * .006; + const dy = Math.cos(phase * .83) * .005; + const pulse = 1 + Math.sin(phase * .73) * .035; + const color = command.color.map((value, channel) => channel < 3 + ? clamp(Math.round(value + Math.sin(phase + channel) * 9), 0, 255) : value); + if (command.primitive === "line") return { ...command, + x1: clamp(command.x1 + dx, -.1, 1.1), + y1: clamp(command.y1 + dy, -.1, 1.1), + x2: clamp(command.x2 - dx * .55, -.1, 1.1), + y2: clamp(command.y2 - dy * .55, -.1, 1.1), + width: command.width * pulse, color }; + if (command.primitive === "box") return { ...command, + x: command.x + dx, y: command.y + dy, + width: command.width * pulse, height: command.height / pulse, color }; + return { ...command, + x1: command.x1 + dx, y1: command.y1 + dy, + x2: command.x2 - dy, y2: command.y2 + dx, + x3: command.x3 - dx, y3: command.y3 - dy, color }; +} + +function animatedMark(mark, frame = proposalFrame) { + return { kind: mark.kind, family: "brush", + commands: mark.commands.map((command, index) => + animatedCommand(command, index, frame)) }; +} + +function transformCommand(command, transform, colorTransform = (color) => color) { + const color = colorTransform(command.color.slice()); + if (command.primitive === "line") { + const a = transform(command.x1, command.y1); + const b = transform(command.x2, command.y2); + return [{ ...command, x1: a.x, y1: a.y, x2: b.x, y2: b.y, color }]; + } + if (command.primitive === "triangle") { + const a = transform(command.x1, command.y1); + const b = transform(command.x2, command.y2); + const c = transform(command.x3, command.y3); + return [{ ...command, x1: a.x, y1: a.y, x2: b.x, y2: b.y, + x3: c.x, y3: c.y, color }]; + } + const a = transform(command.x, command.y); + const b = transform(command.x + command.width, command.y); + const c = transform(command.x + command.width, command.y + command.height); + const d = transform(command.x, command.y + command.height); + return [ + { primitive: "triangle", x1: a.x, y1: a.y, x2: b.x, y2: b.y, + x3: c.x, y3: c.y, color: color.slice() }, + { primitive: "triangle", x1: a.x, y1: a.y, x2: c.x, y2: c.y, + x3: d.x, y3: d.y, color: color.slice() }, + ]; +} + +function transformMarks(marks, transform, colorTransform) { + return marks.map((mark) => ({ kind: mark.kind, family: "brush", + commands: mark.commands.flatMap((command) => + transformCommand(command, transform, colorTransform)) })); +} + +function supportsOrderedEffects() { + return typeof capabilities === "function" && + capabilities()?.orderedEffects === true; +} + +function softenMarks(marks, frame = proposalFrame) { + const spread = .002 + blurRadius(frame) * .0007; + const offsets = [[-1, 0], [1, 0], [0, -1], [0, 1]]; + let remaining = maxPaintingCommands; + return marks.map((mark) => { + const commands = []; + for (const command of mark.commands) { + for (const [x, y] of offsets) { + const ghost = command.color.map((value, channel) => channel < 3 + ? Math.round(mix(value, background[channel], .62)) : value); + commands.push(...transformCommand(command, + (px, py) => ({ x: px + x * spread, y: py + y * spread }), () => ghost)); + } + commands.push({ ...command, color: command.color.slice() }); + if (commands.length >= remaining) break; + } + const kept = commands.slice(0, remaining); + remaining -= kept.length; + return { kind: mark.kind, family: "brush", commands: kept }; + }); +} + +function applyEffect(marks, effect, frame = proposalFrame) { + const phase = frame / 24; + if (effect.kind === "mirror") { + const scaleX = Math.cos(phase * .9); + return transformMarks(marks, + (x, y) => ({ x: .5 + (x - .5) * scaleX, y })); + } + if (effect.kind === "turn") { + const angle = Math.sin(phase * .7) * Math.PI * .32; + const cosine = Math.cos(angle); + const sine = Math.sin(angle); + return transformMarks(marks, (x, y) => ({ + x: .5 + (x - .5) * cosine - (y - .42) * sine, + y: .42 + (x - .5) * sine + (y - .42) * cosine, + })); + } + if (effect.kind === "flip") { + const scaleY = Math.cos(phase * .9); + return transformMarks(marks, + (x, y) => ({ x, y: .42 + (y - .42) * scaleY })); + } + if (effect.kind === "zoom") { + const scale = 1 + Math.sin(phase * .8) * .24; + return transformMarks(marks, + (x, y) => ({ x: .5 + (x - .5) * scale, y: .42 + (y - .42) * scale })); + } + if (effect.kind === "scroll") { + const dx = Math.sin(phase * .72) * .22; + const dy = Math.cos(phase * .61) * .12; + return transformMarks(marks, (x, y) => ({ x: x + dx, y: y + dy })); + } + if (effect.kind === "skew") { + const amount = Math.sin(phase * .8) * .62; + return transformMarks(marks, + (x, y) => ({ x: x + (y - .42) * amount, y })); + } + if (effect.kind === "breathe") { + const pulse = Math.sin(phase * .85); + return transformMarks(marks, (x, y) => ({ + x: .5 + (x - .5) * (1 + pulse * .18), + y: .42 + (y - .42) * (1 - pulse * .12), + })); + } + if (effect.kind === "invert") { + const amount = .5 + Math.sin(phase) * .5; + return transformMarks(marks, (x, y) => ({ x, y }), (color) => + color.map((value, channel) => channel < 3 + ? Math.round(mix(value, 255 - value, amount)) : value)); + } + if (effect.kind === "saturate") { + const amount = .35 + (.5 + Math.sin(phase) * .5) * 2.3; + return transformMarks(marks, (x, y) => ({ x, y }), (color) => { + const gray = color[0] * .299 + color[1] * .587 + color[2] * .114; + return color.map((value, channel) => channel < 3 + ? clamp(Math.round(gray + (value - gray) * amount), 0, 255) : value); + }); + } + if (effect.kind === "contrast") { + const amount = .55 + (.5 + Math.sin(phase * .82) * .5) * 1.7; + return transformMarks(marks, (x, y) => ({ x, y }), (color) => + color.map((value, channel) => channel < 3 + ? clamp(Math.round(128 + (value - 128) * amount), 0, 255) : value)); + } + if (effect.kind === "posterize") { + const levels = 2 + Math.round((.5 + Math.sin(phase * .7) * .5) * 5); + return transformMarks(marks, (x, y) => ({ x, y }), (color) => + color.map((value, channel) => channel < 3 + ? Math.round(Math.round(value / 255 * (levels - 1)) * 255 / (levels - 1)) + : value)); + } + if (effect.kind === "recurse") { + const scale = .38 + Math.sin(phase * .63) * .07; + const centers = [[.25, .21], [.75, .21], [.25, .63], [.75, .63]]; + return marks.map((mark) => ({ kind: mark.kind, family: "brush", + commands: centers.flatMap(([cx, cy]) => mark.commands.flatMap((command) => + transformCommand(command, (x, y) => ({ + x: cx + (x - .5) * scale, y: cy + (y - .42) * scale, + })))).slice(0, maxPaintingCommands) })); + } + if (effect.kind === "vignette") { + const depth = .035 + (.5 + Math.sin(phase) * .5) * .08; + const shade = Math.round(34 + (.5 + Math.cos(phase) * .5) * 42); + return [...marks.map(cloneMark), { kind: "vignette", family: "brush", commands: [ + { primitive: "box", x: 0, y: 0, width: 1, height: depth, + color: [shade, shade, shade] }, + { primitive: "box", x: 0, y: .84 - depth, width: 1, height: depth, + color: [shade, shade, shade] }, + { primitive: "box", x: 0, y: depth, width: depth, height: .84 - depth * 2, + color: [shade, shade, shade] }, + { primitive: "box", x: 1 - depth, y: depth, width: depth, + height: .84 - depth * 2, color: [shade, shade, shade] }, + ] }]; + } + if (effect.kind === "noise") { + const unit = (index, axis) => { + const value = Math.sin(effect.seed * .013 + index * 78.233 + axis * 31.177) * + 43758.5453; + return value - Math.floor(value); + }; + const commands = Array.from({ length: 96 }, (_, index) => { + const drift = Math.sin(phase + index * .37) * .006; + const value = Math.round(24 + unit(index, 2) * 207); + const size = .002 + unit(index, 3) * .009; + return { primitive: "box", x: unit(index, 0) + drift, + y: unit(index, 1) * .84 - drift, width: size, height: size, + color: [value, value, value] }; + }); + return [...marks.map(cloneMark), { kind: "noise", family: "brush", commands }]; + } + return marks.map(cloneMark); +} + +function blurRadius(frame = proposalFrame) { + return 2 + Math.round((.5 + Math.sin(frame / 24) * .5) * 8); +} + +function applyRenderEffect(effect) { + if (effect.kind === "blur" && supportsOrderedEffects() && + typeof blur === "function") blur(effect.radius); +} + +// This is the complete painting compositor. It deliberately knows nothing +// about proposals, buttons, labels, or progress UI. +function renderMarks(marks, effects = acceptedEffects) { + wipe(...background); + const ordered = effects.slice().sort((a, b) => a.after - b.after); + let effectIndex = 0; + while (effectIndex < ordered.length && ordered[effectIndex].after === 0) + applyRenderEffect(ordered[effectIndex++]); + for (let index = 0; index < marks.length; index++) { + drawMark(marks[index]); + while (effectIndex < ordered.length && ordered[effectIndex].after === index + 1) + applyRenderEffect(ordered[effectIndex++]); + } +} + +function renderPainting() { + renderMarks(acceptedMarks); +} + +function controlLocale() { + const device = typeof capabilities === "function" ? capabilities() || {} : {}; + const platform = String(device.platform || "").toLowerCase(); + const family = String(device.inputFamily || "").toLowerCase(); + if (family === "touch") return { + no: "TAP NO", paint: "TAP PAINT", done: "TAP DONE", + noKey: "TAP", paintKey: "TAP", doneKey: "TAP", + noAction: "No", paintAction: "Paint", doneAction: "Done", family: "touch", + }; + if (family === "xbox" || platform.includes("xbox")) return { + no: "LEFT NO", paint: "RIGHT PAINT", done: "MENU DONE", + noKey: "LEFT", paintKey: "RIGHT", doneKey: "MENU", + noAction: "No", paintAction: "Paint", doneAction: "Done", family: "xbox", + }; + if (platform === "web") return { + no: "B NO", paint: "A PAINT", done: "RETURN DONE", + noKey: "B", paintKey: "A", doneKey: "RETURN", + noAction: "No", paintAction: "Paint", doneAction: "Done", family: "web", + }; + return { + no: "LEFT NO", paint: "RIGHT PAINT", done: "RETURN DONE", + noKey: "LEFT", paintKey: "RIGHT", doneKey: "RETURN", + noAction: "No", paintAction: "Paint", doneAction: "Done", family: "keyboard", + }; +} + +function uiLayout() { + const compact = view.width < view.height * .8; + const height = compact ? Math.max(210, Math.round(view.height * .20)) + : Math.max(140, Math.round(view.height * .15)); + const top = view.height - height; + const pad = Math.max(18, Math.round(view.width * .018)); + const headerHeight = 0; + const buttonTop = top; + const buttonHeight = Math.max(56, view.height - buttonTop); + const buttonWidth = view.width / 2; + return { compact, height, top, pad, headerHeight, + no: { x: 0, y: buttonTop, width: buttonWidth, height: buttonHeight }, + paint: { x: buttonWidth, y: buttonTop, + width: buttonWidth, height: buttonHeight } }; +} + +function pointInRect(x, y, rect) { + return x >= rect.x && x <= rect.x + rect.width && + y >= rect.y && y <= rect.y + rect.height; +} + +function hitTest(x, y) { + const layout = uiLayout(); + if (pointInRect(x, y, layout.no)) return "B"; + if (pointInRect(x, y, layout.paint)) return "A"; + return null; +} + +function hoveredButton() { + if (typeof pointer !== "function") return null; + const cursor = pointer() || {}; + if (cursor.inside === false) return null; + const hit = hitTest(Number(cursor.x), Number(cursor.y)); + return hit === "A" || hit === "B" ? hit : null; +} + +function drawDecisionButton(rect, action, active, fill) { + const border = Math.max(3, Math.round(view.height * .004)); + const x = rect.x; + const y = rect.y; + const height = rect.height; + box(x, y, rect.width, height, ...uiInk); + box(x + border, y + border, rect.width - border * 2, height - border * 2, + ...(active ? fill : uiPaper)); + const inkColor = active ? [255, 255, 255] : uiInk; + const actionSize = Math.max(38, Math.round(view.height * .052)); + const textWidth = (text, size) => String(text).length * size * .61; + const centeredX = (text, size) => x + (rect.width - textWidth(text, size)) / 2; + const centeredY = y + (height - actionSize) / 2; + write(action, centeredX(action, actionSize), centeredY, actionSize, ...inkColor); +} + +function drawMakingUi() { + const layout = uiLayout(); + const { pad } = layout; + const small = Math.max(22, Math.round(view.height * .027)); + const prompt = proposal.kind.toUpperCase(); + const edge = Math.max(1, Math.round(view.height * .002)); + for (const [x, y] of [[-edge, 0], [edge, 0], [0, -edge], [0, edge]]) + write(prompt, pad + x, pad + y, small, 255, 255, 255); + write(prompt, pad, pad, small, ...uiInk); + const controls = controlLocale(); + const hover = hoveredButton(); + drawDecisionButton(layout.no, controls.noAction, + hover === "B" || previousButtons.includes("B") || + previousButtons.includes("ArrowLeft"), noHover); + drawDecisionButton(layout.paint, controls.paintAction, + hover === "A" || previousButtons.includes("A") || + previousButtons.includes("ArrowRight"), paintHover); +} + +function acceptProposal() { + if (mode !== "making" || !proposal) return; + if (proposal.family === "effect") { + if (proposal.effect.kind === "blur") { + if (supportsOrderedEffects()) { + acceptedEffects.push({ kind: "blur", after: acceptedMarks.length, + radius: blurRadius() }); + } else { + const softened = softenMarks(acceptedMarks); + acceptedMarks.splice(0, acceptedMarks.length, ...softened); + } + } else { + const transformed = applyEffect(acceptedMarks, proposal.effect); + acceptedMarks.splice(0, acceptedMarks.length, ...transformed); + } + } else { + acceptedMarks.push(animatedMark(proposal)); + } + nextProposal(); +} + +function rejectProposal() { + if (mode !== "making") return; + rejectedCount++; + nextProposal(); +} + +function toggleMode() { + mode = mode === "making" ? "finished" : "making"; +} + +function boot() { + syncView(); + const seed = typeof nopaintSeed === "string" + ? nopaintSeed : "nopaint-xbox-line-v1"; + randomState = hashSeed(seed); + acceptedMarks.length = 0; + acceptedEffects.length = 0; + proposalNumber = 0; + rejectedCount = 0; + mode = "making"; + previousButtons = []; + proposalFrame = 0; + decisionHeld = false; + nextProposal(); +} + +function sim() { + syncView(); + const down = typeof gamepad === "function" ? gamepad(0)?.down || [] : []; + const pressed = (button) => down.includes(button) && !previousButtons.includes(button); + const groupDown = (buttons, values = down) => buttons.some((button) => + values.includes(button)); + const released = (buttons) => !groupDown(buttons) && groupDown(buttons, previousButtons); + const noButtons = ["ArrowLeft", "B"]; + const paintButtons = ["ArrowRight", "A"]; + const paintingButtons = ["Canvas"]; + if (pressed("Menu") || pressed("View")) toggleMode(); + else if (released(paintingButtons)) toggleMode(); + else if (released(paintButtons)) + mode === "finished" ? toggleMode() : acceptProposal(); + else if (released(noButtons) && mode === "making") rejectProposal(); + decisionHeld = mode === "making" && + (groupDown(noButtons) || groupDown(paintButtons) || groupDown(paintingButtons)); + if (mode === "making" && !decisionHeld) proposalFrame++; + previousButtons = down.slice(); +} + +function paint() { + if (mode === "making" && proposal.family === "effect") { + if (proposal.effect.kind === "blur") { + if (supportsOrderedEffects()) { + renderMarks(acceptedMarks, [...acceptedEffects, + { kind: "blur", after: acceptedMarks.length, radius: blurRadius() }]); + } else renderMarks(softenMarks(acceptedMarks)); + } else renderMarks(applyEffect(acceptedMarks, proposal.effect)); + } else renderPainting(); + if (mode !== "making") return; + if (proposal.family === "brush") drawMark(animatedMark(proposal)); + drawMakingUi(); +} + +function act(button) { + // The native host also sends edge events. Polling gamepad() is authoritative, + // as it is in oskiewar, so act remains side-effect free. + void button; +} + +function leave() {} + +function snapshot() { + return { + mode, + proposalNumber, + proposalFrame, + decisionHeld, + rejectedCount, + accepted: acceptedMarks.map(cloneMark), + effects: acceptedEffects.map((effect) => ({ ...effect })), + proposal: proposal ? cloneMark(proposal) : null, + controls: controlLocale(), + hover: hoveredButton(), + view: { ...view }, + }; +} diff --git a/xbox/live/oskiewar-sfx.mjs b/xbox/live/oskiewar-sfx.mjs index 5593083e2c..796e2eef17 100644 --- a/xbox/live/oskiewar-sfx.mjs +++ b/xbox/live/oskiewar-sfx.mjs @@ -1,4 +1,4 @@ -// OSKIEWAR procedural SFX mock bank. +// oskiewar procedural SFX mock bank. // // The short layered percussion voices follow Aesthetic Computer's shared // notepat kit (`system/public/aesthetic.computer/lib/percussion.mjs`): tiny diff --git a/xbox/live/render-social-preview.mjs b/xbox/live/render-social-preview.mjs index 7c6dd18b8b..d86beb9840 100644 --- a/xbox/live/render-social-preview.mjs +++ b/xbox/live/render-social-preview.mjs @@ -1,4 +1,4 @@ -// Burn OSKIEWAR's real title renderer into Open Graph poster/video assets. +// Burn oskiewar's real title renderer into Open Graph poster/video assets. import { createHash } from "node:crypto"; import { spawnSync } from "node:child_process"; diff --git a/xbox/live/round-room.mjs b/xbox/live/round-room.mjs index c74fd005f9..cfc79d4a27 100644 --- a/xbox/live/round-room.mjs +++ b/xbox/live/round-room.mjs @@ -1,4 +1,4 @@ -// OSKIEWAR round room transport, 26.08.05 +// oskiewar round room transport, 26.08.05 // Keeps live and stored-demo delivery outside the shared game/render engine. const WORD = "(?:[bdfgklmnprstvz][aeiou]){3}"; @@ -15,7 +15,7 @@ export class RoundRoom { analytics = () => false, sessionOrigin = "wss://session-server.aesthetic.computer", replayOrigin = "" } = {}) { - if (!ROUND_NAME.test(name || "")) throw new Error("Invalid OSKIEWAR round name"); + if (!ROUND_NAME.test(name || "")) throw new Error("Invalid oskiewar round name"); this.name = name; this.WebSocketImpl = WebSocketImpl; this.fetchImpl = typeof fetchImpl === "function" diff --git a/xbox/live/social/manifest.json b/xbox/live/social/manifest.json index 58068d5f95..5a8d8a67dc 100644 --- a/xbox/live/social/manifest.json +++ b/xbox/live/social/manifest.json @@ -1,7 +1,7 @@ { "format": "ac.oskiewar.social-preview", "version": 1, - "build": "4719026132a77265", + "build": "0dd3398b7934b309", "width": 1200, "height": 630, "durationSeconds": 6, diff --git a/xbox/live/social/oskiewar-title.jpg b/xbox/live/social/oskiewar-title.jpg index 3756ef979716bb9d219fceb61380965b043c41a4..c300f7ce7727eb900b04658201544e65a64c49d4 100644 GIT binary patch delta 21605 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 diff --git a/xbox/live/social/oskiewar-title.mp4 b/xbox/live/social/oskiewar-title.mp4 index dec21e45200397691b32c813985ab149a5801360..6283b3f3ce1da344b44bf1c5f3cc02ab5e28592f 100644 GIT binary patch literal 151151 zcmZQzU{FXasVvAW&d+6FU}6B#nZ@}=iDk)#xdkSM3=G`;x%v5J3=9l8xn&tC3@Cv4 z1p|Y40Rtlg2q9z`5lk=(jqd;!#7QtQFmUZGDN4*{U|@(T$p+iWjHDWBns@<{7=#Ix zfp8em9L2x@vX^B80|OJtHw+9asVODJ3=9l1sX4_ZP(6%b|1hvX^>P{Jrer39!YDTd z><*|h5M{%_z?j7ldIZE~(9KB6DFU+?7#PYjQ&M4U5FM78lA7<4n3s~13R1&)CpR-M zje&tdq%0R~D6+FvQXq0NDMhIuH6Z;Ud7jdu90iD%IOi0XB;_zLFzhKVDTYM|NX;5h zq=7U*)InKLie&>+8G{D{0~mwE7)5;&%aYBE^o%U@3=Iqvax#-DjLb|xQcx`M|33o* z11KptGx|En|9{9JmG0{x|7L+|Q~%k94h9Bh1`Y-WX2u5<2YWU!GO%X6eta6_MuCFF zVo>CO+yufRNhL*)0A^;M3NyR71RVGvE=bK5P~roHNpVRrC{keJj0_B{Gm;T%H$wcz z0+nZj(o9gA3rfS}L0nMU94_)B&A$U3pB$hB!~{*7j0_9|?Vh1-KdIqKYI-MC{ZJ22 zdixh8{$z?vijzSZ1X3o0%2|dj5H{13;*#Pjs2qse!oVOqgMop)l!1X!kAZ=`k%56R zj)8$8pMil@QQ(fC5C~4NsobnA(MfDA(?@J<2C~WlNAF4Lk0r_qYMKBM<4?O;|>M}h9U+A zMm`1xPFV&9#&`w>E@uV?#`z2k4D}2QjKT~I95Wdh7~2>a82*A9I1CJ&yBQc5e=#sH ztY=_gbYWoNJkP+u2&y$f_16~$1`cZm2FCpi3=CHo7#Q*x7&!MbFfe{%U|@7&U|`tJ zz`zyGz`(ehfq?;3|2<@2;8?-Hz_^uxf#E#^149V|19vL}0~0?31H&H%28JID3|#39 z42%;Q7#I>67#K4c7&vMe7#OEBFfbg1sOP)^mEXa@zzwRKn;94wtRQ~l+|0nh2nypD z3=9l~3=Etv85kJq7#J8pZk)})z`l!tfpIwl14A_f1H)Se2KF$BpBZu)7#Ok{7&yBb z7#M#tFff9`%7}r1{Tl-VV<^O53@aEI*gr!31qzQ!1_rK&3=E8~7#JAU85kJ8GBB`T zWnf^O$H2gl#lXPuf`Ng$3X@L zMr#HJ22hyaW?%D}+L#lXPD4vpVF1_nlR1_sVGP=7yVU|?urVBl0{U|afn_<4F(2IQw9dc zJ_ZJc4hYR!$iTqxl7WFkih+S~9jML5z`(ecfq`WXQkZoxFt8aiFff7KQpv!;Si!)+ zG@F5eVF?2RBdFaaQe2Xp4@%sSG|vr67fGclC7=dlRBkGm21zR-Hx6@CGK&%m3P9~Q zkQ^B6WE#!t>w|33%P7gsQP5S$FDS{(&nvc4NKQ;jOtv*tC`wJU zHC9MTP0Gnn&bBqQGO#jGNX$#jsVq*lHK;JOGN>>#G*rk%@mR|it=+4<8xDO4HZg? zQgd=Li){@REGjHgl1pq26p{;bZ4DGsQWI0E^7B${jSO`R4HeQ7i%a4QinB8dYz<)s z6c)tir==CAme}eVDU@Usr6#5n+gd8*^-K&D5({k&tw6EK(7?bT^(eKYg~9y) zzlY2}L~hLf7yHNSvyDk#{`2B9^_GksUoV6UxPkf>49rkc{Mi+0uFEecS7m?&*d8$O zEnskQV9aLVs$d9VVD6at|3PV&gTRZG9u|8GpJw#89r=HGX;x)^$-z7Zo%9)Z?KY^e z8RXYmyi*e3{9tY%Rq|N0=T~gY*YKN;Z?hBr8^2JhS-0y~@nUB+CpB^5;00bf$9H>6 zOzsc+cY$S={oi#{biStT@}C%bMEdiQ6KgjZC2}sg;Bl$%s&Clqckh}Nd%8O9j;dto ziml0ZwVo@uJ8y&BmpW0ayJ?&6w41+w5GEpY&U$K#WB&?85koC@<-;$8JExvFd~;g4 zVD;om&o#|HF|W>u=*-+znzCJdf59X6crVj-QMVa__v(YgRWl5X;O0C<;UcHB`SM->-P_=DV;oTh2+=H zt$d2Ed+zhJzMuOm`DefPhvo~n`Cp2!da(Yq0+ZOKf68~)y-(g)Ia%$2*ge(i<$O!3 zU&-n#JzG<1u*vw6v)R3K;(K<>$glmJz30Kfsk?71Py|TeXR&b{Z>G%)GSe15-)a-L13t{(3qs z>sNkN-fcBIk@cBzlO}iPF)%ITNWS*6YmTf8!`XYE6+eG}vn%_Agwcr!51YT;+8w)h z%8l%!(hHiNES{~Wy!}pTTkd~s&dk?i)v)poG7<2!IS#uN`)I5^kSIn%NYv7T6#Ol<2SJf$nIy++KT6k(o zZ~oj?@mSuxc#@i6;96Fu+mF_LRL*CLS)H{%;ouG}j*=ZI&e9Ki?9Vh^;C^|z_2}FS zGsW2FDelr-{HNh>{cB6_6#+FC=V$M?n_{!Z`F~zVJFgONQq@X*XU@xIW|~!ri?=-Z zwXZ4g(}J|;QZ5(f<{Q;^PQT)*vrC+F6Qf0W@<&E}ug9E1Tb8tVhe@!7AKuy@x9&wo z{XwgK*~Jt0?M+UcbE8k}k@NokPoHe~Ki1nQZrER)rX;)XQMsEyQV&~X`GpYCkN1+z zE@iyVXcl|(`&@ne*Zh>zW?!Y>r5@k;=>pe#2I&{OZ~nE9)99RfXv$H2##7t=-&*|f zbehc3EUO)-axdP!nXqC?l;6s$uLSa@@Z1iX-PJ22y*KvczuHTc#V1U|W>tARJoM|# zchZ}=N7XU^{mQQwn+-Lh1Pxwq{dG(A;!T;Eww7y>J$V*1G<>L3S){nl-XU&U_#58) zGxn5bKHS20WYxyG^Mn^)KbUd3`T9xohp~Cz)AngGNO$I*nJp9G*ylLO-(pT`Y|)ec zhtb=$!uM(^i&Tl9thlEaQIp*9wq0U{cXoD)gV*c2CkOo&J&?E=QuZ_brOj)!k%ZkZw2)OzV1!O&K>oa zE`DFSUm9}A8GKy1mRaeF+e@3)_=lbX+qSv=nE&IZzvxaq-}9TBSMxGnGx$;V&a?3A z3=HqQTI$8(o{TTwe3$sy1U;;)U)72bz4`SiXErO@g--cgt-J} zbDHh$7haHTB~$&`yJ|& zTHBrid;eOs{(s`_f9y{X zTjcXtO?k`ZR=<+pH8@q~ELU3d@Y8}s)_T1jaTEK=!q+B6#5aiKO6e|gUvc~SyC(u1 z6?>+3JKN5`+jPBuW+boh-{xgWT?)tc9q?mvy;S(iELUhRPr9J_ujh}F>Kzjd_$auSYF+ixce)GH)ZZ$ zFumqw%$I6$d!DoQjCSu!BX5_h`S0VE=U!eJo%>1k($VJYhk|Ery?913!|7uP`*ZQ9 z8*)Ei`u48ojip9Gb%@HRn+oOP)3&{jn|fD9H}vQWP9y0fw!Hfu?~BZtZNQOdd#^ssaH)t_BlhaLWAxl#frHZPb+ULsm`9MeC9|+mfqnN!TS$;dfO&z zM6kSZ*5H2W`n0^)d3O7Q!^?thOQd{I4_bldj6<4kN`M zy(!b8bG9FQ5LzZYy|?DC^(AXjhNt3st&UvhCFl2Z-H?6z_EqYmR!#BU8zhZ4uV?UB%6d;_TETR; zzxy+GwR0KvO1i4{{ju-8uxQ=?Sxd#gf7thhz?#3oN3Vb@mhLDo{BmDjjidg zd#k!?TH&L<|Nm?@24)V7c@=@ zVLXwOw14$PX8A2!Ps>OJtga1Pqux1nkx_PL+@$ZvZDh7IfBkgqh4s_-p{@MEm$kj7 z$zO47Xt{BD(niMr*1imBiNX$TIXvgL&ld9JoWA4P-rqLzTkW(%|J**Wk){3b^1i#q z$u`No|5L4ByKBx4`tIXbz##Q_jrNU61~Kct1sVBgp68stVt%@g>CBTF%kubI?Bnm6 ztax!fmho6SXSvY@5iPH3v2Q!27Ix{L(OHo$!tQbDgFsc)8X>j_28Kmqq9Pp{Xd4%s!0 zEYTI-(tBR+srnKQ+XoA4U#|3JoKey~*Q{_)PS)!a$$TPmWsHAb&hfVG_mhZM{<>Iw zdVzd;z)qd&6lM9>4~1WgWZAXmimec1cDcBkyst91(ZlXLUe zOiX_gw{F?l)ejX5yiK*{e6zCKuurh!#es5By<(xbW$(m}?Qd|A5_r2xb86_qFD+j# zdo8PooiXdH*5Qad9t&65xYw=f2#KH8tG)4|+6D7h=8ZEBJer_dm{Tv#sG0otQjtx- zAHk>P3p#Rgc{kWU{r~mI;Z>$R2?_qwwFFO}Ji4+>vv#qA?Xo~25tDP>t=}paewW}- zi`g{aB{q{Yav`_czN$;dDi^b>`$`tvUDA7?^}Kakl0R49*(oa}4qjX&|Lv3O$I{nV z?&*8YYPp{Jr@fc`-WhqOEi6vYA3fNVvFk_hlPKqD6-tj}PfOKp=lFdpTye_7^Jg`u zFA)5my6pXfiyN<$MctiK$i}I@r_;CQI(uM)@qIZ*qse=MPh8wzsd(#*+V;3maWP@9 zCra~Pdi=TkW4+>qACb$GLR25JE$Lrt5w-b}=Ssb6iEBHzymQ(rUTg6r4W6aqq8^50d@cIbMV>IaNN*q*e5Q8c&7gH1$Xk zu@&EyMO%*w99QO@=W@O5+l5IJpWZg^;N)JV-Evg#$oC6NKFm|HcN2bcy6~&ezSnQhl zVLJZ{q1fiXx*vH`oM)fu)ZhPySCMg==9b_nPj1VL{#Mr4?j(C!j(c8vgi09OLV>Pnc7f~n{bf4nacJTE84>$V z=^tk<-g@0+W!QJ4DRGA$H|$(m|D??-QblKH{7IQFi*mpHygScs=9)6UY={4@imQ!V z<+2(Djvmf`GbQyMgSXZ5y2q?yrZcb4m}{aUXMc<@@@*7D_KaH=E|TlYLM zZl1;UsRyr0WjvGIdZ%YmS~X{Pj3t}u1_Pt|7b{!-`&!M4>~U<}J>Qpm-Y1)uRxTkx$Fp)%4OU8{XHx+V!+Fv;5{82OIb9Q@zIo?Jt?+mkTnoamX>9^xeC;VEM*r z&kSCaA2xWP6`N5UX?>69)Vs=Aw=ZT(=O5O2pfyo-4%-s%*~=IEzB-v1;Pkm{2@~_QA6SfU}JHq~6WUmn^)_5;)+fMEGY~#iJO5$qEB>g9M-+r!m$!X_> zOQKc&6RKxT-et;Ruk$@d85CGuxKl%HW=qx!-)N$jrw$*?1T``$bi)=xR8FPAh$IB#RE zSAIohZ?8+itfP(>?3Zq2UeWmd{{!~2;7{HwcrDkyZ>SS_Bo-d};Kj!jeUXh13Ivz4 zl*ay6F*tJBEV^LUjD_E9y(TCG0?6T>yEc&~4c-)a3|p=7S;%*WFAYm^yk z<}BY(m3P=QzK@~Y>);V9=cq6m%4fEM8LyMGxRwij zJU@Bj>4+^WQrAygSfrQj#eZ41D7lvPaGLeX3C=9@oZpym988sWzsKpfWIvcXZ)eJ?_QR+ct71+wb;!vF6jcU#7fM*9JZ{>bu+ff0s!8 zlH*6W?<>Fcw;?vVs42_j?kxvS!!>gjofTkdx>%EXWAe8f=ltI+^>nOD@Mn6)6!szI z){W%w{RMoTJ`1buQxhj{6PmsCgYeNhp0?$kc7=bluJ3B7v=@tCF$wEb23 zyzR(h53gtcnXa^S%Mpvmzg zcf?PdE-Bo7^Gy5G+YesYGhP$XyClg!f4AMehga6$nmom-{`*z68cp+uS`t~2-1X1P z6O3yo*X)uw$idcoC)0OLWabvNrB~cnrG95GI?&>wbuQjufAT6fZi}~8yVXYEY??(?cUtoo_tz?!;J_JRGLi7TpXLZ;=~tkWq^ z^vx7kdNG?ZcE_A!qA`{AO@h%ejynUgMY4YXswrS)>*vr}_TV5#!kXaoKLUJxkLBOJ z!khn(f4k$X6R#G;zfBD1vU0zC(R%j($TO38jjeW{zH_UpU)wYJ+3E1E-&-FTiGNHt zywoVSg}3qM>t@|aTRgS*CNl|6cX_JuG3&yEt(HfBe|_a1eow>h)td`!I-ea%uJqhD zoZT(8C+^GAr7QBqPg$LkEL>u5#2~&VIK1}4IZW}yQU={<`{SF#XXa= z?N#k13A)TyZ{BG?yAyZ$Cf}hd$L_DJo!{~@XYewr{GGCHlIh%aK{mgy?RtJe%5AUA zEYE!fSpiqX1#6>NPb~F&Q?}Z*_?z7;{Uyt`&J?VZWPUaG+Mo5Iuay)ey4llxpDKDM zie?HP(KC?#zjX1LJ$}NgWS`jvS^oDizvGDe$>;-n^3>s&n4jGu+#= z@Y329%4RMZy9{o%o5h?wUb8w&jQMEGF)^2-4-9ST3nV;F+b6e_MBnRXb}hZ$Hz|DT z^hk~K@$Rwz?|xfd`{3Np*SiDd_a(>9eALU!Sbzi^oCeWfQtm@4^ z_gh}xY-euY&sZk$dXb1w*3IjBa~ZZA5C0|4X)6%r@W3>S-QVQ zd(CZ=jPSKehvVa&tp#2w_H5bmJoA&8>z*G9+|dFdwkk3+ycO$bEZ<>1{Zvw9p{B?e zn-00wFW2g_moB+ALzcgCXs3U}@yk>*x#!%l!XFu-$<{=n#v-9rz4ZFKU7k+v0y{uMF$E0qKVb(>BDR!k+ zdiQ$6p8ntIS@+o~;lts?ol;?q+q>?p-dwKXUbUV7%vl}N7w=>4-?$|!7xC!*n`_*x zXMEZEm7KlzKbs}f`DT6k)>$gC(jE22OL`_IJorKEWw_LdU}?dR5c+b}V?ZHGPVZ;cU*E)7&2| z+GiQ?z)@q`%0;JnDt>=pRye=rcWJ<$_?r?62YO<7r{zlMh|c}8Ls0F%>QiwESGN0X zZjK(ynVr@y&6D(VxO?`rb^gSxiu-KGHH?>pS9Z-6ic{c9)$fdzsbpI)*rV$?5;nP+ zmbgA@;f!ZT7W~}s>b3q3oi){`zWUB+jJ;`^|0(F!#-y;wQ>zr>&mVTTbG&<8s8)Ex zx2Yi?j$BF8zhB^Z)$KU@I;nUHF2iurcdEmfBj z{!88f&A4>yF*0|}()@k%U*8YG`38{;49*olKj-VIF-YYmHgz}WOl{aDbnswoME~Yr zyhX1qXU*B-w)**|kdUBD4)J=7W_9O#+V@Ft@XlPA&!WA?BSlA@@%tbzQL`DxAziyk;eUol-a`|0cT!J4yV118;AE4W*`ZL{u6R!045F>ZFvg`1ym z+1uxJO!w(W9?|Cd8En&D@bA&T8=YnKWs%is{UgD$`zpSh8brpsUKc;fCc!U_X95c`2#rFfG zoz|S{J^0$K@?Kwcy29Ni?sf8)oEKJ1yY3>R{%$*~P|3-tA5tAGyR7D&SSTSI7R!>! zCiF)&{C9ZJ?QqZ1wynyCUPkP0dv5-(@p?_peP!);%6;jb?gzUzC**fluiRd|Nkj7W zTrqEsJN$t?doS`iWEZ!ZEzD4Dxs!19=A7$h84*(}&P|)X*6Ba@$7d0K%_mH~m!I`M z{qh(m$Gn>x9y4WX+}opK;&!%sagyDY&yx;6*V*c4^FN3s=jl2HzP@R7E0XU0oczvP zpkvoz_j0|2g&iGE*(+(v7czC9iCZ~4W!qmMtT-X+$I!Tj{{hjG*D_J%dYi%QsDQX|G<+U|!jxuxh(&@+d9i2YuD>HNC@=|^Aa`uy9%zs$VPjvS`BINER8D}zmDa(H5ZH*yZ zBCMO!joj6L_LytG+gGH|eQQhU{pcH>7usHyEL#_l7ry3YdzU!R5~fRWm&0#%&WxM+ zbIOD#4d*wn|1a!p>Kc4)-@TRu^?3@xj#s_s<-*4;O@b6gHT z@zyvsKci58%O&r4#-J69C+F_`rTDX?H|H_uzn(O+8y^}@G#?MXS}hq_xmIb7L-nh! zbYlzalO@{(a%MIq`ChF|SY|Dl!L1O&_DXQcjRgVCf$jGWaukPZzfckl`s?*q;MIg) zpF@0y9cTUX+$7|FGd5~w!G({>zm3(!Pc65~(*~6{#F{RC%6DWilN5&EVt zXYp}2pLX~(KZ*H9`$B2)nx)6{Dzffe^qO_pN#=0Wrek~GnV4uqHMetY=F^{d>`0CJ6&t1|^F1tX(Js!7YxbU%4_LBHUMg_%CmD^+lbP3CGV6Nd z{r1#0HL(eEo-F6MT5$MsnV3nZN_f-UOOGnF+{-U7y5Z@!Ot@8DNAt%@qdu>hAq>H1 z&uz6mZ8+z+w4tEJp=X zOa8#aGg-d&wHw~gS#GGt?_Xy-E$RQCQ^)5|EZDJV-f3+f5r)XKOxF#KCmj8-YTK~} zsj3J2R(tmU()?ENH_KVBfYWs{!_jivs|$GZHAQNd#C=h^6w9`}UX!6-YQrz#4=&f! zqfa#099_%yDX?)({PZ>>hpQ&@cpgXSC>`NG%5pbju3m^RPr};2C$#VFHvEtly;!;a zLGQ`$3Jx)yO^4j2tn@XH`8_N8KB@Y5?y<)Ii*J5mke}+LbF=^Y=E)6PF78o~UeBzz zHqFs;oB1Ns*c?}*7tFF0#96E`#HN~lg6Uns~l5!CA!~DFYs%qlQZj4WwP2L`zlA3 zNj5*?kw$(=<1E<%ri;6lJjztL*JEh;E9_40*PFDJx4K3DyGR@1V?ZT?9c3|If_4YjQo z=y~2CWGnOBb&<~X!?8X60YV(7vOB!gUY(j6c2eeI$iKR)bi7yY{5B!9=#s)} zN3-Mi7jW&}SGajr@29+p$B*uw#hR!2QMKy0p*j20>kGJFH#DtUc>T@pC+=)%{gXrZ z<^4J`XKi19<8--Atj( zi2arfya_r7`1_+7++;c zYqmv;Z)sp)VANuq=UB=4A5`OVS>&~IJ-!wCXyc~ucfaxmFdd#1v2X1(gZT!wAKW(n zIsZ8!X2EeaH#L9uB2$JZCP%_z@5J%8iE!RI&GbiELGBcj>7k3c*2}6*wagy4h_5&3 z&g18lyWS)|NqWndX*YNJX-RnK%Qw0fh;8}Mc~$F1$Z6%i%cqtc<-M#cBpqTD6QX}s zYfAULoR_lPSG>Q>TIV1T+c3#nbl#f1Au6cb@9cYgwvP5o)oQ634==cL1?cp?*pc%nMlog+9OK&g;&(1h`N9sV|kth5NaXm6BkI#qM zu9L5ny!AzI{wD9h_0C==byuk$kh6O#qrJR8}|OrQk%PuBd_n3r%Ku85Mfng z-fVeu@#8D=G>gL?)-o(MjoEPX%CfGS7ZQ7PTp#DxtQJ~4wfn}L=@%wnVO zC1di5sk^5AQfQE|Sa-)-{9vNW1cq0owek_CnSbt)@07SWpXa;(eTE*He%11#-`Oc& zJnuDSF8yGay5RoJ3z@nN%o8^~Oqks8T;=|srLQ&b>6tu8n!#J{aMAEl|5X3i4ZcFv zzY_8vE3M;Dxaq+@BOw2Vw3D2~iDN&Emp)whgN zox63lzOZr19$)j#`;cy~;rgTMG5pJ!pMQI?VV!x)-RX6ETK`y=UwyE(x8jXLYT@#m zRhNY_W`-;jy5X-~HoKWU-oaUudAa5%nK!yoT>tWx&Yf`YX-VCsv)s~N%=X*(gI8DI zI4@@{X}>Z(ov++5?0w#k_hsJ`boDypBiOHb+!W0?>L5wF3`_wD3>e{WG>sxKgCF3!?WtE#-k-(9L-l=}W*_f_pRof;J~ zH>SQ{9aB}5vvTqi%|5&KB@=8a?`)YTaYm8-Amsc+k%#I}&Xx1A9TF_saneYtoTGgIYb^tt#F@IQ1y8qMpUVGf z&(U93_RpwydBifUp=*KE`mJ>)J54Vw`4HP;H|0AU)5KM2*Am`-KKuD@662(u8%w7# z*($uUto1v5>ihvtAKBGUW+-uA3bohm^HpEI?TXmD1-ZTbyI;oH=*j&1cmTm*a0*T(7w%xLe{?qs7PVv*fR;|1o^bBm!+FaOtF6o{>CrAf6?`}Mk;^Poj~jja zOrK5@6j2K-&d*di=;f%%>GUlxx^CIm6SAC#Cr2>tdXRQ!f|P&%>)VqV7X_YR<;cpt zY;p8$RZ?~0mSuVc{9DDo?bx`2#pscA!OqBnnX#;gFKVpQa1-(^49=mGP=txY4Vp7tDzomRX(9oxIQ z**(SnZaX|{;{{FyVS^4^#`=`vqY=$MJ=&F-B{SDFBs+d%m_M1t!B*`-Qt3bceRpEx zc)Wfe&i`?f!PG~^D=7a?biaDDuZ{W9f6)mO^b%%Q?sxg!x|~^2G^6~tbMcZpJPM+} z9v1Joctc6&z1=2$pZ%+=r*D(U$<>nC`|qsW_lr*P#j}E5PtTv%(sk?2-VnpIt6P4U ziFRI>J-hYxvVa-d($l5p?ht*a&S?2WdGcQa$92b;SY7TspTE<-(>)?&!EKMBwY?x?+v&97=MM6 zIbdb1?h>J;8n@2O%(i;B!eOQAmyMhfg7bvpp1g|wQ0Ep?^YpJ<*^FqtFP49j6OPT@ zpl`R#w!=J+?~mIqNOAajkvyHrRPOmnG+cAB*>}9=aHLLeP+HPuuaO zTeEnMw0)fIw?jxh)o(@0dpR|S8uwxW%_rxhJuOeY30-gf^zi|aWApQ(G|&D?d{8RB zd)wa7z?}z`zSy&|#;@Oa;2Hb;g8OsR-1u{yjxaPwACEe_qA9v1YyBDZ6Qv!;GUkNd z-kvAv`*;2vt=!A`Z{J_fc|23g`TVrcirjCu?a^ob^V)o>-?El|Gs{Vd!Uv|PoZY%P zjq|a1{?(M6wp6z7JdKkN?>Sh$vs$zNX#U3Fn*}SpgRcl?&QATFx9RG`*z*s*^t$Kz zIe9Yq&Jo|_eNA&>Z{e-&iSj}}be)nKy(d_krLB(-t9KMz5yAW7`b;+U3pziKbI&X? zc$C9zCw20si29WR_4gm9G|ArD6tpLdGxf;dYiS%)w)7U(`m?lagn#oZ`y7^+u~uku z=#ux(ecv3--cV+};EJJ?xyqSk*NUcDXgyfgmK1X)hGWsfX@xr8{CBRdeZ6*bQ+yd{ zrFoR&yp*iqL;FEhGW)?3?nVuV^%Dgc^J3>d4fz@OM&L$H<@ErAX?!2EWA87_d+2NW z@3bKQl4oope!cfT7xOnodCAx>P!zaVq3@U`lwyBy`vY11f{BX-=lEo|eqR)xczk;N z;{BaVpPWAb(e$o9cjf+TFSPE>%)gtbnR#>l0mo~T@3M&>O5UQ%r~dOn>E7<<(D=xW zJ(qrd|9)2BgtnqacvDy1j`!Ia=TswX2Yn`Q?QK6HsMXJUW=e6r{Di~lJ?!gui(9!Q3;r)={wnrO$SZl{?@89i z8*{7cOo)3Xgr>RUWfCc;j5wM%IZ+k9RO-)1A=QWo&)q@1M>}H1jdi!JE*5{jaFTa_0;^xPWAiG5;Qnoj@$W82;|Lg0DzAFl_PPSogfmNRBzz5d5X&WOl3Rp5U!L zPXs`wGsuIsJ7_b`Yt4dMXX_d*s`xnPh-m|3L4o%ny*1m;yZnv4kx_YIoN$9tE zMe(y|q}xa;2XdaYk=C7Dv!^Hc=A6n)iGP(@oL?CDtT}sEA?|@Nu7JuR3Ne+!_(#_Gb2h z_qz}CR0paV^ zP?Jsf&xJ!v+TP@`Mnvz8TQT{@hSXO%r_8%HoO*w2_au#0(U9xF*R-4xF6X|V zskZj!hxsyp%Vm%IOKy9+L3PVErEk9yzVNa?ez1Kw-{Phja58c1_9AE9zjjV-N%x=e4AGQ1RiK9#|?Ra~a zA!|va&B{9#f7jsR8+V}qCDx+BcUY!>6iVt)$f`=cdDY% z;l9m0GBS?&9xr%Tm-nocxT$h{^^xGqp&D#wRi71aoG^)XZjZHC^2VF1{>e<7#BwTI zv`}|3^Q_Lf6KBiyXziJ>YL4g?zfa4OUbhGuM<`rb%YF6YTF#jtO&3a*=!(ZOx;{(E zY@4Y(t3IW}$olQ=poF&b4Z7)UTmE0;KbKK*JG(68Yoq3L!%O@(PX|r^n<*!`p7p@m zSBJE&R!(G>+?micPhp9=%L?!CuU*RyYuyRWJmkSWp-3}N=tE=HApK78bbFw* zXwQMCsm@!Nb*ua}J9n~N^s>t0l6iEdyMAphH>1X^?PrhP*K$kMGTX~Lz3hMF)XFV8 zy{|<7 z_;bN=v6SmdWu~ZuGY|6fPu*|W@WWuTghl0}j#n)3>bQ6)Yht~7<8qC^ z3wyS7JX|?pl0wxr{j0Mym5u8XZm`#dUM=|a_Gr)|nFiPXruRyF#I%|6T=LZWyLYVT zHPpSaEB&8ER=rw}$Cisbn5URU$Q)(3V7~nSY|f&p8JE`X58f?&qF`21%#R~M0bL0k z?_~QnR)1sU5h`4McRzdo+r^JR6~1*7D>KMQnEG|oHvS6_`SwkyXe_{-O;hE2$!xYoSMBtVd!0EqET0;4luA;L7rr zipXCqKI?wRf4`Z3II%uG^vGmUE?<>_Hi7o?OnQ9eQ2xUGHGHKDEY zsh^6v{+nFLVToC!S;SBq`q9d9`={j7UxPUKV$RfYOZIfu?2UP|o9*D|`{we6YLnlD zT(o&_vs_JX#x9vGyKN;a3RMnsuif1GxHl!;bWIqSz^l_+H1{7#y|q!pfM?ZI7Pi~M z&wl=On7sAC+e;xm@Giq$rk3$v%oJ-ox;*ZW#s1_6Su?UefBQZ^@$@X_^RE{+ z)bMF!9|@Fl+LJW%uBtZgSEjl$n=CK)DZT40Rz5A%4!9{V{7m@71Ws@5rGjcx^7CSp ztW|C-O*vs=?Oy5~_d5L1|g4-;XZn9qg=Q`_kaiz*VF6w$2yo{+EXQ}UB8RPw&Rqbc@g?*>~vaAt| zbw3ump81?1uLpDGqcdFsT^H^x6Yu$La@YPp)3T?a@(Vksu8pEWa+H^Iz5k~mdr4jd-tS`ZEusMqT~NvC#Ozky(*f1U)nKR z$#<=o+0yvu+Bv`5uPu;F*mydDiSx>KFL$fo%ek&_9dCUl);3FI&Qpeuy_42#-@<3R z@b2Vz%P%kc-5bjn-mQLT^tL5-X4(2xC!fB2Wc#N3fAVDu!Z z(hCcG{xk^roOn5RY4c+Ru{IH6(;O%xVfYIs{W1gstf+tbuXTp@0aytu8aTi z+glSC^d~lcOnjsKa_yR6H?Iix%NcvNN@ql7p#E z+%t7Jv|XgQ!Hc*4 zVtoJQ6NyZ}eS;ZWCa>MKgiUMpy7tpe)#=*Pw)fxWFrQ=Qv0G$v*5CWiH99S2d%iZ` z=3v*5UeFl0Vs*BQd7aNnN27@mGaq$Wya2c2I6&L0&oa(C4r^k!P5KxXz}&TMnhS4* zacfbBi)YQwgDbrlT_cq~DW!V|o;*Hw>BAqm>j~tm->v}_K+P_;r8CI|MpY!_E zgsm3S{V$jOek1vDP1Jo&t$l7EUuwL2z2d|#ziHqxQ6|uS^cco@Ct;2F)?F7F5{p88 z*$=l@pWR+>vnFFl!k@ILWlLxF8Hnj=|nskUuE&V*Zn3P&Fg=*JpLl*`=Z86 zGrwG95|v&0iEY2)p~EgQytkLe1uW+J{l=HHt( zWbD^l*6i7TEq5(TUWCGf#ah+L#djv$`tE9?yS!PXIc2GWGs`iJ%%$_Ueh=ymsMx_N zH2v+fe-ng!-ft4_%FLY;ZS%Z$GS9ICHxg>PAo4(6A}QS?goiwFsMiCoD1#z$(ZaoQ&H`ul56i*vg_ zd&BYe-15o_{r=}0e|~tgc=q?(y!u}^-`DPTKUB?h!6jcQhWVLJc%_8jhhM^fR-bO) zEF$E-_LQ{2hfjJ>B(h5Wl}!B5tt4KzNT_tT^S5>9_RO05-MIYG0iCGFY|H%`8Op^j zSBEMXnQDs~9ho3-U(J4|mj1V!zt=x-dnp@lwU%G{o>=&eMPYwD?|zvYs-bvt*IL`a zg8E-IMypOAGxwXC?K^e4uGQb=tPhLl-;Q*SRMB|Dcl>FDu#1tdN_1BDzWPx42S4gV z)n=7ExzQ!CYo1cXLYvUUm{m*Gy;u~<#?4j{_@w!jsP+9{?{jLCa=CM}WwuskQ} zWqt+&)0HaEBT~C2+g;(QKe?)I(W|g6lDiV8*Ie7YZ30_`OnT6^-46Nw4^PVKz5c(f zPqL6(;I!3xjd-#0<=Rex6|Rdl?!nzu9UFR*TpspnsIDs#f0!$c(`7-2@*9pZU#;{ks`H zpGo_nYkg_rgR4_@bSK9@X|R5N_kpJuAMZAfx%-80eDA!&U=!MTqW9>Qqw6MW*Y7+a z7Q(!)vs%=S!#r5$@`A<>Q%?NPxLNq*-j0dEr}B+vGJnz?j@Bm42uLEGjJtScVmYV%6? zZEt?TnzONR;jWdU2cGAJxkbmHO2>)h*CBrfuwzT)@S6=er+JU;iUcFnYN z|C()+PVMEpbX(IZ{GL|BHq9GL7S3E!c7?}eUC8QYR?HA$cz&38Uc;U@VjheRk6evT z?mZNICh*y(FF97LVl}SUKaLK4ep_t86OqqX=9`5Z3RZvqcqU`&+|&Oo+fVSe@3YMn zJbOiA_qqc*+6xU2>V5Q#7T)DMZPtxR|CK6s7(U#2Px<(*-b59z9OLlLOvU#a-kPhd z9>3oq_tNY0pA$!nQe~h0`}p?t=E|p&Y`H6ThsZD8DRp#7+QB(5rbbAei`uQv8vSrr zi2Cs#sgbb--}{TjP8?3{u~;W=GmqEd^|d8^0{7ScZ@$&l5-asxgFID)a>P89sUEUz$-f2BaJAP%o)WHia9ABMYU%w)+ z>1(PkpH!7(oyU`(Y5VniKyz0~Qlh&dMExt|6V)it|u&S=dz2j?qR+;=}5)& z!!sl_%ynAqMT~FkpMLRM$#VVe>3u?>x7kn0oZWT8{&ppke!@0an;+h_v-CDs<#;-- zt}k$S_2I;ZEDb@AKYBNQo!BmNuzBV#6Cdr?kPYWDkKK8jbmO8}gjCMSskMKc7JKBs zP@Mejbi?jh%ao3*njIF<-FD%2euuam0|VoF$9ZpDMPaS(PiD(vdn(pWUUYyd@yh3} zsUDZ7PkNa$D=cd9rHv|F%eK3_yX*IcKAc!A^(p$Or zW)^GFAFfdU!ZSw~ojkOA-NTqO*JlOJ?tIoXzu;9}KGj|EN>$^FZhT4 zlGN-y6C_{run65SZR_^^DDgHjz}MI1Q|7TOwglnl|ApLUr7r2sYuo65%Ou5g&(2AH zAH%D+U3y;hqG0mUS5Fkw9&G(w>wI)lx!UVh=XkIAiU?I*J$m@@>#$OX7n9e`3OT`? zU=zLPVwc=3zkO%-ul1JvSv@11OW{nB4$K{UZ ztx2lRIDOl^+WDQSUCKiVj`dIV4oHgMT{%5MI5q&o^=y~E zesl@~H#NCWFfcIOVw}$nYnylXHAMBlytlw+_e=&3XO~v-e|K+wUw7;0<4uc_H(u{$ zIU;?8FNJIM#U~vH{a!fPHW=sT+pgWca+w^f`i+Gtp;z<|C$Hsnh_3(XuX(8lCw@J{dHbHeU~iAhJ!Yk6Pk4p*ytg^~=poDZOUuHK%>ASox7w;CJiTV? zdez?Q&k2GxN1BDz|4d{_G5xpsns<3zwfEV!ITsCX8yVG3`zxnmtLuHpe}BV0g?ppBLItXNulYF_8nWKt@fP5eYrcc{T$=gqaOwH;*~DSoj-AH;|b1a6Tw^l2bLe( zxlDJ#ZJFQ}PVXGO%QC`N>`#2>FFn3_`pLsROQp%4)^%Ow9 zWLVkAz`*guakdb8e}S?7p+)hc*AF;a#G2z?`fN8^b$fUC#ay<`nH9@kuh#s0b#(%l zoTVoA_Ul71k{s$4;MvW0)OlV@bMDU*%6DYa{nDh_-49Ma^HhRq+4qI% z#YdRGN}Okr`tG{zRpFc5{gn=y%5$<8Ypvh6pjGPZ?)x2c|J#f1p4)Fe`}!;yNtG7| z9(f#nmN@0X-Te1SZ|u|yzdO`7yRe3x4NN-KTRp$#*+Dn|)#46Xudk_nEV<%m;B)fD zA-2wIhTSexpQq{V%6akYp=(meB&Y9!`VNA#(tcOEGVYz;nm)Uz(6DEblEjuWBhkZc zi}hxyR6Gg&E%5AF&5u1t=B~YBu331ui@#BIrK%v|u)o318+?N@a#zGw#snnaz8ot7tK%A0wV zx!(Thiqt(?s|vrq+TyqT+r&!U0

JGdAogW9~P&V0E=@o|VWEw$B^Hjh|;4daG$Y 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 literal 163641 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

2g(`F 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 pX_6)%)2u& { let attempts = 0; const livePublisher = () => { attempts++; - throw new RangeError("invalid OSKIEWAR live payload"); + throw new RangeError("invalid oskiewar live payload"); }; const { fight, tick } = createFight(false, false, "xbox-uwp", null, { width: 1920, height: 1080 }, livePublisher); @@ -210,7 +210,7 @@ test("an older native spectator boundary cannot stop a match", () => { assert.equal(attempts, 1); }); -test("OSKIEWAR typography uses the packaged KidLisp Comic Relief face", () => { +test("oskiewar typography uses the packaged KidLisp Comic Relief face", () => { assert.match(source, /typeof comicWrite === "function"/); assert.match(source, /comicGlyphAdvance/); assert.match(source, /String\(text\)\.toLowerCase\(\)/); @@ -670,12 +670,13 @@ test("raw live and demo rooms run through the canonical game engine", () => { assert.equal(fight.players[0].x, 5400); }); -test("start flashes yellow green lime before fading into pal select", () => { +test("start button flashes yellow green lime before fading into pal select", () => { const { fight, pads, signals, drums, tick } = createFight(false, false); assert.equal(fight.shellState().mode, "MENU"); assert.equal(fight.selectionState().selecting, true); - assert.match(source, /Math\.floor\(t \* 2\.4\) % 2 === 0/); assert.match(source, /const prompt = "start"/); + assert.match(source, /const button = titleButtonRect\(\)/); + assert.match(source, /box\(button\.x, button\.y, button\.width, button\.height/); assert.match(source, /\[255, 238, 82\]/); pads[0].down = ["Y"]; tick(); @@ -690,6 +691,15 @@ test("start flashes yellow green lime before fading into pal select", () => { assert.match(source, /if \(transitionAge >= 0 \|\| socialPreview\) return/); }); +test("title start is a bounded pointer button and negative space only duds", () => { + assert.match(source, /function titleButtonRect\(\)/); + assert.match(source, /titleButton = button/); + assert.match(source, /titleHover = Boolean\(hovered\)/); + assert.match(webShell, /if \(!inside\) \{[\s\S]{0,100}drum\("block", \.32, 0\)/); + assert.match(webShell, /tapTitle\(point\)/); + assert.doesNotMatch(webShell, /body\.selection-hover, body\.title-open/); +}); + test("active matches publish bounded phone spectator snapshots", () => { const { liveFrames, tick } = createFight(); tick(50000); diff --git a/xbox/live/tests/macos-native.test.mjs b/xbox/live/tests/macos-native.test.mjs new file mode 100644 index 0000000000..e7ba0101cb --- /dev/null +++ b/xbox/live/tests/macos-native.test.mjs @@ -0,0 +1,38 @@ +import assert from "node:assert/strict"; +import { readFile } from "node:fs/promises"; +import test from "node:test"; + +const source = await readFile(new URL("../../macos-native/main.swift", import.meta.url), "utf8"); +const build = await readFile(new URL("../../tools/build-macos-app.sh", import.meta.url), "utf8"); + +test("the macOS Dock app uses a native host rather than a WebView", () => { + assert.match(source, /import AppKit/); + assert.match(source, /import JavaScriptCore/); + assert.match(source, /CVDisplayLink/); + assert.match(source, /import GameController/); + assert.match(source, /import AVFoundation/); + assert.doesNotMatch(source, /WebKit|WKWebView/); + assert.match(source, /titlebarAppearsTransparent = false/); + assert.doesNotMatch(source, /\.fullSizeContentView/); + assert.match(source, /viewDidChangeBackingProperties/); + assert.match(source, /backingScaleFactor/); +}); + +test("native title clicks start only inside the shared button", () => { + assert.match(source, /if titleButtonContains\(point\) \{ input\.pulse\("A"\) \}/); + assert.match(source, /else \{ audio\.drum\("block", velocity: 0\.32, pan: 0\) \}/); + assert.match(source, /NSCursor\.pointingHand\.set\(\)/); +}); + +test("the macOS app runs the shared Xbox game source and native host APIs", () => { + assert.match(build, /xbox\/live\/hello\.js/); + for (const binding of ["wipe", "box", "line", "triangle3d", "comicWrite", + "gamepad", "runtime", "gameSignal", "saveReplay", "publishLive"]) + assert.match(source, new RegExp(`forKeyedSubscript: "${binding}"`)); +}); + +test("the macOS installer creates and pins the canonical oskiewar app", () => { + assert.match(build, /\/Applications\/oskiewar\.app/); + assert.match(build, /com\.apple\.dock persistent-apps/); + assert.match(build, /open "\$destination"/); +}); diff --git a/xbox/live/tests/nopaint.test.mjs b/xbox/live/tests/nopaint.test.mjs new file mode 100644 index 0000000000..d61cb9c152 --- /dev/null +++ b/xbox/live/tests/nopaint.test.mjs @@ -0,0 +1,279 @@ +import assert from "node:assert/strict"; +import { readFile } from "node:fs/promises"; +import test from "node:test"; + +const source = await readFile(new URL("../nopaint.js", import.meta.url), "utf8"); + +function createNoPaint(seed = "test-command-seed", inputFamily = "xbox", + orderedEffects = true) { + const commands = []; + const pad = { down: [] }; + const cursor = { x: 0, y: 0, inside: false }; + let viewport = { width: 1920, height: 1080 }; + const piece = new Function("runtime", "gamepad", "gameView", "capabilities", + "wipe", "box", "line", "triangle", "write", "blur", "nopaintSeed", "pointer", + `${source}\nreturn { boot, sim, paint, snapshot, renderPainting, controlLocale, hitTest, uiLayout };` + )( + () => ({ monotonicUs: 0, unixMs: 0 }), + () => ({ connected: true, down: pad.down.slice() }), + () => ({ ...viewport }), + () => ({ platform: inputFamily === "xbox" ? "xbox-uwp" : "web", + inputFamily, orderedEffects }), + (...values) => commands.push(["wipe", ...values]), + (...values) => commands.push(["box", ...values]), + (...values) => commands.push(["line", ...values]), + (...values) => commands.push(["triangle", ...values]), + (...values) => commands.push(["write", ...values]), + (...values) => commands.push(["blur", ...values]), + seed, + () => ({ ...cursor }), + ); + piece.boot(); + const tap = (button) => { + pad.down = [button]; + piece.sim(); + pad.down = []; + piece.sim(); + }; + return { piece, commands, tap, cursor, pad, + resize(width, height) { viewport = { width, height }; piece.sim(); } }; +} + +test("proposals walk the portable command and effect catalog", () => { + const { piece, tap } = createNoPaint(); + const kinds = []; + for (let index = 0; index < 6; index++) { + kinds.push(piece.snapshot().proposal.kind); + piece.snapshot().proposal.commands.forEach((command) => + assert.ok(["line", "box", "triangle"].includes(command.primitive))); + if (index < 5) tap("B"); + } + assert.deepEqual(kinds, ["line", "box", "triangle", "rays", "echo", "grid"]); + assert.equal(piece.snapshot().accepted.length, 0); +}); + +test("the full-screen effect catalog is reachable in a stable order", () => { + const { piece, tap } = createNoPaint("catalog-seed"); + const kinds = []; + for (let index = 0; index < 21; index++) { + kinds.push(piece.snapshot().proposal.kind); + if (index < 20) tap("B"); + } + assert.deepEqual(kinds, ["line", "box", "triangle", "rays", "echo", "grid", + "mirror", "turn", "zoom", "blur", "invert", "flip", "scroll", "skew", + "breathe", "saturate", "contrast", "posterize", "recurse", "vignette", + "noise"]); +}); + +test("Paint accepts the line and No cannot mutate accepted commands", () => { + const { piece, tap } = createNoPaint(); + tap("A"); + const painted = piece.snapshot(); + assert.equal(painted.accepted.length, 1); + assert.equal(painted.accepted[0].kind, "line"); + tap("B"); + const rejected = piece.snapshot(); + assert.deepEqual(rejected.accepted, painted.accepted); + assert.equal(rejected.rejectedCount, 1); + assert.equal(rejected.proposalNumber, 3); +}); + +test("the painting compositor emits no proposal or interface commands", () => { + const { piece, commands, tap } = createNoPaint(); + tap("A"); + tap("B"); + commands.length = 0; + piece.renderPainting(); + assert.deepEqual(commands.map(([kind]) => kind), ["wipe", "line"]); + + commands.length = 0; + piece.paint(); + assert.equal(commands.filter(([kind]) => kind === "line").length, 1); + assert.equal(commands.filter(([kind]) => kind === "triangle").length, 1, + "paint draws the current proposal after the accepted painting"); + assert.ok(commands.some(([kind]) => kind === "box")); + assert.ok(commands.some(([kind]) => kind === "write")); +}); + +test("effects expand into portable primitives before they are accepted", () => { + const { piece, commands, tap } = createNoPaint(); + for (let index = 0; index < 6; index++) tap("A"); + const state = piece.snapshot(); + assert.deepEqual(state.accepted.map(({ kind }) => kind), + ["line", "box", "triangle", "rays", "echo", "grid"]); + assert.ok(state.accepted.find(({ kind }) => kind === "rays").commands.length >= 7); + assert.equal(state.accepted.find(({ kind }) => kind === "echo").commands.length, 5); + assert.ok(state.accepted.find(({ kind }) => kind === "grid").commands.length >= 6); + commands.length = 0; + piece.renderPainting(); + const primitives = new Set(commands.map(([kind]) => kind)); + assert.deepEqual(primitives, new Set(["wipe", "line", "box", "triangle"])); + assert.ok(!commands.some(([kind]) => kind === "write")); +}); + +test("on-screen controls follow Xbox, keyboard, and touch capabilities", () => { + const cases = [ + ["xbox", ["LEFT NO", "RIGHT PAINT", "MENU DONE"]], + ["keyboard", ["B NO", "A PAINT", "RETURN DONE"]], + ["touch", ["TAP NO", "TAP PAINT", "TAP DONE"]], + ]; + for (const [family, labels] of cases) { + const { piece, commands } = createNoPaint("locale-seed", family); + const controls = piece.snapshot().controls; + assert.deepEqual([controls.no, controls.paint, controls.done], labels); + piece.paint(); + const visible = commands.filter(([kind]) => kind === "write") + .map(([, value]) => value); + for (const label of [controls.noAction, controls.paintAction]) + assert.ok(visible.includes(label)); + assert.ok(!visible.some((value) => String(value).includes("DONE"))); + assert.ok(!visible.some((value) => String(value).includes("PAINTED"))); + } +}); + +test("D-pad and arrow Left rejects while Right paints", () => { + const { piece, tap } = createNoPaint("directions-seed", "xbox"); + const first = piece.snapshot().proposal; + tap("ArrowLeft"); + assert.equal(piece.snapshot().accepted.length, 0); + assert.equal(piece.snapshot().rejectedCount, 1); + assert.notDeepEqual(piece.snapshot().proposal, first); + tap("ArrowRight"); + assert.equal(piece.snapshot().accepted.length, 1); +}); + +test("large No and Paint buttons own their hit regions and hover state", () => { + const { piece, commands, cursor } = createNoPaint("hover-seed", "keyboard"); + const layout = piece.uiLayout(); + assert.equal(layout.no.x, 0); + assert.equal(layout.no.width, 960); + assert.equal(layout.paint.x, 960); + assert.equal(layout.paint.x + layout.paint.width, 1920); + assert.equal(layout.no.y, layout.paint.y); + const center = (rect) => ({ x: rect.x + rect.width / 2, + y: rect.y + rect.height / 2 }); + assert.equal(piece.hitTest(center(layout.no).x, center(layout.no).y), "B"); + assert.equal(piece.hitTest(center(layout.paint).x, center(layout.paint).y), "A"); + Object.assign(cursor, center(layout.no), { inside: true }); + assert.equal(piece.snapshot().hover, "B"); + Object.assign(cursor, center(layout.paint)); + assert.equal(piece.snapshot().hover, "A"); + cursor.inside = false; + assert.equal(piece.snapshot().hover, null); + commands.length = 0; + piece.paint(); + const visible = commands.filter(([kind]) => kind === "write"); + assert.deepEqual([...new Set(visible.map(([, value]) => value))], + [piece.snapshot().proposal.kind.toUpperCase(), "No", "Paint"]); + const no = visible.find(([, value]) => value === "No"); + const paint = visible.find(([, value]) => value === "Paint"); + assert.ok(Math.abs(no[2] + "No".length * no[4] * .61 / 2 - 480) < 1); + assert.ok(Math.abs(paint[2] + "Paint".length * paint[4] * .61 / 2 - 1440) < 1); + assert.equal(no[3], paint[3]); +}); + +test("every brush preview moves and holding a decision freezes its frame", () => { + const { piece, commands, pad } = createNoPaint("motion-seed", "keyboard"); + commands.length = 0; + piece.paint(); + const first = commands.find(([kind]) => kind === "line"); + for (let frame = 0; frame < 8; frame++) piece.sim(); + commands.length = 0; + piece.paint(); + const moved = commands.find(([kind]) => kind === "line"); + assert.notDeepEqual(moved, first); + const beforeHold = piece.snapshot().proposalFrame; + pad.down = ["A"]; + for (let frame = 0; frame < 8; frame++) piece.sim(); + assert.equal(piece.snapshot().proposalFrame, beforeHold); + assert.equal(piece.snapshot().decisionHeld, true); + pad.down = []; + piece.sim(); + assert.equal(piece.snapshot().accepted.length, 1, + "releasing the held Paint decision accepts the frozen pose"); +}); + +test("full-canvas transforms and blur operate only on the accepted painting", () => { + const { piece, commands, tap } = createNoPaint("effects-seed"); + for (let index = 0; index < 6; index++) tap("A"); + const brushCount = piece.snapshot().accepted.length; + const before = piece.snapshot().accepted; + assert.equal(piece.snapshot().proposal.kind, "mirror"); + for (const kind of ["mirror", "turn", "zoom", "blur", "invert"]) { + assert.equal(piece.snapshot().proposal.kind, kind); + for (let frame = 0; frame < 5; frame++) piece.sim(); + tap("A"); + } + const after = piece.snapshot().accepted; + assert.equal(after.length, brushCount); + assert.notDeepEqual(after, before); + assert.ok(piece.snapshot().effects.some(({ kind }) => kind === "blur")); + commands.length = 0; + piece.renderPainting(); + assert.ok(commands.every(([kind]) => + ["wipe", "line", "box", "triangle", "blur"].includes(kind))); + assert.ok(commands.some(([kind]) => kind === "blur")); + assert.ok(!commands.some(([kind]) => kind === "write")); +}); + +test("hosts without ordered effects receive the bounded vector blur fallback", () => { + const { piece, commands, tap } = createNoPaint("fallback-seed", "xbox", false); + for (let index = 0; index < 9; index++) tap("A"); + assert.equal(piece.snapshot().proposal.kind, "blur"); + const before = piece.snapshot().accepted.flatMap(({ commands: values }) => values).length; + tap("A"); + const after = piece.snapshot(); + assert.equal(after.effects.length, 0); + assert.ok(after.accepted.flatMap(({ commands: values }) => values).length > before); + commands.length = 0; + piece.renderPainting(); + assert.ok(!commands.some(([kind]) => kind === "blur")); + assert.ok(!commands.some(([kind]) => kind === "write")); +}); + +test("additional full-screen brushes remain animated and renderer-safe", () => { + const { piece, commands, tap } = createNoPaint("all-effects-seed"); + for (let index = 0; index < 6; index++) tap("A"); + const effects = ["mirror", "turn", "zoom", "blur", "invert", "flip", "scroll", + "skew", "breathe", "saturate", "contrast", "posterize", "recurse", + "vignette", "noise"]; + for (const kind of effects) { + assert.equal(piece.snapshot().proposal.kind, kind); + const before = piece.snapshot().proposalFrame; + for (let frame = 0; frame < 4; frame++) piece.sim(); + assert.ok(piece.snapshot().proposalFrame > before); + assert.doesNotThrow(() => piece.paint()); + tap("A"); + } + commands.length = 0; + piece.renderPainting(); + assert.ok(commands.every(([kind]) => + ["wipe", "line", "box", "triangle", "blur"].includes(kind))); + assert.ok(!commands.some(([kind]) => kind === "write")); +}); + +test("resizing reprojects normalized lines without changing the painting", () => { + const { piece, commands, tap, resize } = createNoPaint(); + tap("A"); + const before = piece.snapshot().accepted; + resize(608, 1080); + commands.length = 0; + piece.renderPainting(); + assert.deepEqual(piece.snapshot().accepted, before); + const renderedLine = commands.find(([kind]) => kind === "line"); + assert.ok(renderedLine.slice(1, 5).every(Number.isFinite)); + assert.ok(renderedLine[1] >= 0 && renderedLine[1] <= 608); + assert.ok(renderedLine[3] >= 0 && renderedLine[3] <= 608); +}); + +test("Menu shows the clean painting and A returns to making", () => { + const { piece, commands, tap } = createNoPaint(); + tap("A"); + tap("Menu"); + assert.equal(piece.snapshot().mode, "finished"); + commands.length = 0; + piece.paint(); + assert.deepEqual(commands.map(([kind]) => kind), ["wipe", "line"]); + tap("A"); + assert.equal(piece.snapshot().mode, "making"); +}); diff --git a/xbox/mac-test/Info.plist b/xbox/mac-test/Info.plist index 05ae3f4351..52e2186e93 100644 --- a/xbox/mac-test/Info.plist +++ b/xbox/mac-test/Info.plist @@ -6,7 +6,7 @@ CFBundleExecutableOskiewar CFBundleIdentifiercomputer.aesthetic.oskiewar CFBundleInfoDictionaryVersion6.0 - CFBundleNameOSKIEWAR + CFBundleNameoskiewar CFBundlePackageTypeAPPL CFBundleShortVersionString1.0 CFBundleVersion1 diff --git a/xbox/mac-test/main.swift b/xbox/mac-test/main.swift index c4682daafd..638b447e6f 100644 --- a/xbox/mac-test/main.swift +++ b/xbox/mac-test/main.swift @@ -32,7 +32,7 @@ final class FightAppDelegate: NSObject, NSApplicationDelegate { backing: .buffered, defer: false ) - window.title = "OSKIEWAR" + window.title = "oskiewar" window.minSize = NSSize(width: 960, height: 540) window.contentView = webView window.center() diff --git a/xbox/macos-native/Info.plist b/xbox/macos-native/Info.plist new file mode 100644 index 0000000000..dc0d594b01 --- /dev/null +++ b/xbox/macos-native/Info.plist @@ -0,0 +1,20 @@ + + + + + CFBundleDevelopmentRegionen + CFBundleExecutableoskiewar + CFBundleIconFileOskiewar + CFBundleIdentifiercomputer.aesthetic.oskiewar + CFBundleInfoDictionaryVersion6.0 + CFBundleNameoskiewar + CFBundleDisplayNameoskiewar + CFBundlePackageTypeAPPL + CFBundleShortVersionString1.0.0 + CFBundleVersion1 + LSApplicationCategoryTypepublic.app-category.games + LSMinimumSystemVersion13.0 + NSHighResolutionCapable + NSSupportsAutomaticGraphicsSwitching + + diff --git a/xbox/macos-native/README.md b/xbox/macos-native/README.md new file mode 100644 index 0000000000..27e918354a --- /dev/null +++ b/xbox/macos-native/README.md @@ -0,0 +1,14 @@ +# oskiewar for macOS + +The installed macOS game is an AppKit application with no WebView. JavaScriptCore +runs the same `xbox/live/hello.js` lifecycle as Xbox; AppKit/CoreGraphics, +AVFoundation, and GameController provide native graphics, audio, and input. + +```bash +npm run oskiewar:mac:build +npm run oskiewar:mac:install +``` + +`install` places `oskiewar.app` in `/Applications`, pins it to the Dock once, +and opens it. Re-running it safely replaces that app with the current shared +game source. diff --git a/xbox/macos-native/main.swift b/xbox/macos-native/main.swift new file mode 100644 index 0000000000..64fb9a8ac4 --- /dev/null +++ b/xbox/macos-native/main.swift @@ -0,0 +1,771 @@ +import AppKit +import AVFoundation +import CoreVideo +import Darwin +import Foundation +import GameController +import JavaScriptCore + +private struct Ink { + let red: CGFloat + let green: CGFloat + let blue: CGFloat + + init(_ red: Double, _ green: Double, _ blue: Double) { + self.red = CGFloat(max(0, min(255, red)) / 255) + self.green = CGFloat(max(0, min(255, green)) / 255) + self.blue = CGFloat(max(0, min(255, blue)) / 255) + } + + var color: NSColor { NSColor(srgbRed: red, green: green, blue: blue, alpha: 1) } +} + +private enum DrawCommand { + case box(CGRect, Ink) + case line(CGPoint, CGPoint, CGFloat, Ink) + case triangle(CGPoint, CGPoint, CGPoint, Ink) + case text(String, CGPoint, CGFloat, Ink, String) +} + +private final class NativeRenderer { + var logicalSize = CGSize(width: 1920, height: 1080) + var backdrop = Ink(7, 8, 28) + var commands: [DrawCommand] = [] + + func beginFrame() { + commands.removeAll(keepingCapacity: true) + } + + func wipe(_ red: Double, _ green: Double, _ blue: Double) { + backdrop = Ink(red, green, blue) + commands.removeAll(keepingCapacity: true) + } +} + +private final class NativeInput { + private var keyboard = [Set(), Set()] + + func setKey(_ event: NSEvent, down: Bool) { + guard let mapping = keyMapping(event.keyCode) else { return } + if down { keyboard[mapping.0].insert(mapping.1) } + else { keyboard[mapping.0].remove(mapping.1) } + } + + func pulse(_ button: String, player: Int = 0) { + keyboard[player].insert(button) + DispatchQueue.main.asyncAfter(deadline: .now() + 0.08) { [weak self] in + self?.keyboard[player].remove(button) + } + } + + func clear() { + keyboard[0].removeAll() + keyboard[1].removeAll() + } + + func pad(_ index: Int) -> NSDictionary { + var down = index < keyboard.count ? keyboard[index] : [] + let controllers = GCController.controllers() + let controller = index < controllers.count ? controllers[index] : nil + var leftX = 0.0 + var leftY = 0.0 + var rightX = 0.0 + var rightY = 0.0 + var leftTrigger = 0.0 + var rightTrigger = 0.0 + if let gamepad = controller?.extendedGamepad { + leftX = Double(gamepad.leftThumbstick.xAxis.value) + leftY = Double(gamepad.leftThumbstick.yAxis.value) + rightX = Double(gamepad.rightThumbstick.xAxis.value) + rightY = Double(gamepad.rightThumbstick.yAxis.value) + leftTrigger = Double(gamepad.leftTrigger.value) + rightTrigger = Double(gamepad.rightTrigger.value) + if gamepad.buttonA.isPressed { down.insert("A") } + if gamepad.buttonB.isPressed { down.insert("B") } + if gamepad.buttonX.isPressed { down.insert("X") } + if gamepad.buttonY.isPressed { down.insert("Y") } + if gamepad.leftShoulder.isPressed { down.insert("LeftShoulder") } + if gamepad.rightShoulder.isPressed { down.insert("RightShoulder") } + if gamepad.dpad.up.isPressed { down.insert("ArrowUp") } + if gamepad.dpad.down.isPressed { down.insert("ArrowDown") } + if gamepad.dpad.left.isPressed { down.insert("ArrowLeft") } + if gamepad.dpad.right.isPressed { down.insert("ArrowRight") } + if gamepad.buttonMenu.isPressed { down.insert("Menu") } + if gamepad.buttonOptions?.isPressed == true { down.insert("View") } + if gamepad.leftThumbstickButton?.isPressed == true { down.insert("LeftStick") } + if gamepad.rightThumbstickButton?.isPressed == true { down.insert("RightStick") } + } + return [ + "index": index, + "connected": index == 0 || !down.isEmpty || controller != nil, + "down": Array(down).sorted(), + "leftX": leftX, "leftY": leftY, + "rightX": rightX, "rightY": rightY, + "leftTrigger": leftTrigger, "rightTrigger": rightTrigger, + ] as NSDictionary + } + + func inventory() -> NSArray { + let controllers = GCController.controllers() + return [0, 1].map { index in + let controller = index < controllers.count ? controllers[index] : nil + return [ + "index": index, + "connected": controller != nil || index == 0, + "name": controller?.vendorName ?? (index == 0 ? "MAC KEYBOARD" : "KEYBOARD P2"), + ] as NSDictionary + } as NSArray + } + + private func keyMapping(_ code: UInt16) -> (Int, String)? { + switch code { + case 13: return (0, "ArrowUp") // W + case 1: return (0, "ArrowDown") // S + case 0: return (0, "ArrowLeft") // A + case 2: return (0, "ArrowRight") // D + case 49, 3: return (0, "A") // Space / F: kick + case 11, 4: return (0, "X") // B / H: punch + case 5, 53, 51: return (0, "B") // G / Escape / Backspace: defend/back + case 48, 12: return (0, "View") // Tab / Q: debug + case 36: return (0, "Menu") // Return + case 126: return (1, "ArrowUp") + case 125: return (1, "ArrowDown") + case 123: return (1, "ArrowLeft") + case 124: return (1, "ArrowRight") + case 40: return (1, "A") // K + case 37: return (1, "B") // L + case 41: return (1, "X") // ; + default: return nil + } + } +} + +private final class NativeAudio { + private let engine = AVAudioEngine() + private var players: [AVAudioPlayerNode] = [] + private var cursor = 0 + private let sampleRate = 48_000.0 + private var noiseState: UInt64 = 0x6f736b6965776172 + + init() { + guard let format = AVAudioFormat(standardFormatWithSampleRate: sampleRate, + channels: 2) else { return } + for _ in 0..<24 { + let player = AVAudioPlayerNode() + engine.attach(player) + engine.connect(player, to: engine.mainMixerNode, format: format) + players.append(player) + } + engine.mainMixerNode.outputVolume = 0.72 + try? engine.start() + } + + func drum(_ name: String, velocity: Double, pan: Double) { + let duration: Double + switch name { + case "kick": duration = 0.22 + case "clap", "punch", "block": duration = 0.14 + case "whoosh": duration = 0.30 + case "bell": duration = 0.38 + default: duration = 0.075 + } + play(duration: duration, pan: pan, sample: { [weak self] time, progress in + guard let self else { return 0 } + let envelope = pow(max(0, 1 - progress), name == "bell" ? 1.7 : 3.1) + let noise = self.noise() + switch name { + case "kick": + let frequency = 145 - 104 * progress + return sin(2 * .pi * frequency * time) * envelope * 0.86 + case "hat", "bullet": return noise * envelope * 0.42 + case "clap": return noise * envelope * (sin(progress * 52) > 0 ? 0.58 : 0.22) + case "bell": + return (sin(2 * .pi * 880 * time) + sin(2 * .pi * 1320 * time) * 0.35) * envelope * 0.46 + case "whoosh": return noise * sin(.pi * progress) * 0.34 + case "block": return (noise * 0.25 + sin(2 * .pi * 115 * time) * 0.55) * envelope + default: return (noise * 0.24 + sin(2 * .pi * 170 * time) * 0.48) * envelope + } + }, gain: max(0, min(1, velocity))) + } + + func synth(_ frequency: Double, duration: Double) { + play(duration: max(0.02, min(2, duration)), pan: 0, sample: { time, progress in + sin(2 * .pi * max(30, min(10_000, frequency)) * time) * pow(1 - progress, 2) + }, gain: 0.42) + } + + private func play(duration: Double, pan: Double, + sample: (Double, Double) -> Double, gain: Double) { + guard !players.isEmpty, + let format = AVAudioFormat(standardFormatWithSampleRate: sampleRate, + channels: 2), + let buffer = AVAudioPCMBuffer(pcmFormat: format, + frameCapacity: AVAudioFrameCount(sampleRate * duration)), + let channels = buffer.floatChannelData else { return } + buffer.frameLength = buffer.frameCapacity + let leftGain = sqrt((1 - max(-1, min(1, pan))) * 0.5) * gain + let rightGain = sqrt((1 + max(-1, min(1, pan))) * 0.5) * gain + for frame in 0.. Double { + noiseState ^= noiseState << 13 + noiseState ^= noiseState >> 7 + noiseState ^= noiseState << 17 + return Double(noiseState & 0xffff) / 32767.5 - 1 + } +} + +private final class OscSender { + private var descriptor: Int32 = -1 + private var sequence: UInt32 = 0 + + init() { + descriptor = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP) + guard descriptor >= 0 else { return } + var enabled: Int32 = 1 + setsockopt(descriptor, SOL_SOCKET, SO_BROADCAST, &enabled, + socklen_t(MemoryLayout.size)) + } + + deinit { if descriptor >= 0 { close(descriptor) } } + + func send(event: String, player: Int32, value: Float, value2: Float) { + guard descriptor >= 0, event.range(of: "^[a-z0-9_-]{1,32}$", + options: .regularExpression) != nil else { return } + sequence &+= 1 + var packet: [UInt8] = [] + appendOscString("/oskiewar/" + event, to: &packet) + appendOscString(",iffi", to: &packet) + appendInt(player, to: &packet) + appendInt(Int32(bitPattern: value.bitPattern), to: &packet) + appendInt(Int32(bitPattern: value2.bitPattern), to: &packet) + appendInt(Int32(bitPattern: sequence), to: &packet) + var address = sockaddr_in() + address.sin_len = UInt8(MemoryLayout.size) + address.sin_family = sa_family_t(AF_INET) + address.sin_port = in_port_t(51338).bigEndian + address.sin_addr = in_addr(s_addr: inet_addr("255.255.255.255")) + packet.withUnsafeBytes { bytes in + withUnsafePointer(to: &address) { pointer in + pointer.withMemoryRebound(to: sockaddr.self, capacity: 1) { socketAddress in + for _ in 0..<3 { + _ = Darwin.sendto(descriptor, bytes.baseAddress, bytes.count, 0, + socketAddress, socklen_t(MemoryLayout.size)) + } + } + } + } + } + + private func appendOscString(_ value: String, to packet: inout [UInt8]) { + packet.append(contentsOf: value.utf8) + packet.append(0) + while packet.count % 4 != 0 { packet.append(0) } + } + + private func appendInt(_ value: Int32, to packet: inout [UInt8]) { + var big = UInt32(bitPattern: value).bigEndian + withUnsafeBytes(of: &big) { packet.append(contentsOf: $0) } + } +} + +private final class NetworkBridge { + private var liveTask: URLSessionWebSocketTask? + private var liveMatch = "" + + func saveReplay(_ payload: String) { + guard let data = payload.data(using: .utf8), data.count <= 524_288, + let url = URL(string: "https://aesthetic.computer/api/oskiewar-replays?surface=macos-native") else { return } + var request = URLRequest(url: url) + request.httpMethod = "POST" + request.setValue("application/json", forHTTPHeaderField: "content-type") + URLSession.shared.uploadTask(with: request, from: data).resume() + } + + func publishLive(match: String, payload: String) { + guard match.range(of: "^ow-[a-z0-9-]{5,24}$", options: .regularExpression) != nil, + payload.utf8.count <= 7168 else { return } + if match != liveMatch { + liveTask?.cancel(with: .goingAway, reason: nil) + liveMatch = match + var components = URLComponents(string: "wss://session-server.aesthetic.computer/oskiewar-live") + components?.queryItems = [ + URLQueryItem(name: "match", value: match), + URLQueryItem(name: "role", value: "publisher"), + URLQueryItem(name: "surface", value: "macos-native"), + ] + guard let url = components?.url else { return } + liveTask = URLSession.shared.webSocketTask(with: url) + liveTask?.resume() + } + guard let liveTask else { return } + let envelope = "{\"type\":\"oskiewar:state\",\"content\":\(payload)}" + Task { try? await liveTask.send(.string(envelope)) } + } +} + +private final class GameView: NSView { + weak var host: NativeGameHost? + var renderer: NativeRenderer! + private var tracking: NSTrackingArea? + + override var isFlipped: Bool { true } + override var acceptsFirstResponder: Bool { true } + + override func viewDidMoveToWindow() { + super.viewDidMoveToWindow() + updateBackingScale() + } + + override func viewDidChangeBackingProperties() { + super.viewDidChangeBackingProperties() + updateBackingScale() + } + + private func updateBackingScale() { + wantsLayer = true + layer?.contentsScale = window?.backingScaleFactor ?? NSScreen.main?.backingScaleFactor ?? 1 + needsDisplay = true + } + + override func updateTrackingAreas() { + if let tracking { removeTrackingArea(tracking) } + tracking = NSTrackingArea(rect: bounds, + options: [.activeAlways, .mouseMoved, .mouseEnteredAndExited, .inVisibleRect], + owner: self, userInfo: nil) + addTrackingArea(tracking!) + super.updateTrackingAreas() + } + + override func keyDown(with event: NSEvent) { + host?.setKey(event, down: true) + } + + override func keyUp(with event: NSEvent) { + host?.setKey(event, down: false) + } + + override func mouseMoved(with event: NSEvent) { updatePointer(event, active: true) } + override func mouseEntered(with event: NSEvent) { updatePointer(event, active: true) } + override func mouseExited(with event: NSEvent) { host?.clearPointer() } + override func mouseDown(with event: NSEvent) { + updatePointer(event, active: true) + host?.mousePressed(point: logicalPoint(event)) + } + + private func updatePointer(_ event: NSEvent, active: Bool) { + host?.updatePointer(point: logicalPoint(event), active: active) + } + + private func logicalPoint(_ event: NSEvent) -> CGPoint { + let point = convert(event.locationInWindow, from: nil) + return CGPoint(x: point.x / max(1, bounds.width) * renderer.logicalSize.width, + y: point.y / max(1, bounds.height) * renderer.logicalSize.height) + } + + override func draw(_ dirtyRect: NSRect) { + guard let context = NSGraphicsContext.current?.cgContext else { return } + renderer.backdrop.color.setFill() + context.fill(bounds) + let sx = bounds.width / max(1, renderer.logicalSize.width) + let sy = bounds.height / max(1, renderer.logicalSize.height) + context.saveGState() + context.scaleBy(x: sx, y: sy) + for command in renderer.commands { + switch command { + case let .box(rect, ink): + ink.color.setFill() + context.fill(rect) + case let .line(first, second, width, ink): + context.beginPath() + context.move(to: first) + context.addLine(to: second) + context.setLineWidth(width) + context.setLineCap(.round) + context.setStrokeColor(ink.color.cgColor) + context.strokePath() + case let .triangle(first, second, third, ink): + context.beginPath() + context.move(to: first) + context.addLine(to: second) + context.addLine(to: third) + context.closePath() + context.setFillColor(ink.color.cgColor) + context.fillPath() + case let .text(text, point, size, ink, family): + let font = NSFont(name: family, size: size) ?? NSFont.systemFont(ofSize: size) + let attributes: [NSAttributedString.Key: Any] = [ + .font: font, .foregroundColor: ink.color, + ] + for (index, line) in text.components(separatedBy: "\n").enumerated() { + (line as NSString).draw(at: CGPoint(x: point.x, + y: point.y + CGFloat(index) * size * 1.15), withAttributes: attributes) + } + } + } + context.restoreGState() + } +} + +private func displayLinkCallback(_ link: CVDisplayLink, + _ now: UnsafePointer, _ output: UnsafePointer, + _ flagsIn: CVOptionFlags, _ flagsOut: UnsafeMutablePointer, + _ context: UnsafeMutableRawPointer?) -> CVReturn { + guard let context else { return kCVReturnError } + Unmanaged.fromOpaque(context).takeUnretainedValue().scheduleFrame() + return kCVReturnSuccess +} + +private final class NativeGameHost { + let renderer = NativeRenderer() + let input = NativeInput() + let audio = NativeAudio() + let osc = OscSender() + let network = NetworkBridge() + let view: GameView + private let javascript = JSContext()! + private var displayLink: CVDisplayLink? + private let scheduleLock = NSLock() + private var framePending = false + private var lastFrame = CACurrentMediaTime() + private var simulationTime = CACurrentMediaTime() + private var accumulator = 0.0 + private var simCount = 0 + private var paintCount = 0 + private var runtimeSeconds = CACurrentMediaTime() + private var javascriptError = "" + + init(view: GameView) { + self.view = view + view.renderer = renderer + view.host = self + installBindings() + } + + deinit { if let displayLink { CVDisplayLinkStop(displayLink) } } + + func start() { + GCController.startWirelessControllerDiscovery(completionHandler: nil) + guard let resources = Bundle.main.resourceURL, + let hello = try? String(contentsOf: + resources.appendingPathComponent("live/hello.js"), encoding: .utf8), + var qr = try? String(contentsOf: + resources.appendingPathComponent("live/qr.mjs"), encoding: .utf8) else { + javascriptError = "missing native game resources" + return + } + if let regex = try? NSRegularExpression(pattern: "\\nexport\\s*\\{[\\s\\S]*?\\};\\s*$") { + qr = regex.stringByReplacingMatches(in: qr, + range: NSRange(qr.startIndex..., in: qr), withTemplate: "\n") + } + javascript.evaluateScript(qr + "\n" + hello, + withSourceURL: URL(fileURLWithPath: "oskiewar/hello.js")) + call("boot") + var link: CVDisplayLink? + if CVDisplayLinkCreateWithActiveCGDisplays(&link) == kCVReturnSuccess, + let link { + displayLink = link + CVDisplayLinkSetOutputCallback(link, displayLinkCallback, + Unmanaged.passUnretained(self).toOpaque()) + CVDisplayLinkStart(link) + } + } + + func scheduleFrame() { + scheduleLock.lock() + guard !framePending else { scheduleLock.unlock(); return } + framePending = true + scheduleLock.unlock() + DispatchQueue.main.async { [weak self] in + guard let self else { return } + self.frame() + self.scheduleLock.lock() + self.framePending = false + self.scheduleLock.unlock() + } + } + + func setKey(_ event: NSEvent, down: Bool) { input.setKey(event, down: down) } + + func updatePointer(point: CGPoint, active: Bool) { + javascript.evaluateScript("globalThis.__oskiewarTouch.pointer.x=\(point.x);globalThis.__oskiewarTouch.pointer.y=\(point.y);globalThis.__oskiewarTouch.pointer.active=\(active ? "true" : "false");") + } + + func clearPointer() { + javascript.evaluateScript("globalThis.__oskiewarTouch.pointer.active=false") + NSCursor.arrow.set() + } + + func mousePressed(point: CGPoint) { + let screen = javascript.objectForKeyedSubscript("__oskiewarTouch")? + .objectForKeyedSubscript("screen")?.toString() ?? "" + if screen == "select" { + javascript.evaluateScript("globalThis.__oskiewarTouch.taps.push({x:\(point.x),y:\(point.y)})") + } else if screen == "title" { + if titleButtonContains(point) { input.pulse("A") } + else { audio.drum("block", velocity: 0.32, pan: 0) } + } + } + + private func frame() { + let now = CACurrentMediaTime() + let delta = min(0.1, max(0, now - lastFrame)) + lastFrame = now + accumulator += delta + let fixed = 1.0 / 60.0 + var steps = 0 + while accumulator >= fixed && steps < 6 { + simulationTime += fixed + runtimeSeconds = simulationTime + simCount += 1 + call("sim") + accumulator -= fixed + steps += 1 + } + if steps == 6 { accumulator = 0 } + updateLogicalSize() + renderer.beginFrame() + runtimeSeconds = now + paintCount += 1 + if javascriptError.isEmpty { call("paint") } + if !javascriptError.isEmpty { + renderer.wipe(8, 10, 20) + renderer.commands.append(.text("oskieware error", CGPoint(x: 72, y: 72), + 52, Ink(255, 92, 116), "Comic Relief")) + renderer.commands.append(.text(javascriptError, CGPoint(x: 72, y: 150), + 25, Ink(230, 235, 248), "Comic Relief")) + } + syncCursor() + view.needsDisplay = true + } + + private func updateLogicalSize() { + let width = max(1, view.bounds.width) + let height = max(1, view.bounds.height) + renderer.logicalSize = CGSize(width: max(480, min(2880, round(1080 * width / height))), + height: 1080) + } + + private func call(_ name: String) { + guard javascriptError.isEmpty, + let function = javascript.objectForKeyedSubscript(name), + !function.isUndefined else { return } + function.call(withArguments: []) + } + + private func titleButtonContains(_ point: CGPoint) -> Bool { + guard let bridge = javascript.objectForKeyedSubscript("__oskiewarTouch"), + let button = bridge.objectForKeyedSubscript("titleButton"), + !button.isUndefined else { return false } + let x = button.objectForKeyedSubscript("x")?.toDouble() ?? .nan + let y = button.objectForKeyedSubscript("y")?.toDouble() ?? .nan + let width = button.objectForKeyedSubscript("width")?.toDouble() ?? 0 + let height = button.objectForKeyedSubscript("height")?.toDouble() ?? 0 + return point.x >= x && point.x <= x + width && + point.y >= y && point.y <= y + height + } + + private func syncCursor() { + guard let bridge = javascript.objectForKeyedSubscript("__oskiewarTouch") else { return } + let titleHover = bridge.objectForKeyedSubscript("titleHover")?.toBool() == true + let selectionHover = bridge.objectForKeyedSubscript("hover") + if titleHover || (selectionHover != nil && selectionHover?.isNull == false && + selectionHover?.isUndefined == false) { NSCursor.pointingHand.set() } + else { NSCursor.arrow.set() } + } + + private func installBindings() { + javascript.exceptionHandler = { [weak self] _, exception in + self?.javascriptError = exception?.toString() ?? "javascript exception" + } + javascript.evaluateScript("globalThis.__oskiewarTouch={pointer:{active:false,x:0,y:0},taps:[]};") + + let wipe: @convention(block) (Double, Double, Double) -> Void = { [weak self] r, g, b in + self?.renderer.wipe(r, g, b) + } + let box: @convention(block) (Double, Double, Double, Double, Double, Double, Double) -> Void = + { [weak self] x, y, width, height, r, g, b in + self?.renderer.commands.append(.box(CGRect(x: x, y: y, width: width, height: height), Ink(r, g, b))) + } + let line: @convention(block) (Double, Double, Double, Double, Double, Double, Double, Double) -> Void = + { [weak self] x1, y1, x2, y2, width, r, g, b in + self?.renderer.commands.append(.line(CGPoint(x: x1, y: y1), CGPoint(x: x2, y: y2), + CGFloat(max(0, width)), Ink(r, g, b))) + } + let triangle: @convention(block) (Double, Double, Double, Double, Double, Double, Double, Double, Double) -> Void = + { [weak self] x1, y1, x2, y2, x3, y3, r, g, b in + self?.renderer.commands.append(.triangle(CGPoint(x: x1, y: y1), CGPoint(x: x2, y: y2), + CGPoint(x: x3, y: y3), Ink(r, g, b))) + } + let triangle3d: @convention(block) (Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double, Double) -> Void = + { [weak self] x1, y1, _, x2, y2, _, x3, y3, _, r, g, b in + self?.renderer.commands.append(.triangle(CGPoint(x: x1, y: y1), CGPoint(x: x2, y: y2), + CGPoint(x: x3, y: y3), Ink(r, g, b))) + } + let text: (String) -> @convention(block) (String, Double, Double, Double, Double, Double, Double) -> Void = + { family in { [weak self] value, x, y, size, r, g, b in + self?.renderer.commands.append(.text(value, CGPoint(x: x, y: y), CGFloat(max(1, size)), + Ink(r, g, b), family)) + }} + let runtime: @convention(block) () -> NSDictionary = { [weak self] in + guard let self else { return [:] } + return [ + "width": Int(self.renderer.logicalSize.width), + "height": Int(self.renderer.logicalSize.height), + "monotonicUs": Int64(self.runtimeSeconds * 1_000_000), + "simMonotonicUs": Int64(self.simulationTime * 1_000_000), + "unixMs": Int64(Date().timeIntervalSince1970 * 1000), + "simCount": self.simCount, "paintCount": self.paintCount, + "frameRate": 60, "audioLatencyMs": 0, + "displayScale": self.view.window?.backingScaleFactor ?? 1, + "clientErrorReportStatus": "native host", + ] as NSDictionary + } + let gameView: @convention(block) () -> NSDictionary = { [weak self] in + guard let self else { return [:] } + let size = self.renderer.logicalSize + return ["width": Int(size.width), "height": Int(size.height), + "aspect": size.width / size.height, + "orientation": size.width < size.height ? "portrait" : "landscape"] as NSDictionary + } + let gamepad: @convention(block) (Int32) -> NSDictionary = { [weak self] index in + self?.input.pad(Int(index)) ?? [:] + } + let controllers: @convention(block) () -> NSArray = { [weak self] in + self?.input.inventory() ?? [] + } + let capabilities: @convention(block) () -> NSDictionary = { [weak self] in + let hasController = !GCController.controllers().isEmpty + let light = NSApp.effectiveAppearance.bestMatch(from: [.aqua, .darkAqua]) == .aqua + return [ + "platform": "macos-native", "inputFamily": hasController ? "xbox" : "keyboard", + "colorScheme": light ? "light" : "dark", "productName": "MACOS", + "version": Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String ?? "1.0", + "graphics": "APPKIT NATIVE", "audio": "AVFOUNDATION", + "displayScale": self?.view.window?.backingScaleFactor ?? 1, + "online": true, "liveLocalState": true, + "width": Int(self?.renderer.logicalSize.width ?? 1920), + "height": Int(self?.renderer.logicalSize.height ?? 1080), + ] as NSDictionary + } + let telemetry: @convention(block) (String, String) -> Void = { kind, detail in + NSLog("oskiewar %@ %@", kind, detail) + } + let drum: @convention(block) (String, Double, Double) -> Void = { [weak self] name, velocity, pan in + self?.audio.drum(name, velocity: velocity, pan: pan) + } + let synth: @convention(block) (Double, Double) -> Void = { [weak self] frequency, duration in + self?.audio.synth(frequency, duration: duration) + } + let gameSignal: @convention(block) (String, Int32, Double, Double) -> Void = + { [weak self] event, player, value, value2 in + self?.osc.send(event: event, player: player, value: Float(value), value2: Float(value2)) + } + let saveReplay: @convention(block) (String) -> Void = { [weak self] payload in + self?.network.saveReplay(payload) + } + let publishLive: @convention(block) (String, String) -> Void = { [weak self] match, payload in + self?.network.publishLive(match: match, payload: payload) + } + let ac: @convention(block) () -> NSDictionary = { + ["fighters": [], "moodHandle": "", "mood": "", "source": "macos-native"] as NSDictionary + } + javascript.setObject(wipe, forKeyedSubscript: "wipe" as NSString) + javascript.setObject(box, forKeyedSubscript: "box" as NSString) + javascript.setObject(line, forKeyedSubscript: "line" as NSString) + javascript.setObject(triangle, forKeyedSubscript: "triangle" as NSString) + javascript.setObject(triangle3d, forKeyedSubscript: "triangle3d" as NSString) + javascript.setObject(text("Comic Relief"), forKeyedSubscript: "comicWrite" as NSString) + javascript.setObject(text("Comic Relief"), forKeyedSubscript: "ywftWrite" as NSString) + javascript.setObject(text("Helvetica"), forKeyedSubscript: "systemWrite" as NSString) + javascript.setObject(text("Menlo"), forKeyedSubscript: "write" as NSString) + javascript.setObject(runtime, forKeyedSubscript: "runtime" as NSString) + javascript.setObject(gameView, forKeyedSubscript: "gameView" as NSString) + javascript.setObject(gamepad, forKeyedSubscript: "gamepad" as NSString) + javascript.setObject(controllers, forKeyedSubscript: "controllers" as NSString) + javascript.setObject(capabilities, forKeyedSubscript: "capabilities" as NSString) + javascript.setObject(telemetry, forKeyedSubscript: "telemetry" as NSString) + javascript.setObject(drum, forKeyedSubscript: "drum" as NSString) + javascript.setObject(synth, forKeyedSubscript: "synth" as NSString) + javascript.setObject(gameSignal, forKeyedSubscript: "gameSignal" as NSString) + javascript.setObject(saveReplay, forKeyedSubscript: "saveReplay" as NSString) + javascript.setObject(publishLive, forKeyedSubscript: "publishLive" as NSString) + javascript.setObject(ac, forKeyedSubscript: "ac" as NSString) + } +} + +private final class AppDelegate: NSObject, NSApplicationDelegate, NSWindowDelegate { + private var window: NSWindow! + private var host: NativeGameHost! + + func applicationDidFinishLaunching(_ notification: Notification) { + registerComicFont() + if let iconURL = Bundle.main.url(forResource: "Oskiewar", withExtension: "icns"), + let icon = NSImage(contentsOf: iconURL) { NSApp.applicationIconImage = icon } + installMenus() + let screen = NSScreen.main?.visibleFrame ?? NSRect(x: 0, y: 0, width: 1600, height: 900) + let targetWidth = min(1600, screen.width * 0.92) + let targetHeight = min(900, screen.height * 0.92) + let view = GameView(frame: NSRect(x: 0, y: 0, width: targetWidth, height: targetHeight)) + window = NSWindow(contentRect: view.bounds, + styleMask: [.titled, .closable, .miniaturizable, .resizable], + backing: .buffered, defer: false) + window.title = "oskiewar" + window.titleVisibility = .visible + window.titlebarAppearsTransparent = false + window.backgroundColor = .black + window.minSize = NSSize(width: 640, height: 480) + window.contentView = view + window.delegate = self + window.center() + window.makeKeyAndOrderFront(nil) + window.makeFirstResponder(view) + host = NativeGameHost(view: view) + host.start() + NSApp.activate(ignoringOtherApps: true) + } + + func applicationShouldTerminateAfterLastWindowClosed(_ sender: NSApplication) -> Bool { true } + + func applicationDidResignActive(_ notification: Notification) { host?.input.clear() } + + private func registerComicFont() { + guard let url = Bundle.main.url(forResource: "ComicRelief-Regular", withExtension: "ttf") else { return } + CTFontManagerRegisterFontsForURL(url as CFURL, .process, nil) + } + + private func installMenus() { + let menu = NSMenu() + let appItem = NSMenuItem() + menu.addItem(appItem) + let appMenu = NSMenu() + appMenu.addItem(withTitle: "About oskiewar", action: #selector(NSApplication.orderFrontStandardAboutPanel(_:)), keyEquivalent: "") + appMenu.addItem(.separator()) + appMenu.addItem(withTitle: "Hide oskiewar", action: #selector(NSApplication.hide(_:)), keyEquivalent: "h") + appMenu.addItem(withTitle: "Quit oskiewar", action: #selector(NSApplication.terminate(_:)), keyEquivalent: "q") + appItem.submenu = appMenu + let viewItem = NSMenuItem() + menu.addItem(viewItem) + let viewMenu = NSMenu(title: "View") + viewMenu.addItem(withTitle: "Toggle Full Screen", action: #selector(NSWindow.toggleFullScreen(_:)), keyEquivalent: "f") + viewItem.submenu = viewMenu + NSApp.mainMenu = menu + } +} + +private let application = NSApplication.shared +private let delegate = AppDelegate() +application.setActivationPolicy(.regular) +application.delegate = delegate +application.run() diff --git a/xbox/native-bios/App.cpp b/xbox/native-bios/App.cpp index 96a55cea9b..7dd422576c 100644 --- a/xbox/native-bios/App.cpp +++ b/xbox/native-bios/App.cpp @@ -1808,7 +1808,7 @@ private: if (!m_networkClockRequestInFlight.compare_exchange_strong(expected, true)) return; const auto sentAt = SystemUnixMs(); auto client = ref new HttpClient(); - client->DefaultRequestHeaders->UserAgent->ParseAdd("OSKIEWAR/1.0.0.38 Xbox ClockSync"); + client->DefaultRequestHeaders->UserAgent->ParseAdd("oskiewar/1.0.0.38 Xbox ClockSync"); create_task(client->GetStringAsync( ref new Uri(L"https://aesthetic.computer/api/clock"))) .then([this, client, sentAt](task completed) { @@ -1915,7 +1915,7 @@ private: if (!m_acRequestInFlight.compare_exchange_strong(expected, true)) return; auto client = ref new HttpClient(); - client->DefaultRequestHeaders->UserAgent->ParseAdd("OSKIEWAR/1.0.0.38 Xbox"); + client->DefaultRequestHeaders->UserAgent->ParseAdd("oskiewar/1.0.0.38 Xbox"); std::vector> requests; const auto safeGet = [client](const std::wstring& url) { return create_task(client->GetStringAsync(ref new Uri(ref new String(url.c_str())))) diff --git a/xbox/native-bios/OskiewarLivePublisher.hpp b/xbox/native-bios/OskiewarLivePublisher.hpp index 85d574f79b..a2951adbd3 100644 --- a/xbox/native-bios/OskiewarLivePublisher.hpp +++ b/xbox/native-bios/OskiewarLivePublisher.hpp @@ -7,7 +7,7 @@ namespace ac::xbox { -// Fixed-destination, latest-only WebSocket transport for OSKIEWAR live state. +// Fixed-destination, latest-only WebSocket transport for oskiewar live state. // This deliberately does not expose a general socket to downloaded pieces. class OskiewarLivePublisher final { public: diff --git a/xbox/native-bios/Package.appxmanifest b/xbox/native-bios/Package.appxmanifest index ef4ace65f1..7643036fa7 100644 --- a/xbox/native-bios/Package.appxmanifest +++ b/xbox/native-bios/Package.appxmanifest @@ -9,7 +9,7 @@ - OSKIEWAR + oskiewar Aesthetic Computer Assets\StoreLogo.png @@ -21,8 +21,8 @@ - diff --git a/xbox/native-bios/QuickJsEngine.cpp b/xbox/native-bios/QuickJsEngine.cpp index c3569b4251..0d500b5259 100644 --- a/xbox/native-bios/QuickJsEngine.cpp +++ b/xbox/native-bios/QuickJsEngine.cpp @@ -534,7 +534,7 @@ JSValue PublishLive(JSContext* context, JSValueConst, int argc, JSValueConst* ar if (!valid) { JS_FreeCString(context, rawState); JS_FreeCString(context, rawMatch); - return JS_ThrowRangeError(context, "invalid OSKIEWAR live payload"); + return JS_ThrowRangeError(context, "invalid oskiewar live payload"); } scope->api->live_publish(std::string_view(rawMatch, matchLength), std::string_view(rawState, stateLength)); diff --git a/xbox/native-bios/README.md b/xbox/native-bios/README.md index 383f9de19c..dcfe7dd313 100644 --- a/xbox/native-bios/README.md +++ b/xbox/native-bios/README.md @@ -1,4 +1,4 @@ -# OSKIEWAR for Xbox +# oskiewar for Xbox This is the no-WebView Aesthetic Computer host. It is a C++/CX UWP DirectX application with native Direct3D 11 rendering, XAudio2 sound, @@ -61,7 +61,7 @@ UDP datagram per musical event. The Xbox HUD changes from `NETWORK-LISTENING :51337` to `NETWORK: REFACE YC` after the first packet. Revision 30 caps the DXGI device frame queue at one and records controller-edge -to-present latency as `AC_NATIVE_INPUT_LATENCY`. OSKIEWAR emits OSC addresses +to-present latency as `AC_NATIVE_INPUT_LATENCY`. oskiewar emits OSC addresses under `/oskiewar/*` on UDP `51338`; `ac-m4l/AC-GameSignals.amxd.json` turns bounded combat and movement-edge events into MIDI notes. The sender starts a datagram when `gameSignal` is called, drains its three consecutive reliability copies as @@ -72,14 +72,14 @@ the sequence field to collapse each consecutive three-copy group and caps its own queue at 256 datagrams so overload drops signals instead of playing a long stale backlog. -Revision 31 adds the allowlisted OSKIEWAR fighter profile feed for `@jeffrey`, +Revision 31 adds the allowlisted oskiewar fighter profile feed for `@jeffrey`, `@fifi`, `@oskie`, and `@sat`: current mood, per-character handle colors, and latest public system-chat text. The sandbox still receives only the immutable `ac()` snapshot and has no general network access. It also packages the existing YWFT Processing face and exposes it through bounded `ywftWrite`; `write` remains the native AC block face and `systemWrite` remains the Xbox system face. -OSKIEWAR also packages the KidLisp `Comic Relief` face and exposes it through +oskiewar also packages the KidLisp `Comic Relief` face and exposes it through bounded `comicWrite`; its browser, macOS, replay, spectator, and Xbox clients therefore render the same UI typography without relying on an installed font. @@ -91,13 +91,13 @@ streams. The host accepts one JSON object up to 512 KiB and uploads it to the fixed AC replay endpoint; pieces receive neither arbitrary networking nor storage credentials. -Revision 34 starts each OSKIEWAR OSC datagram immediately, preserves the +Revision 34 starts each oskiewar OSC datagram immediately, preserves the three-copy reliability group without a queue race, and reports native enqueue-to-send latency for live Ableton diagnosis. -Revision 35 presents the installed Xbox app as OSKIEWAR while retaining the +Revision 35 presents the installed Xbox app as oskiewar while retaining the stable `AestheticComputer.NativeBios` identity for in-place upgrades. It adds -the OSKIEWAR / NEW GAME boot selector, a two-pad input lab, and live match +the oskiewar / NEW GAME boot selector, a two-pad input lab, and live match spectator publishing. Revision 36 accepts the current short speakable round IDs in the QuickJS diff --git a/xbox/tools/build-macos-app.sh b/xbox/tools/build-macos-app.sh new file mode 100755 index 0000000000..39330eb1f5 --- /dev/null +++ b/xbox/tools/build-macos-app.sh @@ -0,0 +1,75 @@ +#!/bin/sh +set -eu + +repo_root=$(CDPATH= cd -- "$(dirname "$0")/../.." && pwd) +build_root="$repo_root/xbox/builds/macos" +app="$build_root/oskiewar.app" +contents="$app/Contents" +install=0 +if [ "${1:-}" = "--install" ]; then install=1; fi + +rm -rf "$app" +mkdir -p "$contents/MacOS" "$contents/Resources/live" +swiftc -swift-version 5 -O "$repo_root/xbox/macos-native/main.swift" \ + -framework AppKit -framework AVFoundation -framework CoreVideo \ + -framework GameController -framework JavaScriptCore \ + -o "$contents/MacOS/oskiewar" +cp "$repo_root/xbox/macos-native/Info.plist" "$contents/Info.plist" +cp "$repo_root/xbox/live/hello.js" "$contents/Resources/live/hello.js" +cp "$repo_root/system/public/aesthetic.computer/dep/@akamfoad/qr/qr.mjs" \ + "$contents/Resources/live/qr.mjs" +cp "$repo_root/system/public/papers.aesthetic.computer/foundry/fonts/ComicRelief-Regular.ttf" \ + "$contents/Resources/ComicRelief-Regular.ttf" + +iconset="$build_root/Oskiewar.iconset" +rm -rf "$iconset" +mkdir -p "$iconset" +icon_source="$repo_root/xbox/assets/ac-native-icon-master.png" +for size in 16 32 128 256 512; do + sips -s format png -z "$size" "$size" "$icon_source" \ + --out "$iconset/icon_${size}x${size}.png" >/dev/null + double=$((size * 2)) + sips -s format png -z "$double" "$double" "$icon_source" \ + --out "$iconset/icon_${size}x${size}@2x.png" >/dev/null +done +iconutil -c icns "$iconset" -o "$contents/Resources/Oskiewar.icns" +rm -rf "$iconset" +codesign --force --deep --sign - "$app" >/dev/null + +if [ "$install" -eq 1 ]; then + destination="/Applications/oskiewar.app" + rm -rf "$destination" + ditto "$app" "$destination" + dock_snapshot=$(mktemp "${TMPDIR:-/tmp}/oskiewar-dock.XXXXXX.plist") + dock_found=0 + if defaults export com.apple.dock "$dock_snapshot" >/dev/null 2>&1; then + dock_index=0 + while dock_url=$(/usr/libexec/PlistBuddy -c \ + "Print :persistent-apps:$dock_index:tile-data:file-data:_CFURLString" \ + "$dock_snapshot" 2>/dev/null); do + if [ "$(printf '%s' "$dock_url" | tr '[:upper:]' '[:lower:]')" = \ + "file:///applications/oskiewar.app/" ]; then + /usr/libexec/PlistBuddy -c \ + "Set :persistent-apps:$dock_index:tile-data:file-data:_CFURLString file:///Applications/oskiewar.app/" \ + "$dock_snapshot" + /usr/libexec/PlistBuddy -c \ + "Set :persistent-apps:$dock_index:tile-data:file-label oskiewar" \ + "$dock_snapshot" + defaults import com.apple.dock "$dock_snapshot" >/dev/null + dock_found=1 + break + fi + dock_index=$((dock_index + 1)) + done + fi + rm -f "$dock_snapshot" + if [ "$dock_found" -eq 0 ]; then + defaults write com.apple.dock persistent-apps -array-add \ + '{"tile-data"={"file-data"={"_CFURLString"="file:///Applications/oskiewar.app/";"_CFURLStringType"=15;};"file-label"="oskiewar";};"tile-type"="file-tile";}' + fi + killall Dock 2>/dev/null || true + open "$destination" + echo "Installed and opened $destination" +else + echo "Built $app" +fi diff --git a/xbox/tools/bundle-nom.mjs b/xbox/tools/bundle-nom.mjs index 68fba10ea9..9e2fb13dec 100644 --- a/xbox/tools/bundle-nom.mjs +++ b/xbox/tools/bundle-nom.mjs @@ -31,7 +31,7 @@ export async function buildNomBundle() { modules.push(`// source: ${path}\n${flattenModule(source, path)}`); } const adapter = await readFile(new URL("xbox/live/nom-host-adapter.js", root), "utf8"); - return `// Dannom for the OSKIEWAR-generation native Xbox host. GENERATED.\n` + + return `// Dannom for the oskiewar-generation native Xbox host. GENERATED.\n` + `// Rebuild: node xbox/tools/bundle-nom.mjs\n(function (xboxNativeSynth) {\n${modules.join("\n\n")}\n\n${adapter}\n})(synth);\n`; } diff --git a/xbox/tools/live.mjs b/xbox/tools/live.mjs index c1b3a3f200..b8312a68c3 100644 --- a/xbox/tools/live.mjs +++ b/xbox/tools/live.mjs @@ -1,5 +1,5 @@ #!/usr/bin/env node -// Device Portal control surface for the OSKIEWAR native live JavaScript loop. +// Device Portal control surface for the oskiewar native live JavaScript loop. // Designed for blueberry, where the Xbox vault credentials already live. import { spawnSync } from "node:child_process"; @@ -61,7 +61,7 @@ function packages() { function installed() { const item = packages()[0]; - if (!item) throw new Error("OSKIEWAR is not installed"); + if (!item) throw new Error("oskiewar is not installed"); return item; } @@ -191,7 +191,7 @@ function frameDump(outputPath = "") { if (offset < 0) continue; try { chunks.push(JSON.parse(line.slice(offset + marker.length))); } catch {} } - if (!chunks.length) throw new Error("no OSKIEWAR frame telemetry in the native log"); + if (!chunks.length) throw new Error("no oskiewar frame telemetry in the native log"); const stamp = new Date().toISOString().replace(/[:.]/g, "-"); const target = resolve(outputPath || `tmp/xbox-captures/oskiewar-frames-${stamp}.json`); diff --git a/xbox/tools/mac-test-app.sh b/xbox/tools/mac-test-app.sh index 82e7f0bfad..1135efed83 100644 --- a/xbox/tools/mac-test-app.sh +++ b/xbox/tools/mac-test-app.sh @@ -2,7 +2,7 @@ set -eu repo_root=$(CDPATH= cd -- "$(dirname "$0")/../.." && pwd) -app="$repo_root/xbox/builds/mac-test/OSKIEWAR.app" +app="$repo_root/xbox/builds/mac-test/oskiewar.app" contents="$app/Contents" rm -rf "$app" -- 2.51.2 From 409fe7f766ab88a09c048ab9c7e592b555d19008 Mon Sep 17 00:00:00 2001 From: "prompt.ac/@jeffrey" Date: Fri, 7 Aug 2026 18:26:07 -0700 Subject: [PATCH 2/2] papers: add sleuth source index --- papers/SCORE.md | 9 ++++ papers/sleuth/README.md | 52 +++++++++++++++++++ papers/sleuth/sources.json | 21 ++++++++ .../papers.aesthetic.computer/index.html | 2 +- .../papers.aesthetic.computer/platter.html | 1 + .../sleuth/index.html | 30 +++++++++++ .../sleuth/sources.json | 15 ++++++ 7 files changed, 129 insertions(+), 1 deletion(-) create mode 100644 papers/sleuth/README.md create mode 100644 papers/sleuth/sources.json create mode 100644 system/public/papers.aesthetic.computer/sleuth/index.html create mode 100644 system/public/papers.aesthetic.computer/sleuth/sources.json diff --git a/papers/SCORE.md b/papers/SCORE.md index 2c7606bad2..f936b1af55 100644 --- a/papers/SCORE.md +++ b/papers/SCORE.md @@ -176,6 +176,15 @@ specified in [`GEAR-GUESS.md`](GEAR-GUESS.md). ## Tooling +### Sleuth source index + +[`sleuth/`](sleuth/) is the platter's routing index for search mechanisms, +online databases, browser skills, and private collection routes. Consult it +before a research pass. It is especially important for sparse media pages: +search Vimeo or another host directly by URL, numeric ID, uploader, and event +context instead of assuming a general web index is complete. The machine- +readable registry is [`sleuth/sources.json`](sleuth/sources.json). + The mill's code lives at the top of `papers/` and in [`bin/`](bin/). All scripts are runnable as `node papers/bin/.mjs`. ### Top-level (build, deploy, index) diff --git a/papers/sleuth/README.md b/papers/sleuth/README.md new file mode 100644 index 0000000000..4484bc308a --- /dev/null +++ b/papers/sleuth/README.md @@ -0,0 +1,52 @@ +# Sleuth + +Sleuth is the research platter's source-and-search index: a compact record of +where a lead can be searched, which mechanism reaches it, what the browser or +collection skill contributes, and what evidence should be retained. + +This is an index, not a crawler. Search results are leads; a source is only +confirmed after opening the primary page or file and recording its stable URL, +identifier, title, creator, date, access state, and the claim it supports. + +## Routing + +1. Start with `sources.json` and choose the narrowest source that can answer + the question. +2. Search the source directly when a general web search is incomplete. This is + essential for sparse video pages, old archives, and private collections. +3. Use browser inspection for pages whose useful state is visual or interactive. +4. Keep private-vault paths and tokens out of published notes. Record the + public citation and a local provenance note instead. +5. Add the stable identifier to the working paper bibliography or evidence log. + +## Source index + +| Source | Mechanism | Skill / collection move | Evidence to keep | +| --- | --- | --- | --- | +| Vimeo | Direct URL/ID, Vimeo search, uploader pages, web search fallback | `browser-use:browser`; inspect title, uploader, description, player metadata, and numeric ID | canonical Vimeo URL, video ID, uploader, duration, capture date | +| YouTube | YouTube search, Data API when authorized, channel/playlist pages | YouTube pipeline plus `browser-use:browser` for Studio/player state | watch URL or video ID, channel, title, upload date | +| Internet Archive | Advanced Search, item pages, files/metadata API | browser + `ffprobe`/OCR/transcription for media | item identifier, file name, checksum or archive URL | +| Dropbox vault | Dropbox API search and temporary links; never publish credentials | vault read, filename variants, media metadata, local inspection | Dropbox path, file name, size/date, local provenance; no token | +| Web archives | Wayback/CDX and page snapshots | browser; compare capture dates and linked media | archived URL, capture timestamp, original URL | +| Scholarly indexes | Crossref, OpenAlex, Semantic Scholar, library catalogs | DOI/title/author disambiguation, then primary-source retrieval | DOI or catalog ID, edition, publisher, access date | +| Institutional archives | University, museum, festival, and venue pages | browser; event-program and embedded-media inspection | institution URL, event date, venue, speaker, media link | +| Papers platter | `paper_list`, `paper_find`, `paper_read`, local manifests | consult SCORE, sub-platter README/manifest, prior bibliography | consulted files, revision/date, provenance gap | + +## Video-specific rule + +Do not infer identity from a generic title. For a video such as a page titled +“GOODIEPAL”, search by the numeric Vimeo ID, uploader, related event, and local +archive filenames (`Goodiepal.mp4`, `lecture`, `radical`, venue names). A short +clip and a longer source should be linked as separate evidence items. + +## Browser and collection skills + +- `browser-use:browser` is the visual/browser inspection route for live pages, + local previews, screenshots, and interactive state. +- The web search connector is a discovery route, not a completeness guarantee. +- Dropbox and other vault connectors are private collection routes; they may + locate evidence but do not authorize publishing private material. +- Media inspection uses the repository QoS shims (`ffprobe`, `ffmpeg`) and + preserves the original file path or stable remote identifier in notes. + +See [`sources.json`](sources.json) for machine-readable routing data. diff --git a/papers/sleuth/sources.json b/papers/sleuth/sources.json new file mode 100644 index 0000000000..71c5cecd86 --- /dev/null +++ b/papers/sleuth/sources.json @@ -0,0 +1,21 @@ +{ + "name": "sleuth", + "version": 1, + "purpose": "Index of research search mechanisms, online databases, browser skills, and collection routes for the papers platter.", + "rules": [ + "Search the narrowest primary source directly.", + "Treat generic web results as leads, not confirmation.", + "Record stable identifiers and provenance before citing.", + "Never publish private vault credentials or unreviewed private paths." + ], + "sources": [ + {"id":"vimeo","kind":"video","mechanisms":["direct-url-or-id","vimeo-search","uploader-pages","web-search-fallback"],"skills":["browser-use:browser"],"evidence":["canonical URL","numeric video ID","uploader","duration","capture date"]}, + {"id":"youtube","kind":"video","mechanisms":["youtube-search","data-api-when-authorized","channel-pages","playlist-pages"],"skills":["browser-use:browser","toolchain/youtube"],"evidence":["watch URL","video ID","channel","title","upload date"]}, + {"id":"internet-archive","kind":"archive","mechanisms":["advanced-search","item-pages","metadata-api"],"skills":["browser-use:browser","ffprobe","ocr-or-transcription"],"evidence":["item identifier","file name","checksum-or-archive URL"]}, + {"id":"dropbox-vault","kind":"private-collection","mechanisms":["dropbox-api-search","temporary-links","filename-variants"],"skills":["vault-read","media-metadata","local-inspection"],"evidence":["Dropbox path","file name","size/date","local provenance note"],"privacy":"never publish credentials; review private material before surfacing"}, + {"id":"web-archives","kind":"archive","mechanisms":["wayback","cdx","snapshot-links"],"skills":["browser-use:browser"],"evidence":["archived URL","capture timestamp","original URL"]}, + {"id":"scholarly-indexes","kind":"bibliographic","mechanisms":["crossref","openalex","semantic-scholar","library-catalogs"],"skills":["doi-and-author-disambiguation"],"evidence":["DOI-or-catalog-ID","edition","publisher","access date"]}, + {"id":"institutional-archives","kind":"event-and-media","mechanisms":["institution-pages","museum-pages","festival-programs","venue-pages","embedded-media"],"skills":["browser-use:browser"],"evidence":["institution URL","event date","venue","speaker","media link"]}, + {"id":"papers-platter","kind":"local-research","mechanisms":["paper_list","paper_find","paper_read","local-manifests"],"skills":["papers-score-consult","sub-platter-manifests"],"evidence":["consulted files","revision/date","provenance gap"]} + ] +} diff --git a/system/public/papers.aesthetic.computer/index.html b/system/public/papers.aesthetic.computer/index.html index 9082e9619f..1818e3269e 100644 --- a/system/public/papers.aesthetic.computer/index.html +++ b/system/public/papers.aesthetic.computer/index.html @@ -1555,7 +1555,7 @@