TBF
Status
| Field | Value |
|---|---|
| Extension(s) | .tbf |
| Common ecosystem | Unknown old-machine or converter lead |
| Format family | Unknown |
| Satin Studio status | Researching |
| Open / import | No |
| Export | No |
| Confidence | Low. |
What it is
TBF appears in old-machine or converter lists. The exact ecosystem and structure are uncertain.
Satin Studio direction
Research lead only.
Versions and variants
This entry is tracked as a format lead, but Satin Studio does not yet have a public version or dialect matrix for it. Real sample files with machine/software provenance are needed before support can be planned safely.
File identification notes
Unknown.
Observed structure notes
- Observed TBF readers find a 16-byte name at offset
0x83, a 256-byte thread-order table at offset0x10A, RGB thread entries around offset0x20E, and stitch records at offset0x600. - Observed stitch records are three bytes
x, y, control. Controls include0x80stitch,0x81needle change using the next thread-order entry,0x90jump or trim when movement is zero,0x40stop,0x86trim, and0x8Fend. - Observed TBF writers start with ASCII
3.00, pad to offset0x80, then write DST-like header fields plusTP,JC,DOthread order, andDAthread RGB entries. - Observed TBF writers pad with spaces to offset
0x376, write0D 1A, then pad with spaces to offset0x600before stitch records. - Observed TBF writers append terminal byte
0x1Aafter the end command record.
Structure sketch
Observed TBF files have fixed offsets for name, thread order, colors, and stitches:
struct TbfCandidate<'a> {
prefix: [u8; 0x83],
name: [u8; 0x10],
bytes_until_thread_order: &'a [u8],
thread_order: [u8; 0x100], // at observed offset 0x10A
thread_entries: &'a [TbfThreadEntry], // near observed offset 0x20E
bytes_until_stitches: &'a [u8],
records: &'a [TbfRecord], // at observed offset 0x600
}
struct TbfThreadEntry {
marker: u8, // observed 0x45
rgb: [u8; 3],
space: u8, // observed 0x20
}
struct TbfRecord {
x: u8,
y: u8,
control: u8, // 0x80 stitch, 0x81 needle, 0x90 jump/trim, 0x40 stop, 0x86 trim, 0x8F end
}
What we still need
Samples with provenance.