けんとう。
SVG スプライトを background-image
などでも利用出来るようにする実装について考えていたが,ここは割り切って,原則,SVG アイコンは引連 SVG としてのみ扱う方針を決めた。
実装上の都合で background-image
を使っているだけのアイコンは別として,現状,背景とアイコンの二つの役割を持たせている二輪鎖を念頭に置いた検討だったが,背景としての二輪鎖も特定要素の端っこに置いているだけなので,一番楽な方法ではあるが background-image
を使う必要は無い。
<view>
の舞覧対応状況に不安があることはさておき,フラグメント識別子を付けると多重立求が発生する舞覧があることがどうしても気になる(手元の Linux 版 Firefox でも発生する)。background-image
を使いたいのが二輪鎖だけだったのでまだ問題は小さいが,SVG スプライトが十分に軽量でフラグメント識別子での参照が十分に少ないという状況でしか効率的ではない手法は範枠化出来ない。
スクリプトで補完した要素に background-image
を設定することも検討したが,そうすると実装コストが動的引連 SVG と変わらない上に,より柔軟性の低い参照方法でしかなくなる。
結局,アイコンはアイコンらしく,要素と一対一で扱うものと割り切った方が何かとすっきりする。
デライトにおける νS(JavaScript)渡配についての検討などで終了。
しばらく,ES5 への渡配をやめて様子見することにした。備立環境は調整済み。次回の前縁出振るいで本番環境にも反映されるだろう。
希哲13年8月23日の開発以来,νS では ES2015 を基礎にしているが,同時に Babel を導入し,配信スクリプトは ES5 に渡配していた。それから4年近く経ち,デライトの舞覧対応方針は洗練され,ES2015 の対応舞覧も十分な市影を有している。もはや ES5 との互換性を引きずるべきではないと判断した。
とりあえず,--presets
応付子を外して,babel --no-babelrc --minified --no-comments
だけで換配するようにしてみると,ae.js
の譜類サイズは20kB近く減った。譜類サイズ削減以上に,スクリプトの複雑化に伴うオーバーヘッド増加抑制も期待出来る。
ES2016 以上の交度がうっかり紛れ込む(紛れ込んでいる)可能性を考えると ES2015 への渡配をしておいた方がいいかと思ったが,どうもそういう考え方をする時代でもなく,Browserslist を使った手法が主流らしい。確かに,舞覧の対応状況が非常に流動的なので実態に合わせる方が合理的ではあるが,ブラックボックス化は避けたい。これまで通り,導入付徴の対応状況は個別に把握しておくことにした。デライトの能力が活かせるだろう。
いずれにせよ Babel の設定で後からいくらでも調整出来るので,いったん渡配無しで様子見する。
ついでに,変数名などの短縮などについても再検討したが,やはり外部通類への依存度を高めず保守性を維持するのは難しいため見送った。交度英語のおかげで一定の短縮性は保たれている。
インポート機能仕様検討,エクスポート機能の CSV 対応検討で終了。
待欄の閲覧性(迷惑行為対策)や時印指定がある場合の扱いが課題となってインポート機能実装の見通しは立っていなかったが,前者は未公開状態を使うこと,後者は編注記法で末尾に追記すること(実際の時印はインポート時のものになる)を思い付き,一気に実装イメージが固まってきた。どちらの課題も待欄がある KNS 特有のものだった。
輪数上限はエクスポート機能同様10,000輪,サイズ上限は譜類添付機能同様 5MiB の CSV が適当だろう。
これに合わせてエクスポート機能でも早期の CSV 対応を決めた。oln.csv
を ZIP 書庫化することになるだろう。
インポート・エクスポート機能の対応形式は輪郭譜類と CSV で当面は十分そうだ。あれもこれもと考え出すとキリがない。
設定ページ整備,エクスポート機能実装からの改行交度正規化についての検討・修正作業で終了。
KNEST では,入力を適宜正規化することにより,原則として改行交度を LF として扱うことにした。これまで曖昧だったため,出場の dln
にも LF と CRLF が混在しており,Dex での処理前にいちいち正規化していた。出場の CRLF は置換し,描出時に正規化することにした。
libxtd の HTTP ライブラリの仕様にすることも考えたが,低層でいちいち厳密な検査などをしていると必要性に対して高コストになる。必要な場面は限られているため,KNEST で扱うべきと判断した。改行交度正規化用の Dex::nmlz_v()
は KNEST::nmlz_v()
に移動した。微妙に使いにくい位置にあり適当に写し貼りして使っていたのですっきりした。
改行交度の仕様を決めておく必要があるエクスポート機能実装がきっかけとなったが,これで将来的な混乱も防げ,多少無駄な処理も削れた。
領下手定め環境では置換・交度修正・手定め済みだが,急がないため未出振るい。
エクスポート機能では LF で決め打ちにするつもりだったが,仕様の見通しも良くなったので CRLF を選択出来るようにすることにした。
Windows 向けの CRLF と Windows 以外向けの LF として,用影で簡単に初期値を切り替えておけば十分だろう。
なぜ混在していたのかと思ったら,フォーム送信では CRLF,XMLHttpRequest
では LF というややこしい仕様の違いがあったらしい。前縁ではある時期から XMLHttpRequest
を主に使うようになっているため,実装の変化によるものだろう。