Decker: インタラクティブなドキュメントのためのモダンなHyperCard風プラットフォーム
Decker: インタラクティブなドキュメントのためのモダンなHyperCard風プラットフォーム
概要
結論: Deckerは、画像、サウンド、ハイパーテキスト、スクリプトによる動作を備えたインタラクティブなドキュメントを構築できる、カードベースのマルチメディア環境を提供します。これらはウェブブラウザで直接使用したり、ネイティブアプリとして使用したりできます。 Deckerは、サウンド、画像、ハイパーテキスト、スクリプトによる動作をサポートする、インタラクティブなドキュメントの作成と共有のためのマルチメディアプラットフォームです。ウェブブラウザで試すことができるほか、macOS、Windows、BSD、Linux上でネイティブに動作します。このプロジェクトは、HyperCardの遺産とクラシックなMacOSの視覚的な美学を継承しつつ、詳細なUndo履歴、スクロールホイールおよびタッチスクリーン対応、モダンなキーボードナビゲーション、一括編集操作などの利便性の向上を実現しています。
コア機能
結論: Deckerは、HyperCardのシンプルさと、詳細なUndo、スクロールホイール/タッチ対応、モダンなキーボードナビゲーション、一括編集などの利便性の向上を組み合わせています。 Deckerは、HyperCardが提供していたシンプルさと学習の容易さを維持しています。ユーザーはE-Zineの作成、ノートの整理、プレゼンテーション、アドベンチャーゲームの構築、あるいは1-bitのピクセルアートの落書きなどが可能です。全体的な「ditherpunk」な美学は、心地よく、ノスタルジックで、楽しい創造的な制約を与えてくれます。プロトタイピングツールとして、Deckerはラフで不完全なアプローチを推奨します。完成したデッキは、任意のウェブブラウザで自己実行可能なスタンドアロンの.html ドキュメントとして保存でき、ウェブページをホストまたは埋め込み可能な場所であればどこにでも共有できます。
Lilによるスクリプト作成
結論: スクリプト言語 Lilは、Luaスタイルの命令型とQスタイルのベクトル演算、そしてSQLライクなクエリ言語を融合させており、数行でロジックを追加できます。 より複雑なプロジェクトのために、Deckerには Lil と呼ばれる新しいスクリプト言語が搭載されています。Lilは、ツールやゲームエンジンへの組み込みに人気のある命令型言語である Lua と、時系列データベースで使用されるAPLファミリーの関数型言語である Q の強い影響を受けています。学習が容易で、プログラミング経験のあるユーザーにとっても十分に慣れ親しんだものですが、暗黙的なスカラー・ベクトル演算や統合されたSQLライクなクエリ言語といった嬉しい驚きも含まれています。数行のLilが大きな効果を発揮します。 Deckerはまた、インターフェース構築のための小さな組み込みインタラクティブ・ウィジェットのコレクションを提供しており、新しいウィジェットを定義する機能も備えています。カスタムウィジェットとその定義はシステムクリップボードを介してコピー&ペーストできるため、テキストを保存できる場所であればどこでも共有可能です。
エクスポートと共有
結論: 完成したデッキは、任意のブラウザで動作するスタンドアロンの.html ファイルとして保存され、あらゆるウェブホスト経由での配布や埋め込みを容易にします。また、このフォーマットはバージョン管理のために行指向になっています。 すべてのデッキは行指向のテキスト形式で保存され、GitやSVNのような既存のソース管理ツールと良好に相互運用できます。ソースからビルドすると、DeckerにはLiltが付属しています。これはスタンドアロンのLilインタプリタであり、Deckerドキュメントをヘッドレスで読み取り、書き込み、操作、さらには実行することさえ可能です。LiltはDecker自体よりも依存関係が少なく、クロスプラットフォームのAPE実行ファイルとしてコンパイルしたり、POSIX AWK内で実行したりすることもできます。
クロスプラットフォームおよびコマンドラインでの使用
結論: DeckerはmacOS、Windows、BSD、Linuxでネイティブに動作します。付属のLiltインタプリタにより、デッキのヘッドレス操作が可能になり、APE実行ファイルとしてコンパイルしたり、POSIX AWK内で実行したりすることもできます。 Deckerは、macOS、Windows、BSD、Linux用のネイティブアプリケーションとして利用可能です。Liltインタプリタにより、コマンドラインに優しいワークフローが可能になります。グラフィカルインターフェースを起動せずにデッキを操作でき、Liltはどこでも実行可能なシェルスクリプト用のAPE実行ファイルとしてコンパイルできます。POSIX AWK上で動作するLilインタプリタも存在し、この言語のポータビリティを示しています。
コミュニティのリソースとエコシステム
結論: このプロジェクトは、チュートリアル、サンプルデッキ、ライブラリ(plot, stats, pdfなど)、ドキュメント、GitHubリポジトリを提供しており、Itch.ioでの定期的なバイナリリリースや予定されたゲームジャムも行っています。 Deckerのウェブサイトでは、ドラッグ可能な要素、サウンド、カラー、ブラシ、フォント、トランジション、GUI、およびSokoban、Breakout、CHIP-8インタプリタ、ゲームパッド入力デモなどのサンプルゲームに関するガイド付きツアーと詳細なページを提供しています。ライブラリには、plot(シンプルなグラフ作成)、stats(統計数学)、pdf(PDFエクスポート)、twee(Twine.tweeインポート)、zazz(アニメーションヘルパー)、ease(イージング関数)、bn(任意精度符号なし整数)、dd(ビジュアルノベル用モーダル)、pt(ビジュアルノベル用スプライトアニメーション)、path(グリッド経路探索)、hershey(ベクターフォント)、dfxr(効果音生成)、WigglyKit(リッチな描画コンポーネント)、およびThe Forbidden Library(高度な機能)が含まれます。ドキュメントには、Deckerリファレンスマニュアル、Lil言語、ドキュメントフォーマット、10分間のLilチュートリアル、Lilプレイグラウンド、クイックリファレンスカード、Liltターミナル、およびPhinxelのPhield Notesやマルチメディア・スケッチパッドのブログ投稿などのコミュニティ作成ガイドが含まれています。 ソースコードとバグトラッカーは、MITライセンスの下でGitHubにホストされています。macOSとWindows用の定期的なバイナリリリースはItch.ioで入手可能であり、そこではコミュニティフォーラムや年次のゲームジャム(7月と12月)も開催されています。サイトに記載されている次回のジャムは、2026年7月のDecker Fantasy Campです。
Hacker Newsでの反響
結論: コメント投稿者はDeckerのノスタルジックな魅力を強調し、HyperCard、Delphi/Lazarus、LiveCodeと比較し、モダンなテーマ設定、フォントサイズ調整、e-inkデバイスでの使用の可能性を指摘した一方で、今日の時代における実用的な関連性に疑問を呈する者もいました。 複数のコメント投稿者がHyperCardへのノスタルジーを表明し、Deckerの自己完結型のHTMLエクスポートとディザリングされた美学を称賛しました。あるユーザーは、HyperCardの体験を新しい層に伝えるのは難しいと述べ、初期の3Dゲームの不気味な谷に例えました。別のユーザーは、Notionのようなサービスが主流となっている時代において、HyperCardスタック、FileMaker、Accessのような自己完結型のインターフェースツールの居場所がまだあるのかを疑問視しました。 比較対象として、Delphi/Pascal/Lazarus IDE、LiveCode(AI支援UIビルダーへと移行中)、および「エージェンティックな未来」の代替案としてのtldraw offlineが挙げられました。一部のユーザーは、ウィジェット以外の状態管理、テキストフィールドでのフォントサイズ調整、プレゼンテーション用のよりモダンなテーマへの切り替え機能について質問しました。数人はiOS Safariでのウィンドウサイズの小ささに言及し、Boox Noteシリーズなどのe-inkデバイスでのDeckerの使用に期待を寄せました。あるコメントは、LLM以前にアプリを作成する喜びを称賛し、Deckerをウェブブラウザよりも優れたものにするためのネットワーキング機能の実現を望みました。 全体として、議論はDeckerのHyperCardへのオマージュに対する評価、モダンな機能強化への関心、そしてその創造的な有用性に対する楽観論と、2026年における広範な適用可能性に対する懐疑論が混在したものでした。