# TODO

- explicitly mention any/all magic
- consider root_path more.  what about remote?
- possibly add append(None) API to skip frames

Missing Test Cases

1. Error paths:
- test cases where an exception happens during writing (is file left in consistent state?)
- test cases where you don't append all frames (partial datasets)
- What happens if stream.append() is called after context exit?
- What if frame shape doesn't match expected shape?
- What if wrong dtype is passed?
- What if append is called too many times (exceed count)?

1. Edge cases:
- Very large dimension counts (stress test)?

1. Concurrency:
- No tests for concurrent access (multiple streams?)
- Thread safety of backends?

1. Storage order permutations:
- Only one storage_order test case (TZC→TCZ)
- What about explicit list order?
- What about spatial dimension permutations (XYZ vs ZYX)?
