C++ ときどき ごはん、わりとてぃーぶれいく☆

USAGI.NETWORKのなかのひとのブログ。主にC++。

2020-07-01から1ヶ月間の記事一覧

Rust で cdylib/wasm を吐く crate を分割したら依存先の機能を呼べなくなり、なんとなく extern crate を明示してみたら can't find されて5分くらい悩んだメモ

だいじな事: crate を分割したら、お呼ばれされる側の Cargo.toml で [lib] の crate-type が明示的に rlib を吐かない定義になっていないか確認しよう! 期待動作する例 # crate aaa に依存される側の crate bbb の Cargo.toml # ☆ ↓ src/lib.rs ありの cra…

React で TypeScript な Component 内の一部のメソッドから他の定義済みのはずのプロパティーや state へのアクセスが undefined になった時に思い出したいメモ

期待動作する例 ↓は button をポチると hidden で置いてあるファイルアップロード用の input の click を発火するコンポーネント的な例です。 import React, { Component } from "react"; interface IProps { } interface IState { } export default class F…

wasm-bindgen で fetch する rustwasm 公式の example の async で JsFuture な run が実行時に失敗した場合にも安全に対応できるようにする方法のメモ

問題 https://rustwasm.github.io/wasm-bindgen/examples/fetch.html ↑ この example の run に rustwasm/wasm-bindgen のような、実装上GitHub APIで取得可能なポジトリーが実在する場合は問題ありません。 リポジトリーが存在しないパターンを run に与え…

諸事情により React で TypeScript な web アプリの中から window に global な変数を write access する方法のメモ

Window をオレオレ派生した interface をでっちあげてキャストすれば window の任意のプロパティーに write access できる。後は野となれ山となれ。 ↓例、React の state 持ちの Component な App のインスタンスを window.app な global 変数として登録: Ap…

React プロジェクトの src 内のコンポーネントから諸事情によりウェブサイト外部の SCRIPT を読む方法のメモ

諸事情の例 コンポーネントの render 時に CDN やどこかしらから <script src="https://example.com/hogehoge.js" crossorigin></script> とかしたい コンポーネントの render 時に .jsx/.tsx の翻訳時には有効ではない ECMAScript コードをちょろまかしたい 4つの方法 もっとあるというのはさておき。 1. react-script-tag https…

React なプロジェクトを TypeScript に移行したら3つの困りが発生したけど解決できたメモ

こまったこと: 1. カスタムソースディレクトリー ./src.react を tsc が認識できなかった 諸事情により ./src ではなく ./src.react に react 用のソースを配置していたが、 tsconfig.json の include では "." 文字の入ったディレクトリーは認識しない仕様…

Web 向けの3D の GPU 描画コンテキストお取り扱いライブラリーの2020-07時点のメモ: ES 系, Unity, Unreal Engine, Rust 系

note: 2D 系(eg. phaser, ggez, etc. )は今回のメモでは含めていません。 Lang Library License WebGPU WebGL native ES & wasm ES babylon.js Apache-2.0 Ready 2 %a n/a pure ES ES three.js (+A-Frame) MIT(+MIT) (unknown†1) 1 + (2) n/a pure ES ES pla…

Arch Linux 環境で cargo が言うことを聞かなくなったメモ

症状 数日ぶり程度に使用した Arch Linux 環境の rust 処理系で cargo が +nightly を受け付けてくれなくなって困った ( -Z したかった ) rustup toolchain では stable, nightly が installed 状態 原因 rust は rustup を per user で導入して使っていた"…

MDN の wasm-bindgen の入門用チュートリアル "Hello, WebAssembly" の補足的なメモ

"Hello, WebAssembly" https://developer.mozilla.org/ja/docs/WebAssembly/Rust_to_wasm; MDN / WebAssembly / Rust から WebAssembly にコンパイルする 補足的なメモ 1. npm のアカウントとパッケージの公開は必要? MDNの記事そのものではそこも含めたや…

WebGPU 実装状況のメモ; Firefox-80.0a1(nightly), Chrome-86.0.4191.0(canary) なう

[OK‍♀️] Firefox-80.0a1(nightly) + gfx.webrender.all=True + dom.webgpu.enabled=True / Windows 10 [NG‍♀️] Firefox-78.0.1(stable) + gfx.webrender.all=True + dom.webgpu.enabled=True / Windows 10 [OK‍♀️] Chrome-86.0.4191.0(canary) + Unsafe WebG…

CRA=create-react-app が WSL で start できない理由と回避方法のメモ

問題 WSLでCRAしてyarn startするとcmd.exeを実行できずにウェブブラウザーの起動どころかサーバーも起動せず死んでしまいます。 再現方法: WSLで npx create-react-app hoge して cd hoge; yarn start します Starting the development server... events.js…

UE-4.23以降でHTML5ターゲット(wasm+webgl1)をWindowsの開発機から使うメモ; UE-4.24, Emscripten-1.39.0

↑一応、できました。ただし、実用上は UE4.23 以降で HTML5 ターゲットの採用はおすすめしません。…UE5時代にはWebGPU/wasmのポータブルターゲットよゆうでしたの世界が来ると楽しいですね… 理由: エンジンソースレベルからのビルド、Emscriptenによるサード…