Skip to content

Feat/haio cdn#7

Open
guilhhotina wants to merge 5 commits into
develop-02Xfrom
feat/haio-cdn
Open

Feat/haio cdn#7
guilhhotina wants to merge 5 commits into
develop-02Xfrom
feat/haio-cdn

Conversation

@guilhhotina

Copy link
Copy Markdown

this pr is an initial proof of concept for the haio cdn architecture and the shared pipeline used by both convert and cdn.

it should validate this flow:

request/cli args -> tokens -> pipeline builder -> pipeline -> output

included:

  • haio convert command
  • haio cdn command
  • token/stage-based pipeline
  • file, http, and simple toml-configured buckets
  • initial query params support: format, size, crop, radius
  • png encode/decode
  • webp encode/decode
  • basic cpu transforms
  • removal of vulkan from the main path

it also keeps the existing codecs/formats from the etc1-codec branch, such as etc1, rgb565, ktx, ktx2, pvr, and dds.

note: this is not production-ready yet. known open points:

  • real s3 support with aws signing is not implemented yet
  • http buckets do not support full https yet
  • transforms are still full-image in memory
  • resize is still simple
  • no cache yet
  • timeout, size limits, and error handling need more hardening
  • the api/structure may still change as the architecture is refined
  • overall direction should be reviewed

goal of this pr: validate the architectural direction and provide a base for discussion before stabilizing the implementation

Use wolfpld/etcpak 2.1 as the CPU ETC1 encoder because it provides maintained SIMD paths for x86 and NEON-friendly builds under BSD-3.

Keep KTX/Basis container work out of this change; KTX is better suited for the GPU container issue and its ETC1 path goes through ETC1S transcode instead of a direct ETC1 encoder.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant