ノートPCの 4k 13~16インチのアイコンとMDプレビュー、V8+WASI-WASM

  1. いつもMeryさんとKuroさんにお世話になりっぱなしで、なんとお礼をいったらいいのやら…と思っています。


    サブジェクトの通りに話を続けさせていただきますね。

    アイコンを大きくできる方法?

    1. 今はもうどこも生産していない、小型画面14インチで4kのようなノートPCのディスプレイを使っていると、

    2. アイコンを最大サイズにしても、まだ小さくて見えないのですが、

    3. 高DPI互換性モードにしますと割とうまく行ったかと思っても画面がぼやけてしまうので、なにか対応方法はありますか?

    • これはわりと多くのソフトウェアでもあることですが、ブラウザーとかプラグインとかはほぼOK、

    • エディターやファイラーは海外のものも含めてなかなか苦労されている感じがします

    同じ環境で、Markdownプレビュープラグイン1.07の表示画面では、デフォルトでは相対的に文字がかなり大きく

    1. たしかWebView, V8でレンダリングされているかと記憶しているのですが、

    2. レンダリング環境とエディター環境でのレンダリング結果においてスケールに差があるのか、デフォルトのままですと、プレビュー画面と、文字の大きさが相対的にかなり大きいのです

    • いろいろな文書を読み書きしていますと、デフォルトから、それぞれ変える必要が有るので統一感が直らず…
    1. なんとも分からないのですか、FHD(1920x1080)ぐらいだとほとんど気にならない状況なのです。

    2. 見た目をきっちりやるならHTMLで、というのは承知ております。ただ、何か簡便な対応があるといいな、と思いまして。

    • 最近 Markdown形式の文書が増えてきて、それぞれ、一旦CLIレンダリング用glow.exeを通してから、エディター環境でみるようになってくると残念なので、書かせていただきました

    JS/TS の言語仕様、ランタイム、Pascal その他のお話を見かけまして、JS/TSの処理高速化には、(WASI-)WASM、WebAssemblyウェブアセンブリーが効くかもしれないと思い、付け加えました。
    読み直したら長くなっていて、申し訳ないです

    最近大きくこなれ世界規模の商用環境(アマゾンPrimeビデオやCDNのCloudflareほか)で使われている、WebAssembly(WASI-WASM) を利用するのは、特に V8 は有利ではないか?と思うのですが厳しいでしょうか?

    • 登場当初は、いかがわしい感があったかな、と思います。新技術には、一山当てようという怪しげな方々も、ワラワラ集まるものですが、あれは夢を語ることで高額な教材・教育・コンサルを販売する系で、これは一時期生成AIでもありました
    1. さて、さまざまな JS/TS の仕様と、V8, その他のさまざまなランタイムの乱立の中、処理速度を上げるのがなかなか難しいということもあるのかな?と思った次第で、

    2. 釈迦に説法で恐縮ですが、各種JS/TSの処理速度を上げるため、ブラウザーが V8, SpiderMonkey など、オフラインでもnode.js、Deno, Bunなど切りが無く、

    3. 言語仕様数xランタイム数で発散し、その反省から、ASM.JS を模索し、さらにその後、テキスト形式の WIT から、統一規格のバイナリのWebAssembly(今はWASI-WASM)を統一規格のAOT・JITのWASM形式のVM単独やJSと一緒動かせるようになりましたが、ブラウザ系ランタイムではV8がたぶん一番高速ではないかと思います。

    4. また、FreePascal, Python, C, C++, Java, その他の各種言語を、WASM形式にコンパイルして変換し(トランスパイルという独特の言葉があります)、WebAssembly協会みたいなところの統一規格WASI-WASMに準拠したランタイムで走らせています。統一規格に付いていけないところは、ほぼ淘汰されたと思います。

    • VisualStudio にもLVVMのWebAssemblyのリンカーが入っていたり、.net8, .net9でもMicrosoftも頑張っているようです
    1. 各種JS/TS, C, C++, FreePascal などはフロントエンドだけ実装できれば、コンパイラのバックエンドのLVVMが、WASMを出力できるので、増加しましたし、C, C++やRustやPythonは独自の生成系があったと思います。WebVMという名前で、仮想PCをウェブに載っけてミニLinuxが動いたり。

    2. WASI-WASMの、WASIは、仮想的に外部にアクセスするレイヤーが慎重に付けられた名前で、WASIの機能が固まったことで商用化が進んだように思います。

    3. 話を戻しますと、プラグインやマクロで、WASI-WASM形式も動くようになる?ならない?かなと、思った次第です。本体にも寄与できるとよいですが。

    • Markdownレンダリング部分とエディター部分がウェブアプリ、UWP?で同期して動くものいくつか見かけましたが、いろいろな言語を入り口に、その言語が表現できる柔軟で高性能な実装を生かしやすくならないかな、と。

    • デバッグやセキュリティは最も気をつけて設計されていた部分の一つです。WASI-WASMの機能はコンポーネント化で縛りが効くようにし、VMの縛り、デバックしやすさも変わるかな?

    1. たとえばyukoさんのGemini,OpenAIへのアクセスのマクロを拝見しましたが、LLM、VLMの応答、チャットヒストリーなどコア機能はある程度モジュール化して、モデル名、アクセスポイント、システムプロンプトやAPI KEYを変数は入れかえて活用したり、応用できそうに見えました。

    ー 言語仕様もVMも絞られて商用利用になりましたが、WASMは発祥がそもそもウェブメインのランタイム用で、最強のV8のランタイムで、いろいろな作者さんが大変そうなのが変わらないだろうか?

    • Shopifyとか、Claudflareとか、メモリ使用量を抑えたまま、ワーカー的に、いろいろ同時にできないかな?

    自分の具体的なコードがないまま、言い出しっぺの法則が守れていないので申し訳ないのですが、処理系などの情報でしたら多少ご提供できるかもしれません。

    私自身は、直接WASMにコンパイルできないPerl5までとか、あとは複数のライブラリを糊付けするPythonにおいて生成AIに指示を出すだけになってしまいました…


    • そういえばGoogle Cloud Platform:GCPには、Firebase という縮小版のサービスがあるのですが、GCPもFirebaseも直接使わない、「Genkit」というOSSの生成AIライブラリを出しています。

      • Gemini に限らず、クローズソースの他社AI、オープンソースのローカルAIもサポートし、JS/TS, Go(Beta), Python(Alpha)で書かれています。yukoさんのマクロにおいて保存しているチャットヒストリーを元に知識を蓄えて応答する、など、モジュールを組み合わせて使えます。
    • また、Microsoftも、だいぶ前からセマンティック・カーネルとかグラフ・ラグというライブラリで似たようなことをやっていましたが、現在一番推しているのが、「プロンプトこそコーディングだ!」という掛け声の「GenAIScripting」という高機能なライブラリです。記述する量は非常に少ないようですが、その分バックエンドがいろいろ処理している感じに見えます。

    • なお、WebLLMも、徐々に固まってきたようですが(Google主導)、既にChromeのデベロッパーモードには、英語版Geminiが入っていますし、テスターに一番小型のGemini NanoをChromeに入れてもらってフィードバックを集めていました。ただ、WebLLMを一旦送信して、ブラウザのキャッシュに入れて動かして、モデルを変えたり改良できるほうが良いとか。

    WASI-WASMやローカルでの生成AIは毎日大ニュースばかりで、抜け漏れがあるかと存じますが、どうかご容赦ください。

     |  flac  |  返信
  2. ご愛用いただき、ありがとうございます。

    > アイコンを大きくできる方法?

    アイコンというのは、ツール バーのアイコンのことでしょうか?

    ツール バーのアイコンであれば、[表示] メニューの [ツール バー] から [特大サイズ] を選択することで、Mery で設定できる最大サイズに変更できます。

    > エディターやファイラーは海外のものも含めてなかなか苦労されている感じがします

    Mery のようなデスクトップアプリ(Win32 アプリ)では、SVG 形式などに対応していないことが多いので、アイコンの拡大は対応が難しいのだと思います。

    ちなみに、Mery の場合、16x16px、24x24px、32x32px、48x48px のアイコン素材を購入しましたが、それ以上のサイズの素材は用意していません。

    なので、現在のところ、それ以上の拡大は難しい状況です。

    > 同じ環境で、Markdownプレビュープラグイン1.07の表示画面では、デフォルトでは相対的に文字がかなり大きく

    Markdown プレビュー プラグインで文字サイズを変更する方法は 2 つあります。

    まず、簡単にできる方法として、プレビュー領域を右クリックし、ポップアップ メニューの [文字のサイズ] から変更できます。

    この方法は、文字が「ちょっと小さいな」と感じたときなどに、手軽に調整できるので便利です。

    さらに細かく調整したい場合は、ポップアップ メニューの [オプション] を開き、[プレビュー] カテゴリの [フォント サイズ] からお好きなサイズ (たとえば [16px] など) を指定できます。

    なお、Markdown プレビュー プラグインの配布は、ベータ版の検証を目的としており、動作検証にご協力いただける方に限り、期間限定で無料でお使いいただけるようにしています。

    以下は注意事項の抜粋ですので、ご確認の上、ご協力をお願いいたします。

    現在、ベータ版につき動作検証にご協力いただけるかたは無料でお試しいただけますが、再配布は禁止とさせていただきます。
    ご質問、ご意見、ご要望は雑談の範囲内でということで、それ以上はサポート外とさせていただきます。

    また、Markdown プレビュー プラグインに関する話題は、こちらのスレッドでお願いします。

    【雑談】Markdown プラグインで遊ぼう
    https://www.haijin-boys.com/discussions/7873

    > 最近大きくこなれ世界規模の商用環境(アマゾンPrimeビデオやCDNのCloudflareほか)で使われている、WebAssembly(WASI-WASM) を利用するのは、特に V8 は有利ではないか?と思うのですが厳しいでしょうか?

    WebAssembly、興味深いですね。いろいろ情報をありがとうございます。今後の開発の参考にさせていただきたいと思います。

    > プラグインやマクロで、WASI-WASM形式も動くようになる?ならない?

    Mery のマクロは V8 に対応しているので、WebAssembly は使えそうですね。(WASI は無理っぽいですが)

    簡単な WebAssembly.instantiate のサンプルを試してみたところ、一応動作しました。

    また、JavaScript や関連技術については、yuko さんが立ててくださったこちらのスレッドで話していますので、よろしければどうぞ。

    QuickJSやDelphiに関するちょっとした雑談
    https://www.haijin-boys.com/discussions/8963

     |  Kuro  |  返信
スポンサーリンク