diff --git a/package.json b/package.json index 8e9dd87cd0..4d7a1f513a 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,8 @@ "pop:site": "node pop/bin/publish-release-records.mjs", "doctor": "node toolchain/doctor.mjs", "domain": "node toolchain/domains/domain.mjs", + "laklok:parity": "node toolchain/laklok-sisters/parity.mjs", + "laklok:sisters": "node toolchain/laklok-sisters/sisters.mjs", "sitemap:update": "node utilities/update-sitemap.mjs", "sitemap:check": "node utilities/update-sitemap.mjs --check", "api-docs:check": "node utilities/check-api-docs.mjs", diff --git a/system/public/aesthetic.computer/disks/gram.mjs b/system/public/aesthetic.computer/disks/gram.mjs new file mode 100644 index 0000000000..2d772d7d9b --- /dev/null +++ b/system/public/aesthetic.computer/disks/gram.mjs @@ -0,0 +1,510 @@ +// Gram, 2026.8.21 +// A handheld vertical feed of !tapes โ€” swipe to surf, scrub sideways, +// tap to pause, heart what you love. (The social sibling of `tv`.) + +/* ๐Ÿ“ Notes + MVP of the gram proposal: streaming MP4 tapes through the bios singleton + (`tape:play-mp4`), swapped on swipe-commit with each tape's baked + thumbnail painted as an instant poster frame while the next video spins + up. Feed comes from /api/tv?types=tape; hearts are the generic + /api/chat-heart {type, for} toggle. + + `tv.mjs` remains the lean-back/ambient sibling โ€” its gesture-commitment + core (first 10px decides scrub-vs-scroll) is forked here, but the ZIP + frame-tape engine is not: every feed item streams byte-ranged MP4 from + Spaces instead of downloading a frames ZIP. + + Next (with the proposal): a bios