@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.
- package/NPM-LIBRARY.md +225 -0
- package/README.md +588 -184
- package/agents/PROMPTS.md +87 -0
- package/agents/README.md +54 -0
- package/agents/claude/CLAUDE.md +8 -0
- package/agents/codex/AGENTS.md +159 -0
- package/agents/cursor/toonlab.mdc +37 -0
- package/agents/references/anime-art-direction.md +24 -0
- package/agents/references/asset-sourcing-policy.md +23 -0
- package/agents/references/custom-gap-report.md +16 -0
- package/agents/references/mcp-asset-discovery.md +104 -0
- package/agents/references/runtime-entry-points.md +175 -0
- package/agents/references/style-bundles.md +71 -0
- package/agents/skills/claude/asset-sourcing/SKILL.md +275 -0
- package/agents/skills/claude/environment/SKILL.md +59 -0
- package/agents/skills/claude/game-dev/SKILL.md +100 -0
- package/agents/skills/claude/post-processing/SKILL.md +44 -0
- package/agents/skills/claude/rock-ground-shaders/SKILL.md +134 -0
- package/agents/skills/claude/rockgen/SKILL.md +30 -0
- package/agents/skills/claude/scene-style-application/SKILL.md +74 -0
- package/agents/skills/claude/style-presets/SKILL.md +101 -0
- package/agents/skills/claude/toon-shading/SKILL.md +44 -0
- package/agents/skills/claude/vegetation-sky/SKILL.md +167 -0
- package/agents/skills/claude/visual-verification/SKILL.md +136 -0
- package/agents/skills/claude/water/SKILL.md +105 -0
- package/agents/skills/codex/asset-sourcing/SKILL.md +275 -0
- package/agents/skills/codex/environment/SKILL.md +59 -0
- package/agents/skills/codex/game-dev/SKILL.md +100 -0
- package/agents/skills/codex/post-processing/SKILL.md +44 -0
- package/agents/skills/codex/rock-ground-shaders/SKILL.md +134 -0
- package/agents/skills/codex/rockgen/SKILL.md +30 -0
- package/agents/skills/codex/scene-style-application/SKILL.md +74 -0
- package/agents/skills/codex/style-presets/SKILL.md +101 -0
- package/agents/skills/codex/toon-shading/SKILL.md +44 -0
- package/agents/skills/codex/vegetation-sky/SKILL.md +167 -0
- package/agents/skills/codex/visual-verification/SKILL.md +136 -0
- package/agents/skills/codex/water/SKILL.md +105 -0
- package/cli/toonlab.mjs +53 -0
- package/compose.yaml +20 -0
- package/database/apply-sql.mjs +141 -0
- package/database/client.mjs +39 -0
- package/database/creation-tags.mjs +23 -0
- package/database/env.mjs +16 -0
- package/database/fal-patina.mjs +131 -0
- package/database/generation-service.mjs +415 -0
- package/database/migrations/0001_local_workspace.sql +120 -0
- package/database/migrations/0002_file_ownership.sql +11 -0
- package/database/migrations/0003_remove_autosaves_from_library.sql +7 -0
- package/database/migrations/0004_catalog_asset_packs.sql +39 -0
- package/database/migrations/0005_creation_tag_discovery.sql +1 -0
- package/database/migrations/0006_normalize_creation_tags.sql +28 -0
- package/database/migrations/0007_creation_revisions.sql +80 -0
- package/database/migrations/0008_creation_revision_hardening.sql +98 -0
- package/database/migrations/0009_creation_revision_delete_integrity.sql +11 -0
- package/database/migrations/0010_external_catalog_assets.sql +28 -0
- package/database/providers.mjs +644 -0
- package/database/repository.mjs +1073 -0
- package/database/seeds/catalog/0001_empty_official_catalog.sql +4 -0
- package/database/seeds/catalog/0002_2026-08.sql +19454 -0
- package/database/seeds/catalog/0003_2026-08-open-assets.sql +159086 -0
- package/database/seeds/catalog/0004_2026-08-c7-rocks.sql +39405 -0
- package/mcp/lab-management.mjs +629 -0
- package/mcp/public-catalog.mjs +168 -0
- package/mcp/server.mjs +1044 -63
- package/mcp/vite-plugin.mjs +519 -26
- package/mcp/workspace.mjs +26 -1
- package/package.json +334 -46
- package/scripts/generate-catalog-seed.mjs +324 -0
- package/scripts/setup-local.mjs +128 -0
- package/src/agents/index.js +7 -0
- package/src/agents/sceneStyleOperations.js +169 -0
- package/src/asset-policy/catalogLicenses.js +102 -0
- package/src/asset-policy/index.js +315 -0
- package/src/assetlib/assetRef.js +1 -1
- package/src/assetlib/galleryMaterialFamily.js +165 -0
- package/src/assetlib/index.js +6 -2
- package/src/assetlib/loadImported.js +15 -1
- package/src/assetlib/plateau.js +188 -0
- package/src/assetlib/plateauLandmarks.js +144 -0
- package/src/assetlib/plateauViewer.js +348 -0
- package/src/assetlib/sources.js +16 -2
- package/src/catalog/manifest.js +11 -1
- package/src/catalog/officialCatalog.js +4 -0
- package/src/catalog/officialCatalogAssetRuntime.js +324 -0
- package/src/catalog/officialCatalogLod.js +183 -0
- package/src/catalog/officialCatalogPlacement.js +243 -0
- package/src/catalog/officialCatalogProvider.js +334 -0
- package/src/character/animationRetarget.js +1084 -0
- package/src/character/characterRig.js +6 -1
- package/src/character/characterRuntime.js +544 -0
- package/src/character/groundStabilizer.js +137 -0
- package/src/character/index.js +8 -0
- package/src/character/locomotionActions.js +74 -0
- package/src/character/locomotionStateMachine.js +241 -0
- package/src/character/mannequinAsset.js +15 -0
- package/src/character/mannequinAssetUrl.browser.js +4 -0
- package/src/character/mannequinAssetUrl.node.js +3 -0
- package/src/character/modelLoader.js +92 -12
- package/src/character/walkableCharacterRuntime.js +284 -0
- package/src/character/waterInteractionController.js +217 -0
- package/src/cloud/ambientSkyBaker.js +248 -0
- package/src/cloud/cloudLighting.js +1114 -0
- package/src/cloud/cloudParams.js +819 -0
- package/src/cloud/cloudReprojection.js +563 -0
- package/src/cloud/cloudStyle.js +780 -0
- package/src/cloud/cloudStyleSnapshots.js +387 -0
- package/src/cloud/cloudVolume.js +1903 -0
- package/src/cloud/heroCloudRecipe.js +404 -0
- package/src/cloud/index.js +42 -0
- package/src/cloud/noise/baseShapeVolume.js +331 -0
- package/src/cloud/noise/cirrusMap.js +131 -0
- package/src/cloud/noise/curlNoise.js +289 -0
- package/src/cloud/noise/erosionVolume.js +188 -0
- package/src/cloud/noise/noiseVolume.js +202 -0
- package/src/cloud/noise/periodicNoise3.js +295 -0
- package/src/cloud/noise/weatherMap.js +470 -0
- package/src/cloud/paramSchema.js +458 -0
- package/src/collisionMetadata.js +320 -0
- package/src/core/systemStylePolicy.js +32 -0
- package/src/environment/dayCurves.js +146 -0
- package/src/environment/environmentGroundFieldPass.js +354 -0
- package/src/environment/environmentMaterialAdapter.js +144 -6
- package/src/environment/environmentPresets.js +486 -90
- package/src/environment/environmentRigs.js +17 -2
- package/src/environment/environmentSettings.js +37 -1
- package/src/environment/environmentShaderMaterials.js +37 -6
- package/src/environment/environmentState.js +133 -0
- package/src/environment/environmentSunShadowPass.js +399 -6
- package/src/environment/environmentTextureResolver.js +7 -0
- package/src/environment/index.js +51 -0
- package/src/environment/manufacturedMaterialContract.js +837 -0
- package/src/environment/manufacturedReflectionProvider.js +114 -0
- package/src/environment/scanAssetStylize.js +4 -4
- package/src/environment/surfaceMaterialModes.js +71 -0
- package/src/environment/toonLabEnvironmentMaterials.js +353 -0
- package/src/environment/toonLabMaterialPassCoupling.js +347 -0
- package/src/environment/toonLabNormalIntegration.js +171 -0
- package/src/environment/toonLabRockMaterialResolver.js +592 -0
- package/src/environment/toonLabSourceDefaultLit.js +444 -0
- package/src/environment/toonLabSourceLibrary.js +762 -0
- package/src/environment/toonLabSourceMaterials.js +3718 -0
- package/src/environment/toonLabSourceSubsurfaceLighting.js +415 -0
- package/src/environment/toonLabSourceTemporal.js +717 -0
- package/src/environment/toonLabSurfaceLighting.js +462 -0
- package/src/environment/toonLabTextureReadiness.js +105 -0
- package/src/environment/toonLabTreeMaterials.js +450 -0
- package/src/environment/transparentMaterialProfile.js +87 -0
- package/src/environment/urbanPropMaterial.js +2976 -0
- package/src/ground-shader/groundPrintLayer.js +375 -0
- package/src/ground-shader/groundShaderMaterial.js +851 -0
- package/src/ground-shader/groundShaderSettings.js +468 -0
- package/src/ground-shader/index.js +3 -0
- package/src/index.js +52 -22
- package/src/lighting/callMeSenseiLightingContract.js +163 -0
- package/src/lighting/index.js +14 -7
- package/src/lighting/lightingCapabilities.js +2 -2
- package/src/lighting/lightingPresets.js +6 -3
- package/src/lighting/lightingStyle.js +41 -6
- package/src/lighting/lightingSystem.js +200 -6
- package/src/lighting/{unrealExport.js → toonLabExport.js} +40 -41
- package/src/post/postProcessing.js +71 -12
- package/src/react/index.js +66 -0
- package/src/renderer/index.js +16 -0
- package/src/renderer/rendererConfiguration.js +250 -0
- package/src/renderer/styleComparison.js +985 -0
- package/src/rock-shader/index.js +8 -0
- package/src/rock-shader/rockGeometryDetail.js +701 -0
- package/src/rock-shader/rockMaterial.js +2586 -0
- package/src/rock-shader/rockRegionRuntime.js +185 -0
- package/src/rock-shader/rockSemanticMaterialRuntime.js +337 -0
- package/src/rock-shader/rockShaderRuntime.js +781 -0
- package/src/rock-shader/rockShaderSettings.js +1099 -0
- package/src/rock-shader/rockTangentIntegrity.js +136 -0
- package/src/rock-shader/rockTextureIntegrity.js +115 -0
- package/src/rockgen/export/glbExport.js +104 -14
- package/src/rockgen/index.js +5 -3
- package/src/rockgen/lod/index.js +6 -0
- package/src/rockgen/lod/rockLodMetrics.js +168 -0
- package/src/rockgen/lod/rockLodPlanner.js +372 -0
- package/src/rockgen/lod/rockLodPolicy.js +235 -0
- package/src/rockgen/lod/rockLodRuntime.js +124 -0
- package/src/rockgen/lod/rockLodSimplifier.js +173 -0
- package/src/rockgen/lod/rockLodValidation.js +113 -0
- package/src/rockgen/mesh/meshAttributes.js +17 -0
- package/src/rockgen/mesh/meshDocument.js +6 -0
- package/src/rockgen/rockDocument.js +376 -9
- package/src/rockgen/rockgenPresets.js +114 -13
- package/src/rockgen/rockgenSettings.js +62 -11
- package/src/rockgen/surface/c7GeologySurface.js +372 -0
- package/src/runtime/index.js +14 -0
- package/src/runtime/sceneCollisionRuntime.js +317 -0
- package/src/runtime/sceneSurfaceRuntime.js +451 -0
- package/src/runtime/sceneUpdateScheduler.js +203 -0
- package/src/shaders-tsl/anime.js +9 -2
- package/src/shaders-tsl/chunks/environment-ground-field.js +174 -0
- package/src/shaders-tsl/chunks/environment-state.js +79 -0
- package/src/shaders-tsl/chunks/environment-sun-shadow.js +99 -32
- package/src/shaders-tsl/chunks/normalized-hue.js +41 -0
- package/src/shaders-tsl/chunks/pass-depth-color.js +4 -2
- package/src/shaders-tsl/chunks/scene-depth-color-pass.js +273 -0
- package/src/shaders-tsl/chunks/vegetation-style.js +116 -8
- package/src/shaders-tsl/chunks/water-color.js +19 -5
- package/src/shaders-tsl/chunks/water-shore-state.js +8 -1
- package/src/shaders-tsl/chunks/world-noise.js +30 -0
- package/src/shaders-tsl/environment.js +123 -17
- package/src/shaders-tsl/flower.js +51 -8
- package/src/shaders-tsl/grass.js +194 -29
- package/src/shaders-tsl/post-composite.js +83 -2
- package/src/shaders-tsl/tree-leaf.js +107 -16
- package/src/shaders-tsl/water-breaker.js +18 -4
- package/src/shaders-tsl/water.js +51 -3
- package/src/shaders-tsl/woody-surface.js +59 -7
- package/src/sky/atmosphereDome.js +193 -0
- package/src/sky/atmosphereParams.js +396 -0
- package/src/sky/atmosphereScattering.js +593 -0
- package/src/sky/atmosphereSky.js +371 -0
- package/src/sky/cloudShadow.js +379 -0
- package/src/sky/godRays.js +257 -0
- package/src/sky/index.js +55 -1
- package/src/sky/nightSky.js +1190 -0
- package/src/sky/renderLayers.js +120 -0
- package/src/sky/skyColor.js +582 -0
- package/src/sky/skyDayCycle.js +244 -0
- package/src/sky/skyParams.js +661 -0
- package/src/sky/skyPresets.js +772 -0
- package/src/sky/skyQualityTiers.js +383 -0
- package/src/sky/skyShaderSettings.js +699 -0
- package/src/sky/skyStyleSnapshots.js +211 -0
- package/src/sky/skySystem.js +1447 -0
- package/src/sky/skyTimeKeyframes.js +361 -0
- package/src/sky/stylizedSky.js +405 -116
- package/src/sky/sunDriver.js +499 -0
- package/src/sky/timeOfDay.js +335 -0
- package/src/styles/animeGameProfile.js +44 -0
- package/src/styles/index.js +157 -0
- package/src/styles/manufacturedStyleLabeling.js +204 -0
- package/src/styles/neutralStylePresets.js +712 -0
- package/src/styles/sceneLayerDocuments.js +185 -0
- package/src/styles/sceneLookComposition.js +156 -0
- package/src/styles/sceneQualityApplication.js +152 -0
- package/src/styles/sceneQualityProfiles.js +268 -0
- package/src/styles/sceneStyleAudit.js +512 -0
- package/src/styles/sceneStyleRuntime.js +923 -0
- package/src/styles/styleAdapters.js +177 -0
- package/src/styles/styleApplication.js +369 -0
- package/src/styles/styleBundle.js +445 -92
- package/src/styles/styleBundleProvider.js +83 -0
- package/src/styles/styleDomains.js +21 -0
- package/src/styles/styleInspector.js +262 -0
- package/src/styles/styleMaterialContract.js +375 -0
- package/src/styles/styleMetadata.js +73 -0
- package/src/styles/styleTargetDiscovery.js +162 -0
- package/src/styles/styleTargetLabels.js +206 -0
- package/src/styles/styleTargetMaterialCoverage.js +137 -0
- package/src/styles/styleTransaction.js +272 -0
- package/src/texgen/evaluateTexture.js +30 -3
- package/src/texgen/textureGenerators.js +83 -35
- package/src/texgen/textureSettings.js +25 -8
- package/src/toon/toonSettings.js +100 -2
- package/src/vegetation/branchTree.js +587 -0
- package/src/vegetation/callMeSenseiGrass.js +183 -0
- package/src/vegetation/compiledTree.js +506 -0
- package/src/vegetation/contactShadowField.js +107 -0
- package/src/vegetation/flowerSpecies.js +10 -2
- package/src/vegetation/grass.js +13 -0
- package/src/vegetation/grassClump.js +1179 -0
- package/src/vegetation/importedVegetationMaterial.js +183 -0
- package/src/vegetation/index.js +17 -1
- package/src/vegetation/legacyTreePresets.js +120 -0
- package/src/vegetation/scatter.js +688 -3
- package/src/vegetation/stylizedBush.js +14 -0
- package/src/vegetation/stylizedFlower.js +31 -0
- package/src/vegetation/stylizedFlowers.js +59 -7
- package/src/vegetation/stylizedForest.js +455 -147
- package/src/vegetation/stylizedGrass.js +188 -24
- package/src/vegetation/stylizedTree.js +676 -54
- package/src/vegetation/stylizedTreeFoliage.js +1111 -38
- package/src/vegetation/stylizedUnderstory.js +230 -0
- package/src/vegetation/treeExport.js +262 -47
- package/src/vegetation/treeSurfaceTextures.js +665 -0
- package/src/vegetation/vegetationShaders.js +617 -28
- package/src/version.js +3 -0
- package/src/water/water.js +2 -0
- package/src/water/waterBreakerSystem.js +2 -0
- package/src/water/waterCurrentField.js +1 -0
- package/src/water/waterMaterial.js +3 -0
- package/src/water/waterRain.js +2 -0
- package/src/water/waterScenePasses.js +170 -7
- package/src/water/waterSettings.js +250 -50
- package/src/water/waterShoreMaterial.js +16 -2
- package/src/water/waterShoreStateField.js +1 -1
- package/src/water/waterSplashSystem.js +2 -0
- package/src/water/waterStageSettings.js +60 -0
- package/src/water/waterSurface.js +144 -4
- package/src/water/waterUnderwaterAtmosphere.js +288 -0
- package/src/water/waterVegetation.js +20 -4
- package/src/worldCollision.js +64 -9
- package/types/agents/index.d.ts +1 -0
- package/types/agents/sceneStyleOperations.d.ts +484 -0
- package/types/asset-policy/catalogLicenses.d.ts +7 -0
- package/types/asset-policy/index.d.ts +20 -0
- package/types/assetlib/ambientcg.d.ts +81 -0
- package/types/assetlib/assetRef.d.ts +26 -0
- package/types/assetlib/galleryMaterialFamily.d.ts +13 -0
- package/types/assetlib/importedEntry.d.ts +18 -0
- package/types/assetlib/index.d.ts +16 -0
- package/types/assetlib/kaykit.d.ts +112 -0
- package/types/assetlib/kaykitStaticIndex.d.ts +38 -0
- package/types/assetlib/loadImported.d.ts +56 -0
- package/types/assetlib/opensource3d.d.ts +55 -0
- package/types/assetlib/plateau.d.ts +67 -0
- package/types/assetlib/plateauLandmarks.d.ts +238 -0
- package/types/assetlib/plateauViewer.d.ts +3 -0
- package/types/assetlib/polyhaven.d.ts +90 -0
- package/types/assetlib/polypizza.d.ts +10 -0
- package/types/assetlib/smithsonian.d.ts +9 -0
- package/types/assetlib/sources.d.ts +22 -0
- package/types/assetlib/zip.d.ts +8 -0
- package/types/catalog/manifest.d.ts +26 -0
- package/types/catalog/officialCatalog.d.ts +4 -0
- package/types/catalog/officialCatalogAssetRuntime.d.ts +2 -0
- package/types/catalog/officialCatalogLod.d.ts +63 -0
- package/types/catalog/officialCatalogPlacement.d.ts +49 -0
- package/types/catalog/officialCatalogProvider.d.ts +7 -0
- package/types/character/animationRetarget.d.ts +20 -0
- package/types/character/characterRig.d.ts +87 -0
- package/types/character/characterRuntime.d.ts +5 -0
- package/types/character/freestyleSwimClip.d.ts +5 -0
- package/types/character/groundStabilizer.d.ts +55 -0
- package/types/character/index.d.ts +10 -0
- package/types/character/locomotionActions.d.ts +4 -0
- package/types/character/locomotionStateMachine.d.ts +62 -0
- package/types/character/mannequinAsset.d.ts +12 -0
- package/types/character/mannequinAssetUrl.node.d.ts +1 -0
- package/types/character/modelLoader.d.ts +7 -0
- package/types/character/walkableCharacterRuntime.d.ts +343 -0
- package/types/character/waterInteractionController.d.ts +114 -0
- package/types/cloud/ambientSkyBaker.d.ts +18 -0
- package/types/cloud/cloudLighting.d.ts +38 -0
- package/types/cloud/cloudParams.d.ts +18 -0
- package/types/cloud/cloudReprojection.d.ts +15 -0
- package/types/cloud/cloudStyle.d.ts +1380 -0
- package/types/cloud/cloudStyleSnapshots.d.ts +10 -0
- package/types/cloud/cloudVolume.d.ts +43 -0
- package/types/cloud/heroCloudRecipe.d.ts +167 -0
- package/types/cloud/index.d.ts +12 -0
- package/types/cloud/noise/baseShapeVolume.d.ts +86 -0
- package/types/cloud/noise/cirrusMap.d.ts +24 -0
- package/types/cloud/noise/curlNoise.d.ts +106 -0
- package/types/cloud/noise/erosionVolume.d.ts +58 -0
- package/types/cloud/noise/noiseVolume.d.ts +63 -0
- package/types/cloud/noise/periodicNoise3.d.ts +75 -0
- package/types/cloud/noise/weatherMap.d.ts +227 -0
- package/types/cloud/paramSchema.d.ts +142 -0
- package/types/collisionMetadata.d.ts +11 -0
- package/types/core/generation.d.ts +95 -0
- package/types/core/materialRoles.d.ts +102 -0
- package/types/core/presetDocuments.d.ts +25 -0
- package/types/core/systemStylePolicy.d.ts +4 -0
- package/types/environment/dayCurves.d.ts +47 -0
- package/types/environment/environmentAmbientProbe.d.ts +2 -0
- package/types/environment/environmentGroundFieldPass.d.ts +2 -0
- package/types/environment/environmentMaterialAdapter.d.ts +44 -0
- package/types/environment/environmentMaterialClassifier.d.ts +26 -0
- package/types/environment/environmentPlanarReflection.d.ts +3 -0
- package/types/environment/environmentPresets.d.ts +171 -0
- package/types/environment/environmentRigs.d.ts +13 -0
- package/types/environment/environmentSettings.d.ts +161 -0
- package/types/environment/environmentShaderMaterials.d.ts +14 -0
- package/types/environment/environmentState.d.ts +6 -0
- package/types/environment/environmentSunShadowPass.d.ts +2 -0
- package/types/environment/environmentTextureResolver.d.ts +30 -0
- package/types/environment/environmentTimeOfDay.d.ts +25 -0
- package/types/environment/environmentVertexAo.d.ts +18 -0
- package/types/environment/index.d.ts +27 -0
- package/types/environment/manufacturedMaterialContract.d.ts +129 -0
- package/types/environment/manufacturedReflectionProvider.d.ts +3 -0
- package/types/environment/scanAssetStylize.d.ts +43 -0
- package/types/environment/surfaceMaterialModes.d.ts +14 -0
- package/types/environment/toonLabEnvironmentMaterials.d.ts +139 -0
- package/types/environment/toonLabMaterialPassCoupling.d.ts +7 -0
- package/types/environment/toonLabNormalIntegration.d.ts +29 -0
- package/types/environment/toonLabRockMaterialResolver.d.ts +270 -0
- package/types/environment/toonLabSourceDefaultLit.d.ts +136 -0
- package/types/environment/toonLabSourceLibrary.d.ts +19 -0
- package/types/environment/toonLabSourceMaterials.d.ts +14 -0
- package/types/environment/toonLabSourceSubsurfaceLighting.d.ts +85 -0
- package/types/environment/toonLabSourceTemporal.d.ts +20 -0
- package/types/environment/toonLabSurfaceLighting.d.ts +153 -0
- package/types/environment/toonLabTextureReadiness.d.ts +8 -0
- package/types/environment/toonLabTreeMaterials.d.ts +7 -0
- package/types/environment/transparentMaterialProfile.d.ts +76 -0
- package/types/environment/urbanPropMaterial.d.ts +25 -0
- package/types/ground-shader/groundPrintLayer.d.ts +4 -0
- package/types/ground-shader/groundShaderMaterial.d.ts +11 -0
- package/types/ground-shader/groundShaderSettings.d.ts +90 -0
- package/types/ground-shader/index.d.ts +3 -0
- package/types/index.d.ts +1591 -0
- package/types/lighting/callMeSenseiLightingContract.d.ts +14 -0
- package/types/lighting/colorIntensity.d.ts +44 -0
- package/types/lighting/index.d.ts +12 -0
- package/types/lighting/lightDescriptors.d.ts +803 -0
- package/types/lighting/lightingCapabilities.d.ts +85 -0
- package/types/lighting/lightingDocuments.d.ts +140 -0
- package/types/lighting/lightingFixtures.d.ts +171 -0
- package/types/lighting/lightingGenerator.d.ts +403 -0
- package/types/lighting/lightingPresets.d.ts +264 -0
- package/types/lighting/lightingRuntime.d.ts +401 -0
- package/types/lighting/lightingStyle.d.ts +156 -0
- package/types/lighting/lightingSystem.d.ts +440 -0
- package/types/lighting/toonLabExport.d.ts +46 -0
- package/types/lighting/utils.d.ts +18 -0
- package/types/loaders/index.d.ts +1 -0
- package/types/post/index.d.ts +2 -0
- package/types/post/postGenerator.d.ts +282 -0
- package/types/post/postProcessing.d.ts +16 -0
- package/types/react/index.d.ts +1785 -0
- package/types/renderer/index.d.ts +2 -0
- package/types/renderer/rendererConfiguration.d.ts +8 -0
- package/types/renderer/styleComparison.d.ts +409 -0
- package/types/rock-shader/index.d.ts +8 -0
- package/types/rock-shader/rockGeometryDetail.d.ts +300 -0
- package/types/rock-shader/rockMaterial.d.ts +21 -0
- package/types/rock-shader/rockRegionRuntime.d.ts +86 -0
- package/types/rock-shader/rockSemanticMaterialRuntime.d.ts +29 -0
- package/types/rock-shader/rockShaderRuntime.d.ts +10 -0
- package/types/rock-shader/rockShaderSettings.d.ts +184 -0
- package/types/rock-shader/rockTangentIntegrity.d.ts +51 -0
- package/types/rock-shader/rockTextureIntegrity.d.ts +61 -0
- package/types/rockgen/export/glbExport.d.ts +58 -0
- package/types/rockgen/heightfield/heightfieldErosion.d.ts +10 -0
- package/types/rockgen/heightfield/heightfieldPatch.d.ts +15 -0
- package/types/rockgen/heightfield/stylizedErosionSim.d.ts +41 -0
- package/types/rockgen/index.d.ts +12 -0
- package/types/rockgen/lod/index.d.ts +6 -0
- package/types/rockgen/lod/rockLodMetrics.d.ts +62 -0
- package/types/rockgen/lod/rockLodPlanner.d.ts +86 -0
- package/types/rockgen/lod/rockLodPolicy.d.ts +76 -0
- package/types/rockgen/lod/rockLodRuntime.d.ts +95 -0
- package/types/rockgen/lod/rockLodSimplifier.d.ts +15 -0
- package/types/rockgen/lod/rockLodValidation.d.ts +16 -0
- package/types/rockgen/mesh/meshAttributes.d.ts +32 -0
- package/types/rockgen/mesh/meshDocument.d.ts +40 -0
- package/types/rockgen/mesh/surfaceNets.d.ts +42 -0
- package/types/rockgen/noise/cellularNoise3.d.ts +24 -0
- package/types/rockgen/noise/prng.d.ts +16 -0
- package/types/rockgen/noise/simplexNoise3.d.ts +2 -0
- package/types/rockgen/noise/valueNoise3.d.ts +12 -0
- package/types/rockgen/rockDocument.d.ts +243 -0
- package/types/rockgen/rockHelpers.d.ts +2 -0
- package/types/rockgen/rockgenPresets.d.ts +10 -0
- package/types/rockgen/rockgenSettings.d.ts +531 -0
- package/types/rockgen/sdf/fieldCompiler.d.ts +20 -0
- package/types/rockgen/sdf/sculptEdits.d.ts +30 -0
- package/types/rockgen/sdf/sdfModifiers.d.ts +19 -0
- package/types/rockgen/sdf/sdfOps.d.ts +8 -0
- package/types/rockgen/sdf/sdfPrimitives.d.ts +22 -0
- package/types/rockgen/surface/c7GeologySurface.d.ts +8 -0
- package/types/runtime/index.d.ts +3 -0
- package/types/runtime/sceneCollisionRuntime.d.ts +94 -0
- package/types/runtime/sceneSurfaceRuntime.d.ts +90 -0
- package/types/runtime/sceneUpdateScheduler.d.ts +28 -0
- package/types/shaders-tsl/anime.d.ts +9 -0
- package/types/shaders-tsl/chunks/character-color.d.ts +6 -0
- package/types/shaders-tsl/chunks/character-highlights.d.ts +12 -0
- package/types/shaders-tsl/chunks/character-lighting.d.ts +20 -0
- package/types/shaders-tsl/chunks/character-material-maps.d.ts +18 -0
- package/types/shaders-tsl/chunks/character-roles.d.ts +21 -0
- package/types/shaders-tsl/chunks/character-scene-lights.d.ts +48 -0
- package/types/shaders-tsl/chunks/character-shadow-color.d.ts +5 -0
- package/types/shaders-tsl/chunks/character-skinning.d.ts +23 -0
- package/types/shaders-tsl/chunks/environment-color.d.ts +9 -0
- package/types/shaders-tsl/chunks/environment-debug.d.ts +24 -0
- package/types/shaders-tsl/chunks/environment-ground-field.d.ts +40 -0
- package/types/shaders-tsl/chunks/environment-lighting.d.ts +22 -0
- package/types/shaders-tsl/chunks/environment-state.d.ts +42 -0
- package/types/shaders-tsl/chunks/environment-sun-shadow.d.ts +19 -0
- package/types/shaders-tsl/chunks/foliage-fog.d.ts +21 -0
- package/types/shaders-tsl/chunks/normalized-hue.d.ts +1 -0
- package/types/shaders-tsl/chunks/pass-depth-color.d.ts +20 -0
- package/types/shaders-tsl/chunks/projected-water-caustics.d.ts +24 -0
- package/types/shaders-tsl/chunks/scene-depth-color-pass.d.ts +39 -0
- package/types/shaders-tsl/chunks/stylized-cloud-shadow.d.ts +9 -0
- package/types/shaders-tsl/chunks/vegetation-style.d.ts +60 -0
- package/types/shaders-tsl/chunks/water-color.d.ts +15 -0
- package/types/shaders-tsl/chunks/water-common.d.ts +9 -0
- package/types/shaders-tsl/chunks/water-foam.d.ts +8 -0
- package/types/shaders-tsl/chunks/water-lighting.d.ts +9 -0
- package/types/shaders-tsl/chunks/water-ripple.d.ts +8 -0
- package/types/shaders-tsl/chunks/water-shore-state.d.ts +7 -0
- package/types/shaders-tsl/chunks/water-waves.d.ts +18 -0
- package/types/shaders-tsl/chunks/world-noise.d.ts +4 -0
- package/types/shaders-tsl/environment-ao-overlay.d.ts +5 -0
- package/types/shaders-tsl/environment.d.ts +34 -0
- package/types/shaders-tsl/flower.d.ts +6 -0
- package/types/shaders-tsl/grass.d.ts +4 -0
- package/types/shaders-tsl/post-composite.d.ts +25 -0
- package/types/shaders-tsl/sky.d.ts +4 -0
- package/types/shaders-tsl/tree-leaf.d.ts +2 -0
- package/types/shaders-tsl/water-breaker.d.ts +15 -0
- package/types/shaders-tsl/water-kelp.d.ts +5 -0
- package/types/shaders-tsl/water-rain.d.ts +10 -0
- package/types/shaders-tsl/water-shore-state-simulation.d.ts +12 -0
- package/types/shaders-tsl/water-simulation.d.ts +5 -0
- package/types/shaders-tsl/water-splash.d.ts +12 -0
- package/types/shaders-tsl/water.d.ts +22 -0
- package/types/shaders-tsl/woody-surface.d.ts +3 -0
- package/types/sky/atmosphereDome.d.ts +2 -0
- package/types/sky/atmosphereParams.d.ts +185 -0
- package/types/sky/atmosphereScattering.d.ts +11 -0
- package/types/sky/atmosphereSky.d.ts +2 -0
- package/types/sky/cloudShadow.d.ts +69 -0
- package/types/sky/godRays.d.ts +5 -0
- package/types/sky/index.d.ts +18 -0
- package/types/sky/nightSky.d.ts +22 -0
- package/types/sky/renderLayers.d.ts +59 -0
- package/types/sky/sceneOverrideLayers.d.ts +10 -0
- package/types/sky/skyColor.d.ts +704 -0
- package/types/sky/skyDayCycle.d.ts +86 -0
- package/types/sky/skyParams.d.ts +3407 -0
- package/types/sky/skyPresets.d.ts +160 -0
- package/types/sky/skyQuality.d.ts +21 -0
- package/types/sky/skyQualityTiers.d.ts +223 -0
- package/types/sky/skyShaderSettings.d.ts +152 -0
- package/types/sky/skyStyleSnapshots.d.ts +11 -0
- package/types/sky/skySystem.d.ts +3 -0
- package/types/sky/skyTimeKeyframes.d.ts +230 -0
- package/types/sky/stylizedSky.d.ts +341 -0
- package/types/sky/sunDriver.d.ts +15 -0
- package/types/sky/timeOfDay.d.ts +145 -0
- package/types/styles/animeGameProfile.d.ts +27 -0
- package/types/styles/index.d.ts +18 -0
- package/types/styles/manufacturedStyleLabeling.d.ts +119 -0
- package/types/styles/neutralStylePresets.d.ts +944 -0
- package/types/styles/sceneLayerDocuments.d.ts +145 -0
- package/types/styles/sceneLookComposition.d.ts +53 -0
- package/types/styles/sceneQualityApplication.d.ts +34 -0
- package/types/styles/sceneQualityProfiles.d.ts +13 -0
- package/types/styles/sceneStyleAudit.d.ts +80 -0
- package/types/styles/sceneStyleRuntime.d.ts +1802 -0
- package/types/styles/styleAdapters.d.ts +14 -0
- package/types/styles/styleApplication.d.ts +47 -0
- package/types/styles/styleBundle.d.ts +19 -0
- package/types/styles/styleBundleProvider.d.ts +44 -0
- package/types/styles/styleDomains.d.ts +18 -0
- package/types/styles/styleInspector.d.ts +59 -0
- package/types/styles/styleMaterialContract.d.ts +46 -0
- package/types/styles/styleMetadata.d.ts +11 -0
- package/types/styles/styleTargetDiscovery.d.ts +48 -0
- package/types/styles/styleTargetLabels.d.ts +32 -0
- package/types/styles/styleTargetMaterialCoverage.d.ts +20 -0
- package/types/styles/styleTransaction.d.ts +10 -0
- package/types/styles/styleTypes.d.ts +66 -0
- package/types/texgen/evaluateTexture.d.ts +40 -0
- package/types/texgen/index.d.ts +7 -0
- package/types/texgen/noise2.d.ts +46 -0
- package/types/texgen/textureAi.d.ts +6 -0
- package/types/texgen/textureGenerators.d.ts +261 -0
- package/types/texgen/texturePresets.d.ts +45 -0
- package/types/texgen/textureSettings.d.ts +121 -0
- package/types/texgen/textureThree.d.ts +13 -0
- package/types/toon/characterRenderPasses.d.ts +3 -0
- package/types/toon/index.d.ts +3 -0
- package/types/toon/settings/alphaSettings.d.ts +125 -0
- package/types/toon/settings/averageShadowSettings.d.ts +39 -0
- package/types/toon/settings/baseTextureSettings.d.ts +39 -0
- package/types/toon/settings/celShadeSettings.d.ts +37 -0
- package/types/toon/settings/contactShadowSettings.d.ts +30 -0
- package/types/toon/settings/eyeHighlightSettings.d.ts +55 -0
- package/types/toon/settings/faceLightingSettings.d.ts +32 -0
- package/types/toon/settings/furSettings.d.ts +23 -0
- package/types/toon/settings/glitterSettings.d.ts +43 -0
- package/types/toon/settings/hairHighlightSettings.d.ts +89 -0
- package/types/toon/settings/indirectLightSettings.d.ts +43 -0
- package/types/toon/settings/localLightSettings.d.ts +46 -0
- package/types/toon/settings/materialMapSettings.d.ts +86 -0
- package/types/toon/settings/outlineSettings.d.ts +125 -0
- package/types/toon/settings/perspectiveRemovalSettings.d.ts +14 -0
- package/types/toon/settings/rimLightSettings.d.ts +79 -0
- package/types/toon/settings/sceneShadowSettings.d.ts +32 -0
- package/types/toon/settings/selfShadowSettings.d.ts +44 -0
- package/types/toon/settings/shadowColorSettings.d.ts +77 -0
- package/types/toon/settings/skinToneSettings.d.ts +30 -0
- package/types/toon/settings/specularSettings.d.ts +96 -0
- package/types/toon/settings/stickerSettings.d.ts +40 -0
- package/types/toon/toonMaterialAdapter.d.ts +883 -0
- package/types/toon/toonSettings.d.ts +1182 -0
- package/types/vegetation/branchTree.d.ts +14 -0
- package/types/vegetation/callMeSenseiGrass.d.ts +8 -0
- package/types/vegetation/compiledTree.d.ts +75 -0
- package/types/vegetation/contactShadowField.d.ts +26 -0
- package/types/vegetation/flowerSpecies.d.ts +107 -0
- package/types/vegetation/grass.d.ts +4 -0
- package/types/vegetation/grassClump.d.ts +7 -0
- package/types/vegetation/grassPalettes.d.ts +29 -0
- package/types/vegetation/importedVegetationMaterial.d.ts +13 -0
- package/types/vegetation/index.d.ts +225 -0
- package/types/vegetation/legacyTreePresets.d.ts +22 -0
- package/types/vegetation/scatter.d.ts +13 -0
- package/types/vegetation/stylizedBush.d.ts +2 -0
- package/types/vegetation/stylizedFlower.d.ts +2 -0
- package/types/vegetation/stylizedFlowers.d.ts +8 -0
- package/types/vegetation/stylizedForest.d.ts +3 -0
- package/types/vegetation/stylizedGrass.d.ts +21 -0
- package/types/vegetation/stylizedTree.d.ts +20 -0
- package/types/vegetation/stylizedTreeFoliage.d.ts +19 -0
- package/types/vegetation/stylizedUnderstory.d.ts +50 -0
- package/types/vegetation/treeExport.d.ts +6 -0
- package/types/vegetation/treeSurfaceTextures.d.ts +72 -0
- package/types/vegetation/vegetationShaders.d.ts +74 -0
- package/types/version.d.ts +1 -0
- package/types/water/index.d.ts +1 -0
- package/types/water/sceneOverrideLayers.d.ts +16 -0
- package/types/water/water.d.ts +17 -0
- package/types/water/waterBreakerSystem.d.ts +46 -0
- package/types/water/waterCurrentField.d.ts +115 -0
- package/types/water/waterInteraction.d.ts +21 -0
- package/types/water/waterMaterial.d.ts +60 -0
- package/types/water/waterNearshorePhase.d.ts +5 -0
- package/types/water/waterRain.d.ts +17 -0
- package/types/water/waterRippleSimulation.d.ts +52 -0
- package/types/water/waterScenePasses.d.ts +70 -0
- package/types/water/waterSettings.d.ts +648 -0
- package/types/water/waterShoreMaterial.d.ts +3 -0
- package/types/water/waterShoreStateField.d.ts +2 -0
- package/types/water/waterSplashSystem.d.ts +2 -0
- package/types/water/waterStageSettings.d.ts +9 -0
- package/types/water/waterSurface.d.ts +2 -0
- package/types/water/waterUnderwaterAtmosphere.d.ts +103 -0
- package/types/water/waterVegetation.d.ts +16 -0
- package/types/worldCollision.d.ts +22 -0
- package/AGENTS.md +0 -254
- package/ATTRIBUTION.md +0 -78
- package/docs/characters.md +0 -144
- package/docs/debug-panel.md +0 -126
- package/docs/docs.css +0 -589
- package/docs/environment.md +0 -186
- package/docs/getting-started.md +0 -180
- package/docs/index.html +0 -14
- package/docs/lab-architecture.md +0 -100
- package/docs/lighting.md +0 -825
- package/docs/main.jsx +0 -752
- package/docs/mcp.md +0 -97
- package/docs/post-processing.md +0 -98
- package/docs/settings-reference.md +0 -1878
- package/docs/shader-constants.md +0 -77
- package/docs/sky.md +0 -182
- package/docs/style-labs.md +0 -309
- package/docs/texture-lab.md +0 -135
- package/docs/toon-shading.md +0 -183
- package/docs/tsl-conventions.md +0 -167
- package/docs/vegetation-sky.md +0 -275
- package/docs/water.md +0 -430
- package/docs/weather.md +0 -200
- package/docs/world-scale.md +0 -111
- package/mcp/style-lab-tools.mjs +0 -371
- package/src/ambientfx/INTEGRATION.md +0 -164
- package/src/ambientfx/ambientFxPresets.js +0 -83
- package/src/ambientfx/ambientFxSettings.js +0 -368
- package/src/ambientfx/emitters.js +0 -169
- package/src/ambientfx/index.js +0 -5
- package/src/ambientfx/particleBackbone.js +0 -493
- package/src/ambientfx/stylizedAmbientFx.js +0 -450
- package/src/biome/biomeGenerator.js +0 -385
- package/src/biome/biomeRuntime.js +0 -299
- package/src/biome/index.js +0 -2
- package/src/buildinggen/buildingAsset.js +0 -44
- package/src/buildinggen/buildingGrammar.js +0 -311
- package/src/buildinggen/buildingMesh.js +0 -451
- package/src/buildinggen/buildingPresets.js +0 -46
- package/src/buildinggen/buildingRecipe.js +0 -100
- package/src/buildinggen/buildingSettings.js +0 -238
- package/src/buildinggen/index.js +0 -6
- package/src/camera/cameraDirector.js +0 -157
- package/src/camera/cameraGenerator.js +0 -367
- package/src/camera/cameraRig.js +0 -570
- package/src/camera/cameraSettings.js +0 -236
- package/src/camera/index.js +0 -7
- package/src/catalog/builtinEntries.js +0 -245
- package/src/catalog/catalog.js +0 -210
- package/src/catalog/index.js +0 -3
- package/src/core/shaderBackend.js +0 -24
- package/src/debrisgen/debrisFields.js +0 -544
- package/src/debrisgen/debrisGenerator.js +0 -1929
- package/src/debrisgen/debrisPalettes.js +0 -71
- package/src/debrisgen/debrisPhysics.js +0 -198
- package/src/debrisgen/debrisPresets.js +0 -162
- package/src/debrisgen/debrisSettings.js +0 -333
- package/src/debrisgen/debrisTextures.js +0 -380
- package/src/debrisgen/index.js +0 -5
- package/src/debug/fieldValues.js +0 -95
- package/src/debug/index.js +0 -7
- package/src/debug/settingsPanel.js +0 -170
- package/src/fauna/INTEGRATION.md +0 -174
- package/src/fauna/boids.js +0 -861
- package/src/fauna/faunaBodies.js +0 -492
- package/src/fauna/faunaPresets.js +0 -52
- package/src/fauna/faunaSettings.js +0 -525
- package/src/fauna/index.js +0 -5
- package/src/fauna/stylizedFauna.js +0 -395
- package/src/game-feel/gameFeelGenerator.js +0 -402
- package/src/game-feel/gameFeelRuntime.js +0 -549
- package/src/game-feel/index.js +0 -2
- package/src/motion/index.js +0 -5
- package/src/motion/motionClip.js +0 -441
- package/src/motion/motionController.js +0 -628
- package/src/motion/motionDocuments.js +0 -225
- package/src/motion/motionGraph.js +0 -307
- package/src/motion/motionSettings.js +0 -222
- package/src/pathgen/index.js +0 -7
- package/src/pathgen/pathBridge.js +0 -232
- package/src/pathgen/pathPresets.js +0 -35
- package/src/pathgen/pathRibbon.js +0 -410
- package/src/pathgen/pathRouter.js +0 -380
- package/src/pathgen/pathSettings.js +0 -335
- package/src/pathgen/pathTextures.js +0 -123
- package/src/pathgen/stylizedPaths.js +0 -453
- package/src/propgen/generatorsWave1.js +0 -379
- package/src/propgen/generatorsWave2.js +0 -462
- package/src/propgen/index.js +0 -5
- package/src/propgen/propAsset.js +0 -323
- package/src/propgen/propParts.js +0 -170
- package/src/propgen/propPlacement.js +0 -459
- package/src/propgen/propPresets.js +0 -82
- package/src/propgen/propSettings.js +0 -395
- package/src/soundscape/index.js +0 -4
- package/src/soundscape/soundscapeGenerator.js +0 -179
- package/src/soundscape/soundscapeRuntime.js +0 -806
- package/src/soundscape/soundscapeSettings.js +0 -292
- package/src/stylizedTerrain.js +0 -631
- package/src/stylizedWorld.js +0 -903
- package/src/vegetation/treeRecipe.js +0 -647
- package/src/vfxgen/INTEGRATION.md +0 -145
- package/src/vfxgen/core/burstBackbone.js +0 -380
- package/src/vfxgen/core/projectileCore.js +0 -92
- package/src/vfxgen/core/spriteShapes.js +0 -98
- package/src/vfxgen/core/trailRibbon.js +0 -272
- package/src/vfxgen/core/vfxRandom.js +0 -29
- package/src/vfxgen/effects/emitHelpers.js +0 -37
- package/src/vfxgen/effects/magicEffects.js +0 -162
- package/src/vfxgen/effects/movementEffects.js +0 -87
- package/src/vfxgen/effects/weaponEffects.js +0 -118
- package/src/vfxgen/index.js +0 -18
- package/src/vfxgen/moves/moveController.js +0 -146
- package/src/vfxgen/moves/moveLibrary.js +0 -335
- package/src/vfxgen/vfxPresets.js +0 -98
- package/src/vfxgen/vfxSettings.js +0 -384
- package/src/vfxgen/vfxSystem.js +0 -449
- package/src/vfxgen/weapons/stylizedWeapons.js +0 -137
- package/src/villagegen/index.js +0 -4
- package/src/villagegen/stylizedVillage.js +0 -490
- package/src/villagegen/villageArchetypes.js +0 -160
- package/src/villagegen/villageNames.js +0 -40
- package/src/villagegen/villageSites.js +0 -105
- package/src/weather/index.js +0 -6
- package/src/weather/weatherPrecipitation.js +0 -221
- package/src/weather/weatherPresets.js +0 -258
- package/src/weather/weatherSettings.js +0 -269
- package/src/weather/weatherSystem.js +0 -871
- package/src/worldMinimap.js +0 -214
- 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
|
+
```
|
package/agents/README.md
ADDED
|
@@ -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.
|