@call-me-sensei/toonlab 0.3.1 → 0.4.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (761) hide show
  1. package/NPM-LIBRARY.md +225 -0
  2. package/README.md +588 -184
  3. package/agents/PROMPTS.md +87 -0
  4. package/agents/README.md +54 -0
  5. package/agents/claude/CLAUDE.md +8 -0
  6. package/agents/codex/AGENTS.md +159 -0
  7. package/agents/cursor/toonlab.mdc +37 -0
  8. package/agents/references/anime-art-direction.md +24 -0
  9. package/agents/references/asset-sourcing-policy.md +23 -0
  10. package/agents/references/custom-gap-report.md +16 -0
  11. package/agents/references/mcp-asset-discovery.md +104 -0
  12. package/agents/references/runtime-entry-points.md +175 -0
  13. package/agents/references/style-bundles.md +71 -0
  14. package/agents/skills/claude/asset-sourcing/SKILL.md +275 -0
  15. package/agents/skills/claude/environment/SKILL.md +59 -0
  16. package/agents/skills/claude/game-dev/SKILL.md +100 -0
  17. package/agents/skills/claude/post-processing/SKILL.md +44 -0
  18. package/agents/skills/claude/rock-ground-shaders/SKILL.md +134 -0
  19. package/agents/skills/claude/rockgen/SKILL.md +30 -0
  20. package/agents/skills/claude/scene-style-application/SKILL.md +74 -0
  21. package/agents/skills/claude/style-presets/SKILL.md +101 -0
  22. package/agents/skills/claude/toon-shading/SKILL.md +44 -0
  23. package/agents/skills/claude/vegetation-sky/SKILL.md +167 -0
  24. package/agents/skills/claude/visual-verification/SKILL.md +136 -0
  25. package/agents/skills/claude/water/SKILL.md +105 -0
  26. package/agents/skills/codex/asset-sourcing/SKILL.md +275 -0
  27. package/agents/skills/codex/environment/SKILL.md +59 -0
  28. package/agents/skills/codex/game-dev/SKILL.md +100 -0
  29. package/agents/skills/codex/post-processing/SKILL.md +44 -0
  30. package/agents/skills/codex/rock-ground-shaders/SKILL.md +134 -0
  31. package/agents/skills/codex/rockgen/SKILL.md +30 -0
  32. package/agents/skills/codex/scene-style-application/SKILL.md +74 -0
  33. package/agents/skills/codex/style-presets/SKILL.md +101 -0
  34. package/agents/skills/codex/toon-shading/SKILL.md +44 -0
  35. package/agents/skills/codex/vegetation-sky/SKILL.md +167 -0
  36. package/agents/skills/codex/visual-verification/SKILL.md +136 -0
  37. package/agents/skills/codex/water/SKILL.md +105 -0
  38. package/cli/toonlab.mjs +53 -0
  39. package/compose.yaml +20 -0
  40. package/database/apply-sql.mjs +141 -0
  41. package/database/client.mjs +39 -0
  42. package/database/creation-tags.mjs +23 -0
  43. package/database/env.mjs +16 -0
  44. package/database/fal-patina.mjs +131 -0
  45. package/database/generation-service.mjs +415 -0
  46. package/database/migrations/0001_local_workspace.sql +120 -0
  47. package/database/migrations/0002_file_ownership.sql +11 -0
  48. package/database/migrations/0003_remove_autosaves_from_library.sql +7 -0
  49. package/database/migrations/0004_catalog_asset_packs.sql +39 -0
  50. package/database/migrations/0005_creation_tag_discovery.sql +1 -0
  51. package/database/migrations/0006_normalize_creation_tags.sql +28 -0
  52. package/database/migrations/0007_creation_revisions.sql +80 -0
  53. package/database/migrations/0008_creation_revision_hardening.sql +98 -0
  54. package/database/migrations/0009_creation_revision_delete_integrity.sql +11 -0
  55. package/database/migrations/0010_external_catalog_assets.sql +28 -0
  56. package/database/providers.mjs +644 -0
  57. package/database/repository.mjs +1073 -0
  58. package/database/seeds/catalog/0001_empty_official_catalog.sql +4 -0
  59. package/database/seeds/catalog/0002_2026-08.sql +19454 -0
  60. package/database/seeds/catalog/0003_2026-08-open-assets.sql +159086 -0
  61. package/database/seeds/catalog/0004_2026-08-c7-rocks.sql +39405 -0
  62. package/mcp/lab-management.mjs +629 -0
  63. package/mcp/public-catalog.mjs +168 -0
  64. package/mcp/server.mjs +1044 -63
  65. package/mcp/vite-plugin.mjs +519 -26
  66. package/mcp/workspace.mjs +26 -1
  67. package/package.json +334 -46
  68. package/scripts/generate-catalog-seed.mjs +324 -0
  69. package/scripts/setup-local.mjs +128 -0
  70. package/src/agents/index.js +7 -0
  71. package/src/agents/sceneStyleOperations.js +169 -0
  72. package/src/asset-policy/catalogLicenses.js +102 -0
  73. package/src/asset-policy/index.js +315 -0
  74. package/src/assetlib/assetRef.js +1 -1
  75. package/src/assetlib/galleryMaterialFamily.js +165 -0
  76. package/src/assetlib/index.js +6 -2
  77. package/src/assetlib/loadImported.js +15 -1
  78. package/src/assetlib/plateau.js +188 -0
  79. package/src/assetlib/plateauLandmarks.js +144 -0
  80. package/src/assetlib/plateauViewer.js +348 -0
  81. package/src/assetlib/sources.js +16 -2
  82. package/src/catalog/manifest.js +11 -1
  83. package/src/catalog/officialCatalog.js +4 -0
  84. package/src/catalog/officialCatalogAssetRuntime.js +324 -0
  85. package/src/catalog/officialCatalogLod.js +183 -0
  86. package/src/catalog/officialCatalogPlacement.js +243 -0
  87. package/src/catalog/officialCatalogProvider.js +334 -0
  88. package/src/character/animationRetarget.js +1084 -0
  89. package/src/character/characterRig.js +6 -1
  90. package/src/character/characterRuntime.js +544 -0
  91. package/src/character/groundStabilizer.js +137 -0
  92. package/src/character/index.js +8 -0
  93. package/src/character/locomotionActions.js +74 -0
  94. package/src/character/locomotionStateMachine.js +241 -0
  95. package/src/character/mannequinAsset.js +15 -0
  96. package/src/character/mannequinAssetUrl.browser.js +4 -0
  97. package/src/character/mannequinAssetUrl.node.js +3 -0
  98. package/src/character/modelLoader.js +92 -12
  99. package/src/character/walkableCharacterRuntime.js +284 -0
  100. package/src/character/waterInteractionController.js +217 -0
  101. package/src/cloud/ambientSkyBaker.js +248 -0
  102. package/src/cloud/cloudLighting.js +1114 -0
  103. package/src/cloud/cloudParams.js +819 -0
  104. package/src/cloud/cloudReprojection.js +563 -0
  105. package/src/cloud/cloudStyle.js +780 -0
  106. package/src/cloud/cloudStyleSnapshots.js +387 -0
  107. package/src/cloud/cloudVolume.js +1903 -0
  108. package/src/cloud/heroCloudRecipe.js +404 -0
  109. package/src/cloud/index.js +42 -0
  110. package/src/cloud/noise/baseShapeVolume.js +331 -0
  111. package/src/cloud/noise/cirrusMap.js +131 -0
  112. package/src/cloud/noise/curlNoise.js +289 -0
  113. package/src/cloud/noise/erosionVolume.js +188 -0
  114. package/src/cloud/noise/noiseVolume.js +202 -0
  115. package/src/cloud/noise/periodicNoise3.js +295 -0
  116. package/src/cloud/noise/weatherMap.js +470 -0
  117. package/src/cloud/paramSchema.js +458 -0
  118. package/src/collisionMetadata.js +320 -0
  119. package/src/core/systemStylePolicy.js +32 -0
  120. package/src/environment/dayCurves.js +146 -0
  121. package/src/environment/environmentGroundFieldPass.js +354 -0
  122. package/src/environment/environmentMaterialAdapter.js +144 -6
  123. package/src/environment/environmentPresets.js +486 -90
  124. package/src/environment/environmentRigs.js +17 -2
  125. package/src/environment/environmentSettings.js +37 -1
  126. package/src/environment/environmentShaderMaterials.js +37 -6
  127. package/src/environment/environmentState.js +133 -0
  128. package/src/environment/environmentSunShadowPass.js +399 -6
  129. package/src/environment/environmentTextureResolver.js +7 -0
  130. package/src/environment/index.js +51 -0
  131. package/src/environment/manufacturedMaterialContract.js +837 -0
  132. package/src/environment/manufacturedReflectionProvider.js +114 -0
  133. package/src/environment/scanAssetStylize.js +4 -4
  134. package/src/environment/surfaceMaterialModes.js +71 -0
  135. package/src/environment/toonLabEnvironmentMaterials.js +353 -0
  136. package/src/environment/toonLabMaterialPassCoupling.js +347 -0
  137. package/src/environment/toonLabNormalIntegration.js +171 -0
  138. package/src/environment/toonLabRockMaterialResolver.js +592 -0
  139. package/src/environment/toonLabSourceDefaultLit.js +444 -0
  140. package/src/environment/toonLabSourceLibrary.js +762 -0
  141. package/src/environment/toonLabSourceMaterials.js +3718 -0
  142. package/src/environment/toonLabSourceSubsurfaceLighting.js +415 -0
  143. package/src/environment/toonLabSourceTemporal.js +717 -0
  144. package/src/environment/toonLabSurfaceLighting.js +462 -0
  145. package/src/environment/toonLabTextureReadiness.js +105 -0
  146. package/src/environment/toonLabTreeMaterials.js +450 -0
  147. package/src/environment/transparentMaterialProfile.js +87 -0
  148. package/src/environment/urbanPropMaterial.js +2976 -0
  149. package/src/ground-shader/groundPrintLayer.js +375 -0
  150. package/src/ground-shader/groundShaderMaterial.js +851 -0
  151. package/src/ground-shader/groundShaderSettings.js +468 -0
  152. package/src/ground-shader/index.js +3 -0
  153. package/src/index.js +52 -22
  154. package/src/lighting/callMeSenseiLightingContract.js +163 -0
  155. package/src/lighting/index.js +14 -7
  156. package/src/lighting/lightingCapabilities.js +2 -2
  157. package/src/lighting/lightingPresets.js +6 -3
  158. package/src/lighting/lightingStyle.js +41 -6
  159. package/src/lighting/lightingSystem.js +200 -6
  160. package/src/lighting/{unrealExport.js → toonLabExport.js} +40 -41
  161. package/src/post/postProcessing.js +71 -12
  162. package/src/react/index.js +66 -0
  163. package/src/renderer/index.js +16 -0
  164. package/src/renderer/rendererConfiguration.js +250 -0
  165. package/src/renderer/styleComparison.js +985 -0
  166. package/src/rock-shader/index.js +8 -0
  167. package/src/rock-shader/rockGeometryDetail.js +701 -0
  168. package/src/rock-shader/rockMaterial.js +2586 -0
  169. package/src/rock-shader/rockRegionRuntime.js +185 -0
  170. package/src/rock-shader/rockSemanticMaterialRuntime.js +337 -0
  171. package/src/rock-shader/rockShaderRuntime.js +781 -0
  172. package/src/rock-shader/rockShaderSettings.js +1099 -0
  173. package/src/rock-shader/rockTangentIntegrity.js +136 -0
  174. package/src/rock-shader/rockTextureIntegrity.js +115 -0
  175. package/src/rockgen/export/glbExport.js +104 -14
  176. package/src/rockgen/index.js +5 -3
  177. package/src/rockgen/lod/index.js +6 -0
  178. package/src/rockgen/lod/rockLodMetrics.js +168 -0
  179. package/src/rockgen/lod/rockLodPlanner.js +372 -0
  180. package/src/rockgen/lod/rockLodPolicy.js +235 -0
  181. package/src/rockgen/lod/rockLodRuntime.js +124 -0
  182. package/src/rockgen/lod/rockLodSimplifier.js +173 -0
  183. package/src/rockgen/lod/rockLodValidation.js +113 -0
  184. package/src/rockgen/mesh/meshAttributes.js +17 -0
  185. package/src/rockgen/mesh/meshDocument.js +6 -0
  186. package/src/rockgen/rockDocument.js +376 -9
  187. package/src/rockgen/rockgenPresets.js +114 -13
  188. package/src/rockgen/rockgenSettings.js +62 -11
  189. package/src/rockgen/surface/c7GeologySurface.js +372 -0
  190. package/src/runtime/index.js +14 -0
  191. package/src/runtime/sceneCollisionRuntime.js +317 -0
  192. package/src/runtime/sceneSurfaceRuntime.js +451 -0
  193. package/src/runtime/sceneUpdateScheduler.js +203 -0
  194. package/src/shaders-tsl/anime.js +9 -2
  195. package/src/shaders-tsl/chunks/environment-ground-field.js +174 -0
  196. package/src/shaders-tsl/chunks/environment-state.js +79 -0
  197. package/src/shaders-tsl/chunks/environment-sun-shadow.js +99 -32
  198. package/src/shaders-tsl/chunks/normalized-hue.js +41 -0
  199. package/src/shaders-tsl/chunks/pass-depth-color.js +4 -2
  200. package/src/shaders-tsl/chunks/scene-depth-color-pass.js +273 -0
  201. package/src/shaders-tsl/chunks/vegetation-style.js +116 -8
  202. package/src/shaders-tsl/chunks/water-color.js +19 -5
  203. package/src/shaders-tsl/chunks/water-shore-state.js +8 -1
  204. package/src/shaders-tsl/chunks/world-noise.js +30 -0
  205. package/src/shaders-tsl/environment.js +123 -17
  206. package/src/shaders-tsl/flower.js +51 -8
  207. package/src/shaders-tsl/grass.js +194 -29
  208. package/src/shaders-tsl/post-composite.js +83 -2
  209. package/src/shaders-tsl/tree-leaf.js +107 -16
  210. package/src/shaders-tsl/water-breaker.js +18 -4
  211. package/src/shaders-tsl/water.js +51 -3
  212. package/src/shaders-tsl/woody-surface.js +59 -7
  213. package/src/sky/atmosphereDome.js +193 -0
  214. package/src/sky/atmosphereParams.js +396 -0
  215. package/src/sky/atmosphereScattering.js +593 -0
  216. package/src/sky/atmosphereSky.js +371 -0
  217. package/src/sky/cloudShadow.js +379 -0
  218. package/src/sky/godRays.js +257 -0
  219. package/src/sky/index.js +55 -1
  220. package/src/sky/nightSky.js +1190 -0
  221. package/src/sky/renderLayers.js +120 -0
  222. package/src/sky/skyColor.js +582 -0
  223. package/src/sky/skyDayCycle.js +244 -0
  224. package/src/sky/skyParams.js +661 -0
  225. package/src/sky/skyPresets.js +772 -0
  226. package/src/sky/skyQualityTiers.js +383 -0
  227. package/src/sky/skyShaderSettings.js +699 -0
  228. package/src/sky/skyStyleSnapshots.js +211 -0
  229. package/src/sky/skySystem.js +1447 -0
  230. package/src/sky/skyTimeKeyframes.js +361 -0
  231. package/src/sky/stylizedSky.js +405 -116
  232. package/src/sky/sunDriver.js +499 -0
  233. package/src/sky/timeOfDay.js +335 -0
  234. package/src/styles/animeGameProfile.js +44 -0
  235. package/src/styles/index.js +157 -0
  236. package/src/styles/manufacturedStyleLabeling.js +204 -0
  237. package/src/styles/neutralStylePresets.js +712 -0
  238. package/src/styles/sceneLayerDocuments.js +185 -0
  239. package/src/styles/sceneLookComposition.js +156 -0
  240. package/src/styles/sceneQualityApplication.js +152 -0
  241. package/src/styles/sceneQualityProfiles.js +268 -0
  242. package/src/styles/sceneStyleAudit.js +512 -0
  243. package/src/styles/sceneStyleRuntime.js +923 -0
  244. package/src/styles/styleAdapters.js +177 -0
  245. package/src/styles/styleApplication.js +369 -0
  246. package/src/styles/styleBundle.js +445 -92
  247. package/src/styles/styleBundleProvider.js +83 -0
  248. package/src/styles/styleDomains.js +21 -0
  249. package/src/styles/styleInspector.js +262 -0
  250. package/src/styles/styleMaterialContract.js +375 -0
  251. package/src/styles/styleMetadata.js +73 -0
  252. package/src/styles/styleTargetDiscovery.js +162 -0
  253. package/src/styles/styleTargetLabels.js +206 -0
  254. package/src/styles/styleTargetMaterialCoverage.js +137 -0
  255. package/src/styles/styleTransaction.js +272 -0
  256. package/src/texgen/evaluateTexture.js +30 -3
  257. package/src/texgen/textureGenerators.js +83 -35
  258. package/src/texgen/textureSettings.js +25 -8
  259. package/src/toon/toonSettings.js +100 -2
  260. package/src/vegetation/branchTree.js +587 -0
  261. package/src/vegetation/callMeSenseiGrass.js +183 -0
  262. package/src/vegetation/compiledTree.js +506 -0
  263. package/src/vegetation/contactShadowField.js +107 -0
  264. package/src/vegetation/flowerSpecies.js +10 -2
  265. package/src/vegetation/grass.js +13 -0
  266. package/src/vegetation/grassClump.js +1179 -0
  267. package/src/vegetation/importedVegetationMaterial.js +183 -0
  268. package/src/vegetation/index.js +17 -1
  269. package/src/vegetation/legacyTreePresets.js +120 -0
  270. package/src/vegetation/scatter.js +688 -3
  271. package/src/vegetation/stylizedBush.js +14 -0
  272. package/src/vegetation/stylizedFlower.js +31 -0
  273. package/src/vegetation/stylizedFlowers.js +59 -7
  274. package/src/vegetation/stylizedForest.js +455 -147
  275. package/src/vegetation/stylizedGrass.js +188 -24
  276. package/src/vegetation/stylizedTree.js +676 -54
  277. package/src/vegetation/stylizedTreeFoliage.js +1111 -38
  278. package/src/vegetation/stylizedUnderstory.js +230 -0
  279. package/src/vegetation/treeExport.js +262 -47
  280. package/src/vegetation/treeSurfaceTextures.js +665 -0
  281. package/src/vegetation/vegetationShaders.js +617 -28
  282. package/src/version.js +3 -0
  283. package/src/water/water.js +2 -0
  284. package/src/water/waterBreakerSystem.js +2 -0
  285. package/src/water/waterCurrentField.js +1 -0
  286. package/src/water/waterMaterial.js +3 -0
  287. package/src/water/waterRain.js +2 -0
  288. package/src/water/waterScenePasses.js +170 -7
  289. package/src/water/waterSettings.js +250 -50
  290. package/src/water/waterShoreMaterial.js +16 -2
  291. package/src/water/waterShoreStateField.js +1 -1
  292. package/src/water/waterSplashSystem.js +2 -0
  293. package/src/water/waterStageSettings.js +60 -0
  294. package/src/water/waterSurface.js +144 -4
  295. package/src/water/waterUnderwaterAtmosphere.js +288 -0
  296. package/src/water/waterVegetation.js +20 -4
  297. package/src/worldCollision.js +64 -9
  298. package/types/agents/index.d.ts +1 -0
  299. package/types/agents/sceneStyleOperations.d.ts +484 -0
  300. package/types/asset-policy/catalogLicenses.d.ts +7 -0
  301. package/types/asset-policy/index.d.ts +20 -0
  302. package/types/assetlib/ambientcg.d.ts +81 -0
  303. package/types/assetlib/assetRef.d.ts +26 -0
  304. package/types/assetlib/galleryMaterialFamily.d.ts +13 -0
  305. package/types/assetlib/importedEntry.d.ts +18 -0
  306. package/types/assetlib/index.d.ts +16 -0
  307. package/types/assetlib/kaykit.d.ts +112 -0
  308. package/types/assetlib/kaykitStaticIndex.d.ts +38 -0
  309. package/types/assetlib/loadImported.d.ts +56 -0
  310. package/types/assetlib/opensource3d.d.ts +55 -0
  311. package/types/assetlib/plateau.d.ts +67 -0
  312. package/types/assetlib/plateauLandmarks.d.ts +238 -0
  313. package/types/assetlib/plateauViewer.d.ts +3 -0
  314. package/types/assetlib/polyhaven.d.ts +90 -0
  315. package/types/assetlib/polypizza.d.ts +10 -0
  316. package/types/assetlib/smithsonian.d.ts +9 -0
  317. package/types/assetlib/sources.d.ts +22 -0
  318. package/types/assetlib/zip.d.ts +8 -0
  319. package/types/catalog/manifest.d.ts +26 -0
  320. package/types/catalog/officialCatalog.d.ts +4 -0
  321. package/types/catalog/officialCatalogAssetRuntime.d.ts +2 -0
  322. package/types/catalog/officialCatalogLod.d.ts +63 -0
  323. package/types/catalog/officialCatalogPlacement.d.ts +49 -0
  324. package/types/catalog/officialCatalogProvider.d.ts +7 -0
  325. package/types/character/animationRetarget.d.ts +20 -0
  326. package/types/character/characterRig.d.ts +87 -0
  327. package/types/character/characterRuntime.d.ts +5 -0
  328. package/types/character/freestyleSwimClip.d.ts +5 -0
  329. package/types/character/groundStabilizer.d.ts +55 -0
  330. package/types/character/index.d.ts +10 -0
  331. package/types/character/locomotionActions.d.ts +4 -0
  332. package/types/character/locomotionStateMachine.d.ts +62 -0
  333. package/types/character/mannequinAsset.d.ts +12 -0
  334. package/types/character/mannequinAssetUrl.node.d.ts +1 -0
  335. package/types/character/modelLoader.d.ts +7 -0
  336. package/types/character/walkableCharacterRuntime.d.ts +343 -0
  337. package/types/character/waterInteractionController.d.ts +114 -0
  338. package/types/cloud/ambientSkyBaker.d.ts +18 -0
  339. package/types/cloud/cloudLighting.d.ts +38 -0
  340. package/types/cloud/cloudParams.d.ts +18 -0
  341. package/types/cloud/cloudReprojection.d.ts +15 -0
  342. package/types/cloud/cloudStyle.d.ts +1380 -0
  343. package/types/cloud/cloudStyleSnapshots.d.ts +10 -0
  344. package/types/cloud/cloudVolume.d.ts +43 -0
  345. package/types/cloud/heroCloudRecipe.d.ts +167 -0
  346. package/types/cloud/index.d.ts +12 -0
  347. package/types/cloud/noise/baseShapeVolume.d.ts +86 -0
  348. package/types/cloud/noise/cirrusMap.d.ts +24 -0
  349. package/types/cloud/noise/curlNoise.d.ts +106 -0
  350. package/types/cloud/noise/erosionVolume.d.ts +58 -0
  351. package/types/cloud/noise/noiseVolume.d.ts +63 -0
  352. package/types/cloud/noise/periodicNoise3.d.ts +75 -0
  353. package/types/cloud/noise/weatherMap.d.ts +227 -0
  354. package/types/cloud/paramSchema.d.ts +142 -0
  355. package/types/collisionMetadata.d.ts +11 -0
  356. package/types/core/generation.d.ts +95 -0
  357. package/types/core/materialRoles.d.ts +102 -0
  358. package/types/core/presetDocuments.d.ts +25 -0
  359. package/types/core/systemStylePolicy.d.ts +4 -0
  360. package/types/environment/dayCurves.d.ts +47 -0
  361. package/types/environment/environmentAmbientProbe.d.ts +2 -0
  362. package/types/environment/environmentGroundFieldPass.d.ts +2 -0
  363. package/types/environment/environmentMaterialAdapter.d.ts +44 -0
  364. package/types/environment/environmentMaterialClassifier.d.ts +26 -0
  365. package/types/environment/environmentPlanarReflection.d.ts +3 -0
  366. package/types/environment/environmentPresets.d.ts +171 -0
  367. package/types/environment/environmentRigs.d.ts +13 -0
  368. package/types/environment/environmentSettings.d.ts +161 -0
  369. package/types/environment/environmentShaderMaterials.d.ts +14 -0
  370. package/types/environment/environmentState.d.ts +6 -0
  371. package/types/environment/environmentSunShadowPass.d.ts +2 -0
  372. package/types/environment/environmentTextureResolver.d.ts +30 -0
  373. package/types/environment/environmentTimeOfDay.d.ts +25 -0
  374. package/types/environment/environmentVertexAo.d.ts +18 -0
  375. package/types/environment/index.d.ts +27 -0
  376. package/types/environment/manufacturedMaterialContract.d.ts +129 -0
  377. package/types/environment/manufacturedReflectionProvider.d.ts +3 -0
  378. package/types/environment/scanAssetStylize.d.ts +43 -0
  379. package/types/environment/surfaceMaterialModes.d.ts +14 -0
  380. package/types/environment/toonLabEnvironmentMaterials.d.ts +139 -0
  381. package/types/environment/toonLabMaterialPassCoupling.d.ts +7 -0
  382. package/types/environment/toonLabNormalIntegration.d.ts +29 -0
  383. package/types/environment/toonLabRockMaterialResolver.d.ts +270 -0
  384. package/types/environment/toonLabSourceDefaultLit.d.ts +136 -0
  385. package/types/environment/toonLabSourceLibrary.d.ts +19 -0
  386. package/types/environment/toonLabSourceMaterials.d.ts +14 -0
  387. package/types/environment/toonLabSourceSubsurfaceLighting.d.ts +85 -0
  388. package/types/environment/toonLabSourceTemporal.d.ts +20 -0
  389. package/types/environment/toonLabSurfaceLighting.d.ts +153 -0
  390. package/types/environment/toonLabTextureReadiness.d.ts +8 -0
  391. package/types/environment/toonLabTreeMaterials.d.ts +7 -0
  392. package/types/environment/transparentMaterialProfile.d.ts +76 -0
  393. package/types/environment/urbanPropMaterial.d.ts +25 -0
  394. package/types/ground-shader/groundPrintLayer.d.ts +4 -0
  395. package/types/ground-shader/groundShaderMaterial.d.ts +11 -0
  396. package/types/ground-shader/groundShaderSettings.d.ts +90 -0
  397. package/types/ground-shader/index.d.ts +3 -0
  398. package/types/index.d.ts +1591 -0
  399. package/types/lighting/callMeSenseiLightingContract.d.ts +14 -0
  400. package/types/lighting/colorIntensity.d.ts +44 -0
  401. package/types/lighting/index.d.ts +12 -0
  402. package/types/lighting/lightDescriptors.d.ts +803 -0
  403. package/types/lighting/lightingCapabilities.d.ts +85 -0
  404. package/types/lighting/lightingDocuments.d.ts +140 -0
  405. package/types/lighting/lightingFixtures.d.ts +171 -0
  406. package/types/lighting/lightingGenerator.d.ts +403 -0
  407. package/types/lighting/lightingPresets.d.ts +264 -0
  408. package/types/lighting/lightingRuntime.d.ts +401 -0
  409. package/types/lighting/lightingStyle.d.ts +156 -0
  410. package/types/lighting/lightingSystem.d.ts +440 -0
  411. package/types/lighting/toonLabExport.d.ts +46 -0
  412. package/types/lighting/utils.d.ts +18 -0
  413. package/types/loaders/index.d.ts +1 -0
  414. package/types/post/index.d.ts +2 -0
  415. package/types/post/postGenerator.d.ts +282 -0
  416. package/types/post/postProcessing.d.ts +16 -0
  417. package/types/react/index.d.ts +1785 -0
  418. package/types/renderer/index.d.ts +2 -0
  419. package/types/renderer/rendererConfiguration.d.ts +8 -0
  420. package/types/renderer/styleComparison.d.ts +409 -0
  421. package/types/rock-shader/index.d.ts +8 -0
  422. package/types/rock-shader/rockGeometryDetail.d.ts +300 -0
  423. package/types/rock-shader/rockMaterial.d.ts +21 -0
  424. package/types/rock-shader/rockRegionRuntime.d.ts +86 -0
  425. package/types/rock-shader/rockSemanticMaterialRuntime.d.ts +29 -0
  426. package/types/rock-shader/rockShaderRuntime.d.ts +10 -0
  427. package/types/rock-shader/rockShaderSettings.d.ts +184 -0
  428. package/types/rock-shader/rockTangentIntegrity.d.ts +51 -0
  429. package/types/rock-shader/rockTextureIntegrity.d.ts +61 -0
  430. package/types/rockgen/export/glbExport.d.ts +58 -0
  431. package/types/rockgen/heightfield/heightfieldErosion.d.ts +10 -0
  432. package/types/rockgen/heightfield/heightfieldPatch.d.ts +15 -0
  433. package/types/rockgen/heightfield/stylizedErosionSim.d.ts +41 -0
  434. package/types/rockgen/index.d.ts +12 -0
  435. package/types/rockgen/lod/index.d.ts +6 -0
  436. package/types/rockgen/lod/rockLodMetrics.d.ts +62 -0
  437. package/types/rockgen/lod/rockLodPlanner.d.ts +86 -0
  438. package/types/rockgen/lod/rockLodPolicy.d.ts +76 -0
  439. package/types/rockgen/lod/rockLodRuntime.d.ts +95 -0
  440. package/types/rockgen/lod/rockLodSimplifier.d.ts +15 -0
  441. package/types/rockgen/lod/rockLodValidation.d.ts +16 -0
  442. package/types/rockgen/mesh/meshAttributes.d.ts +32 -0
  443. package/types/rockgen/mesh/meshDocument.d.ts +40 -0
  444. package/types/rockgen/mesh/surfaceNets.d.ts +42 -0
  445. package/types/rockgen/noise/cellularNoise3.d.ts +24 -0
  446. package/types/rockgen/noise/prng.d.ts +16 -0
  447. package/types/rockgen/noise/simplexNoise3.d.ts +2 -0
  448. package/types/rockgen/noise/valueNoise3.d.ts +12 -0
  449. package/types/rockgen/rockDocument.d.ts +243 -0
  450. package/types/rockgen/rockHelpers.d.ts +2 -0
  451. package/types/rockgen/rockgenPresets.d.ts +10 -0
  452. package/types/rockgen/rockgenSettings.d.ts +531 -0
  453. package/types/rockgen/sdf/fieldCompiler.d.ts +20 -0
  454. package/types/rockgen/sdf/sculptEdits.d.ts +30 -0
  455. package/types/rockgen/sdf/sdfModifiers.d.ts +19 -0
  456. package/types/rockgen/sdf/sdfOps.d.ts +8 -0
  457. package/types/rockgen/sdf/sdfPrimitives.d.ts +22 -0
  458. package/types/rockgen/surface/c7GeologySurface.d.ts +8 -0
  459. package/types/runtime/index.d.ts +3 -0
  460. package/types/runtime/sceneCollisionRuntime.d.ts +94 -0
  461. package/types/runtime/sceneSurfaceRuntime.d.ts +90 -0
  462. package/types/runtime/sceneUpdateScheduler.d.ts +28 -0
  463. package/types/shaders-tsl/anime.d.ts +9 -0
  464. package/types/shaders-tsl/chunks/character-color.d.ts +6 -0
  465. package/types/shaders-tsl/chunks/character-highlights.d.ts +12 -0
  466. package/types/shaders-tsl/chunks/character-lighting.d.ts +20 -0
  467. package/types/shaders-tsl/chunks/character-material-maps.d.ts +18 -0
  468. package/types/shaders-tsl/chunks/character-roles.d.ts +21 -0
  469. package/types/shaders-tsl/chunks/character-scene-lights.d.ts +48 -0
  470. package/types/shaders-tsl/chunks/character-shadow-color.d.ts +5 -0
  471. package/types/shaders-tsl/chunks/character-skinning.d.ts +23 -0
  472. package/types/shaders-tsl/chunks/environment-color.d.ts +9 -0
  473. package/types/shaders-tsl/chunks/environment-debug.d.ts +24 -0
  474. package/types/shaders-tsl/chunks/environment-ground-field.d.ts +40 -0
  475. package/types/shaders-tsl/chunks/environment-lighting.d.ts +22 -0
  476. package/types/shaders-tsl/chunks/environment-state.d.ts +42 -0
  477. package/types/shaders-tsl/chunks/environment-sun-shadow.d.ts +19 -0
  478. package/types/shaders-tsl/chunks/foliage-fog.d.ts +21 -0
  479. package/types/shaders-tsl/chunks/normalized-hue.d.ts +1 -0
  480. package/types/shaders-tsl/chunks/pass-depth-color.d.ts +20 -0
  481. package/types/shaders-tsl/chunks/projected-water-caustics.d.ts +24 -0
  482. package/types/shaders-tsl/chunks/scene-depth-color-pass.d.ts +39 -0
  483. package/types/shaders-tsl/chunks/stylized-cloud-shadow.d.ts +9 -0
  484. package/types/shaders-tsl/chunks/vegetation-style.d.ts +60 -0
  485. package/types/shaders-tsl/chunks/water-color.d.ts +15 -0
  486. package/types/shaders-tsl/chunks/water-common.d.ts +9 -0
  487. package/types/shaders-tsl/chunks/water-foam.d.ts +8 -0
  488. package/types/shaders-tsl/chunks/water-lighting.d.ts +9 -0
  489. package/types/shaders-tsl/chunks/water-ripple.d.ts +8 -0
  490. package/types/shaders-tsl/chunks/water-shore-state.d.ts +7 -0
  491. package/types/shaders-tsl/chunks/water-waves.d.ts +18 -0
  492. package/types/shaders-tsl/chunks/world-noise.d.ts +4 -0
  493. package/types/shaders-tsl/environment-ao-overlay.d.ts +5 -0
  494. package/types/shaders-tsl/environment.d.ts +34 -0
  495. package/types/shaders-tsl/flower.d.ts +6 -0
  496. package/types/shaders-tsl/grass.d.ts +4 -0
  497. package/types/shaders-tsl/post-composite.d.ts +25 -0
  498. package/types/shaders-tsl/sky.d.ts +4 -0
  499. package/types/shaders-tsl/tree-leaf.d.ts +2 -0
  500. package/types/shaders-tsl/water-breaker.d.ts +15 -0
  501. package/types/shaders-tsl/water-kelp.d.ts +5 -0
  502. package/types/shaders-tsl/water-rain.d.ts +10 -0
  503. package/types/shaders-tsl/water-shore-state-simulation.d.ts +12 -0
  504. package/types/shaders-tsl/water-simulation.d.ts +5 -0
  505. package/types/shaders-tsl/water-splash.d.ts +12 -0
  506. package/types/shaders-tsl/water.d.ts +22 -0
  507. package/types/shaders-tsl/woody-surface.d.ts +3 -0
  508. package/types/sky/atmosphereDome.d.ts +2 -0
  509. package/types/sky/atmosphereParams.d.ts +185 -0
  510. package/types/sky/atmosphereScattering.d.ts +11 -0
  511. package/types/sky/atmosphereSky.d.ts +2 -0
  512. package/types/sky/cloudShadow.d.ts +69 -0
  513. package/types/sky/godRays.d.ts +5 -0
  514. package/types/sky/index.d.ts +18 -0
  515. package/types/sky/nightSky.d.ts +22 -0
  516. package/types/sky/renderLayers.d.ts +59 -0
  517. package/types/sky/sceneOverrideLayers.d.ts +10 -0
  518. package/types/sky/skyColor.d.ts +704 -0
  519. package/types/sky/skyDayCycle.d.ts +86 -0
  520. package/types/sky/skyParams.d.ts +3407 -0
  521. package/types/sky/skyPresets.d.ts +160 -0
  522. package/types/sky/skyQuality.d.ts +21 -0
  523. package/types/sky/skyQualityTiers.d.ts +223 -0
  524. package/types/sky/skyShaderSettings.d.ts +152 -0
  525. package/types/sky/skyStyleSnapshots.d.ts +11 -0
  526. package/types/sky/skySystem.d.ts +3 -0
  527. package/types/sky/skyTimeKeyframes.d.ts +230 -0
  528. package/types/sky/stylizedSky.d.ts +341 -0
  529. package/types/sky/sunDriver.d.ts +15 -0
  530. package/types/sky/timeOfDay.d.ts +145 -0
  531. package/types/styles/animeGameProfile.d.ts +27 -0
  532. package/types/styles/index.d.ts +18 -0
  533. package/types/styles/manufacturedStyleLabeling.d.ts +119 -0
  534. package/types/styles/neutralStylePresets.d.ts +944 -0
  535. package/types/styles/sceneLayerDocuments.d.ts +145 -0
  536. package/types/styles/sceneLookComposition.d.ts +53 -0
  537. package/types/styles/sceneQualityApplication.d.ts +34 -0
  538. package/types/styles/sceneQualityProfiles.d.ts +13 -0
  539. package/types/styles/sceneStyleAudit.d.ts +80 -0
  540. package/types/styles/sceneStyleRuntime.d.ts +1802 -0
  541. package/types/styles/styleAdapters.d.ts +14 -0
  542. package/types/styles/styleApplication.d.ts +47 -0
  543. package/types/styles/styleBundle.d.ts +19 -0
  544. package/types/styles/styleBundleProvider.d.ts +44 -0
  545. package/types/styles/styleDomains.d.ts +18 -0
  546. package/types/styles/styleInspector.d.ts +59 -0
  547. package/types/styles/styleMaterialContract.d.ts +46 -0
  548. package/types/styles/styleMetadata.d.ts +11 -0
  549. package/types/styles/styleTargetDiscovery.d.ts +48 -0
  550. package/types/styles/styleTargetLabels.d.ts +32 -0
  551. package/types/styles/styleTargetMaterialCoverage.d.ts +20 -0
  552. package/types/styles/styleTransaction.d.ts +10 -0
  553. package/types/styles/styleTypes.d.ts +66 -0
  554. package/types/texgen/evaluateTexture.d.ts +40 -0
  555. package/types/texgen/index.d.ts +7 -0
  556. package/types/texgen/noise2.d.ts +46 -0
  557. package/types/texgen/textureAi.d.ts +6 -0
  558. package/types/texgen/textureGenerators.d.ts +261 -0
  559. package/types/texgen/texturePresets.d.ts +45 -0
  560. package/types/texgen/textureSettings.d.ts +121 -0
  561. package/types/texgen/textureThree.d.ts +13 -0
  562. package/types/toon/characterRenderPasses.d.ts +3 -0
  563. package/types/toon/index.d.ts +3 -0
  564. package/types/toon/settings/alphaSettings.d.ts +125 -0
  565. package/types/toon/settings/averageShadowSettings.d.ts +39 -0
  566. package/types/toon/settings/baseTextureSettings.d.ts +39 -0
  567. package/types/toon/settings/celShadeSettings.d.ts +37 -0
  568. package/types/toon/settings/contactShadowSettings.d.ts +30 -0
  569. package/types/toon/settings/eyeHighlightSettings.d.ts +55 -0
  570. package/types/toon/settings/faceLightingSettings.d.ts +32 -0
  571. package/types/toon/settings/furSettings.d.ts +23 -0
  572. package/types/toon/settings/glitterSettings.d.ts +43 -0
  573. package/types/toon/settings/hairHighlightSettings.d.ts +89 -0
  574. package/types/toon/settings/indirectLightSettings.d.ts +43 -0
  575. package/types/toon/settings/localLightSettings.d.ts +46 -0
  576. package/types/toon/settings/materialMapSettings.d.ts +86 -0
  577. package/types/toon/settings/outlineSettings.d.ts +125 -0
  578. package/types/toon/settings/perspectiveRemovalSettings.d.ts +14 -0
  579. package/types/toon/settings/rimLightSettings.d.ts +79 -0
  580. package/types/toon/settings/sceneShadowSettings.d.ts +32 -0
  581. package/types/toon/settings/selfShadowSettings.d.ts +44 -0
  582. package/types/toon/settings/shadowColorSettings.d.ts +77 -0
  583. package/types/toon/settings/skinToneSettings.d.ts +30 -0
  584. package/types/toon/settings/specularSettings.d.ts +96 -0
  585. package/types/toon/settings/stickerSettings.d.ts +40 -0
  586. package/types/toon/toonMaterialAdapter.d.ts +883 -0
  587. package/types/toon/toonSettings.d.ts +1182 -0
  588. package/types/vegetation/branchTree.d.ts +14 -0
  589. package/types/vegetation/callMeSenseiGrass.d.ts +8 -0
  590. package/types/vegetation/compiledTree.d.ts +75 -0
  591. package/types/vegetation/contactShadowField.d.ts +26 -0
  592. package/types/vegetation/flowerSpecies.d.ts +107 -0
  593. package/types/vegetation/grass.d.ts +4 -0
  594. package/types/vegetation/grassClump.d.ts +7 -0
  595. package/types/vegetation/grassPalettes.d.ts +29 -0
  596. package/types/vegetation/importedVegetationMaterial.d.ts +13 -0
  597. package/types/vegetation/index.d.ts +225 -0
  598. package/types/vegetation/legacyTreePresets.d.ts +22 -0
  599. package/types/vegetation/scatter.d.ts +13 -0
  600. package/types/vegetation/stylizedBush.d.ts +2 -0
  601. package/types/vegetation/stylizedFlower.d.ts +2 -0
  602. package/types/vegetation/stylizedFlowers.d.ts +8 -0
  603. package/types/vegetation/stylizedForest.d.ts +3 -0
  604. package/types/vegetation/stylizedGrass.d.ts +21 -0
  605. package/types/vegetation/stylizedTree.d.ts +20 -0
  606. package/types/vegetation/stylizedTreeFoliage.d.ts +19 -0
  607. package/types/vegetation/stylizedUnderstory.d.ts +50 -0
  608. package/types/vegetation/treeExport.d.ts +6 -0
  609. package/types/vegetation/treeSurfaceTextures.d.ts +72 -0
  610. package/types/vegetation/vegetationShaders.d.ts +74 -0
  611. package/types/version.d.ts +1 -0
  612. package/types/water/index.d.ts +1 -0
  613. package/types/water/sceneOverrideLayers.d.ts +16 -0
  614. package/types/water/water.d.ts +17 -0
  615. package/types/water/waterBreakerSystem.d.ts +46 -0
  616. package/types/water/waterCurrentField.d.ts +115 -0
  617. package/types/water/waterInteraction.d.ts +21 -0
  618. package/types/water/waterMaterial.d.ts +60 -0
  619. package/types/water/waterNearshorePhase.d.ts +5 -0
  620. package/types/water/waterRain.d.ts +17 -0
  621. package/types/water/waterRippleSimulation.d.ts +52 -0
  622. package/types/water/waterScenePasses.d.ts +70 -0
  623. package/types/water/waterSettings.d.ts +648 -0
  624. package/types/water/waterShoreMaterial.d.ts +3 -0
  625. package/types/water/waterShoreStateField.d.ts +2 -0
  626. package/types/water/waterSplashSystem.d.ts +2 -0
  627. package/types/water/waterStageSettings.d.ts +9 -0
  628. package/types/water/waterSurface.d.ts +2 -0
  629. package/types/water/waterUnderwaterAtmosphere.d.ts +103 -0
  630. package/types/water/waterVegetation.d.ts +16 -0
  631. package/types/worldCollision.d.ts +22 -0
  632. package/AGENTS.md +0 -254
  633. package/ATTRIBUTION.md +0 -78
  634. package/docs/characters.md +0 -144
  635. package/docs/debug-panel.md +0 -126
  636. package/docs/docs.css +0 -589
  637. package/docs/environment.md +0 -186
  638. package/docs/getting-started.md +0 -180
  639. package/docs/index.html +0 -14
  640. package/docs/lab-architecture.md +0 -100
  641. package/docs/lighting.md +0 -825
  642. package/docs/main.jsx +0 -752
  643. package/docs/mcp.md +0 -97
  644. package/docs/post-processing.md +0 -98
  645. package/docs/settings-reference.md +0 -1878
  646. package/docs/shader-constants.md +0 -77
  647. package/docs/sky.md +0 -182
  648. package/docs/style-labs.md +0 -309
  649. package/docs/texture-lab.md +0 -135
  650. package/docs/toon-shading.md +0 -183
  651. package/docs/tsl-conventions.md +0 -167
  652. package/docs/vegetation-sky.md +0 -275
  653. package/docs/water.md +0 -430
  654. package/docs/weather.md +0 -200
  655. package/docs/world-scale.md +0 -111
  656. package/mcp/style-lab-tools.mjs +0 -371
  657. package/src/ambientfx/INTEGRATION.md +0 -164
  658. package/src/ambientfx/ambientFxPresets.js +0 -83
  659. package/src/ambientfx/ambientFxSettings.js +0 -368
  660. package/src/ambientfx/emitters.js +0 -169
  661. package/src/ambientfx/index.js +0 -5
  662. package/src/ambientfx/particleBackbone.js +0 -493
  663. package/src/ambientfx/stylizedAmbientFx.js +0 -450
  664. package/src/biome/biomeGenerator.js +0 -385
  665. package/src/biome/biomeRuntime.js +0 -299
  666. package/src/biome/index.js +0 -2
  667. package/src/buildinggen/buildingAsset.js +0 -44
  668. package/src/buildinggen/buildingGrammar.js +0 -311
  669. package/src/buildinggen/buildingMesh.js +0 -451
  670. package/src/buildinggen/buildingPresets.js +0 -46
  671. package/src/buildinggen/buildingRecipe.js +0 -100
  672. package/src/buildinggen/buildingSettings.js +0 -238
  673. package/src/buildinggen/index.js +0 -6
  674. package/src/camera/cameraDirector.js +0 -157
  675. package/src/camera/cameraGenerator.js +0 -367
  676. package/src/camera/cameraRig.js +0 -570
  677. package/src/camera/cameraSettings.js +0 -236
  678. package/src/camera/index.js +0 -7
  679. package/src/catalog/builtinEntries.js +0 -245
  680. package/src/catalog/catalog.js +0 -210
  681. package/src/catalog/index.js +0 -3
  682. package/src/core/shaderBackend.js +0 -24
  683. package/src/debrisgen/debrisFields.js +0 -544
  684. package/src/debrisgen/debrisGenerator.js +0 -1929
  685. package/src/debrisgen/debrisPalettes.js +0 -71
  686. package/src/debrisgen/debrisPhysics.js +0 -198
  687. package/src/debrisgen/debrisPresets.js +0 -162
  688. package/src/debrisgen/debrisSettings.js +0 -333
  689. package/src/debrisgen/debrisTextures.js +0 -380
  690. package/src/debrisgen/index.js +0 -5
  691. package/src/debug/fieldValues.js +0 -95
  692. package/src/debug/index.js +0 -7
  693. package/src/debug/settingsPanel.js +0 -170
  694. package/src/fauna/INTEGRATION.md +0 -174
  695. package/src/fauna/boids.js +0 -861
  696. package/src/fauna/faunaBodies.js +0 -492
  697. package/src/fauna/faunaPresets.js +0 -52
  698. package/src/fauna/faunaSettings.js +0 -525
  699. package/src/fauna/index.js +0 -5
  700. package/src/fauna/stylizedFauna.js +0 -395
  701. package/src/game-feel/gameFeelGenerator.js +0 -402
  702. package/src/game-feel/gameFeelRuntime.js +0 -549
  703. package/src/game-feel/index.js +0 -2
  704. package/src/motion/index.js +0 -5
  705. package/src/motion/motionClip.js +0 -441
  706. package/src/motion/motionController.js +0 -628
  707. package/src/motion/motionDocuments.js +0 -225
  708. package/src/motion/motionGraph.js +0 -307
  709. package/src/motion/motionSettings.js +0 -222
  710. package/src/pathgen/index.js +0 -7
  711. package/src/pathgen/pathBridge.js +0 -232
  712. package/src/pathgen/pathPresets.js +0 -35
  713. package/src/pathgen/pathRibbon.js +0 -410
  714. package/src/pathgen/pathRouter.js +0 -380
  715. package/src/pathgen/pathSettings.js +0 -335
  716. package/src/pathgen/pathTextures.js +0 -123
  717. package/src/pathgen/stylizedPaths.js +0 -453
  718. package/src/propgen/generatorsWave1.js +0 -379
  719. package/src/propgen/generatorsWave2.js +0 -462
  720. package/src/propgen/index.js +0 -5
  721. package/src/propgen/propAsset.js +0 -323
  722. package/src/propgen/propParts.js +0 -170
  723. package/src/propgen/propPlacement.js +0 -459
  724. package/src/propgen/propPresets.js +0 -82
  725. package/src/propgen/propSettings.js +0 -395
  726. package/src/soundscape/index.js +0 -4
  727. package/src/soundscape/soundscapeGenerator.js +0 -179
  728. package/src/soundscape/soundscapeRuntime.js +0 -806
  729. package/src/soundscape/soundscapeSettings.js +0 -292
  730. package/src/stylizedTerrain.js +0 -631
  731. package/src/stylizedWorld.js +0 -903
  732. package/src/vegetation/treeRecipe.js +0 -647
  733. package/src/vfxgen/INTEGRATION.md +0 -145
  734. package/src/vfxgen/core/burstBackbone.js +0 -380
  735. package/src/vfxgen/core/projectileCore.js +0 -92
  736. package/src/vfxgen/core/spriteShapes.js +0 -98
  737. package/src/vfxgen/core/trailRibbon.js +0 -272
  738. package/src/vfxgen/core/vfxRandom.js +0 -29
  739. package/src/vfxgen/effects/emitHelpers.js +0 -37
  740. package/src/vfxgen/effects/magicEffects.js +0 -162
  741. package/src/vfxgen/effects/movementEffects.js +0 -87
  742. package/src/vfxgen/effects/weaponEffects.js +0 -118
  743. package/src/vfxgen/index.js +0 -18
  744. package/src/vfxgen/moves/moveController.js +0 -146
  745. package/src/vfxgen/moves/moveLibrary.js +0 -335
  746. package/src/vfxgen/vfxPresets.js +0 -98
  747. package/src/vfxgen/vfxSettings.js +0 -384
  748. package/src/vfxgen/vfxSystem.js +0 -449
  749. package/src/vfxgen/weapons/stylizedWeapons.js +0 -137
  750. package/src/villagegen/index.js +0 -4
  751. package/src/villagegen/stylizedVillage.js +0 -490
  752. package/src/villagegen/villageArchetypes.js +0 -160
  753. package/src/villagegen/villageNames.js +0 -40
  754. package/src/villagegen/villageSites.js +0 -105
  755. package/src/weather/index.js +0 -6
  756. package/src/weather/weatherPrecipitation.js +0 -221
  757. package/src/weather/weatherPresets.js +0 -258
  758. package/src/weather/weatherSettings.js +0 -269
  759. package/src/weather/weatherSystem.js +0 -871
  760. package/src/worldMinimap.js +0 -214
  761. package/src/worldPresets.js +0 -125
@@ -0,0 +1,87 @@
1
+ # ToonLab agent prompts
2
+
3
+ These prompts are included with the npm package. They use only the supported
4
+ 0.4.20 runtime, agent skills, and MCP workflows.
5
+
6
+ ## Existing-scene integration
7
+
8
+ ```text
9
+ Using the ToonLab game-dev skill, integrate @call-me-sensei/toonlab into this
10
+ existing Three.js scene. Inventory every renderable root and material. Assign
11
+ stable ToonLab target ids, rendering domains, material ids, and semantic roles.
12
+ Apply the Call Me Sensei bundle in strict mode through the documented focused
13
+ runtimes for the domains actually present. Preserve the scene's geometry, XZ
14
+ layout, cameras, gameplay, dynamic physics, navigation, and frame loop. Run the
15
+ app's typecheck, tests, build, and visual smoke check. Finish only when the
16
+ style audit is ready or report each remaining blocker with a concrete fix.
17
+ ```
18
+
19
+ ## Character or manufactured-material before/after
20
+
21
+ ```text
22
+ Using the ToonLab toon-shading or environment skill as appropriate, create a
23
+ true before/after comparison for the supplied model. The before side must use
24
+ its normal Three.js PBR material and the same camera, pose, lights, exposure,
25
+ background, and source textures as the after side. The after side may change
26
+ only the selected ToonLab shader/profile. Do not flatten, unlight, or otherwise
27
+ degrade the before side. Verify that the comparison demonstrates the shader's
28
+ effect rather than a scene-lighting difference.
29
+ ```
30
+
31
+ ## Policy-aware asset discovery
32
+
33
+ ```text
34
+ Using the ToonLab asset-sourcing skill and whichever ToonLab MCP servers are
35
+ connected, load get_anime_game_profile and confirm the project's sourcing
36
+ policy. Search project/local Library first, then ToonLab Gallery, then allowed
37
+ external open sources. Validate provenance, license, anime-style support, and
38
+ policy decision before selection. Generate only after the searches fail and a
39
+ custom asset gap has been recorded and approved. Report the selected stable id,
40
+ source, license, dimensions, semantic domain, and material-role readiness.
41
+ ```
42
+
43
+ ## Author a portable Lab document
44
+
45
+ ```text
46
+ Use ToonLab MCP to call list_live_labs, choose the named public Lab, and call
47
+ get_lab_features before editing. Create a schema-valid starter with
48
+ create_lab_document, make only requested semantic changes, and validate the
49
+ result. Save it to my Library only if I asked for persistence. Keep preview
50
+ camera, stage, lighting, playback, and comparison state out of the portable
51
+ document.
52
+ ```
53
+
54
+ ## Tree or grass generation
55
+
56
+ ```text
57
+ Using the ToonLab vegetation-sky skill, create the requested tree, shrub,
58
+ grass, or groundcover with the public vegetation runtime. Keep species/recipe,
59
+ seed, geometry, palette, and placement separate from the Tree/Grass/Flower
60
+ shader profile. Emit stable modeled-part and material-role labels, preserve
61
+ the recipe for regeneration, and verify LOD and shadow behavior. Do not use the
62
+ repository-only experimental species engine.
63
+ ```
64
+
65
+ ## Rock generation and shader separation
66
+
67
+ ```text
68
+ Using the ToonLab rockgen and rock-ground-shaders skills, create or edit the
69
+ requested rock asset with @call-me-sensei/toonlab/rockgen and style it with
70
+ @call-me-sensei/toonlab/rock-shader. Keep geometry identity, seed, LOD,
71
+ collision, and baked channels in the rock document; keep reusable appearance in
72
+ the rock shader profile. Validate the portable documents and verify the result
73
+ from multiple useful views. Do not deep-import repository compilers or test
74
+ fixtures.
75
+ ```
76
+
77
+ ## Apply a Style Bundle
78
+
79
+ ```text
80
+ Using the ToonLab scene-style-application skill, load the selected portable
81
+ Style Bundle. Inventory and explicitly label only the domains present in this
82
+ scene, audit in strict mode, and stop before mutation if any target, material
83
+ role, required mask, or adapter is missing. Apply the accepted plan atomically,
84
+ preserve asset identity and current scene conditions, then verify that every
85
+ populated slot has an owning runtime and that teardown restores the source
86
+ materials.
87
+ ```
@@ -0,0 +1,54 @@
1
+ # ToonLab Agent Resources
2
+
3
+ These are downloadable AI coding agent resources for developers using ToonLab
4
+ runtime features in their own apps. They are not maintenance instructions for
5
+ this repository.
6
+
7
+ The recommended agent workflow starts from an existing scene: apply the
8
+ focused character, manufactured, ground, rock, vegetation, water, sky, cloud,
9
+ lighting, and post runtimes; find assets through Gallery or MCP; and author
10
+ bounded portable outputs. The package does not promise reliable one-shot scene
11
+ construction.
12
+
13
+ Layout:
14
+
15
+ - `codex/AGENTS.md` — shared Codex-style runtime usage guide.
16
+ - `claude/CLAUDE.md` — Claude Code wrapper for the shared guide.
17
+ - `cursor/toonlab.mdc` — Cursor rule file; copy it to `.cursor/rules/` in a
18
+ project if desired.
19
+ - `skills/codex/` — Codex-oriented feature skills.
20
+ - `skills/claude/` — Claude-oriented feature skills.
21
+ - `references/` — public anime art direction, style routing, MCP discovery,
22
+ runtime-boundary, sourcing-policy, and custom-gap contracts used by every
23
+ agent integration.
24
+
25
+ Recommended feature skills (start with `game-dev` for existing-scene
26
+ integration and `asset-sourcing` for Gallery/MCP work):
27
+
28
+ - `asset-sourcing`
29
+ - `environment`
30
+ - `game-dev`
31
+ - `post-processing`
32
+ - `rock-ground-shaders`
33
+ - `rockgen`
34
+ - `style-presets`
35
+ - `toon-shading`
36
+ - `vegetation-sky`
37
+ - `visual-verification`
38
+ - `water`
39
+
40
+ Experimental and host-owned skills are intentionally omitted from the npm
41
+ artifact. This includes whole-world construction, natural cliff formation,
42
+ Weather/Climate composition, camera behavior, game feel, and gameplay VFX.
43
+
44
+ These text-only resources ship with the npm package beside the runtime source.
45
+ The package does not include ToonLab lab applications, examples, review
46
+ fixtures, models, textures, or other redistributed visual/media assets.
47
+ First-party grass geometry and materials are generated by runtime code; the
48
+ optional CC0 mannequin resolves from immutable public R2 rather than npm.
49
+
50
+ All integrations share one non-optional authored-asset rule: every renderable
51
+ root needs a stable target ID/domain, and every material slot needs a stable
52
+ material ID plus semantic role in the versioned ToonLab material contract.
53
+ Root-only labels do not make multi-material assets bundle-ready. Strict mode
54
+ blocks incomplete assets; advisory mode must report them as incomplete.
@@ -0,0 +1,8 @@
1
+ @node_modules/@call-me-sensei/toonlab/agents/codex/AGENTS.md
2
+
3
+ ## Claude Code
4
+
5
+ - Use `agents/skills/claude/` as the user-facing usage guides for ToonLab
6
+ runtime features.
7
+ - Keep this file short; shared guidance belongs in `agents/codex/AGENTS.md`.
8
+ - Keep these downloadable resources focused on runtime usage.
@@ -0,0 +1,159 @@
1
+ # ToonLab Agent Guide
2
+
3
+ Use this file when helping a developer build an anime-style game, character,
4
+ or environment with ToonLab's runtime library in their own Three.js app.
5
+
6
+ ## Anime-Game Product Contract
7
+
8
+ - ToonLab is specifically an anime-game toolkit, not a generic stylization
9
+ library. Read `agents/references/anime-art-direction.md` before making
10
+ visual, shader, material, or asset decisions.
11
+ - Load the selected bundle's `artDirection` and treat it as authoritative.
12
+ Call Me Sensei is the first-party coordinated reference.
13
+ - Never accept unintended photorealism, generic low-poly styling, undirected
14
+ cartoon rendering, or untreated PBR materials as a finished ToonLab result.
15
+ - If supported shaders or approved assets are insufficient, document the
16
+ customization and why your project needs it.
17
+
18
+ ## Runtime Boundary
19
+
20
+ - `@call-me-sensei/toonlab` is primarily a runtime library for applying
21
+ Three.js shaders, stylized materials, focused vegetation/water, settings,
22
+ and preset documents to supplied scene content.
23
+ - Prefer public package imports such as `@call-me-sensei/toonlab/toon`,
24
+ `@call-me-sensei/toonlab/environment`, `@call-me-sensei/toonlab/water`,
25
+ `@call-me-sensei/toonlab/vegetation`, `@call-me-sensei/toonlab/post`,
26
+ `@call-me-sensei/toonlab/styles`,
27
+ `@call-me-sensei/toonlab/texgen`, and `@call-me-sensei/toonlab/rockgen`.
28
+ - Use `@call-me-sensei/toonlab/sky` and `/cloud` for the live Sky, Cloud, and
29
+ Sky & Cloud Lab contracts. Weather, Climate, ambient effects, and fauna are
30
+ not public package entry points in this release.
31
+ - Use `@call-me-sensei/toonlab/vegetation-shaders` and
32
+ `@call-me-sensei/toonlab/grass-palettes` when a consumer needs only those
33
+ focused contracts. They are the same bindings exposed by the vegetation and
34
+ root barrels.
35
+ - Keep root imports lightweight in examples. Import only the feature subpath a
36
+ developer needs.
37
+ - Public export status and product maturity are different. Toon,
38
+ Environment/Ground/Rock, Tree/Grass/Flower, Water on a host-authored
39
+ footprint/shore/bed, Post, Gallery/MCP asset workflows, loaders, portable
40
+ settings, Sky/Cloud, and qualified focused generators are the recommended
41
+ path. Whole terrain/biome/coast/cliff construction,
42
+ automatic set dressing, and cross-system world assembly are experimental.
43
+ - ToonLab's labs, sample assets, local manifests, screenshots, captures, and
44
+ app routes are examples. Do not treat them as part of the runtime API or copy
45
+ their local asset assumptions into user apps.
46
+ - The host app owns scene layout and major geometry, asset placement, cameras,
47
+ collision, asset loading, decoder hosting, storage, routing, persistence,
48
+ collaboration, and final art direction. Renderer construction stays
49
+ host-owned, while the public renderer helper and scene style runtime apply
50
+ reversible Call Me Sensei renderer, lighting, probe, and shadow settings.
51
+ - VFX, camera, game-feel, and renderer selection are not style-bundle domains.
52
+ Treat project-local implementations as custom adapters and record a gap when
53
+ they affect the selected look. Lighting is a supported bundle domain.
54
+
55
+ ## Usage Rules
56
+
57
+ - Use the README and docs pages first; feature skills in `agents/skills/codex/`
58
+ are short usage guides for public runtime APIs.
59
+ - For existing-scene or multi-system integration, start with the `game-dev`
60
+ skill (boundary, frame-loop contract, task→skill routing). When sourcing or generating
61
+ assets, use the `asset-sourcing` skill. Feature-detect the connected ToonLab
62
+ OSS local and/or ToonLab Pro remote MCP surface before calling tools; their
63
+ overlapping tool names have different discovery roles and schemas.
64
+ First-party rock search must shortlist from meter dimensions and taxonomy;
65
+ do not load or render catalog GLBs merely to determine their size.
66
+ - Whole-world and natural-cliff construction skills are not shipped in the npm
67
+ package. Prefer bounded work on an existing terrain, asset family,
68
+ vegetation field, or water body.
69
+ - For any style-aware construction, use `style-presets` to record the intended
70
+ selector and distinguish neutral defaults from domains that already default
71
+ to Call Me Sensei. Before visual approval or reporting a package gap, use
72
+ `visual-verification` for readiness, isolation, multi-view, measurement, and
73
+ outlier checks. These routes apply to every agent integration, not only Codex
74
+ or Claude.
75
+ - ToonLab materials are TSL/NodeMaterial-first for Three.js WebGPU with WebGL2
76
+ fallback through the same TSL path. Do not guide developers toward raw GLSL,
77
+ `ShaderMaterial`, or classic WebGL-only forks for ToonLab features.
78
+ - Keep developer examples focused on documented settings, preset documents,
79
+ public constructors/helpers, and app-owned Three.js objects.
80
+ - Keep artifact scope explicit: Shader Labs author IP profiles, Asset Labs
81
+ author geometry/material data, and Water Lab authors a focused runtime
82
+ system preset with embedded shader controls. Sky, Cloud, and Sky & Cloud are
83
+ live focused authoring surfaces. Vegetation is one shared
84
+ implementation family with separate Tree, Grass, and Flower shader profiles;
85
+ their Generation Labs own geometry/material data. The stable public package
86
+ trees are the 12 named pre-species legacy presets plus the generic
87
+ `BranchTree`; repository species work is experimental and must not be
88
+ presented as supported. Ground is a separate shader domain. Scene weather,
89
+ lighting, camera, interactions, and complete Sky/Cloud composition stay
90
+ host-owned or experimental.
91
+ - For style-bundle, multi-shader, or arbitrary-asset work, read
92
+ `agents/references/style-bundles.md` first. A bundle selects coordinated treatments;
93
+ explicit asset labels select rendering destinations; scene state selects
94
+ current conditions. Inventory and label every renderable root and material.
95
+ Every newly modeled, generated, or imported material slot requires a stable
96
+ ID and valid semantic role in the versioned material contract. A root domain
97
+ label is not sufficient for a multi-material asset; missing roles and mixed
98
+ atlases without a split or ID mask block strict handoff.
99
+ Character anatomy, clothing, held weapons, and worn hero accessories
100
+ normally route to toon; manufactured props, vegetation, rocks/debris,
101
+ water/sky, and VFX retain their owning runtimes. For an imported manufactured
102
+ prop, call `proposeManufacturedStyleTargetLabel()` first, review every issue,
103
+ provide explicit `materialOverrides` for unresolved slots, then call
104
+ `applyManufacturedStyleTargetLabelProposal()`. Never collapse assisted
105
+ results into the automatic success rate.
106
+ - Report unknown domains and material roles, mixed atlases without masks,
107
+ unsupported transparency, and custom-renderer exemptions. Never silently
108
+ infer a production-safe route from names, texture colors, or scene
109
+ parenting. Preserve asset identity and runtime conditions when changing
110
+ style.
111
+ - Local style bundle creation, validation, serialization, parsing, and
112
+ resolution are OSS `/styles` APIs and require no database. Hosted storage
113
+ and `fetchStyleBundle` are optional. Scene discovery remains explicit;
114
+ manufactured assets have a conservative proposal/review/apply labeling path,
115
+ and strict bundle application reconciles declared roles against live slots
116
+ before the first mutation.
117
+ - New bundles use `treeShader`, `grassShader`, `flowerShader`, and
118
+ `groundShader`. V1 `vegetationShader`, `tree`, `grass`, and `flowers`
119
+ selections are migration inputs only and never serialize into v2. Do not
120
+ serialize asset recipes, tree geometry, scatter, or live wind/weather
121
+ into shader slots.
122
+ - Treat `call_me_sensei` as the first-party reference bundle. Optimize the
123
+ canonical domain implementations for the best coordinated result and apply
124
+ the completion gate in `agents/references/style-bundles.md`. Assigning the same
125
+ style id to every slot is not completion, and compatibility flattening for
126
+ incomplete assets must not define the signature look.
127
+ - For sourcing or generation, read
128
+ `agents/references/mcp-asset-discovery.md` and
129
+ `agents/references/asset-sourcing-policy.md`. Reuse an
130
+ accepted asset first. If a procedural family has an approved stylized base
131
+ set and passed the reliability gate, generate directly and skip gallery
132
+ search. Otherwise use curated CC0, then properly attributed CC-BY; reserve
133
+ image-to-3D for a named remaining gap. Preserve base-set version, recipe,
134
+ seed, domain/material labels, license provenance, and the Call Me Sensei
135
+ verification result. Pro may author/review base sets; OSS consumes portable
136
+ artifacts without a database.
137
+ - For Sky/Cloud and Water work, `.settings` is the portable authored baseline and
138
+ `.renderedSettings` is the current composition. Give Lighting, Weather, and
139
+ other transient owners unique `setSceneOverrideLayer` ids and clear only the
140
+ same id; never export composed scene state.
141
+ - In a composed-world test, use the public Lighting bundle slot and scene style
142
+ runtime for the coordinated sun, sky probe, and shared shadow contract. Keep
143
+ host-owned Weather and any custom local-light adapters coordinated with Sky,
144
+ Water, and vegetation scene inputs.
145
+ - Sky documents contain exactly 46 portable art fields. Radius and compile-time
146
+ quality are not portable: named tiers use 2/3/4 cloud octaves, custom quality
147
+ accepts `{ cloudOctaves: 1..5 }`, and `sky.setQuality()` rebuilds the material.
148
+ Water quality is chosen when constructing/replacing `WaterSurface`, not via
149
+ `applySettings()`.
150
+ - Do not depend on ToonLab sample assets, generated manifests, or lab-only
151
+ model/environment discovery.
152
+ - Keep these downloadable resources focused on runtime usage.
153
+
154
+ ## Developer Verification
155
+
156
+ - For consumer apps, run that app's normal typecheck, test, build, and visual
157
+ smoke checks.
158
+ - For generated rock assets, use a fixed seed and compare the output your app
159
+ expects.
@@ -0,0 +1,37 @@
1
+ ---
2
+ description: ToonLab developer guidance for Cursor agents
3
+ globs: "**/*"
4
+ alwaysApply: true
5
+ ---
6
+
7
+ # ToonLab
8
+
9
+ - Treat `node_modules/@call-me-sensei/toonlab/agents/codex/AGENTS.md` as the
10
+ shared developer guide.
11
+ - Help developers stylize and populate supplied scenes with ToonLab runtime,
12
+ Gallery, and MCP workflows. Do not promise one-shot world construction.
13
+ - Prefer package subpath imports such as `@call-me-sensei/toonlab/toon`,
14
+ `@call-me-sensei/toonlab/water`,
15
+ `@call-me-sensei/toonlab/vegetation-shaders`,
16
+ `@call-me-sensei/toonlab/grass-palettes`, and
17
+ `@call-me-sensei/toonlab/rockgen`;
18
+ keep root imports lightweight.
19
+ - Use TSL/NodeMaterial patterns. Do not guide developers toward raw GLSL,
20
+ `ShaderMaterial`, or classic WebGL-only forks for ToonLab features.
21
+ - Treat ToonLab labs, sample assets, screenshots, captures, and generated
22
+ manifests as examples, not runtime API.
23
+ - Use `agents/skills/` as reference material for feature-specific workflows.
24
+ - Material metadata is a blocking modeling deliverable. Every modeled,
25
+ generated, converted, or imported renderable needs a stable target ID and
26
+ domain; every material slot needs a stable material ID and semantic role in
27
+ the versioned ToonLab material contract. A root-only label is incomplete for
28
+ a multi-material asset. Split incompatible atlas regions or supply an ID
29
+ mask. Strict mode blocks handoff; advisory mode reports the gap and must not
30
+ describe incomplete material coverage as bundle-ready.
31
+ - Treat Sky and Cloud as supported focused authoring/runtime systems. Whole
32
+ terrain/biome/coast/cliff formation remains outside the npm boundary.
33
+ - Before style-aware construction, read the matching `style-presets` skill.
34
+ Before approving screenshots or reporting a package gap use
35
+ `visual-verification`. The Claude and Codex copies are byte-identical, so
36
+ either directory is authoritative.
37
+ - Verify with the consumer app's normal checks.
@@ -0,0 +1,24 @@
1
+ # ToonLab Anime-Game Art Direction
2
+
3
+ ToonLab is for anime-style games, characters, and environments. Do not treat
4
+ "stylized" as permission to drift toward generic low-poly, western cartoon,
5
+ pixel-art, or untreated photoreal rendering.
6
+
7
+ The selected style bundle is the visual authority. Its `artDirection` must
8
+ declare `family: "anime-game"`, `rendering: "cel-shaded"`, and both character
9
+ and environment subjects.
10
+
11
+ Evaluate every scene at gameplay camera distance:
12
+
13
+ - Group values into intentional light and shadow shapes.
14
+ - Preserve readable silhouettes and important material boundaries.
15
+ - Reduce high-frequency texture detail deliberately; do not merely blur it.
16
+ - Coordinate shadow color, atmosphere, sky, water, and post-processing.
17
+ - Use material-aware graphic highlights for skin, hair, cloth, metal, leaves,
18
+ rock, ground, and water rather than one universal specular response.
19
+ - Keep imported PBR maps as useful source information, then route the asset
20
+ through its owning ToonLab shader.
21
+
22
+ If an asset or renderer cannot meet this direction with a supported shader,
23
+ record a custom integration note instead of silently accepting a visually inconsistent
24
+ fallback.
@@ -0,0 +1,23 @@
1
+ # Asset-Sourcing Policy
2
+
3
+ Import from `@call-me-sensei/toonlab/asset-policy`.
4
+
5
+ Policies use one of three modes:
6
+
7
+ - `strict`: a candidate is usable only when its domain rule explicitly lists
8
+ the candidate's source class.
9
+ - `advisory`: preferred sources are ranked first; other registered sources
10
+ remain usable with a warning.
11
+ - `open`: every registered source class is allowed, with provenance retained.
12
+
13
+ Registered source classes are `project-library`, `toonlab-library`,
14
+ `toonlab-gallery`, `external-cc0`, `procedural`, and `custom`.
15
+
16
+ No policy means “ask, then advisory.” It never means strict and it never gives
17
+ an agent permission to claim that a sourcing requirement was satisfied.
18
+
19
+ The strict Call Me Sensei acceptance fixture allows rocks only from the
20
+ project library, ToonLab library, or ToonLab gallery. Trees may also use the
21
+ package's supported procedural legacy set or `BranchTree`. Other custom trees must be
22
+ reviewed and admitted to one of the approved libraries before that fixture can
23
+ use them.
@@ -0,0 +1,16 @@
1
+ # Custom integration records
2
+
3
+ Custom work should be traceable instead of becoming an invisible fallback. Before adding it, use
4
+ `record_asset_gap` or `createAssetGapRecord()` and record:
5
+
6
+ - Target and rendering domain.
7
+ - Relevant style-bundle slot.
8
+ - MCP searches, queries, candidate IDs, and rejection reasons.
9
+ - Why permitted library, gallery, external, or procedural routes failed.
10
+ - What custom model, texture, shader, or adapter was introduced.
11
+ - Provenance, license, generator/recipe/seed where relevant, and the decision owner.
12
+ - Why the customization exists and what your team may want to revisit later.
13
+
14
+ The MCP server maintains `.toonlab/reports/style-asset-gaps.json` and the
15
+ project-level `TOONLAB_ASSET_GAPS.md`. Keep both with your project whenever it
16
+ uses custom rendering or content outside the supported library.
@@ -0,0 +1,104 @@
1
+ # MCP Asset Discovery
2
+
3
+ Use MCP for discovery, provenance, shared workspace state, and policy-aware
4
+ imports. Use runtime package APIs for shader application and deterministic
5
+ runtime construction.
6
+
7
+ ## Detect the available ToonLab surface
8
+
9
+ Inspect the connected server's tool names before calling anything. Do not
10
+ assume the developer has ToonLab Pro, and do not assume a local OSS checkout.
11
+
12
+ - **ToonLab OSS local MCP** exposes `get_workspace_info`,
13
+ `search_cc0_assets`, `get_cc0_asset`, and `import_cc0_asset`. Its
14
+ `search_assets` searches built-in procedural entries, the complete official
15
+ R2-backed Gallery catalog, and the disk-backed project/library/workspace.
16
+ Use `source: 'official'` for released assets and follow `nextOffset` until
17
+ null.
18
+ - **ToonLab Pro remote MCP** exposes `get_runtime_guide`,
19
+ `search_public_gallery`, and `get_toonlab_asset`. Its `search_assets`
20
+ searches indexed external open assets; first-party rocks/trees and community
21
+ work are searched through `search_public_gallery`.
22
+ - **Both connected** is valid. Qualify calls by MCP server name because common
23
+ names such as `search_assets`, `get_asset`, `list_my_creations`, and
24
+ `validate_asset_candidate` have surface-specific schemas. Search the local
25
+ project/library first, then the Pro gallery and cloud library.
26
+
27
+ The absence of a surface-specific tool is not an asset failure. Continue with
28
+ the surface the developer actually has and report which surface was used.
29
+
30
+ ## Shared start
31
+
32
+ 1. Call the available server's `get_anime_game_profile` and load the selected
33
+ style bundle.
34
+ 2. Locate the project's asset-sourcing policy. If it is absent, ask the
35
+ developer. Until answered, continue library-first in advisory mode and
36
+ record that the decision is unresolved.
37
+ 3. Reuse accepted project/library content before public or generated content.
38
+
39
+ ## ToonLab OSS local sequence
40
+
41
+ 1. Call `list_my_creations` with the task's text and exact tag filters, then
42
+ `search_assets` with `source: 'library'`,
43
+ `'workspace'`, `'workspace-storage'`, or `'builtin'` as appropriate. If no
44
+ accepted local entry closes the role, call it with `source: 'official'` to
45
+ search the released Gallery through the local database. Follow
46
+ `nextOffset` until null so all matching official assets remain reachable.
47
+ 2. Call local `get_asset` for the complete recipe/file descriptor.
48
+ 3. When policy permits external CC0, call `search_cc0_assets`, then
49
+ `get_cc0_asset`; call `import_cc0_asset` only after selection to download
50
+ bytes plus their provenance manifest into `.toonlab/imports/`.
51
+ 4. Validate with local schema:
52
+ `validate_asset_candidate({ policy, candidate: { domain, sourceClass } })`.
53
+ 5. Local `generate_asset` creates deterministic procedural recipes. With local
54
+ provider keys configured, `generate_ai_asset` exposes image generation,
55
+ Meshy 7 image/multiview-to-3D, and Text → selected image model → Meshy 7.
56
+ Call `get_generation_capabilities` first, then poll with
57
+ `get_generation_job(s)` and persist a succeeded model with
58
+ `save_generated_asset`. This uses the developer's keys and no ToonLab credits.
59
+
60
+ ## ToonLab Pro remote sequence
61
+
62
+ 1. Call Pro `list_my_creations` with `query`, `tags`, and/or `types` for the
63
+ signed-in cloud library, following `nextOffset` until null.
64
+ 2. Call `search_public_gallery` with its unified default. For first-party
65
+ rocks/trees, use `source: 'toonlab'`, `catalog: 'rock' | 'tree'`, and keep
66
+ following `nextOffset`.
67
+ 3. Use Pro `search_assets` only for indexed external open assets, followed by
68
+ Pro `get_asset`. Pro has no `search_cc0_assets` or `import_cc0_asset`; the
69
+ selected download URL and provenance are returned by `get_asset`.
70
+ 4. Validate with Pro schema:
71
+ `validate_asset_candidate({ stable_id, source_class, asset_kind, domain,
72
+ license, provenance, policy })`.
73
+ 5. Managed generation requires an approved policy, exhausted discovery,
74
+ `record_asset_gap`, and `get_generation_capabilities` before any
75
+ consequential credit-spending call.
76
+
77
+ Follow `nextOffset` until null on both OSS and Pro catalog searches; never
78
+ interpret one response page as the complete candidate set.
79
+
80
+ ## Common completion rules
81
+
82
+ - Treat a saved Library object as a reusable asset, not an invisible draft.
83
+ When saving, assign up to ten stable lowercase slug tags covering semantic
84
+ role, material/asset family, location or biome, project, and lifecycle state.
85
+ Do not stuff prose into tags, and do not rely on a filename as the only
86
+ discovery key.
87
+
88
+ - For first-party rocks on either surface, shortlist from search metadata
89
+ before loading binaries. Require positive `dimensionsMeters.width`,
90
+ `.height`, and `.depth`, then compare family/profile, scale class, category,
91
+ subcategory, geology, and surface. Call `get_asset` (OSS) or
92
+ `get_toonlab_asset` (Pro) only for finalists that need the full recipe,
93
+ lineage, and immutable file list. Never render a GLB merely to discover its
94
+ catalog size.
95
+ - Inspect provenance, license, semantic suitability, `animeStyleSupport`, and
96
+ the policy decision before selection. A strict denial means the candidate
97
+ must not be selected, imported, or generated.
98
+ - Search results may show denied candidates so the user can see what was
99
+ considered; visibility is not approval.
100
+ - Use generation only when the policy permits it and discovery did not close
101
+ the named gap.
102
+ - Record a custom integration note before introducing custom models, textures, shaders, or
103
+ adapters. The OSS and Pro `record_asset_gap` argument names differ, so use
104
+ the schema advertised by the connected server.