Extracted from the tensor-formula-viz skill and rebuilt around the idea that the geometry rules should be enforced by construction rather than restated as prose an agent has to remember. - assets/supertensor.sty: faces, stacks, index faces, shared caption lanes, meaning box, signature. Macros take a declared axis and a declared role, so equal shapes get equal edges, a x a is square, a transpose swaps the face, and contracted axes share an edge length -- without any manual alignment. - scripts/preflight.sh: decide the TikZ/CJK path before drawing. - scripts/build.sh: compile and fail on silent corruption (missing CJK glyphs, overfull boxes, undeclared roles), then export pdf/svg/png/thumb. - scripts/test.sh: build every figure as a regression test for the package. - examples/: three golden figures (TP-FFN, causal MHA, MoE top-k gather) plus an anti-pattern gallery of figures that compile cleanly and still lie. - SKILL.md + references/: lean entry point, details loaded on demand.
29 lines
799 B
Bash
Executable File
29 lines
799 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Build every example and the smoke test. Any dirty build fails the run.
|
|
#
|
|
# ./scripts/test.sh
|
|
#
|
|
# This is a regression test for assets/supertensor.sty: the examples exercise
|
|
# faces, stacks, index faces, every pattern, shared caption lanes, connectors,
|
|
# the meaning box and the signature.
|
|
set -uo pipefail
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
fail=0
|
|
|
|
for f in "$ROOT"/tests/*.tex "$ROOT"/examples/*.tex; do
|
|
[[ -e "$f" ]] || continue
|
|
name="$(basename "$f")"
|
|
if "$ROOT/scripts/build.sh" "$f" >/dev/null 2>&1; then
|
|
echo " ok $name"
|
|
else
|
|
echo " FAIL $name"
|
|
fail=$((fail+1))
|
|
fi
|
|
done
|
|
|
|
if [[ $fail -gt 0 ]]; then
|
|
echo "$fail failing figure(s); rerun scripts/build.sh on one to see why" >&2
|
|
exit 1
|
|
fi
|
|
echo "all figures build clean"
|