macOSのオートセーブとバージョン

AppleがモデルをmacOSで管理する根本的に異なる方法を追加したため、Rhino for Mac にそれを統合しました。オートセーブとバージョンに関するAppleの説明はこちらでご覧いただくことができ、またこちら(英文)でもその機能について紹介されています。

このページでは Rhino for Mac ユーザーにとって大切な、上記の記事には書かれていない詳細について説明しています。

オートセーブは自動保存とは異なります

自動保存は ユーザーまたはプログラムが後で見つけられる別の場所に単一のバックアップコピーを書き込む という意味で、ユーザー自身に定期的なファイル保存の責任がありましたが、Rhinoや他のプログラムは保存し忘れた場合に備えてバックアップを作成していました。

macOSでAppleは、ほぼ同じ言葉である オートセーブ を使って全く異なるものを表現しています。macOSのオートセーブは 自動的にファイルを保存する という意味で、ファイルを自動的に上書きするものです。他の場所に隠れたバックアップがあるわけではなく、元のファイルが頻繁に上書きされます。モデルを閉じる際に変更を全て取り消したい場合に備え、MacOSは元のファイルのコピーを保持します。

Rhino for Mac はモデルをいつオートセーブするのでしょう?

モデルは時々、また他のアプリケーションに切り替えた時にオートセーブされます。Appleは時々保存することを、Rhinoがアイドリング状態の時およそ5分毎に行われるとしています。この間隔は個別設定ができません。

Rhino for Mac はコマンド実行中、またはモデルを活動的に変更している間はオートセーブを行いません。ディスクに書き込まれたコピーは、書き込まれた時点のモデルと一致した正確なコピーです。

これはご自身でお試しいただけます。Rhino for Mac での作業中はモデルのプレビューがFinderウィンドウでご覧いただける状態であることをお確かめください。モデルを編集し、30秒ほど待ってみます。Finderのプレビューが変わった時、オートセーブが実行されています。

元のコンテンツに戻す

モデルに加えられたあらゆる変更がオートセーブされますが、その変更を一切残したくないこともあるでしょう。変更を加えたモデルを閉じる際、Rhinoはその変更を保存したいかどうか確認しますので、「変更を元に戻す」ボタンをクリックすれば変更されていない元のモデルが復元されます。

Rhinoが何度もモデルを保存するのであれば、オートセーブで何度も作業を中断させられるのでしょうか?

定期的なオートセーブはバックグラウンドで実行されます。Rhinoの動作をブロックすることは一切ないため、バックグラウンドのオートセーブがいつ起こっているのか気付くこともないでしょう。Rhinoがオートセーブしようとしている時にモデルの変更を始めた場合、Rhinoは何も表示しないままオートセーブを破棄し、後で再度オートセーブを試みます。

それでディスクがいっぱいになってしまうことはありますか?

オートセーブは頻繁に保存を行いますが、モデルのバージョンは少ししかアーカイブされません。アーカイブするのは1日のうちでだいたい1時間に1回程度、1週間で1日1回程度、数週間で週に1回程度です。Apppleはそれらのバージョンを呼び出し、ユーザーはそのバージョンのブラウザで表示することができます(下をご覧ください)。

Time Machine でお使いのコンピューターのファイルを自動的にバックアップしている場合は3DMファイルの過去のバージョンが全て Time Machineのバックアップに含まれ、お使いのローカルディスクで追加領域を占めることはありません。定期的なバックアップを取っていらっしゃらない場合は、Time Machine を使ってバックアップを始められることを強くお勧めします。

継続的な暫定バージョン

モデルに取り組んでいると自然な区切りや段階があり、ファイル > 保存(Command-S)を使ってそれまでのスナップショットを作成する良いタイミングです。システムが約1時間毎にモデルのスナップショットを作成するため、以前の作業に戻る必要があれば復元できるポイントがいくつもあることを覚えておきましょう。ファイル > 保存 で保存したそれぞれの独立したバージョンは、バージョンシステムによって保持されます。新しいバージョンの作成は以前のバージョンを上書きするものではありませんが、代わりに保存するバージョンを追加します。

ファイル > 保存 を選ぶと毎回ファイルに新しいバージョンを追加することになり、Command-S を何度も押すことはファイルに多くのバージョンを作成することを意味します。将来的にはおそらく、違うバックアップの全てを残したい、または必要とすることはないでしょう。モデルを保存したいからと毎回 Command-S を使うことはやめましょう。もう必要ありません。既にあなたのため、システムがモデルを保存しています。

お使いのMacでディスクの使用状況を把握するには DaisyDisk の Mac App Store バージョンではない方のインストールがお勧めで、隠しディスク領域を表示できるよう管理者としてスキャンするようにしましょう。

Rhino for Mac はRhinoモデルの過去のバージョンをブラウズできますか?

はい。バージョンブラウザは Rhino for Mac の一部です。ファイル > バージョンを戻す > すべてのバージョンをブラウズ… にナビゲートすると、自動保存されたバージョンのモデルがあればそのバージョンのブラウザが表示されます。

バージョンブラウザでは何ができますか?

バージョンブラウザの左のウィンドウが現在のモデルです。右にあるウィンドウは全て過去のモデルで、実際のRhinoのウィンドウであり、他のRhinoモデルのような操作が可能です。ビューを回転させたり、レイヤパネルを出してレイヤを表示/非表示にすることもできます。過去のモデルからオブジェクトをコピーして現在のモデルに貼り付けることもできますが、過去のバージョンを変更することはできません。

ファイルの古いバージョンを削除することはできますか?

はい。ファイルの古いバージョンは削除することができます。Rhino for Mac を起動して問題のファイルを開いてください。ファイル > バージョンを戻す > すべてのバージョンをブラウズ… にナビゲートし、該当バージョンのエクスプローラーが表示されたらマウスポインターをスクリーンの上枠に移動させてください。Rhinocerosのメニューバーが表示されます。ファイル > バージョンを戻す の下で古いバージョンを1つ削除するか、option/altキーを押せば過去のバージョン全てを削除することができます。この操作で開いている3dmファイルは削除されず、過去のバージョンのみが削除されます。メニューの選択で“このバージョンを削除”または“すべてのバージョンを削除”がグレーになっている場合、該当バージョンのファイルまたは問題のファイルがローカルディスクにありません。定期的な Time Machine バックアップの一部ですので削除はできません。

ネットワークファイルサーバーを使ったオートセーブとバージョン

Rhinoのオートセーブ機能は低速のネットワークファイルサーバーでもうまく動作します。Rhinoがオートセーブを開始すると3DMモデルのコピーが素早くメモリーに保存され、その後バックグラウンドでネットワークサーバーに書き込まれます。オートセーブがサーバーへの書き込みを完了するまで待たされることはありません。Rhinoは3DMモデルをサーバーの一時的な場所に書き込み、無事に完了すると即座に新しいオートセーブコピーと現在のファイルを交換します。

Rhinoのバージョン機能はお使いのmacOSのローカルディスクのみによって決まりますが、モデルがネットワークファイルサーバーにある場合はまだバージョン機能のほぼ全てがある状態です。モデルはネットワークサーバーへ頻繁に保存され、Rhinoでそのモデルを開いている限り過去のバージョンは1時間毎にアーカイブされます。ネットワークファイルサーバーでは一時的に過去のバージョンがローカルディスクへ保存されていると思います。ファイル > バージョンを戻す > すべてのバージョンをブラウズ で最近作業した過去のバージョンを表示させることができます。

ネットワークファイルサーバーに保存されたモデルを閉じると、ローカルディスクに一時保存された過去のバージョンは削除されます。Rhinoは以下のダイアログを表示して警告します:

/Users/macrhino/Desktop/Screenshots/permanent version storage.png

ファイルは普通に保存されますが、一度ファイルが閉じられると過去のバージョンへはアクセスできなくなります。(※変更前のファイルを残したい時は Revert/戻す をクリックします)

書類のオートセーブができませんでした

ネットワークファイルサーバーをお使いのRhinoユーザーでしたら、ポップアップウィンドウで “This document could not be Auto Saved”(書類のオートセーブ/自動保存ができませんでした)という表示を見たことがあるかもしれません。これはネットワークファイルサーバーへの接続が中断され、Rhinoがそのサーバーへ書き込むことができなかったことを示しています。ネットワーク接続が復元されるとRhinoはモデルを再度オートセーブできるようになります。

Rhino for Mac でバージョン機能を無効にすることはできますか?

はい。ですが無効にしないこと強くお勧めします。Rhino for Mac はバージョンとオートセーブを使って動作するようデザインされており、無効にすることでパフォーマンスや安定性に影響する可能性があります。さらにタグの追加、名前の変更、あるいはウィンドウのタイトルからファイルを移動する等の機能が使えなくなるでしょう。何らかの理由で無効にする必要がある場合はターミナルを起動し、次のコマンドを実行する必要があります:

  defaults write com.mcneel.rhinoceros ApplePersistence -bool no    

これでオートセーブとバージョンを無効にし、ファイルメニューに(複製 の代わりに)名前を付けて保存 を表示してくれます。

デフォルトに戻す場合はターミナルのコマンドを再度入力し、'no' を 'yes' に置き換えます:

  defaults write com.mcneel.rhinoceros ApplePersistence -bool yes    

現在の設定を確認するには、こちらのコマンドをお使いください:

  defaults read com.mcneel.rhinoceros ApplePersistence    

0(または pair not found エラー)が返される場合は無効、1が返される場合は有効です。

メモ: 以上のステップは macOS Mojave 10.14 ではお役に立ちません。申し訳ありませんが、現時点では代わりになる実現可能な方法は把握できておりません。