サイトのティーザー動画を台本から作れるようにする - #132
Merged
Merged
Conversation
The landing page's video was an iPad screen recording made by hand. This makes its successor from a script instead, so it can be shot again whenever the app changes: `ruby Tools/teaser/teaser.rb` records a UI test on the 11-inch iPad simulator and cuts it into a silent two-minute 1080p film, ready for music. TeaserTests is the script: one line, a corner, a square the long way and then with a repeat, 120° and 144° until a star turns up, colour, and a box that grows it into a spiral, ending on the generated Swift. It presses by coordinates and logs every press, drag, caption and camera move with its time. teaser.rb is the editor. It cuts the still stretches the simulator leaves between frames, zooms toward the part of the screen that matters, draws the touches the simulator does not show, lays the captions on, and puts the icon on either end. What it took to make that reliable is in Tools/teaser/README.md: - Coordinate taps do not scroll, so the palette is scrolled by a finger. - Number fields need a hardware keyboard. - Caret blinks would otherwise count as motion. - "Finished drawing" cannot mean "the scrubber moved". - A drop that does not land is retried and cut out of the film.
Merged
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
サイトに載せている紹介動画(iPad を手で操作した画面収録)の後継を、台本から作れるようにしました。
ruby Tools/teaser/teaser.rbを実行すると、iPad のシミュレータで操作を再現して録画し、音なし・約 2 分・1080p の動画に仕上げます。アプリが変わっても、同じ動画を何度でも撮り直せます。音楽はあとから手作業で入れる前提です。動画ファイルそのものはリポジトリに入れていません。YouTube にアップロードしたら、サイトの埋め込みを差し替える予定です(別 PR)。
動画の中身
ブロックを組んで、試しながら直していく流れです。字幕は英語です。
最初と最後にアイコンとアプリ名を出し、最後には対応機種も出します。画面は上下に少し余白を取って角を丸め、操作している場所へズームします。
仕組み
TortoiseBlocksUITests/TeaserTests.swiftTools/teaser/teaser.rbTools/teaser/text.swift安定させるためにしたこと
詳しくは
Tools/teaser/README.mdに書きました。ConnectHardwareKeyboardをオンにして、終わったら戻します。Xcode 27 には Simulator.app がありません。撮影中に気づいたこと(この PR では直していません)
確認したこと
ruby Tools/teaser/teaser.rbを通しで実行し、124 秒の動画ができること(メンテナが視聴済み)swift format lint --strictConnectHardwareKeyboard)が元に戻ること