mirror of
https://github.com/got-feedBack/feedBack.git
synced 2026-09-12 14:48:31 +00:00
Extract TXT_STYLES + 13 material builder functions (txtMat, pinchHarmonicMat,
naturalHarmonicMat, palmMuteXSpriteMat, fretHandMuteXSpriteMat, muteXMat,
triMat, bendChevronMat, darkenHex, slideArrowMat, _meshMatForGhostFretDigit,
_spriteMat2MeshMat) and pool() from screen.js N-section into:
plugins/highway_3d/src/materials.js (createMaterialBuilders factory)
screen.js drops ~600 lines (15302→14705).
Surprises vs plan §4:
• DI is 4 params { getT, getTxtCache, techMatCache, techMeshMatClones } not 1
• _syncOpenStringPitchLabels cluster excluded (20+ factory-scope deps)
• _techMatCache stays in screen.js factory scope for teardown .values()/.clear()
Beyond-subst (4):
1. Factory wrapper createMaterialBuilders({...})
2. T → const T = getT() inside each function body (live accessor)
3. txtCache[k] → const cache = getTxtCache(); cache[k]
4. _techMatCache/_techMeshMatClones → DI param names techMatCache/techMeshMatClones
Tests: 16 new class-killer tests in highway_3d_materials.test.js;
pool warm tests retargeted to src/materials.js; panel_controls stub added.
Full suite: 1246/1248 pass (2 pre-existing: network + nut-labels).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014uZ169yfoFYArXz962g7KW
21 lines
450 B
JSON
21 lines
450 B
JSON
{
|
|
"id": "highway_3d",
|
|
"name": "3D Highway",
|
|
"version": "3.42.0",
|
|
"type": "visualization",
|
|
"scriptType": "module",
|
|
"bundled": true,
|
|
"script": "screen.js",
|
|
"styles": "assets/plugin.css",
|
|
"settings": {
|
|
"html": "settings.html",
|
|
"category": "graphics",
|
|
"server_files": [
|
|
"plugin_uploads/highway_3d/current.mp4",
|
|
"plugin_uploads/highway_3d/current.webm"
|
|
]
|
|
},
|
|
"routes": "routes.py",
|
|
"tour": "tour.json"
|
|
}
|