並行宇宙のHTML
HTMLが標準的な表現になりすぎて、何か色々捨てている気がする。
もう一回考えたらどういう言語になるかな?、、という実験を実際にブラウザでやるために、wasmをレンダラーにできそう。
例えば、こう書ける。上下の怪しいコードの部分が実際には描画エンジンになっていて、中にあるHTMLっぽいコードをパースして描画できる。
code:index.html
<!DOCTYPE html><html><body><canvas id=c></canvas><script type="text/lang" id=s>
<body temperature="warm" gravity="0.2">
<p drift="circular" decay="5s">
ここに書いた文字が渦を巻きながら消えていく
</p>
<br depth="100">
<a href="blue" weight="heavy">沈む言葉</a>
<img src="noise" resolution="feelings">
<table mood="anxious">
<tr wobble="true"><td>整列できないデータ</td></tr>
</table>
</body>
</script><script>(async()=>{const w=await WebAssembly.instantiateStreaming(fetch('e.wasm'),{/* imports */});w.instance.exports.parse(document.getElementById('s').textContent)})()</script></body></html>
webが文章構造に引っ張られすぎていることも気になってて、ちょっと絵を描くならすぐ現れるcanvasっていう概念自体がもう文章ですよね。
テキストだとしても文章とは限らないし、絵だとしても挿絵とは限らないと思う。でも、HTMLだと全部が文章とか挿絵になる。まぁ、そうじゃないように見せる書き方はできると思うけど、それがハックっていうことでいいのかな?
こういう書き方は管理しづらいと思うけど、僕にとってはわかりやすい。
ちなみにコードはAIが書いてくれてるから僕のテキストじゃなくて申し訳ない。
code:index.xml
<page size="A5" paper="cream" grain="rough">
<text x="30" y="50" pressure="heavy" size="large">
実験ノート 6/14
</text>
<text x="35" y="90" angle="-2" speed="fast" pressure="light">
朝から雨。湿度がフィルムに影響するか確認したい
</text>
<text x="40" y="130" speed="careful" pressure="medium">
ISO400 / f2.8 / 1/125
</text>
<text x="180" y="125" angle="5" size="tiny" pressure="light">
ほんとは200にしたかった
</text>
<circle cx="300" cy="160" r="40" stroke="pencil" repeat="3"/>
<arrow from="300,160" to="180,125" curvature="loose" pressure="light"/>
<text x="50" y="200" angle="-8" pressure="heavy" speed="fast" size="large">
全然だめだった
</text>
<text x="320" y="280" angle="90" size="tiny" pressure="faint">
パン買って帰る
</text>
<scribble x="45" y="195" width="200" intensity="frustrated"/>
<stain x="280" y="300" size="small" type="coffee"/>
</page>
完全にグラフィックだったら諦めてp5jsとかTrussSketchでいいのかもしれないけど、書こうとしているものがテキストだとしても、なにか捨てすぎた可能性について掘り起こしてみたい衝動に駆られる。