棚に収まっているアーティファクトのobject_defの識別子(収めた順、重複なし)。
持ち帰った物を棚へ収める。既に在る物は増えないので、呼び出し側は重複を除かずに渡してよい。 実際に新しく収まった識別子を返す(何が増えたかを見せる側が、差分を数え直さずに済む)。
棚に収まっているもののうち、渡された型にあるぶん。
今の定義で名前を引けない識別子は、並べないだけで消さない(SaveDataManagement.md 棚節) ——アセットパックの物を持ち帰った後にそのパックを外すと、棚には識別子だけが残る。数えるのも 並べるのもここが返す集合1つで済ませる。数と札を別々に数えると、外したパックのぶんだけ 「収めた数」が枠の数を超える。
持ち帰ったアーティファクトの棚(docs/concept/GameEndings.md 6節)。
周回をまたいで残る唯一のものなので、周回そのもの(セーブスロット)とは別の領域に置く。 死んでもスロットを消しても棚は消えない——消えるなら、棚は周回を終わらせる理由にならない。
中身は識別子の集合で、同じ物を2度持ち帰っても枠は増えない(アーティファクトは全周回に共通する 有限の集合で、棚はその埋まり具合を映すもの)。
保存先はコンストラクタで受け取る。ブラウザではlocalStorage、テストではメモリ上の実装を渡す (SaveSlots・Settingsと同じ)。