diff options
Diffstat (limited to 'docs')
-rw-r--r-- | docs/figs.drawio | 159 | ||||
-rw-r--r-- | docs/notes.md | 13 | ||||
-rw-r--r-- | docs/time.txt | 1 |
3 files changed, 171 insertions, 2 deletions
diff --git a/docs/figs.drawio b/docs/figs.drawio new file mode 100644 index 0000000..5bb64a2 --- /dev/null +++ b/docs/figs.drawio @@ -0,0 +1,159 @@ +<mxfile host="Electron" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.7.5 Chrome/126.0.6478.183 Electron/31.3.0 Safari/537.36" version="24.7.5"> + <diagram name="draw-area" id="ag9XaxWigHyrzHp_qmMW"> + <mxGraphModel dx="1416" dy="1447" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0"> + <root> + <mxCell id="0" /> + <mxCell id="1" parent="0" /> + <mxCell id="U3h8rfvwRMaaIss59gVv-44" value="" style="rounded=0;whiteSpace=wrap;html=1;fontFamily=Inter;" vertex="1" parent="1"> + <mxGeometry width="256" height="80" as="geometry" /> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-2" value="" style="rounded=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fillStyle=auto;fillColor=#000000;strokeColor=none;fontFamily=Inter;" vertex="1" parent="1"> + <mxGeometry width="24" height="80" as="geometry" /> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-3" value="" style="rounded=0;whiteSpace=wrap;html=1;strokeColor=none;fillColor=#000000;fontFamily=Inter;" vertex="1" parent="1"> + <mxGeometry x="24" width="55" height="16" as="geometry" /> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-4" value="" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#000000;strokeColor=none;fontFamily=Inter;" vertex="1" parent="1"> + <mxGeometry x="252" width="4" height="80" as="geometry" /> + </mxCell> + <object label="draw area" placeholders="1" id="U3h8rfvwRMaaIss59gVv-8"> + <mxCell style="shape=stencil(rVLhDoIgGHwa/hOs5t9G9R6kn8kkcUBpbx/waas53XJujO3uPu4YHOHCVbIFwmhF+IkwltGwBdghDARi6VrIPZKl6qFA2nlrauhU4YfzqqnAKh9Vfib0GGbi4uIq8/pmzaMpfoRRbmV0mAijfDfPeMkeQ4Y7vhDtDggJuyw4aNV8Oez3W1vQ/x0+j7udRbbCg65wyLVxMDvFReAnP5rYmRpwURoLC/0oldZYtoXU2YEUPUlILPY/EW8=);whiteSpace=wrap;html=1;strokeColor=none;fillColor=none;fillStyle=cross-hatch;gradientColor=none;labelBackgroundColor=none;spacing=2;spacingTop=0;fontFamily=Inter;" vertex="1" parent="1"> + <mxGeometry x="24" width="228" height="80" as="geometry" /> + </mxCell> + </object> + <mxCell id="U3h8rfvwRMaaIss59gVv-13" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0;entryDx=0;entryDy=0;fontFamily=Inter;" edge="1" parent="1" target="U3h8rfvwRMaaIss59gVv-4"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="256" y="-20" as="sourcePoint" /> + <mxPoint x="240" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-14" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;fontFamily=Inter;" edge="1" parent="1" target="U3h8rfvwRMaaIss59gVv-4"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="252" y="-20" as="sourcePoint" /> + <mxPoint x="252" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-15" value="" style="endArrow=classic;html=1;rounded=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="232" y="-10" as="sourcePoint" /> + <mxPoint x="252" y="-10" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-16" value="" style="endArrow=classic;html=1;rounded=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="276" y="-10" as="sourcePoint" /> + <mxPoint x="256" y="-10" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-18" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0;entryDx=0;entryDy=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="24" y="-20" as="sourcePoint" /> + <mxPoint x="24" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-19" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint y="-20" as="sourcePoint" /> + <mxPoint as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-21" value="" style="endArrow=classic;html=1;rounded=0;startArrow=classic;startFill=1;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="24" y="-10" as="sourcePoint" /> + <mxPoint y="-10" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-22" value="24" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Inter;" vertex="1" parent="1"> + <mxGeometry y="-40" width="24" height="20" as="geometry" /> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-23" value="" style="endArrow=none;html=1;rounded=0;entryX=1;entryY=0;entryDx=0;entryDy=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="256" y="80" as="sourcePoint" /> + <mxPoint x="256" y="100" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-24" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint y="80" as="sourcePoint" /> + <mxPoint y="100" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-25" value="" style="endArrow=classic;html=1;rounded=0;startArrow=classic;startFill=1;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="256" y="90" as="sourcePoint" /> + <mxPoint y="90" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-27" value="" style="endArrow=none;html=1;rounded=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="256" as="sourcePoint" /> + <mxPoint x="276" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-29" value="" style="endArrow=classic;html=1;rounded=0;startArrow=classic;startFill=1;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="266" as="sourcePoint" /> + <mxPoint x="266" y="80" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-30" value="80" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Inter;" vertex="1" parent="1"> + <mxGeometry x="276" width="20" height="80" as="geometry" /> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-31" value="" style="endArrow=none;html=1;rounded=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="256" y="79.67000000000002" as="sourcePoint" /> + <mxPoint x="276" y="79.67000000000002" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-32" value="" style="endArrow=none;html=1;rounded=0;entryX=0;entryY=0;entryDx=0;entryDy=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="79" y="-20" as="sourcePoint" /> + <mxPoint x="79" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-33" value="" style="endArrow=classic;html=1;rounded=0;startArrow=classic;startFill=1;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="79" y="-10" as="sourcePoint" /> + <mxPoint x="24" y="-10" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-34" value="55" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Inter;" vertex="1" parent="1"> + <mxGeometry x="24" y="-40" width="55" height="20" as="geometry" /> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-35" value="" style="endArrow=none;html=1;rounded=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="79" as="sourcePoint" /> + <mxPoint x="99" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-38" value="" style="endArrow=none;html=1;rounded=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="79" y="16.000000000000014" as="sourcePoint" /> + <mxPoint x="99" y="16.000000000000014" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-40" value="" style="endArrow=classic;html=1;rounded=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="89" y="36" as="sourcePoint" /> + <mxPoint x="89" y="16" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-41" value="" style="endArrow=classic;html=1;rounded=0;fontFamily=Inter;" edge="1" parent="1"> + <mxGeometry width="50" height="50" relative="1" as="geometry"> + <mxPoint x="89" y="-20" as="sourcePoint" /> + <mxPoint x="89" as="targetPoint" /> + </mxGeometry> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-42" value="16" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Inter;" vertex="1" parent="1"> + <mxGeometry x="79" y="-40" width="20" height="20" as="geometry" /> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-43" value="4" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Inter;" vertex="1" parent="1"> + <mxGeometry x="244" y="-40" width="20" height="20" as="geometry" /> + </mxCell> + <mxCell id="U3h8rfvwRMaaIss59gVv-45" value="256" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontFamily=Inter;" vertex="1" parent="1"> + <mxGeometry y="100" width="256" height="20" as="geometry" /> + </mxCell> + </root> + </mxGraphModel> + </diagram> +</mxfile> diff --git a/docs/notes.md b/docs/notes.md index acc9067..fc7c43c 100644 --- a/docs/notes.md +++ b/docs/notes.md @@ -142,8 +142,17 @@ source: <https://git.pipeframe.xyz/fork/melonDS> screen become visible again in the edit field. This includes the bottom row of pixels, as well as the two rows of pixels shown in the single line message picture. - - The **apparent** drawable area (including obstructed top-left corner) is - 228x80 pixels. + - The drawable area (including obstructed top-left corner) is 228x80 pixels, + while the entire message is actually 256x80 pixels: + +  + + The above figure illustrates the area which is 'drawable' (i.e. the area in + which the pen tool works). Fiddled messages that go outside this area are + received normally, but masked slightly differently when re-sent (chunk left + of username label appears to be masked). The actual image data is + unmodified even after being forwarded by normal systems (non-fiddling + systems). Observed package counts (no resends) for messages of different sizes: |draw area|display height|packet#| diff --git a/docs/time.txt b/docs/time.txt index dac4bea..5c9ec3e 100644 --- a/docs/time.txt +++ b/docs/time.txt @@ -27,3 +27,4 @@ 2024-08-31 2h35m: packet decoder 2024-09-01 1h50m: homebrew ds toolchain hello world 2024-10-04 2h10m: reverse message serialization +2024-10-05 1h50m: debugging fiddled messages being ignored |