Kenney Shape per a macOS
Portatge a macOS · Eines de desenvolupament
Un toolkit de compatibilitat open source que porta la versió Linux de Kenney Shape a macOS amb un runtime compatible, adaptadors natius i pedaços concrets de l'assemblat.
Stack
macOS, Unity, Python, Objective-C, C#, Mono.Cecil, OpenGL
Enllaços

Resum
Vaig desenvolupar un toolkit no oficial que crea una app funcional per a macOS a partir de la descàrrega Linux de Kenney Shape 2.0.0 de l’usuari. Conserva els recursos i les eines de modelatge originals mentre adapta el runtime i la integració amb l’escriptori de macOS.
El resultat és un build local reproduïble: proporciones la versió Linux original, executes el constructor en Python i obtens un bundle .app signat sense instal·lar l’editor de Unity.
La meva aportació
- Vaig identificar la versió del player de Unity i seleccionar un runtime Intel amb OpenGL 4.1 capaç d’utilitzar els shaders inclosos a la versió Linux.
- Vaig implementar un adaptador Cocoa en Objective-C per als diàlegs d’obertura, desament i selecció de carpetes, amb callbacks asíncrons, filtres d’extensió i rutes UTF-8.
- Vaig desenvolupar una eina en C# amb Mono.Cecil per corregir les rutes dels exemples i afegir dreceres amb Command en una còpia local de l’assemblat de l’aplicació.
- Vaig automatitzar amb Python l’extracció del runtime, el muntatge del bundle, la verificació d’entrades i la signatura ad hoc.
Validació i abast
L’execució de validació documentada va carregar els 159 projectes d’exemple, va modificar i desar un projecte, el va tornar a obrir i va comprovar les exportacions OBJ, STL i SVG. El repositori també inclou proves de validació d’entrades i proves independents dels diàlegs natius.
El build actual es va provar en un Apple M4 amb Rosetta 2. Utilitza un runtime Intel i OpenGL; el suport natiu ARM/Metal i la compatibilitat amb més versions de macOS queden com a feina futura.
El toolkit té llicència MIT. L’usuari aporta Kenney Shape per separat i proporciona el component de Unity compatible o el descarrega durant el build.