Monorepo for Aesthetic.Computer
aesthetic.computer
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}