Skip to main content

HUS

Status

FieldValue
Extension(s).hus
Common ecosystemOlder Husqvarna Viking
Format familyCompressed machine-specific file
Satin Studio statusResearching
Open / importNo
ExportNo
ConfidenceMedium for family; compression details pending.

What it is

HUS is a legacy Husqvarna Viking machine format. It is still supplied by many design sellers for older machines.

Satin Studio direction

Potential import support for older design libraries. Export depends on demand and compatibility testing.

Versions and variants

HUS is a compressed legacy format. Relationship to VIP and other VSM-family formats should be proven with files, not assumed.

File identification notes

Reported structure uses compressed stitch bytes with ARJ-like table compression behavior. Palette behavior, section layout, and command decoding still need independent validation before support.

Observed structure notes

  • Observed HUS files begin with little-endian header fields: magic, stitch count, color count, positive/negative extents, command stream offset, X stream offset, and Y stream offset.
  • After a short name/unknown area and color indexes, the command, X, and Y byte streams are stored separately and compressed. They expand to parallel arrays of command byte, signed X delta, and signed Y delta.
  • Observed command bytes include 0x80 stitch, 0x81 jump, 0x84 color change, 0x88 trim, and 0x90 end.

Structure sketch

HUS is a compressed, parallel-stream format in observed files:

struct HusFile<'a> {
magic: u32,
stitch_count: u32,
color_count: u32,
extent_pos_x: i16,
extent_pos_y: i16,
extent_neg_x: i16,
extent_neg_y: i16,
command_offset: u32,
x_offset: u32,
y_offset: u32,
name_or_unknown: [u8; 8],
unknown_16: u16,
color_indexes: &'a [u16],
command_compressed: &'a [u8],
x_compressed: &'a [u8],
y_compressed: &'a [u8],
}

enum HusCommand {
Stitch = 0x80,
Jump = 0x81,
ColorChange = 0x84,
Trim = 0x88,
End = 0x90,
}

What we still need

Legacy HUS files with known colors, compression coverage, and machine/software validation.