Context / Problem Statement
The pack's core thesis is "do bulk Blender work the fast way," and rules (prefer-data-over-ops-in-loops, use-foreach-set-for-bulk-data) plus the foreach-* snippets point that direction. But there is no skill that teaches scaling to dense meshes: numpy buffer interop with foreach_get/foreach_set, attribute-domain bulk operations, the bmesh-vs-data-API decision under load, and how to profile headless. AI agents currently get the "don't do it slow" rules without a positive "here is the fast, measured pattern" skill.
Proposed Solution / Implementation Steps
- Create
skills/performance-and-dense-data/SKILL.md with the standard YAML frontmatter (name: performance-and-dense-data, one-line description, standards-version: 1.10.0).
- Cover: preallocated
numpy arrays with foreach_get/foreach_set (np.empty(n*3)), reshaping conventions, attribute API bulk read/write across domains, when bmesh wins, and a headless cProfile/time.perf_counter measurement pattern. Show 5.1 and 4.5 paths where they diverge.
- Add 1–2 supporting snippets (e.g.
numpy-foreach-vertices.py) and a self-verifying assertion in the smoke harness (roundtrip equality + a coarse timing sanity check).
- Update
README.md aggregate counts, ROADMAP.md candidate pool, AGENTS.md, and plugin.json; commit with feat:.
Definition of Done
Filed from the repository technical audit — see docs/technical-audit.md.
Context / Problem Statement
The pack's core thesis is "do bulk Blender work the fast way," and rules (
prefer-data-over-ops-in-loops,use-foreach-set-for-bulk-data) plus theforeach-*snippets point that direction. But there is no skill that teaches scaling to dense meshes: numpy buffer interop withforeach_get/foreach_set, attribute-domain bulk operations, the bmesh-vs-data-API decision under load, and how to profile headless. AI agents currently get the "don't do it slow" rules without a positive "here is the fast, measured pattern" skill.Proposed Solution / Implementation Steps
skills/performance-and-dense-data/SKILL.mdwith the standard YAML frontmatter (name: performance-and-dense-data, one-linedescription,standards-version: 1.10.0).numpyarrays withforeach_get/foreach_set(np.empty(n*3)), reshaping conventions, attribute API bulk read/write across domains, when bmesh wins, and a headlesscProfile/time.perf_countermeasurement pattern. Show 5.1 and 4.5 paths where they diverge.numpy-foreach-vertices.py) and a self-verifying assertion in the smoke harness (roundtrip equality + a coarse timing sanity check).README.mdaggregate counts,ROADMAP.mdcandidate pool,AGENTS.md, andplugin.json; commit withfeat:.Definition of Done
Filed from the repository technical audit — see
docs/technical-audit.md.