Monorepo for Aesthetic.Computer aesthetic.computer
at main 249 lines 6.5 kB view raw
1{ 2 "cells": [ 3 { 4 "cell_type": "markdown", 5 "id": "0297426f", 6 "metadata": {}, 7 "source": [ 8 "# TV Mode Implementation for KidLisp\n", 9 "\n", 10 "This notebook demonstrates how to add `&tv=true` parameter support to disable touch/keyboard input for FF-X1 TV display integration.\n" 11 ] 12 }, 13 { 14 "cell_type": "code", 15 "execution_count": null, 16 "id": "5526158d", 17 "metadata": {}, 18 "outputs": [], 19 "source": [ 20 "%%ac 320 240\n", 21 "# Example iframe URL for FF-X1 TV mode:\n", 22 "# https://prompt.ac/purple§line§scroll?nolabel=true&nogap=true&tv=true\n", 23 "\n", 24 "purple\n", 25 "line \n", 26 "scroll" 27 ] 28 }, 29 { 30 "cell_type": "code", 31 "execution_count": null, 32 "id": "e3b0f2e8", 33 "metadata": {}, 34 "outputs": [ 35 { 36 "ename": "", 37 "evalue": "", 38 "output_type": "error", 39 "traceback": [ 40 "\u001b[1;31mRunning cells with 'Python 3.11.13' requires the ipykernel package.\n", 41 "\u001b[1;31m<a href='command:jupyter.createPythonEnvAndSelectController'>Create a Python Environment</a> with the required packages.\n", 42 "\u001b[1;31mOr install 'ipykernel' using the command: '/bin/python3.11 -m pip install ipykernel -U --user --force-reinstall'" 43 ] 44 } 45 ], 46 "source": [ 47 "%%ac 320 240 tv_mode=True\n", 48 "# Testing TV mode - should disable touch/keyboard input\n", 49 "red\n", 50 "box width/2 height/2 100 100 *center" 51 ] 52 }, 53 { 54 "cell_type": "code", 55 "execution_count": null, 56 "id": "d3c7b5b2", 57 "metadata": {}, 58 "outputs": [], 59 "source": [ 60 "%%ac 128 128\n", 61 "(ink rainbow)\n", 62 "(line)\n", 63 "; (wipe)\n", 64 "(melody \"cdefgabagfed\" 320)\n", 65 "; todo: make it so the iframe in aesthetic.py dosn't have to be reloaded\n", 66 "; when the melody changes\n" 67 ] 68 }, 69 { 70 "cell_type": "code", 71 "execution_count": 3, 72 "id": "97707d56", 73 "metadata": {}, 74 "outputs": [ 75 { 76 "data": { 77 "text/html": [ 78 "\n", 79 " <div style=\"margin: -8px -8px 0 -8px; padding: 0; overflow: hidden;\">\n", 80 " <iframe id=\"ac-iframe-795ed374\" src=\"https://localhost:8888/(fps_24)~(0.25s_(wipe_(..._red_yellow_blue)))~(ink_green)~(line_0_height/2_width_height/2)~(ink_red)~(line_width/2_0_width/2_height)~(scroll_frame_frame)?nolabel=true&nogap=true\" \n", 81 " width=\"512\" \n", 82 " height=\"512\" \n", 83 " frameborder=\"0\"\n", 84 " style=\"background: transparent; margin: 0; padding: 0; border: none; display: block;\">\n", 85 " </iframe>\n", 86 " </div>\n", 87 " " 88 ], 89 "text/plain": [ 90 "<IPython.core.display.HTML object>" 91 ] 92 }, 93 "metadata": {}, 94 "output_type": "display_data" 95 } 96 ], 97 "source": [ 98 "%%ac 512 512\n", 99 "(fps 24)\n", 100 "(0.25s (wipe (... red yellow blue)))\n", 101 "(ink green)\n", 102 "(line 0 height/2 width height/2)\n", 103 "(ink red)\n", 104 "(line width/2 0 width/2 height)\n", 105 "(scroll frame frame)" 106 ] 107 }, 108 { 109 "cell_type": "code", 110 "execution_count": null, 111 "id": "56ff3985", 112 "metadata": {}, 113 "outputs": [], 114 "source": [ 115 "%%ac 512 512\n", 116 "; Mark the center point for reference\n", 117 "(ink green)\n", 118 "; (box (- width/2 2) (- height/2 2) 4 4)\n", 119 "(stamp \"@jeffrey/2025.6.24.01.45.17.910\" width/2 height/2 0.5)" 120 ] 121 }, 122 { 123 "cell_type": "code", 124 "execution_count": null, 125 "id": "9825df68", 126 "metadata": {}, 127 "outputs": [], 128 "source": [ 129 "%%ac 192\n", 130 "clock +ceg e.b..c..d..e.. ++a...babababgfgfgfededefga" 131 ] 132 }, 133 { 134 "cell_type": "code", 135 "execution_count": null, 136 "id": "26a375dc", 137 "metadata": {}, 138 "outputs": [], 139 "source": [ 140 "%%ac 256 256\n", 141 "; Blue background with red X\n", 142 "(wipe \"blue\")\n", 143 "(ink \"red\")\n", 144 "(line 0 0 width height)\n", 145 "(line width 0 0 height)" 146 ] 147 }, 148 { 149 "cell_type": "code", 150 "execution_count": null, 151 "id": "36b2ed58", 152 "metadata": {}, 153 "outputs": [], 154 "source": [ 155 "%%ac 256 256\n", 156 "; Comprehensive scroll test\n", 157 "(wipe black)\n", 158 "(ink white)\n", 159 "(write \"Original\" 10 10)\n", 160 "(ink red)\n", 161 "(box 50 50 50 50)\n", 162 "; Test different scroll amounts\n", 163 "(0.1s (scroll 1 0)) ; Small scroll\n", 164 "(0.2s (scroll 10 0)) ; Medium scroll \n", 165 "(0.3s (scroll 0 10)) ; Vertical scroll\n", 166 "(0.4s (scroll -5 -5)) ; Negative scroll" 167 ] 168 }, 169 { 170 "cell_type": "code", 171 "execution_count": null, 172 "id": "746709d9", 173 "metadata": {}, 174 "outputs": [], 175 "source": [ 176 "%%ac 256 256\n", 177 "; Test potential scroll issues\n", 178 "; (wipe blue)\n", 179 "; (0.5s (wipe blue))\n", 180 "(line)\n", 181 "(scroll 1)\n" 182 ] 183 }, 184 { 185 "cell_type": "code", 186 "execution_count": 4, 187 "id": "d066b694", 188 "metadata": {}, 189 "outputs": [ 190 { 191 "data": { 192 "text/html": [ 193 "\n", 194 " <div style=\"margin: -8px -8px 0 -8px; padding: 0; overflow: hidden;\">\n", 195 " <iframe id=\"ac-iframe-4443652d\" src=\"https://localhost:8888/clock~{saw}^--ceg~^e.b..c..d..e..~{square}^-a...babababgfgfgfededefga?nolabel=true&nogap=true\" \n", 196 " width=\"100%\" \n", 197 " height=\"192\" \n", 198 " frameborder=\"0\"\n", 199 " style=\"background: transparent; margin: 0; padding: 0; border: none; display: block;\">\n", 200 " </iframe>\n", 201 " </div>\n", 202 " " 203 ], 204 "text/plain": [ 205 "<IPython.core.display.HTML object>" 206 ] 207 }, 208 "metadata": {}, 209 "output_type": "display_data" 210 } 211 ], 212 "source": [ 213 "%ac 192 clock {saw}^--ceg ^e.b..c..d..e.. {square}^-a...babababgfgfgfededefga" 214 ] 215 } 216 ], 217 "metadata": { 218 "kernelspec": { 219 "display_name": "Python 3", 220 "language": "python", 221 "name": "python3" 222 }, 223 "language_info": { 224 "codemirror_mode": { 225 "name": "ipython", 226 "version": 3 227 }, 228 "file_extension": ".py", 229 "mimetype": "text/x-python", 230 "name": "python", 231 "nbconvert_exporter": "python", 232 "pygments_lexer": "ipython3", 233 "version": "3.11.13" 234 }, 235 "polyglot_notebook": { 236 "kernelInfo": { 237 "defaultKernelName": "csharp", 238 "items": [ 239 { 240 "aliases": [], 241 "name": "csharp" 242 } 243 ] 244 } 245 } 246 }, 247 "nbformat": 4, 248 "nbformat_minor": 5 249}