QuicheSama / coco-maskapi

Unofficial TypeScript port of coco's maskApi.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

coco-maskapi

An unofficial TypeScript port of Coco API's maskApi.c (reference).

Context

Coco API uses a modified version of Run Length Encoding (RLE) to efficiently store image masks. RLE data is further compressed via a modified version of LEB128 (which can be inuitively considered LEB32).

coco-maskapi aims to bring this flavor of mask compression/encoding to web browsers, favoring Canvas ImageData as the data source and target.

maskApi.c Support Parity Status

Function Status
rleEncode πŸ§‘β€πŸ­ WIP
rleDecode πŸ§‘β€πŸ­ WIP
rleMerge πŸ—’οΈ TODO
rleArea πŸ—’οΈ TODO
rleNMS πŸ—’οΈ TODO (?)
bbIou πŸ—’οΈ TODO
bbNms πŸ—’οΈ TODO (?)
rleToBbox πŸ—’οΈ TODO
rleFrBbox πŸ—’οΈ TODO
uintCompare πŸ—’οΈ TODO
rleFrPoly πŸ—’οΈ TODO
rleToString πŸ§‘β€πŸ­ WIP
rleFrString πŸ§‘β€πŸ­ WIP

Development

pnpm install
pnpm dev

Endpoints

  • /, base example
  • /worst, worst case experimentation

About

Unofficial TypeScript port of coco's maskApi.

License:Other


Languages

Language:TypeScript 68.3%Language:Svelte 23.2%Language:JavaScript 6.7%Language:HTML 1.8%