aax
免费Optional AAX support for Pulp, including developer-supplied Avid SDK setup, CMake enablement, DigiShell/AAX Validator workflows, and local AAX builds on macOS or Windows.
中文简介正在准备中。当前显示原文说明。
Work with Pulp's SDF / MSDF / PSDF glyph atlases — building, sampling via SkSL, and the shared text-layout helpers.
中文简介正在准备中。当前显示原文说明。
查看安装方法安装前可以查看交给 AI 代理的指令内容。
Pulp renders text through a GPU-sampled signed-distance-field pipeline so
a single atlas serves every font size with crisp edges. This skill is
for when you are touching core/canvas/src/sdf_atlas.cpp,
msdf_atlas.cpp, or the shader files, or when you add call-sites that
consume pulp/canvas/sdf_text.hpp.
core/canvas/include/pulp/canvas/sdf_atlas.hpp — single-channel atlascore/canvas/include/pulp/canvas/msdf_atlas.hpp — multi-channel atlas (RGB/RGBA)core/canvas/include/pulp/canvas/psdf_atlas.hpp — pseudo-SDF + vector-fallback policycore/canvas/include/pulp/canvas/sdf_text.hpp — SdfPenSnap, SdfTextOptions,
build_text_quads<AtlasT>(), fill_text_sdf/msdf/psdf<AtlasT>()core/canvas/shaders/sdf_text.sksl — single-channel samplercore/canvas/shaders/msdf_text.sksl — median(r,g,b) samplerdocs/reference/sdf-text.md — rendering pipeline referenceexamples/sdf-text-demo/ — runtime SDF text rendering and bloom demoexamples/sdf-vs-msdf-demo/ — console SDF/MSDF atlas dump; MSDF RGB
output is currently single-channel-equivalent until msdfgen is wiredexamples/sdf-effects-demo/ — enumerates host-side effect presets and
writes software-rendered baseline files; visual effects wait for the SkSL
draw pathSdfAtlas::build("") can leave advance = base_size
and bearing_y = base_size for every glyph. Write tests that assert
invariants that hold in both the real and fallback paths, and
tighten only when you can detect the real path was taken
(gM->advance != gi->advance). See test_sdf_atlas.cpp.fwidth gives you subpixel AA for free. Do not add a second
softness uniform for "anti-alias width" — snapping belongs at the
pen (host side), not in the shader.include_alpha=true changes the pixel stride from 3 to 4 bytes.
Use MsdfAtlas::channels() rather than assuming 3.build_text_quads<AtlasT>() only requires
that the atlas expose glyph(c), base_size(), and the usual
SdfGlyph-shaped fields. That means the same helper works for every
atlas variant; do not branch on type.should_use_vector_fallback
is a pure policy helper; callers decide at draw time whether to hit
the Skia path rasterizer instead of the SDF sampler.SkFont via the SkSpan overloads. The historical
(pointer, count, ...) forms of unicharsToGlyphs, textToGlyphs,
getWidthsBounds, getWidths, getPos, getXPos, getPaths, and
getIntercepts are gated behind SK_SUPPORT_UNSPANNED_APIS in
include/core/SkFont.h. On Skia builds where that macro is not
defined (including some chrome/m144 drops), the overloads vanish and
sdf_atlas.cpp fails to compile. On this repo PULP_HAS_SKIA is
only set when libskia.a links successfully, so the break can hide
behind a headers-only pin — confirm by building pulp-canvas
against a tree that ships libskia.a (e.g.
SKIA_DIR=<other-worktree>/external/skia-build) so the compile path
exercises real Skia libraries, not just headers.tools/ci/governed-build.sh cmake --build build --target \
pulp-test-sdf-atlas pulp-test-msdf-atlas pulp-test-psdf-atlas \
pulp-test-sdf-text pulp-test-sdf-effects \
pulp-sdf-text-demo pulp-sdf-vs-msdf-demo pulp-sdf-effects-demo
./build/test/pulp-test-sdf-atlas
./build/test/pulp-test-msdf-atlas
./build/test/pulp-test-psdf-atlas
./build/test/pulp-test-sdf-text
./build/test/pulp-test-sdf-effects
./build/examples/sdf-text-demo/pulp-sdf-text-demo
./build/examples/sdf-vs-msdf-demo/pulp-sdf-vs-msdf-demo # writes /tmp/pulp-*-atlas.{pgm,ppm}
./build/examples/sdf-effects-demo/pulp-sdf-effects-demo # writes /tmp/pulp-sdf-effects-*.pgm
planning/next-features-plan.md § Feature 4)msdfgen library (MIT) for shape-decomposed channelsSdfEffectParams through a SkSL-backed draw path so glow / shadow /
outline / bevel visibly render还没有评价。欢迎分享你的使用感受。
无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。
还没有评论。来写第一条吧。
Optional AAX support for Pulp, including developer-supplied Avid SDK setup, CMake enablement, DigiShell/AAX Validator workflows, and local AAX builds on macOS or Windows.
中文简介正在准备中。当前显示原文说明。
Configure, implement, and test Pulp's optional desktop Ableton Link tempo-sync adapter while preserving the developer-supplied SDK, licensing, realtime, latency-compensation, and no-install boundaries.
中文简介正在准备中。当前显示原文说明。
Maintain Pulp's installed design-time agent capability manifest and public-surface ledger. Use when adding, removing, renaming, or materially changing public audio, MIDI, signal, timebase, or sequence APIs; registering a new algorithm for generators; changing capability support or deprecation state; or repairing agent-capabilities freshness, schema, fingerprint, tombstone, or installed-SDK tests.
中文简介正在准备中。当前显示原文说明。
Android platform development for Pulp — NDK cross-compilation, Oboe audio, Dawn/Skia GPU rendering, JNI bridge, touch interaction, emulator workflows, and end-to-end smoke validation. Covers build, deploy, debug, and the gotchas discovered during bringup.
中文简介正在准备中。当前显示原文说明。
Optional ARA support for Pulp, including developer-supplied ARA SDK setup, CMake enablement, adapter companion APIs, validation, and ARA-aware plugin implementation guidance.
中文简介正在准备中。当前显示原文说明。
The measurement surface for ALL Pulp DSP and audio-pipeline work — read it BEFORE writing or gating DSP, not only when something already sounds wrong. Covers the C++ harness (signal generators, metrics, assertions, RenderScenario, contracts), the offline Audio Doctor (magnitude/frequency response, THD/THD+N, phase/group delay), and their Python sibling the Audio Quality Lab (tools/audio/quality-lab — null residual + alignment, LTAS log-spectral distance, spectral flux/centroid, HNR, Theil-Sen drift slope, Kaiser-sinc resampling, license-guarded corpus, regression-net ratchet). TRIGGER on AUTHORING work — "build/design an oscillator/filter/synth/effect", "add a DSP module", "what should the acceptance gate be", "how do I measure aliasing / anti-aliasing / alias floor", "null against a reference", "is this DSP correct", "choose a tolerance", "golden/regression corpus for audio", "measure drift or jitter", "A/B two renders" — AND on DEBUGGING work — "is there sound / no audio / I hear nothing", "does this filter/compressor/synth/delay produce the right signal", "prove the DSP / prove the contract", "measure the frequency response", "what's the THD / is it distorting", "what's the group delay / phase response / measured latency", "magnitude response curve", "render a test tone and assert", "audio regression", "64-frame works but 128 is silent", "sample-rate change pitch-shifted it", "describe what's in this buffer", "audio doctor", "compare before/after a DSP refactor". Reach for this BEFORE hand-rolling any FFT, null test, alias measurement, pitch tracker, or golden-render script — most of it already exists in one of the two lanes. Test/tool layer over HeadlessHost — deterministic, no audio device, no speakers. Off the realtime thread entirely.
中文简介正在准备中。当前显示原文说明。