diff --git a/.gitignore b/.gitignore index e64146aa9..4dad1b444 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,5 @@ /packages/*/lib /packages/*/ts*/ /packages/*/types +/packages/*/temp +tsdoc-metadata.json \ No newline at end of file diff --git a/api-extractor.base.json b/api-extractor.base.json new file mode 100644 index 000000000..e958d49ea --- /dev/null +++ b/api-extractor.base.json @@ -0,0 +1,456 @@ +/** + * Config file for API Extractor. For more info, please visit: https://api-extractor.com + */ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + + /** + * Optionally specifies another JSON config file that this file extends from. This provides a way for + * standard settings to be shared across multiple projects. + * + * If the path starts with "./" or "../", the path is resolved relative to the folder of the file that contains + * the "extends" field. Otherwise, the first path segment is interpreted as an NPM package name, and will be + * resolved using NodeJS require(). + * + * SUPPORTED TOKENS: none + * DEFAULT VALUE: "" + */ + // "extends": "./shared/api-extractor-base.json" + // "extends": "my-package/include/api-extractor-base.json" + + /** + * Determines the "" token that can be used with other config file settings. The project folder + * typically contains the tsconfig.json and package.json config files, but the path is user-defined. + * + * The path is resolved relative to the folder of the config file that contains the setting. + * + * The default value for "projectFolder" is the token "", which means the folder is determined by traversing + * parent folders, starting from the folder containing api-extractor.json, and stopping at the first folder + * that contains a tsconfig.json file. If a tsconfig.json file cannot be found in this way, then an error + * will be reported. + * + * SUPPORTED TOKENS: + * DEFAULT VALUE: "" + */ + // "projectFolder": "..", + + /** + * (REQUIRED) Specifies the .d.ts file to be used as the starting point for analysis. API Extractor + * analyzes the symbols exported by this module. + * + * The file extension must be ".d.ts" and not ".ts". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + */ + "mainEntryPointFilePath": "/types/index.d.ts", + + /** + * A list of NPM package names whose exports should be treated as part of this package. + * + * For example, suppose that Webpack is used to generate a distributed bundle for the project "library1", + * and another NPM package "library2" is embedded in this bundle. Some types from library2 may become part + * of the exported API for library1, but by default API Extractor would generate a .d.ts rollup that explicitly + * imports library2. To avoid this, we can specify: + * + * "bundledPackages": [ "library2" ], + * + * This would direct API Extractor to embed those types directly in the .d.ts rollup, as if they had been + * local files for library1. + */ + "bundledPackages": [ + "@pixiv/three-vrm-core", + "@pixiv/three-vrm-materials-hdr-emissive-multiplier", + "@pixiv/three-vrm-materials-mtoon", + "@pixiv/three-vrm-materials-v0compat", + "@pixiv/three-vrm-node-constraint", + "@pixiv/three-vrm-springbone", + "@pixiv/three-vrm", + "@pixiv/types-vrm-0.0", + "@pixiv/types-vrmc-materials-hdr-emissive-multiplier-1.0", + "@pixiv/types-vrmc-materials-mtoon-1.0", + "@pixiv/types-vrmc-node-constraint-1.0", + "@pixiv/types-vrmc-springbone-1.0", + "@pixiv/types-vrmc-vrm-1.0" + ], + + /** + * Specifies what type of newlines API Extractor should use when writing output files. By default, the output files + * will be written with Windows-style newlines. To use POSIX-style newlines, specify "lf" instead. + * To use the OS's default newline kind, specify "os". + * + * DEFAULT VALUE: "crlf" + */ + // "newlineKind": "crlf", + + /** + * Set to true when invoking API Extractor's test harness. When `testMode` is true, the `toolVersion` field in the + * .api.json file is assigned an empty string to prevent spurious diffs in output files tracked for tests. + * + * DEFAULT VALUE: "false" + */ + // "testMode": false, + + /** + * Specifies how API Extractor sorts members of an enum when generating the .api.json file. By default, the output + * files will be sorted alphabetically, which is "by-name". To keep the ordering in the source code, specify + * "preserve". + * + * DEFAULT VALUE: "by-name" + */ + // "enumMemberOrder": "by-name", + + /** + * Determines how the TypeScript compiler engine will be invoked by API Extractor. + */ + "compiler": { + /** + * Specifies the path to the tsconfig.json file to be used by API Extractor when analyzing the project. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * Note: This setting will be ignored if "overrideTsconfig" is used. + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/tsconfig.json" + */ + // "tsconfigFilePath": "/tsconfig.json", + /** + * Provides a compiler configuration that will be used instead of reading the tsconfig.json file from disk. + * The object must conform to the TypeScript tsconfig schema: + * + * http://json.schemastore.org/tsconfig + * + * If omitted, then the tsconfig.json file will be read from the "projectFolder". + * + * DEFAULT VALUE: no overrideTsconfig section + */ + // "overrideTsconfig": { + // . . . + // } + /** + * This option causes the compiler to be invoked with the --skipLibCheck option. This option is not recommended + * and may cause API Extractor to produce incomplete or incorrect declarations, but it may be required when + * dependencies contain declarations that are incompatible with the TypeScript engine that API Extractor uses + * for its analysis. Where possible, the underlying issue should be fixed rather than relying on skipLibCheck. + * + * DEFAULT VALUE: false + */ + // "skipLibCheck": true, + }, + + /** + * Configures how the API report file (*.api.md) will be generated. + */ + "apiReport": { + /** + * (REQUIRED) Whether to generate an API report. + */ + "enabled": true, + + /** + * The filename for the API report files. It will be combined with "reportFolder" or "reportTempFolder" to produce + * a full file path. + * + * The file extension should be ".api.md", and the string should not contain a path separator such as "\" or "/". + * + * SUPPORTED TOKENS: , + * DEFAULT VALUE: ".api.md" + */ + "reportFileName": ".api.md", + + /** + * Specifies the folder where the API report file is written. The file name portion is determined by + * the "reportFileName" setting. + * + * The API report file is normally tracked by Git. Changes to it can be used to trigger a branch policy, + * e.g. for an API review. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/temp/" + */ + "reportFolder": "" + + /** + * Specifies the folder where the temporary report file is written. The file name portion is determined by + * the "reportFileName" setting. + * + * After the temporary file is written to disk, it is compared with the file in the "reportFolder". + * If they are different, a production build will fail. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/temp/" + */ + // "reportTempFolder": "/temp/", + + /** + * Whether "forgotten exports" should be included in the API report file. Forgotten exports are declarations + * flagged with `ae-forgotten-export` warnings. See https://api-extractor.com/pages/messages/ae-forgotten-export/ to + * learn more. + * + * DEFAULT VALUE: "false" + */ + // "includeForgottenExports": false + }, + + /** + * Configures how the doc model file (*.api.json) will be generated. + */ + "docModel": { + /** + * (REQUIRED) Whether to generate a doc model file. + */ + "enabled": false + + /** + * The output path for the doc model file. The file extension should be ".api.json". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/temp/.api.json" + */ + // "apiJsonFilePath": "/temp/.api.json", + + /** + * Whether "forgotten exports" should be included in the doc model file. Forgotten exports are declarations + * flagged with `ae-forgotten-export` warnings. See https://api-extractor.com/pages/messages/ae-forgotten-export/ to + * learn more. + * + * DEFAULT VALUE: "false" + */ + // "includeForgottenExports": false, + + /** + * The base URL where the project's source code can be viewed on a website such as GitHub or + * Azure DevOps. This URL path corresponds to the `` path on disk. + * + * This URL is concatenated with the file paths serialized to the doc model to produce URL file paths to individual API items. + * For example, if the `projectFolderUrl` is "https://github.com/microsoft/rushstack/tree/main/apps/api-extractor" and an API + * item's file path is "api/ExtractorConfig.ts", the full URL file path would be + * "https://github.com/microsoft/rushstack/tree/main/apps/api-extractor/api/ExtractorConfig.js". + * + * Can be omitted if you don't need source code links in your API documentation reference. + * + * SUPPORTED TOKENS: none + * DEFAULT VALUE: "" + */ + // "projectFolderUrl": "http://github.com/path/to/your/projectFolder" + }, + + /** + * Configures how the .d.ts rollup file will be generated. + */ + "dtsRollup": { + /** + * (REQUIRED) Whether to generate the .d.ts rollup file. + */ + "enabled": true, + + /** + * Specifies the output path for a .d.ts rollup file to be generated without any trimming. + * This file will include all declarations that are exported by the main entry point. + * + * If the path is an empty string, then this file will not be written. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "/dist/.d.ts" + */ + "untrimmedFilePath": "/lib/index.d.ts" + + /** + * Specifies the output path for a .d.ts rollup file to be generated with trimming for an "alpha" release. + * This file will include only declarations that are marked as "@public", "@beta", or "@alpha". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "" + */ + // "alphaTrimmedFilePath": "/dist/-alpha.d.ts", + + /** + * Specifies the output path for a .d.ts rollup file to be generated with trimming for a "beta" release. + * This file will include only declarations that are marked as "@public" or "@beta". + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "" + */ + // "betaTrimmedFilePath": "/dist/-beta.d.ts", + + /** + * Specifies the output path for a .d.ts rollup file to be generated with trimming for a "public" release. + * This file will include only declarations that are marked as "@public". + * + * If the path is an empty string, then this file will not be written. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "" + */ + // "publicTrimmedFilePath": "/dist/-public.d.ts", + + /** + * When a declaration is trimmed, by default it will be replaced by a code comment such as + * "Excluded from this release type: exampleMember". Set "omitTrimmingComments" to true to remove the + * declaration completely. + * + * DEFAULT VALUE: false + */ + // "omitTrimmingComments": true + }, + + /** + * Configures how the tsdoc-metadata.json file will be generated. + */ + "tsdocMetadata": { + /** + * Whether to generate the tsdoc-metadata.json file. + * + * DEFAULT VALUE: true + */ + // "enabled": true, + /** + * Specifies where the TSDoc metadata file should be written. + * + * The path is resolved relative to the folder of the config file that contains the setting; to change this, + * prepend a folder token such as "". + * + * The default value is "", which causes the path to be automatically inferred from the "tsdocMetadata", + * "typings" or "main" fields of the project's package.json. If none of these fields are set, the lookup + * falls back to "tsdoc-metadata.json" in the package folder. + * + * SUPPORTED TOKENS: , , + * DEFAULT VALUE: "" + */ + // "tsdocMetadataFilePath": "/dist/tsdoc-metadata.json" + }, + + /** + * Configures how API Extractor reports error and warning messages produced during analysis. + * + * There are three sources of messages: compiler messages, API Extractor messages, and TSDoc messages. + */ + "messages": { + /** + * Configures handling of diagnostic messages reported by the TypeScript compiler engine while analyzing + * the input .d.ts files. + * + * TypeScript message identifiers start with "TS" followed by an integer. For example: "TS2551" + * + * DEFAULT VALUE: A single "default" entry with logLevel=warning. + */ + "compilerMessageReporting": { + /** + * Configures the default routing for messages that don't match an explicit rule in this table. + */ + "default": { + /** + * Specifies whether the message should be written to the the tool's output log. Note that + * the "addToApiReportFile" property may supersede this option. + * + * Possible values: "error", "warning", "none" + * + * Errors cause the build to fail and return a nonzero exit code. Warnings cause a production build fail + * and return a nonzero exit code. For a non-production build (e.g. when "api-extractor run" includes + * the "--local" option), the warning is displayed but the build will not fail. + * + * DEFAULT VALUE: "warning" + */ + "logLevel": "warning" + + /** + * When addToApiReportFile is true: If API Extractor is configured to write an API report file (.api.md), + * then the message will be written inside that file; otherwise, the message is instead logged according to + * the "logLevel" option. + * + * DEFAULT VALUE: false + */ + // "addToApiReportFile": false + } + + // "TS2551": { + // "logLevel": "warning", + // "addToApiReportFile": true + // }, + // + // . . . + }, + + /** + * Configures handling of messages reported by API Extractor during its analysis. + * + * API Extractor message identifiers start with "ae-". For example: "ae-extra-release-tag" + * + * DEFAULT VALUE: See api-extractor-defaults.json for the complete table of extractorMessageReporting mappings + */ + "extractorMessageReporting": { + "default": { + "logLevel": "warning", + "addToApiReportFile": false + }, + + "ae-missing-release-tag": { + "logLevel": "none" + }, + + "ae-unresolved-link": { + "logLevel": "none" + }, + + "ae-forgotten-export": { + "logLevel": "error" + } + + // + // . . . + }, + + /** + * Configures handling of messages reported by the TSDoc parser when analyzing code comments. + * + * TSDoc message identifiers start with "tsdoc-". For example: "tsdoc-link-tag-unescaped-text" + * + * DEFAULT VALUE: A single "default" entry with logLevel=warning. + */ + "tsdocMessageReporting": { + "default": { + "logLevel": "warning" + }, + + "tsdoc-undefined-tag": { + "logLevel": "none" + }, + + "tsdoc-param-tag-missing-hyphen": { + "logLevel": "none" + } + + // "tsdoc-link-tag-unescaped-text": { + // "logLevel": "warning", + // "addToApiReportFile": true + // }, + // + // . . . + } + } +} diff --git a/package.json b/package.json index 780872582..974b4b34c 100644 --- a/package.json +++ b/package.json @@ -18,6 +18,7 @@ }, "devDependencies": { "@gltf-transform/core": "^2.4.7", + "@microsoft/api-extractor": "^7.37.0", "@rollup/plugin-typescript": "^11.0.0", "@types/jest": "^26.0.15", "@typescript-eslint/eslint-plugin": "^4.6.1", diff --git a/packages/three-vrm-core/api-extractor.json b/packages/three-vrm-core/api-extractor.json new file mode 100644 index 000000000..663b48c3c --- /dev/null +++ b/packages/three-vrm-core/api-extractor.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "extends": "../../api-extractor.base.json" +} \ No newline at end of file diff --git a/packages/three-vrm-core/package.json b/packages/three-vrm-core/package.json index d649f7848..bfe4f9658 100644 --- a/packages/three-vrm-core/package.json +++ b/packages/three-vrm-core/package.json @@ -12,7 +12,7 @@ ], "main": "lib/three-vrm-core.js", "module": "lib/three-vrm-core.module.js", - "types": "types/index.d.ts", + "types": "lib/index.d.ts", "typesVersions": { "<3.9": { "*": [ @@ -33,7 +33,7 @@ "build": "yarn build-dev && yarn build-prod && yarn build-types", "build-dev": "cross-env NODE_ENV=development rollup -c", "build-prod": "cross-env NODE_ENV=production rollup -c", - "build-types": "tsc --declaration --declarationDir ./types --emitDeclarationOnly && downlevel-dts types ts3.4/types", + "build-types": "tsc --declaration --declarationDir ./types --emitDeclarationOnly && api-extractor run --local && downlevel-dts types ts3.4/types && rimraf types", "docs": "typedoc --entryPoints ./src/index.ts --out docs", "test": "jest", "lint": "eslint \"src/**/*.{ts,tsx}\" && yarn lint-examples && prettier \"src/**/*.{ts,tsx}\" --check", @@ -46,11 +46,9 @@ "prettier --write" ] }, - "dependencies": { - "@pixiv/types-vrm-0.0": "2.0.6-alpha.2", - "@pixiv/types-vrmc-vrm-1.0": "2.0.6-alpha.2" - }, "devDependencies": { + "@pixiv/types-vrm-0.0": "2.0.6-alpha.2", + "@pixiv/types-vrmc-vrm-1.0": "2.0.6-alpha.2", "@types/three": "^0.154.0", "lint-staged": "13.1.2", "three": "^0.154.0" diff --git a/packages/three-vrm-core/src/lookAt/VRMLookAt.ts b/packages/three-vrm-core/src/lookAt/VRMLookAt.ts index d24898c11..95c6cfbbd 100644 --- a/packages/three-vrm-core/src/lookAt/VRMLookAt.ts +++ b/packages/three-vrm-core/src/lookAt/VRMLookAt.ts @@ -73,9 +73,6 @@ export class VRMLookAt { return this._yaw; } - /** - * Its current angle around Y axis, in degree. - */ public set yaw(value: number) { this._yaw = value; this._needsUpdate = true; @@ -93,16 +90,13 @@ export class VRMLookAt { return this._pitch; } - /** - * Its current angle around X axis, in degree. - */ public set pitch(value: number) { this._pitch = value; this._needsUpdate = true; } /** - * Specifies that angles need to be applied to its [@link applier]. + * Specifies that angles need to be applied to its {@link applier}. */ protected _needsUpdate: boolean; diff --git a/packages/three-vrm-core/three-vrm-core.api.md b/packages/three-vrm-core/three-vrm-core.api.md new file mode 100644 index 000000000..a8f091a48 --- /dev/null +++ b/packages/three-vrm-core/three-vrm-core.api.md @@ -0,0 +1,662 @@ +## API Report File for "@pixiv/three-vrm-core" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +import { GLTF } from 'three/examples/jsm/loaders/GLTFLoader.js'; +import { GLTFLoaderPlugin } from 'three/examples/jsm/loaders/GLTFLoader.js'; +import { GLTFParser } from 'three/examples/jsm/loaders/GLTFLoader.js'; +import * as THREE_2 from 'three'; + +// @public +export interface VRM0Meta { + allowedUserName?: 'Everyone' | 'ExplicitlyLicensedPerson' | 'OnlyAuthor'; + author?: string; + commercialUssageName?: 'Allow' | 'Disallow'; + contactInformation?: string; + licenseName?: 'CC0' | 'CC_BY' | 'CC_BY_NC' | 'CC_BY_NC_ND' | 'CC_BY_NC_SA' | 'CC_BY_ND' | 'CC_BY_SA' | 'Other' | 'Redistribution_Prohibited'; + metaVersion: '0'; + otherLicenseUrl?: string; + otherPermissionUrl?: string; + reference?: string; + sexualUssageName?: 'Allow' | 'Disallow'; + texture?: THREE_2.Texture; + title?: string; + version?: string; + violentUssageName?: 'Allow' | 'Disallow'; +} + +// @public +export interface VRM1Meta { + allowAntisocialOrHateUsage?: boolean; + allowExcessivelySexualUsage?: boolean; + allowExcessivelyViolentUsage?: boolean; + allowPoliticalOrReligiousUsage?: boolean; + allowRedistribution?: boolean; + authors: string[]; + avatarPermission?: 'onlyAuthor' | 'onlySeparatelyLicensedPerson' | 'everyone'; + commercialUsage?: 'personalNonProfit' | 'personalProfit' | 'corporation'; + contactInformation?: string; + copyrightInformation?: string; + creditNotation?: 'required' | 'unnecessary'; + licenseUrl: string; + metaVersion: '1'; + modification?: 'prohibited' | 'allowModification' | 'allowModificationRedistribution'; + name: string; + otherLicenseUrl?: string; + references?: string[]; + thirdPartyLicenses?: string; + thumbnailImage?: HTMLImageElement; + version?: string; +} + +// @public +export class VRMCore { + constructor(params: VRMCoreParameters); + readonly expressionManager?: VRMExpressionManager; + readonly firstPerson?: VRMFirstPerson; + readonly humanoid: VRMHumanoid; + readonly lookAt?: VRMLookAt; + readonly meta: VRMMeta; + readonly scene: THREE_2.Group; + update(delta: number): void; +} + +// @public (undocumented) +export class VRMCoreLoaderPlugin implements GLTFLoaderPlugin { + constructor(parser: GLTFParser, options?: VRMCoreLoaderPluginOptions); + // (undocumented) + afterRoot(gltf: GLTF): Promise; + // (undocumented) + readonly expressionPlugin: VRMExpressionLoaderPlugin; + // (undocumented) + readonly firstPersonPlugin: VRMFirstPersonLoaderPlugin; + // (undocumented) + readonly humanoidPlugin: VRMHumanoidLoaderPlugin; + // (undocumented) + readonly lookAtPlugin: VRMLookAtLoaderPlugin; + // (undocumented) + readonly metaPlugin: VRMMetaLoaderPlugin; + // (undocumented) + get name(): string; + // (undocumented) + readonly parser: GLTFParser; +} + +// @public (undocumented) +export interface VRMCoreLoaderPluginOptions { + // (undocumented) + autoUpdateHumanBones?: boolean; + // (undocumented) + expressionPlugin?: VRMExpressionLoaderPlugin; + // (undocumented) + firstPersonPlugin?: VRMFirstPersonLoaderPlugin; + helperRoot?: THREE.Object3D; + // (undocumented) + humanoidPlugin?: VRMHumanoidLoaderPlugin; + // (undocumented) + lookAtPlugin?: VRMLookAtLoaderPlugin; + // (undocumented) + metaPlugin?: VRMMetaLoaderPlugin; +} + +// @public +export interface VRMCoreParameters { + // (undocumented) + expressionManager?: VRMExpressionManager; + // (undocumented) + firstPerson?: VRMFirstPerson; + // (undocumented) + humanoid: VRMHumanoid; + // (undocumented) + lookAt?: VRMLookAt; + // (undocumented) + meta: VRMMeta; + // (undocumented) + scene: THREE.Group; +} + +// @public (undocumented) +export class VRMExpression extends THREE_2.Object3D { + constructor(expressionName: string); + // (undocumented) + addBind(bind: VRMExpressionBind): void; + applyWeight(options?: { + multiplier?: number; + }): void; + clearAppliedWeight(): void; + expressionName: string; + isBinary: boolean; + overrideBlink: VRMExpressionOverrideType; + get overrideBlinkAmount(): number; + overrideLookAt: VRMExpressionOverrideType; + get overrideLookAtAmount(): number; + overrideMouth: VRMExpressionOverrideType; + get overrideMouthAmount(): number; + // (undocumented) + readonly type: string | 'VRMExpression'; + weight: number; +} + +// @public (undocumented) +export interface VRMExpressionBind { + applyWeight(weight: number): void; + clearAppliedWeight(): void; +} + +// @public +export class VRMExpressionLoaderPlugin implements GLTFLoaderPlugin { + constructor(parser: GLTFParser); + // (undocumented) + afterRoot(gltf: GLTF): Promise; + // (undocumented) + get name(): string; + // (undocumented) + readonly parser: GLTFParser; + // Warning: (ae-forgotten-export) The symbol "V0VRM" needs to be exported by the entry point index.d.ts + // + // (undocumented) + static readonly v0v1PresetNameMap: { + [v0Name in V0VRM.BlendShapePresetName]?: VRMExpressionPresetName; + }; +} + +// @public (undocumented) +export class VRMExpressionManager { + constructor(); + blinkExpressionNames: string[]; + clone(): VRMExpressionManager; + copy(source: VRMExpressionManager): this; + get customExpressionMap(): { + [name: string]: VRMExpression; + }; + // (undocumented) + get expressionMap(): { + [name: string]: VRMExpression; + }; + // (undocumented) + get expressions(): VRMExpression[]; + getExpression(name: VRMExpressionPresetName | string): VRMExpression | null; + getExpressionTrackName(name: VRMExpressionPresetName | string): string | null; + getValue(name: VRMExpressionPresetName | string): number | null; + lookAtExpressionNames: string[]; + mouthExpressionNames: string[]; + get presetExpressionMap(): { + [name in VRMExpressionPresetName]?: VRMExpression; + }; + registerExpression(expression: VRMExpression): void; + setValue(name: VRMExpressionPresetName | string, weight: number): void; + unregisterExpression(expression: VRMExpression): void; + update(): void; +} + +// @public +export class VRMExpressionMaterialColorBind implements VRMExpressionBind { + constructor({ material, type, targetValue, }: { + material: THREE_2.Material; + type: VRMExpressionMaterialColorType; + targetValue: THREE_2.Color; + }); + // (undocumented) + applyWeight(weight: number): void; + // (undocumented) + clearAppliedWeight(): void; + readonly material: THREE_2.Material; + readonly targetValue: THREE_2.Color; + readonly type: VRMExpressionMaterialColorType; +} + +// @public (undocumented) +export const VRMExpressionMaterialColorType: { + readonly Color: "color"; + readonly EmissionColor: "emissionColor"; + readonly ShadeColor: "shadeColor"; + readonly MatcapColor: "matcapColor"; + readonly RimColor: "rimColor"; + readonly OutlineColor: "outlineColor"; +}; + +// @public (undocumented) +export type VRMExpressionMaterialColorType = typeof VRMExpressionMaterialColorType[keyof typeof VRMExpressionMaterialColorType]; + +// @public +export class VRMExpressionMorphTargetBind implements VRMExpressionBind { + constructor({ primitives, index, weight, }: { + primitives: THREE_2.Mesh[]; + index: number; + weight: number; + }); + // (undocumented) + applyWeight(weight: number): void; + // (undocumented) + clearAppliedWeight(): void; + readonly index: number; + readonly primitives: THREE_2.Mesh[]; + readonly weight: number; +} + +// @public (undocumented) +export const VRMExpressionOverrideType: { + readonly None: "none"; + readonly Block: "block"; + readonly Blend: "blend"; +}; + +// @public (undocumented) +export type VRMExpressionOverrideType = typeof VRMExpressionOverrideType[keyof typeof VRMExpressionOverrideType]; + +// @public (undocumented) +export const VRMExpressionPresetName: { + readonly Aa: "aa"; + readonly Ih: "ih"; + readonly Ou: "ou"; + readonly Ee: "ee"; + readonly Oh: "oh"; + readonly Blink: "blink"; + readonly Happy: "happy"; + readonly Angry: "angry"; + readonly Sad: "sad"; + readonly Relaxed: "relaxed"; + readonly LookUp: "lookUp"; + readonly Surprised: "surprised"; + readonly LookDown: "lookDown"; + readonly LookLeft: "lookLeft"; + readonly LookRight: "lookRight"; + readonly BlinkLeft: "blinkLeft"; + readonly BlinkRight: "blinkRight"; + readonly Neutral: "neutral"; +}; + +// @public (undocumented) +export type VRMExpressionPresetName = typeof VRMExpressionPresetName[keyof typeof VRMExpressionPresetName]; + +// @public +export class VRMExpressionTextureTransformBind implements VRMExpressionBind { + constructor({ material, scale, offset, }: { + material: THREE_2.Material; + scale: THREE_2.Vector2; + offset: THREE_2.Vector2; + }); + // (undocumented) + applyWeight(weight: number): void; + // (undocumented) + clearAppliedWeight(): void; + readonly material: THREE_2.Material; + readonly offset: THREE_2.Vector2; + readonly scale: THREE_2.Vector2; +} + +// @public (undocumented) +export class VRMFirstPerson { + constructor(humanoid: VRMHumanoid, meshAnnotations: VRMFirstPersonMeshAnnotation[]); + clone(): VRMFirstPerson; + copy(source: VRMFirstPerson): this; + static readonly DEFAULT_FIRSTPERSON_ONLY_LAYER = 9; + static readonly DEFAULT_THIRDPERSON_ONLY_LAYER = 10; + get firstPersonOnlyLayer(): number; + readonly humanoid: VRMHumanoid; + // (undocumented) + meshAnnotations: VRMFirstPersonMeshAnnotation[]; + setup({ firstPersonOnlyLayer, thirdPersonOnlyLayer, }?: { + firstPersonOnlyLayer?: number | undefined; + thirdPersonOnlyLayer?: number | undefined; + }): void; + get thirdPersonOnlyLayer(): number; +} + +// @public +export class VRMFirstPersonLoaderPlugin implements GLTFLoaderPlugin { + constructor(parser: GLTFParser); + // (undocumented) + afterRoot(gltf: GLTF): Promise; + // (undocumented) + get name(): string; + // (undocumented) + readonly parser: GLTFParser; +} + +// @public (undocumented) +export interface VRMFirstPersonMeshAnnotation { + // (undocumented) + meshes: THREE.Mesh[]; + // (undocumented) + type: VRMFirstPersonMeshAnnotationType; +} + +// @public (undocumented) +export const VRMFirstPersonMeshAnnotationType: { + readonly Auto: "auto"; + readonly Both: "both"; + readonly ThirdPersonOnly: "thirdPersonOnly"; + readonly FirstPersonOnly: "firstPersonOnly"; +}; + +// @public (undocumented) +export type VRMFirstPersonMeshAnnotationType = typeof VRMFirstPersonMeshAnnotationType[keyof typeof VRMFirstPersonMeshAnnotationType]; + +// @public +export interface VRMHumanBone { + node: THREE_2.Object3D; +} + +// @public +export const VRMHumanBoneList: VRMHumanBoneName[]; + +// @public +export const VRMHumanBoneName: { + readonly Hips: "hips"; + readonly Spine: "spine"; + readonly Chest: "chest"; + readonly UpperChest: "upperChest"; + readonly Neck: "neck"; + readonly Head: "head"; + readonly LeftEye: "leftEye"; + readonly RightEye: "rightEye"; + readonly Jaw: "jaw"; + readonly LeftUpperLeg: "leftUpperLeg"; + readonly LeftLowerLeg: "leftLowerLeg"; + readonly LeftFoot: "leftFoot"; + readonly LeftToes: "leftToes"; + readonly RightUpperLeg: "rightUpperLeg"; + readonly RightLowerLeg: "rightLowerLeg"; + readonly RightFoot: "rightFoot"; + readonly RightToes: "rightToes"; + readonly LeftShoulder: "leftShoulder"; + readonly LeftUpperArm: "leftUpperArm"; + readonly LeftLowerArm: "leftLowerArm"; + readonly LeftHand: "leftHand"; + readonly RightShoulder: "rightShoulder"; + readonly RightUpperArm: "rightUpperArm"; + readonly RightLowerArm: "rightLowerArm"; + readonly RightHand: "rightHand"; + readonly LeftThumbMetacarpal: "leftThumbMetacarpal"; + readonly LeftThumbProximal: "leftThumbProximal"; + readonly LeftThumbDistal: "leftThumbDistal"; + readonly LeftIndexProximal: "leftIndexProximal"; + readonly LeftIndexIntermediate: "leftIndexIntermediate"; + readonly LeftIndexDistal: "leftIndexDistal"; + readonly LeftMiddleProximal: "leftMiddleProximal"; + readonly LeftMiddleIntermediate: "leftMiddleIntermediate"; + readonly LeftMiddleDistal: "leftMiddleDistal"; + readonly LeftRingProximal: "leftRingProximal"; + readonly LeftRingIntermediate: "leftRingIntermediate"; + readonly LeftRingDistal: "leftRingDistal"; + readonly LeftLittleProximal: "leftLittleProximal"; + readonly LeftLittleIntermediate: "leftLittleIntermediate"; + readonly LeftLittleDistal: "leftLittleDistal"; + readonly RightThumbMetacarpal: "rightThumbMetacarpal"; + readonly RightThumbProximal: "rightThumbProximal"; + readonly RightThumbDistal: "rightThumbDistal"; + readonly RightIndexProximal: "rightIndexProximal"; + readonly RightIndexIntermediate: "rightIndexIntermediate"; + readonly RightIndexDistal: "rightIndexDistal"; + readonly RightMiddleProximal: "rightMiddleProximal"; + readonly RightMiddleIntermediate: "rightMiddleIntermediate"; + readonly RightMiddleDistal: "rightMiddleDistal"; + readonly RightRingProximal: "rightRingProximal"; + readonly RightRingIntermediate: "rightRingIntermediate"; + readonly RightRingDistal: "rightRingDistal"; + readonly RightLittleProximal: "rightLittleProximal"; + readonly RightLittleIntermediate: "rightLittleIntermediate"; + readonly RightLittleDistal: "rightLittleDistal"; +}; + +// @public (undocumented) +export type VRMHumanBoneName = typeof VRMHumanBoneName[keyof typeof VRMHumanBoneName]; + +// @public +export const VRMHumanBoneParentMap: { + [bone in VRMHumanBoneName]: VRMHumanBoneName | null; +}; + +// @public +export type VRMHumanBones = { + [name in VRMHumanBoneName]?: VRMHumanBone; +} & { + [name in VRMRequiredHumanBoneName]: VRMHumanBone; +}; + +// @public +export class VRMHumanoid { + constructor(humanBones: VRMHumanBones, options?: { + autoUpdateHumanBones?: boolean; + }); + autoUpdateHumanBones: boolean; + clone(): VRMHumanoid; + copy(source: VRMHumanoid): this; + // @deprecated (undocumented) + getAbsolutePose(): VRMPose; + // @deprecated (undocumented) + getBone(name: VRMHumanBoneName): VRMHumanBone | undefined; + // @deprecated (undocumented) + getBoneNode(name: VRMHumanBoneName): THREE_2.Object3D | null; + getNormalizedAbsolutePose(): VRMPose; + getNormalizedBone(name: VRMHumanBoneName): VRMHumanBone | undefined; + getNormalizedBoneNode(name: VRMHumanBoneName): THREE_2.Object3D | null; + getNormalizedPose(): VRMPose; + // @deprecated (undocumented) + getPose(): VRMPose; + getRawAbsolutePose(): VRMPose; + getRawBone(name: VRMHumanBoneName): VRMHumanBone | undefined; + getRawBoneNode(name: VRMHumanBoneName): THREE_2.Object3D | null; + getRawPose(): VRMPose; + get humanBones(): VRMHumanBones; + get normalizedHumanBones(): VRMHumanBones; + get normalizedHumanBonesRoot(): THREE_2.Object3D; + get normalizedRestPose(): VRMPose; + get rawHumanBones(): VRMHumanBones; + get rawRestPose(): VRMPose; + resetNormalizedPose(): void; + // @deprecated (undocumented) + resetPose(): void; + resetRawPose(): void; + // @deprecated (undocumented) + get restPose(): VRMPose; + setNormalizedPose(poseObject: VRMPose): void; + // @deprecated (undocumented) + setPose(poseObject: VRMPose): void; + setRawPose(poseObject: VRMPose): void; + update(): void; +} + +// @public (undocumented) +export class VRMHumanoidHelper extends THREE_2.Group { + constructor(humanoid: VRMHumanoid); + // (undocumented) + dispose(): void; + // (undocumented) + updateMatrixWorld(force: boolean): void; + // (undocumented) + readonly vrmHumanoid: VRMHumanoid; +} + +// @public +export class VRMHumanoidLoaderPlugin implements GLTFLoaderPlugin { + constructor(parser: GLTFParser, options?: VRMHumanoidLoaderPluginOptions); + // (undocumented) + afterRoot(gltf: GLTF): Promise; + // (undocumented) + autoUpdateHumanBones?: boolean; + helperRoot?: THREE.Object3D; + // (undocumented) + get name(): string; + // (undocumented) + readonly parser: GLTFParser; +} + +// @public (undocumented) +export interface VRMHumanoidLoaderPluginOptions { + autoUpdateHumanBones?: boolean; + helperRoot?: THREE.Object3D; +} + +// @public +export class VRMLookAt { + constructor(humanoid: VRMHumanoid, applier: VRMLookAtApplier); + applier: VRMLookAtApplier; + autoUpdate: boolean; + clone(): VRMLookAt; + copy(source: VRMLookAt): this; + // @deprecated (undocumented) + get euler(): THREE_2.Euler; + // (undocumented) + static readonly EULER_ORDER = "YXZ"; + faceFront: THREE_2.Vector3; + getEuler(target: THREE_2.Euler): THREE_2.Euler; + getFaceFrontQuaternion(target: THREE_2.Quaternion): THREE_2.Quaternion; + getLookAtWorldDirection(target: THREE_2.Vector3): THREE_2.Vector3; + getLookAtWorldPosition(target: THREE_2.Vector3): THREE_2.Vector3; + getLookAtWorldQuaternion(target: THREE_2.Quaternion): THREE_2.Quaternion; + readonly humanoid: VRMHumanoid; + lookAt(position: THREE_2.Vector3): void; + protected _needsUpdate: boolean; + offsetFromHeadBone: THREE_2.Vector3; + get pitch(): number; + set pitch(value: number); + protected _pitch: number; + reset(): void; + target?: THREE_2.Object3D | null; + update(delta: number): void; + get yaw(): number; + set yaw(value: number); + protected _yaw: number; +} + +// @public +export interface VRMLookAtApplier { + applyYawPitch: (yaw: number, pitch: number) => void; + // @deprecated (undocumented) + lookAt: (euler: THREE_2.Euler) => void; +} + +// @public +export class VRMLookAtBoneApplier implements VRMLookAtApplier { + constructor(humanoid: VRMHumanoid, rangeMapHorizontalInner: VRMLookAtRangeMap, rangeMapHorizontalOuter: VRMLookAtRangeMap, rangeMapVerticalDown: VRMLookAtRangeMap, rangeMapVerticalUp: VRMLookAtRangeMap); + applyYawPitch(yaw: number, pitch: number): void; + faceFront: THREE_2.Vector3; + readonly humanoid: VRMHumanoid; + // @deprecated (undocumented) + lookAt(euler: THREE_2.Euler): void; + rangeMapHorizontalInner: VRMLookAtRangeMap; + rangeMapHorizontalOuter: VRMLookAtRangeMap; + rangeMapVerticalDown: VRMLookAtRangeMap; + rangeMapVerticalUp: VRMLookAtRangeMap; + static readonly type = "bone"; +} + +// @public +export class VRMLookAtExpressionApplier implements VRMLookAtApplier { + constructor(expressions: VRMExpressionManager, rangeMapHorizontalInner: VRMLookAtRangeMap, rangeMapHorizontalOuter: VRMLookAtRangeMap, rangeMapVerticalDown: VRMLookAtRangeMap, rangeMapVerticalUp: VRMLookAtRangeMap); + applyYawPitch(yaw: number, pitch: number): void; + readonly expressions: VRMExpressionManager; + // @deprecated (undocumented) + lookAt(euler: THREE_2.Euler): void; + rangeMapHorizontalInner: VRMLookAtRangeMap; + rangeMapHorizontalOuter: VRMLookAtRangeMap; + rangeMapVerticalDown: VRMLookAtRangeMap; + rangeMapVerticalUp: VRMLookAtRangeMap; + static readonly type = "expression"; +} + +// @public (undocumented) +export class VRMLookAtHelper extends THREE_2.Group { + constructor(lookAt: VRMLookAt); + // (undocumented) + dispose(): void; + // (undocumented) + updateMatrixWorld(force: boolean): void; + // (undocumented) + readonly vrmLookAt: VRMLookAt; +} + +// @public +export class VRMLookAtLoaderPlugin implements GLTFLoaderPlugin { + // Warning: (ae-forgotten-export) The symbol "VRMLookAtLoaderPluginOptions" needs to be exported by the entry point index.d.ts + constructor(parser: GLTFParser, options?: VRMLookAtLoaderPluginOptions); + // (undocumented) + afterRoot(gltf: GLTF): Promise; + helperRoot?: THREE.Object3D; + // (undocumented) + get name(): string; + // (undocumented) + readonly parser: GLTFParser; +} + +// @public (undocumented) +export class VRMLookAtRangeMap { + constructor(inputMaxValue: number, outputScale: number); + inputMaxValue: number; + map(src: number): number; + outputScale: number; +} + +// @public +export const VRMLookAtTypeName: { + Bone: string; + Expression: string; +}; + +// @public (undocumented) +export type VRMLookAtTypeName = typeof VRMLookAtTypeName[keyof typeof VRMLookAtTypeName]; + +// @public +export type VRMMeta = VRM0Meta | VRM1Meta; + +// @public +export interface VRMMetaImporterOptions { + acceptLicenseUrls?: string[]; + acceptV0Meta?: boolean; + needThumbnailImage?: boolean; +} + +// @public +export class VRMMetaLoaderPlugin implements GLTFLoaderPlugin { + constructor(parser: GLTFParser, options?: VRMMetaImporterOptions); + acceptLicenseUrls: string[]; + acceptV0Meta: boolean; + // (undocumented) + afterRoot(gltf: GLTF): Promise; + // (undocumented) + get name(): string; + needThumbnailImage: boolean; + // (undocumented) + readonly parser: GLTFParser; +} + +// @public +export type VRMPose = { + [boneName in VRMHumanBoneName]?: VRMPoseTransform; +}; + +// @public +export interface VRMPoseTransform { + position?: [number, number, number]; + rotation?: [number, number, number, number]; +} + +// @public (undocumented) +export const VRMRequiredHumanBoneName: { + readonly Hips: "hips"; + readonly Spine: "spine"; + readonly Head: "head"; + readonly LeftUpperLeg: "leftUpperLeg"; + readonly LeftLowerLeg: "leftLowerLeg"; + readonly LeftFoot: "leftFoot"; + readonly RightUpperLeg: "rightUpperLeg"; + readonly RightLowerLeg: "rightLowerLeg"; + readonly RightFoot: "rightFoot"; + readonly LeftUpperArm: "leftUpperArm"; + readonly LeftLowerArm: "leftLowerArm"; + readonly LeftHand: "leftHand"; + readonly RightUpperArm: "rightUpperArm"; + readonly RightLowerArm: "rightLowerArm"; + readonly RightHand: "rightHand"; +}; + +// @public (undocumented) +export type VRMRequiredHumanBoneName = typeof VRMRequiredHumanBoneName[keyof typeof VRMRequiredHumanBoneName]; + +// (No @packageDocumentation comment for this package) + +``` diff --git a/packages/three-vrm-materials-hdr-emissive-multiplier/api-extractor.json b/packages/three-vrm-materials-hdr-emissive-multiplier/api-extractor.json new file mode 100644 index 000000000..663b48c3c --- /dev/null +++ b/packages/three-vrm-materials-hdr-emissive-multiplier/api-extractor.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "extends": "../../api-extractor.base.json" +} \ No newline at end of file diff --git a/packages/three-vrm-materials-hdr-emissive-multiplier/package.json b/packages/three-vrm-materials-hdr-emissive-multiplier/package.json index 11b602ded..6b51fbfbd 100644 --- a/packages/three-vrm-materials-hdr-emissive-multiplier/package.json +++ b/packages/three-vrm-materials-hdr-emissive-multiplier/package.json @@ -12,7 +12,7 @@ ], "main": "lib/three-vrm-materials-hdr-emissive-multiplier.js", "module": "lib/three-vrm-materials-hdr-emissive-multiplier.module.js", - "types": "types/index.d.ts", + "types": "lib/index.d.ts", "typesVersions": { "<3.9": { "*": [ @@ -33,7 +33,7 @@ "build": "yarn build-dev && yarn build-prod && yarn build-types", "build-dev": "cross-env NODE_ENV=development rollup -c", "build-prod": "cross-env NODE_ENV=production rollup -c", - "build-types": "tsc --declaration --declarationDir ./types --emitDeclarationOnly && downlevel-dts types ts3.4/types", + "build-types": "tsc --declaration --declarationDir ./types --emitDeclarationOnly && api-extractor run --local && downlevel-dts types ts3.4/types && rimraf types", "docs": "typedoc --entryPoints ./src/index.ts --out docs", "lint": "eslint \"src/**/*.{ts,tsx}\" && yarn lint-examples && prettier \"src/**/*.{ts,tsx}\" --check", "lint-examples": "eslint \"examples/**/*.{ts,tsx,js,html}\" --rule \"padded-blocks: error\"", @@ -45,10 +45,8 @@ "prettier --write" ] }, - "dependencies": { - "@pixiv/types-vrmc-materials-hdr-emissive-multiplier-1.0": "2.0.6-alpha.2" - }, "devDependencies": { + "@pixiv/types-vrmc-materials-hdr-emissive-multiplier-1.0": "2.0.6-alpha.2", "@types/three": "^0.154.0", "three": "^0.154.0" }, diff --git a/packages/three-vrm-materials-hdr-emissive-multiplier/three-vrm-materials-hdr-emissive-multiplier.api.md b/packages/three-vrm-materials-hdr-emissive-multiplier/three-vrm-materials-hdr-emissive-multiplier.api.md new file mode 100644 index 000000000..26941b3e7 --- /dev/null +++ b/packages/three-vrm-materials-hdr-emissive-multiplier/three-vrm-materials-hdr-emissive-multiplier.api.md @@ -0,0 +1,27 @@ +## API Report File for "@pixiv/three-vrm-materials-hdr-emissive-multiplier" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +import { GLTFLoaderPlugin } from 'three/examples/jsm/loaders/GLTFLoader.js'; +import { GLTFParser } from 'three/examples/jsm/loaders/GLTFLoader.js'; + +// @public (undocumented) +export class VRMMaterialsHDREmissiveMultiplierLoaderPlugin implements GLTFLoaderPlugin { + constructor(parser: GLTFParser); + // (undocumented) + extendMaterialParams(materialIndex: number, materialParams: { + [key: string]: any; + }): Promise; + // (undocumented) + static EXTENSION_NAME: "VRMC_materials_hdr_emissiveMultiplier"; + // (undocumented) + get name(): string; + // (undocumented) + readonly parser: GLTFParser; +} + +// (No @packageDocumentation comment for this package) + +``` diff --git a/packages/three-vrm-materials-mtoon/api-extractor.json b/packages/three-vrm-materials-mtoon/api-extractor.json new file mode 100644 index 000000000..663b48c3c --- /dev/null +++ b/packages/three-vrm-materials-mtoon/api-extractor.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "extends": "../../api-extractor.base.json" +} \ No newline at end of file diff --git a/packages/three-vrm-materials-mtoon/package.json b/packages/three-vrm-materials-mtoon/package.json index 1782083ad..c1d5cd905 100644 --- a/packages/three-vrm-materials-mtoon/package.json +++ b/packages/three-vrm-materials-mtoon/package.json @@ -12,7 +12,7 @@ ], "main": "lib/three-vrm-materials-mtoon.js", "module": "lib/three-vrm-materials-mtoon.module.js", - "types": "types/index.d.ts", + "types": "lib/index.d.ts", "typesVersions": { "<3.9": { "*": [ @@ -33,7 +33,7 @@ "build": "yarn build-dev && yarn build-prod && yarn build-types", "build-dev": "cross-env NODE_ENV=development rollup -c", "build-prod": "cross-env NODE_ENV=production rollup -c", - "build-types": "tsc --declaration --declarationDir ./types --emitDeclarationOnly && downlevel-dts types ts3.4/types", + "build-types": "tsc --declaration --declarationDir ./types --emitDeclarationOnly && api-extractor run --local && downlevel-dts types ts3.4/types && rimraf types", "docs": "typedoc --entryPoints ./src/index.ts --out docs", "lint": "eslint \"src/**/*.{ts,tsx}\" && yarn lint-examples && prettier \"src/**/*.{ts,tsx}\" --check", "lint-examples": "eslint \"examples/**/*.{ts,tsx,js,html}\" --rule \"padded-blocks: error\"", @@ -45,11 +45,9 @@ "prettier --write" ] }, - "dependencies": { - "@pixiv/types-vrm-0.0": "2.0.6-alpha.2", - "@pixiv/types-vrmc-materials-mtoon-1.0": "2.0.6-alpha.2" - }, "devDependencies": { + "@pixiv/types-vrm-0.0": "2.0.6-alpha.2", + "@pixiv/types-vrmc-materials-mtoon-1.0": "2.0.6-alpha.2", "@types/three": "^0.154.0", "three": "^0.154.0" }, diff --git a/packages/three-vrm-materials-mtoon/src/MToonMaterial.ts b/packages/three-vrm-materials-mtoon/src/MToonMaterial.ts index c0236287a..fcadf96c8 100644 --- a/packages/three-vrm-materials-mtoon/src/MToonMaterial.ts +++ b/packages/three-vrm-materials-mtoon/src/MToonMaterial.ts @@ -309,12 +309,6 @@ export class MToonMaterial extends THREE.ShaderMaterial { return this._v0CompatShade; } - /** - * There is a line of the shader called "comment out if you want to PBR absolutely" in VRM0.0 MToon. - * When this is true, the material enables the line to make it compatible with the legacy rendering of VRM. - * Usually not recommended to turn this on. - * `false` by default. - */ set v0CompatShade(v: boolean) { this._v0CompatShade = v; @@ -333,12 +327,6 @@ export class MToonMaterial extends THREE.ShaderMaterial { return this._debugMode; } - /** - * Debug mode for the material. - * You can visualize several components for diagnosis using debug mode. - * - * See: {@link MToonMaterialDebugMode} - */ set debugMode(m: MToonMaterialDebugMode) { this._debugMode = m; @@ -556,7 +544,7 @@ export class MToonMaterial extends THREE.ShaderMaterial { /** * Upload uniforms that need to upload but doesn't automatically because of reasons. - * Intended to be called via {@link constructor} and {@link update}. + * Intended to be called via {@link MToonMaterial}'s constructor and {@link update}. */ private _uploadUniformsWorkaround(): void { // workaround: since opacity is defined as a property in THREE.Material diff --git a/packages/three-vrm-materials-mtoon/three-vrm-materials-mtoon.api.md b/packages/three-vrm-materials-mtoon/three-vrm-materials-mtoon.api.md new file mode 100644 index 000000000..16f68624e --- /dev/null +++ b/packages/three-vrm-materials-mtoon/three-vrm-materials-mtoon.api.md @@ -0,0 +1,295 @@ +## API Report File for "@pixiv/three-vrm-materials-mtoon" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +import type { GLTF } from 'three/examples/jsm/loaders/GLTFLoader.js'; +import type { GLTFLoaderPlugin } from 'three/examples/jsm/loaders/GLTFLoader.js'; +import type { GLTFParser } from 'three/examples/jsm/loaders/GLTFLoader.js'; +import * as THREE_2 from 'three'; + +// @public +export class MToonMaterial extends THREE_2.ShaderMaterial { + constructor(parameters?: MToonMaterialParameters); + // (undocumented) + get color(): THREE_2.Color; + set color(value: THREE_2.Color); + // (undocumented) + copy(source: this): this; + get debugMode(): MToonMaterialDebugMode; + set debugMode(m: MToonMaterialDebugMode); + // (undocumented) + get emissive(): THREE_2.Color; + set emissive(value: THREE_2.Color); + // (undocumented) + get emissiveIntensity(): number; + set emissiveIntensity(value: number); + // (undocumented) + get emissiveMap(): THREE_2.Texture | null; + set emissiveMap(value: THREE_2.Texture | null); + fog: boolean; + // (undocumented) + get giEqualizationFactor(): number; + set giEqualizationFactor(value: number); + get ignoreVertexColor(): boolean; + set ignoreVertexColor(value: boolean); + get isMToonMaterial(): true; + // (undocumented) + get isOutline(): boolean; + set isOutline(b: boolean); + // (undocumented) + get map(): THREE_2.Texture | null; + set map(value: THREE_2.Texture | null); + // (undocumented) + get matcapFactor(): THREE_2.Color; + set matcapFactor(value: THREE_2.Color); + // (undocumented) + get matcapTexture(): THREE_2.Texture | null; + set matcapTexture(value: THREE_2.Texture | null); + // (undocumented) + get normalMap(): THREE_2.Texture | null; + set normalMap(value: THREE_2.Texture | null); + normalMapType: 0; + // (undocumented) + get normalScale(): THREE_2.Vector2; + set normalScale(value: THREE_2.Vector2); + // (undocumented) + get outlineColorFactor(): THREE_2.Color; + set outlineColorFactor(value: THREE_2.Color); + // (undocumented) + get outlineLightingMixFactor(): number; + set outlineLightingMixFactor(value: number); + // (undocumented) + get outlineWidthFactor(): number; + set outlineWidthFactor(value: number); + // (undocumented) + get outlineWidthMode(): MToonMaterialOutlineWidthMode; + set outlineWidthMode(m: MToonMaterialOutlineWidthMode); + // (undocumented) + get outlineWidthMultiplyTexture(): THREE_2.Texture | null; + set outlineWidthMultiplyTexture(value: THREE_2.Texture | null); + // (undocumented) + get parametricRimColorFactor(): THREE_2.Color; + set parametricRimColorFactor(value: THREE_2.Color); + // (undocumented) + get parametricRimFresnelPowerFactor(): number; + set parametricRimFresnelPowerFactor(value: number); + // (undocumented) + get parametricRimLiftFactor(): number; + set parametricRimLiftFactor(value: number); + // (undocumented) + get rimLightingMixFactor(): number; + set rimLightingMixFactor(value: number); + // (undocumented) + get rimMultiplyTexture(): THREE_2.Texture | null; + set rimMultiplyTexture(value: THREE_2.Texture | null); + // (undocumented) + get shadeColorFactor(): THREE_2.Color; + set shadeColorFactor(value: THREE_2.Color); + // (undocumented) + get shadeMultiplyTexture(): THREE_2.Texture | null; + set shadeMultiplyTexture(value: THREE_2.Texture | null); + // (undocumented) + get shadingShiftFactor(): number; + set shadingShiftFactor(value: number); + // (undocumented) + get shadingShiftTexture(): THREE_2.Texture | null; + set shadingShiftTexture(value: THREE_2.Texture | null); + // (undocumented) + get shadingShiftTextureScale(): number; + set shadingShiftTextureScale(value: number); + // (undocumented) + get shadingToonyFactor(): number; + set shadingToonyFactor(value: number); + // (undocumented) + uniforms: { + litFactor: THREE_2.IUniform; + alphaTest: THREE_2.IUniform; + opacity: THREE_2.IUniform; + map: THREE_2.IUniform; + mapUvTransform: THREE_2.IUniform; + normalMap: THREE_2.IUniform; + normalMapUvTransform: THREE_2.IUniform; + normalScale: THREE_2.IUniform; + emissive: THREE_2.IUniform; + emissiveIntensity: THREE_2.IUniform; + emissiveMap: THREE_2.IUniform; + emissiveMapUvTransform: THREE_2.IUniform; + shadeColorFactor: THREE_2.IUniform; + shadeMultiplyTexture: THREE_2.IUniform; + shadeMultiplyTextureUvTransform: THREE_2.IUniform; + shadingShiftFactor: THREE_2.IUniform; + shadingShiftTexture: THREE_2.IUniform; + shadingShiftTextureUvTransform: THREE_2.IUniform; + shadingShiftTextureScale: THREE_2.IUniform; + shadingToonyFactor: THREE_2.IUniform; + giEqualizationFactor: THREE_2.IUniform; + matcapFactor: THREE_2.IUniform; + matcapTexture: THREE_2.IUniform; + matcapTextureUvTransform: THREE_2.IUniform; + parametricRimColorFactor: THREE_2.IUniform; + rimMultiplyTexture: THREE_2.IUniform; + rimMultiplyTextureUvTransform: THREE_2.IUniform; + rimLightingMixFactor: THREE_2.IUniform; + parametricRimFresnelPowerFactor: THREE_2.IUniform; + parametricRimLiftFactor: THREE_2.IUniform; + outlineWidthMultiplyTexture: THREE_2.IUniform; + outlineWidthMultiplyTextureUvTransform: THREE_2.IUniform; + outlineWidthFactor: THREE_2.IUniform; + outlineColorFactor: THREE_2.IUniform; + outlineLightingMixFactor: THREE_2.IUniform; + uvAnimationMaskTexture: THREE_2.IUniform; + uvAnimationMaskTextureUvTransform: THREE_2.IUniform; + uvAnimationScrollXOffset: THREE_2.IUniform; + uvAnimationScrollYOffset: THREE_2.IUniform; + uvAnimationRotationPhase: THREE_2.IUniform; + }; + update(delta: number): void; + // (undocumented) + get uvAnimationMaskTexture(): THREE_2.Texture | null; + set uvAnimationMaskTexture(value: THREE_2.Texture | null); + // (undocumented) + get uvAnimationRotationPhase(): number; + set uvAnimationRotationPhase(value: number); + // (undocumented) + uvAnimationRotationSpeedFactor: number; + // (undocumented) + get uvAnimationScrollXOffset(): number; + set uvAnimationScrollXOffset(value: number); + // (undocumented) + uvAnimationScrollXSpeedFactor: number; + // (undocumented) + get uvAnimationScrollYOffset(): number; + set uvAnimationScrollYOffset(value: number); + // (undocumented) + uvAnimationScrollYSpeedFactor: number; + get v0CompatShade(): boolean; + set v0CompatShade(v: boolean); +} + +// @public +export const MToonMaterialDebugMode: { + readonly None: "none"; + readonly Normal: "normal"; + readonly LitShadeRate: "litShadeRate"; + readonly UV: "uv"; +}; + +// @public (undocumented) +export type MToonMaterialDebugMode = typeof MToonMaterialDebugMode[keyof typeof MToonMaterialDebugMode]; + +// @public (undocumented) +export class MToonMaterialLoaderPlugin implements GLTFLoaderPlugin { + constructor(parser: GLTFParser, options?: MToonMaterialLoaderPluginOptions); + // (undocumented) + afterRoot(gltf: GLTF): Promise; + // (undocumented) + beforeRoot(): Promise; + debugMode: MToonMaterialDebugMode; + // (undocumented) + extendMaterialParams(materialIndex: number, materialParams: MToonMaterialParameters): Promise | null; + // (undocumented) + static EXTENSION_NAME: string; + // (undocumented) + getMaterialType(materialIndex: number): typeof THREE_2.Material | null; + // (undocumented) + loadMesh(meshIndex: number): Promise; + // (undocumented) + get name(): string; + // (undocumented) + readonly parser: GLTFParser; + renderOrderOffset: number; + v0CompatShade: boolean; +} + +// @public (undocumented) +export interface MToonMaterialLoaderPluginOptions { + debugMode?: MToonMaterialDebugMode; + renderOrderOffset?: number; + v0CompatShade?: boolean; +} + +// @public (undocumented) +export const MToonMaterialOutlineWidthMode: { + readonly None: "none"; + readonly WorldCoordinates: "worldCoordinates"; + readonly ScreenCoordinates: "screenCoordinates"; +}; + +// @public (undocumented) +export type MToonMaterialOutlineWidthMode = typeof MToonMaterialOutlineWidthMode[keyof typeof MToonMaterialOutlineWidthMode]; + +// @public (undocumented) +export interface MToonMaterialParameters extends THREE.ShaderMaterialParameters { + // (undocumented) + color?: THREE.Color; + debugMode?: MToonMaterialDebugMode; + // (undocumented) + emissive?: THREE.Color; + // (undocumented) + emissiveIntensity?: number; + // (undocumented) + emissiveMap?: THREE.Texture; + fog?: boolean; + // (undocumented) + giEqualizationFactor?: number; + ignoreVertexColor?: boolean; + isOutline?: boolean; + // (undocumented) + map?: THREE.Texture; + // (undocumented) + matcapFactor?: THREE.Color; + // (undocumented) + matcapTexture?: THREE.Texture; + // (undocumented) + normalMap?: THREE.Texture; + // (undocumented) + normalScale?: THREE.Vector2; + // (undocumented) + outlineColorFactor?: THREE.Color; + // (undocumented) + outlineLightingMixFactor?: number; + // (undocumented) + outlineWidthFactor?: number; + // (undocumented) + outlineWidthMode?: MToonMaterialOutlineWidthMode; + // (undocumented) + outlineWidthMultiplyTexture?: THREE.Texture; + // (undocumented) + parametricRimColorFactor?: THREE.Color; + // (undocumented) + parametricRimFresnelPowerFactor?: number; + // (undocumented) + parametricRimLiftFactor?: number; + // (undocumented) + rimLightingMixFactor?: number; + // (undocumented) + rimMultiplyTexture?: THREE.Texture; + // (undocumented) + shadeColorFactor?: THREE.Color; + // (undocumented) + shadeMultiplyTexture?: THREE.Texture; + // (undocumented) + shadingShiftFactor?: number; + // (undocumented) + shadingShiftTexture?: THREE.Texture; + // (undocumented) + shadingShiftTextureScale?: number; + // (undocumented) + shadingToonyFactor?: number; + transparentWithZWrite?: boolean; + // (undocumented) + uvAnimationMaskTexture?: THREE.Texture; + // (undocumented) + uvAnimationRotationSpeedFactor?: number; + // (undocumented) + uvAnimationScrollXSpeedFactor?: number; + // (undocumented) + uvAnimationScrollYSpeedFactor?: number; + v0CompatShade?: boolean; +} + +// (No @packageDocumentation comment for this package) + +``` diff --git a/packages/three-vrm-materials-v0compat/api-extractor.json b/packages/three-vrm-materials-v0compat/api-extractor.json new file mode 100644 index 000000000..663b48c3c --- /dev/null +++ b/packages/three-vrm-materials-v0compat/api-extractor.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "extends": "../../api-extractor.base.json" +} \ No newline at end of file diff --git a/packages/three-vrm-materials-v0compat/package.json b/packages/three-vrm-materials-v0compat/package.json index fec5e3f7c..f4a1ba2ab 100644 --- a/packages/three-vrm-materials-v0compat/package.json +++ b/packages/three-vrm-materials-v0compat/package.json @@ -12,7 +12,7 @@ ], "main": "lib/three-vrm-materials-v0compat.js", "module": "lib/three-vrm-materials-v0compat.module.js", - "types": "types/index.d.ts", + "types": "lib/index.d.ts", "typesVersions": { "<3.9": { "*": [ @@ -33,7 +33,7 @@ "build": "yarn build-dev && yarn build-prod && yarn build-types", "build-dev": "cross-env NODE_ENV=development rollup -c", "build-prod": "cross-env NODE_ENV=production rollup -c", - "build-types": "tsc --project ./tsconfig.build-types.json && downlevel-dts types ts3.4/types", + "build-types": "tsc --project ./tsconfig.build-types.json && api-extractor run --local && downlevel-dts types ts3.4/types", "docs": "typedoc --entryPoints ./src/index.ts --out docs", "lint": "eslint \"src/**/*.{ts,tsx}\" && prettier \"src/**/*.{ts,tsx}\" --check", "lint-fix": "eslint \"src/**/*.{ts,tsx}\" --fix && prettier \"src/**/*.{ts,tsx}\" --write" @@ -44,11 +44,9 @@ "prettier --write" ] }, - "dependencies": { - "@pixiv/types-vrm-0.0": "2.0.6-alpha.2", - "@pixiv/types-vrmc-materials-mtoon-1.0": "2.0.6-alpha.2" - }, "devDependencies": { + "@pixiv/types-vrm-0.0": "2.0.6-alpha.2", + "@pixiv/types-vrmc-materials-mtoon-1.0": "2.0.6-alpha.2", "@types/three": "^0.154.0", "lint-staged": "13.1.2", "three": "^0.154.0" diff --git a/packages/three-vrm-materials-v0compat/three-vrm-materials-v0compat.api.md b/packages/three-vrm-materials-v0compat/three-vrm-materials-v0compat.api.md new file mode 100644 index 000000000..4ebb3d849 --- /dev/null +++ b/packages/three-vrm-materials-v0compat/three-vrm-materials-v0compat.api.md @@ -0,0 +1,23 @@ +## API Report File for "@pixiv/three-vrm-materials-v0compat" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +import type { GLTFLoaderPlugin } from 'three/examples/jsm/loaders/GLTFLoader.js'; +import type { GLTFParser } from 'three/examples/jsm/loaders/GLTFLoader.js'; + +// @public (undocumented) +export class VRMMaterialsV0CompatPlugin implements GLTFLoaderPlugin { + constructor(parser: GLTFParser); + // (undocumented) + beforeRoot(): Promise; + // (undocumented) + get name(): string; + // (undocumented) + readonly parser: GLTFParser; +} + +// (No @packageDocumentation comment for this package) + +``` diff --git a/packages/three-vrm-node-constraint/api-extractor.json b/packages/three-vrm-node-constraint/api-extractor.json new file mode 100644 index 000000000..663b48c3c --- /dev/null +++ b/packages/three-vrm-node-constraint/api-extractor.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "extends": "../../api-extractor.base.json" +} \ No newline at end of file diff --git a/packages/three-vrm-node-constraint/package.json b/packages/three-vrm-node-constraint/package.json index f41d26994..de6aa5c26 100644 --- a/packages/three-vrm-node-constraint/package.json +++ b/packages/three-vrm-node-constraint/package.json @@ -12,7 +12,7 @@ ], "main": "lib/three-vrm-node-constraint.js", "module": "lib/three-vrm-node-constraint.module.js", - "types": "types/index.d.ts", + "types": "lib/index.d.ts", "typesVersions": { "<3.9": { "*": [ @@ -33,7 +33,7 @@ "build": "yarn build-dev && yarn build-prod && yarn build-types", "build-dev": "cross-env NODE_ENV=development rollup -c", "build-prod": "cross-env NODE_ENV=production rollup -c", - "build-types": "tsc --project ./tsconfig.build-types.json && downlevel-dts types ts3.4/types", + "build-types": "tsc --project ./tsconfig.build-types.json && api-extractor run --local && downlevel-dts types ts3.4/types", "docs": "typedoc --entryPoints ./src/index.ts --out docs", "test": "jest", "lint": "eslint \"src/**/*.{ts,tsx}\" && yarn lint-examples && prettier \"src/**/*.{ts,tsx}\" --check", @@ -46,10 +46,8 @@ "prettier --write" ] }, - "dependencies": { - "@pixiv/types-vrmc-node-constraint-1.0": "2.0.6-alpha.2" - }, "devDependencies": { + "@pixiv/types-vrmc-node-constraint-1.0": "2.0.6-alpha.2", "@types/three": "^0.154.0", "lint-staged": "13.1.2", "three": "^0.154.0" diff --git a/packages/three-vrm-node-constraint/src/VRMAimConstraint.ts b/packages/three-vrm-node-constraint/src/VRMAimConstraint.ts index 045d540c8..06f0bdb5e 100644 --- a/packages/three-vrm-node-constraint/src/VRMAimConstraint.ts +++ b/packages/three-vrm-node-constraint/src/VRMAimConstraint.ts @@ -24,9 +24,6 @@ export class VRMAimConstraint extends VRMNodeConstraint { return this._aimAxis; } - /** - * The aim axis of the constraint. - */ public set aimAxis(aimAxis: 'PositiveX' | 'NegativeX' | 'PositiveY' | 'NegativeY' | 'PositiveZ' | 'NegativeZ') { this._aimAxis = aimAxis; this._v3AimAxis.set( diff --git a/packages/three-vrm-node-constraint/src/VRMRollConstraint.ts b/packages/three-vrm-node-constraint/src/VRMRollConstraint.ts index 4bd58a487..352787c71 100644 --- a/packages/three-vrm-node-constraint/src/VRMRollConstraint.ts +++ b/packages/three-vrm-node-constraint/src/VRMRollConstraint.ts @@ -19,9 +19,6 @@ export class VRMRollConstraint extends VRMNodeConstraint { return this._rollAxis; } - /** - * The roll axis of the constraint. - */ public set rollAxis(rollAxis: 'X' | 'Y' | 'Z') { this._rollAxis = rollAxis; this._v3RollAxis.set(rollAxis === 'X' ? 1.0 : 0.0, rollAxis === 'Y' ? 1.0 : 0.0, rollAxis === 'Z' ? 1.0 : 0.0); diff --git a/packages/three-vrm-node-constraint/three-vrm-node-constraint.api.md b/packages/three-vrm-node-constraint/three-vrm-node-constraint.api.md new file mode 100644 index 000000000..f15a6865b --- /dev/null +++ b/packages/three-vrm-node-constraint/three-vrm-node-constraint.api.md @@ -0,0 +1,110 @@ +## API Report File for "@pixiv/three-vrm-node-constraint" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +import type { GLTF } from 'three/examples/jsm/loaders/GLTFLoader.js'; +import type { GLTFLoaderPlugin } from 'three/examples/jsm/loaders/GLTFLoader.js'; +import type { GLTFParser } from 'three/examples/jsm/loaders/GLTFLoader.js'; +import * as THREE_2 from 'three'; + +// @public +export class VRMAimConstraint extends VRMNodeConstraint { + constructor(destination: THREE_2.Object3D, source: THREE_2.Object3D); + get aimAxis(): 'PositiveX' | 'NegativeX' | 'PositiveY' | 'NegativeY' | 'PositiveZ' | 'NegativeZ'; + set aimAxis(aimAxis: 'PositiveX' | 'NegativeX' | 'PositiveY' | 'NegativeY' | 'PositiveZ' | 'NegativeZ'); + // (undocumented) + get dependencies(): Set>; + // (undocumented) + setInitState(): void; + // (undocumented) + update(): void; +} + +// @public +export abstract class VRMNodeConstraint { + constructor(destination: THREE_2.Object3D, source: THREE_2.Object3D); + // (undocumented) + abstract get dependencies(): Set; + destination: THREE_2.Object3D; + abstract setInitState(): void; + source: THREE_2.Object3D; + abstract update(): void; + weight: number; +} + +// @public (undocumented) +export class VRMNodeConstraintHelper extends THREE_2.Group { + constructor(constraint: VRMNodeConstraint); + // (undocumented) + readonly constraint: VRMNodeConstraint; + // (undocumented) + updateMatrixWorld(force?: boolean): void; +} + +// @public (undocumented) +export class VRMNodeConstraintLoaderPlugin implements GLTFLoaderPlugin { + // Warning: (ae-forgotten-export) The symbol "VRMNodeConstraintLoaderPluginOptions" needs to be exported by the entry point index.d.ts + constructor(parser: GLTFParser, options?: VRMNodeConstraintLoaderPluginOptions); + // (undocumented) + afterRoot(gltf: GLTF): Promise; + // (undocumented) + static readonly EXTENSION_NAME = "VRMC_node_constraint"; + helperRoot?: THREE_2.Object3D; + protected _import(gltf: GLTF): Promise; + // (undocumented) + protected _importAimConstraint(destination: THREE_2.Object3D, nodes: THREE_2.Object3D[], aimConstraintDef: ConstraintSchema.AimConstraint): VRMAimConstraint; + // Warning: (ae-forgotten-export) The symbol "ConstraintSchema" needs to be exported by the entry point index.d.ts + // + // (undocumented) + protected _importRollConstraint(destination: THREE_2.Object3D, nodes: THREE_2.Object3D[], rollConstraintDef: ConstraintSchema.RollConstraint): VRMRollConstraint; + // (undocumented) + protected _importRotationConstraint(destination: THREE_2.Object3D, nodes: THREE_2.Object3D[], rotationConstraintDef: ConstraintSchema.RotationConstraint): VRMRotationConstraint; + // (undocumented) + get name(): string; + // (undocumented) + readonly parser: GLTFParser; +} + +// @public (undocumented) +export class VRMNodeConstraintManager { + // (undocumented) + addConstraint(constraint: VRMNodeConstraint): void; + // (undocumented) + get constraints(): Set; + // (undocumented) + deleteConstraint(constraint: VRMNodeConstraint): void; + // (undocumented) + setInitState(): void; + // (undocumented) + update(): void; +} + +// @public +export class VRMRollConstraint extends VRMNodeConstraint { + constructor(destination: THREE_2.Object3D, source: THREE_2.Object3D); + // (undocumented) + get dependencies(): Set>; + get rollAxis(): 'X' | 'Y' | 'Z'; + set rollAxis(rollAxis: 'X' | 'Y' | 'Z'); + // (undocumented) + setInitState(): void; + // (undocumented) + update(): void; +} + +// @public +export class VRMRotationConstraint extends VRMNodeConstraint { + constructor(destination: THREE_2.Object3D, source: THREE_2.Object3D); + // (undocumented) + get dependencies(): Set>; + // (undocumented) + setInitState(): void; + // (undocumented) + update(): void; +} + +// (No @packageDocumentation comment for this package) + +``` diff --git a/packages/three-vrm-springbone/api-extractor.json b/packages/three-vrm-springbone/api-extractor.json new file mode 100644 index 000000000..663b48c3c --- /dev/null +++ b/packages/three-vrm-springbone/api-extractor.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "extends": "../../api-extractor.base.json" +} \ No newline at end of file diff --git a/packages/three-vrm-springbone/package.json b/packages/three-vrm-springbone/package.json index 8c77c3cb4..fbfcc5eb8 100644 --- a/packages/three-vrm-springbone/package.json +++ b/packages/three-vrm-springbone/package.json @@ -12,7 +12,7 @@ ], "main": "lib/three-vrm-springbone.js", "module": "lib/three-vrm-springbone.module.js", - "types": "types/index.d.ts", + "types": "lib/index.d.ts", "typesVersions": { "<3.9": { "*": [ @@ -33,7 +33,7 @@ "build": "yarn build-dev && yarn build-prod && yarn build-types", "build-dev": "cross-env NODE_ENV=development rollup -c", "build-prod": "cross-env NODE_ENV=production rollup -c", - "build-types": "tsc --declaration --declarationDir ./types --emitDeclarationOnly && downlevel-dts types ts3.4/types", + "build-types": "tsc --declaration --declarationDir ./types --emitDeclarationOnly && api-extractor run --local && downlevel-dts types ts3.4/types && rimraf types", "docs": "typedoc --entryPoints ./src/index.ts --out docs", "test": "jest", "lint": "eslint \"src/**/*.{ts,tsx}\" && yarn lint-examples && prettier \"src/**/*.{ts,tsx}\" --check", @@ -46,11 +46,9 @@ "prettier --write" ] }, - "dependencies": { - "@pixiv/types-vrm-0.0": "2.0.6-alpha.2", - "@pixiv/types-vrmc-springbone-1.0": "2.0.6-alpha.2" - }, "devDependencies": { + "@pixiv/types-vrm-0.0": "2.0.6-alpha.2", + "@pixiv/types-vrmc-springbone-1.0": "2.0.6-alpha.2", "lint-staged": "13.1.2", "three": "^0.154.0" }, diff --git a/packages/three-vrm-springbone/three-vrm-springbone.api.md b/packages/three-vrm-springbone/three-vrm-springbone.api.md new file mode 100644 index 000000000..c482adc90 --- /dev/null +++ b/packages/three-vrm-springbone/three-vrm-springbone.api.md @@ -0,0 +1,156 @@ +## API Report File for "@pixiv/three-vrm-springbone" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +import type { GLTF } from 'three/examples/jsm/loaders/GLTFLoader.js'; +import type { GLTFLoaderPlugin } from 'three/examples/jsm/loaders/GLTFLoader.js'; +import type { GLTFParser } from 'three/examples/jsm/loaders/GLTFLoader.js'; +import * as THREE_2 from 'three'; + +// @public +export class VRMSpringBoneCollider extends THREE_2.Object3D { + constructor(shape: VRMSpringBoneColliderShape); + readonly shape: VRMSpringBoneColliderShape; +} + +// @public +export interface VRMSpringBoneColliderGroup { + colliders: VRMSpringBoneCollider[]; + name?: string; +} + +// @public (undocumented) +export class VRMSpringBoneColliderHelper extends THREE_2.Group { + constructor(collider: VRMSpringBoneCollider); + // (undocumented) + readonly collider: VRMSpringBoneCollider; + // (undocumented) + dispose(): void; + // (undocumented) + updateMatrixWorld(force: boolean): void; +} + +// @public +export abstract class VRMSpringBoneColliderShape { + abstract calculateCollision(colliderMatrix: THREE.Matrix4, objectPosition: THREE.Vector3, objectRadius: number, target: THREE.Vector3): number; + abstract get type(): string; +} + +// @public (undocumented) +export class VRMSpringBoneColliderShapeCapsule extends VRMSpringBoneColliderShape { + constructor(params?: { + radius?: number; + offset?: THREE_2.Vector3; + tail?: THREE_2.Vector3; + }); + // (undocumented) + calculateCollision(colliderMatrix: THREE_2.Matrix4, objectPosition: THREE_2.Vector3, objectRadius: number, target: THREE_2.Vector3): number; + offset: THREE_2.Vector3; + radius: number; + tail: THREE_2.Vector3; + // (undocumented) + get type(): 'capsule'; +} + +// @public (undocumented) +export class VRMSpringBoneColliderShapeSphere extends VRMSpringBoneColliderShape { + constructor(params?: { + radius?: number; + offset?: THREE_2.Vector3; + }); + // (undocumented) + calculateCollision(colliderMatrix: THREE_2.Matrix4, objectPosition: THREE_2.Vector3, objectRadius: number, target: THREE_2.Vector3): number; + offset: THREE_2.Vector3; + radius: number; + // (undocumented) + get type(): 'sphere'; +} + +// @public +export class VRMSpringBoneJoint { + constructor(bone: THREE_2.Object3D, child: THREE_2.Object3D | null, settings?: Partial, colliderGroups?: VRMSpringBoneColliderGroup[]); + readonly bone: THREE_2.Object3D; + // (undocumented) + get center(): THREE_2.Object3D | null; + set center(center: THREE_2.Object3D | null); + readonly child: THREE_2.Object3D | null; + colliderGroups: VRMSpringBoneColliderGroup[]; + // (undocumented) + get initialLocalChildPosition(): THREE_2.Vector3; + reset(): void; + setInitState(): void; + settings: VRMSpringBoneJointSettings; + update(delta: number): void; +} + +// @public (undocumented) +export class VRMSpringBoneJointHelper extends THREE_2.Group { + constructor(springBone: VRMSpringBoneJoint); + // (undocumented) + dispose(): void; + // (undocumented) + readonly springBone: VRMSpringBoneJoint; + // (undocumented) + updateMatrixWorld(force: boolean): void; +} + +// @public (undocumented) +export interface VRMSpringBoneJointSettings { + // (undocumented) + dragForce: number; + // (undocumented) + gravityDir: THREE.Vector3; + // (undocumented) + gravityPower: number; + hitRadius: number; + // (undocumented) + stiffness: number; +} + +// @public (undocumented) +export class VRMSpringBoneLoaderPlugin implements GLTFLoaderPlugin { + // Warning: (ae-forgotten-export) The symbol "VRMSpringBoneLoaderPluginOptions" needs to be exported by the entry point index.d.ts + constructor(parser: GLTFParser, options?: VRMSpringBoneLoaderPluginOptions); + // (undocumented) + afterRoot(gltf: GLTF): Promise; + colliderHelperRoot?: THREE_2.Object3D; + // (undocumented) + static readonly EXTENSION_NAME = "VRMC_springBone"; + jointHelperRoot?: THREE_2.Object3D; + // (undocumented) + get name(): string; + // (undocumented) + readonly parser: GLTFParser; +} + +// @public (undocumented) +export class VRMSpringBoneManager { + // (undocumented) + addJoint(joint: VRMSpringBoneJoint): void; + // @deprecated (undocumented) + addSpringBone(joint: VRMSpringBoneJoint): void; + // (undocumented) + get colliderGroups(): VRMSpringBoneColliderGroup[]; + // (undocumented) + get colliders(): VRMSpringBoneCollider[]; + // (undocumented) + deleteJoint(joint: VRMSpringBoneJoint): void; + // @deprecated (undocumented) + deleteSpringBone(joint: VRMSpringBoneJoint): void; + // (undocumented) + get joints(): Set; + // (undocumented) + reset(): void; + // (undocumented) + setInitState(): void; + // @deprecated (undocumented) + get springBones(): Set; + // (undocumented) + update(delta: number): void; +} + +// (No @packageDocumentation comment for this package) + +``` diff --git a/packages/three-vrm/api-extractor.json b/packages/three-vrm/api-extractor.json new file mode 100644 index 000000000..663b48c3c --- /dev/null +++ b/packages/three-vrm/api-extractor.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "extends": "../../api-extractor.base.json" +} \ No newline at end of file diff --git a/packages/three-vrm/package.json b/packages/three-vrm/package.json index cae38e40b..9074094d9 100644 --- a/packages/three-vrm/package.json +++ b/packages/three-vrm/package.json @@ -12,7 +12,7 @@ ], "main": "lib/three-vrm.js", "module": "lib/three-vrm.module.js", - "types": "types/index.d.ts", + "types": "lib/index.d.ts", "typesVersions": { "<3.9": { "*": [ @@ -33,7 +33,7 @@ "build": "yarn build-dev && yarn build-prod && yarn build-types", "build-dev": "cross-env NODE_ENV=development rollup -c", "build-prod": "cross-env NODE_ENV=production rollup -c", - "build-types": "tsc --declaration --declarationDir ./types --emitDeclarationOnly && downlevel-dts types ts3.4/types", + "build-types": "tsc --declaration --declarationDir ./types --emitDeclarationOnly && api-extractor run --local && downlevel-dts types ts3.4/types && rimraf types", "docs": "typedoc --entryPoints ./src/index.ts --out docs", "test": "echo There is no test for three-vrm", "lint": "eslint \"src/**/*.{ts,tsx}\" && yarn lint-examples && prettier \"src/**/*.{ts,tsx}\" --check", @@ -46,15 +46,13 @@ "prettier --write" ] }, - "dependencies": { + "devDependencies": { "@pixiv/three-vrm-core": "2.0.6-alpha.2", "@pixiv/three-vrm-materials-hdr-emissive-multiplier": "2.0.6-alpha.2", "@pixiv/three-vrm-materials-mtoon": "2.0.6-alpha.2", "@pixiv/three-vrm-materials-v0compat": "2.0.6-alpha.2", "@pixiv/three-vrm-node-constraint": "2.0.6-alpha.2", - "@pixiv/three-vrm-springbone": "2.0.6-alpha.2" - }, - "devDependencies": { + "@pixiv/three-vrm-springbone": "2.0.6-alpha.2", "@rollup/plugin-node-resolve": "^15.0.1", "@types/three": "^0.154.0", "lint-staged": "13.1.2", diff --git a/packages/three-vrm/three-vrm.api.md b/packages/three-vrm/three-vrm.api.md new file mode 100644 index 000000000..04ca30b2f --- /dev/null +++ b/packages/three-vrm/three-vrm.api.md @@ -0,0 +1,1291 @@ +## API Report File for "@pixiv/three-vrm" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +import { GLTF } from 'three/examples/jsm/loaders/GLTFLoader.js'; +import { GLTFLoaderPlugin } from 'three/examples/jsm/loaders/GLTFLoader.js'; +import { GLTFParser } from 'three/examples/jsm/loaders/GLTFLoader.js'; +import * as THREE_2 from 'three'; + +// @public +export class MToonMaterial extends THREE_2.ShaderMaterial { + constructor(parameters?: MToonMaterialParameters); + // (undocumented) + get color(): THREE_2.Color; + set color(value: THREE_2.Color); + // (undocumented) + copy(source: this): this; + get debugMode(): MToonMaterialDebugMode; + set debugMode(m: MToonMaterialDebugMode); + // (undocumented) + get emissive(): THREE_2.Color; + set emissive(value: THREE_2.Color); + // (undocumented) + get emissiveIntensity(): number; + set emissiveIntensity(value: number); + // (undocumented) + get emissiveMap(): THREE_2.Texture | null; + set emissiveMap(value: THREE_2.Texture | null); + fog: boolean; + // (undocumented) + get giEqualizationFactor(): number; + set giEqualizationFactor(value: number); + get ignoreVertexColor(): boolean; + set ignoreVertexColor(value: boolean); + get isMToonMaterial(): true; + // (undocumented) + get isOutline(): boolean; + set isOutline(b: boolean); + // (undocumented) + get map(): THREE_2.Texture | null; + set map(value: THREE_2.Texture | null); + // (undocumented) + get matcapFactor(): THREE_2.Color; + set matcapFactor(value: THREE_2.Color); + // (undocumented) + get matcapTexture(): THREE_2.Texture | null; + set matcapTexture(value: THREE_2.Texture | null); + // (undocumented) + get normalMap(): THREE_2.Texture | null; + set normalMap(value: THREE_2.Texture | null); + normalMapType: 0; + // (undocumented) + get normalScale(): THREE_2.Vector2; + set normalScale(value: THREE_2.Vector2); + // (undocumented) + get outlineColorFactor(): THREE_2.Color; + set outlineColorFactor(value: THREE_2.Color); + // (undocumented) + get outlineLightingMixFactor(): number; + set outlineLightingMixFactor(value: number); + // (undocumented) + get outlineWidthFactor(): number; + set outlineWidthFactor(value: number); + // (undocumented) + get outlineWidthMode(): MToonMaterialOutlineWidthMode; + set outlineWidthMode(m: MToonMaterialOutlineWidthMode); + // (undocumented) + get outlineWidthMultiplyTexture(): THREE_2.Texture | null; + set outlineWidthMultiplyTexture(value: THREE_2.Texture | null); + // (undocumented) + get parametricRimColorFactor(): THREE_2.Color; + set parametricRimColorFactor(value: THREE_2.Color); + // (undocumented) + get parametricRimFresnelPowerFactor(): number; + set parametricRimFresnelPowerFactor(value: number); + // (undocumented) + get parametricRimLiftFactor(): number; + set parametricRimLiftFactor(value: number); + // (undocumented) + get rimLightingMixFactor(): number; + set rimLightingMixFactor(value: number); + // (undocumented) + get rimMultiplyTexture(): THREE_2.Texture | null; + set rimMultiplyTexture(value: THREE_2.Texture | null); + // (undocumented) + get shadeColorFactor(): THREE_2.Color; + set shadeColorFactor(value: THREE_2.Color); + // (undocumented) + get shadeMultiplyTexture(): THREE_2.Texture | null; + set shadeMultiplyTexture(value: THREE_2.Texture | null); + // (undocumented) + get shadingShiftFactor(): number; + set shadingShiftFactor(value: number); + // (undocumented) + get shadingShiftTexture(): THREE_2.Texture | null; + set shadingShiftTexture(value: THREE_2.Texture | null); + // (undocumented) + get shadingShiftTextureScale(): number; + set shadingShiftTextureScale(value: number); + // (undocumented) + get shadingToonyFactor(): number; + set shadingToonyFactor(value: number); + // (undocumented) + uniforms: { + litFactor: THREE_2.IUniform; + alphaTest: THREE_2.IUniform; + opacity: THREE_2.IUniform; + map: THREE_2.IUniform; + mapUvTransform: THREE_2.IUniform; + normalMap: THREE_2.IUniform; + normalMapUvTransform: THREE_2.IUniform; + normalScale: THREE_2.IUniform; + emissive: THREE_2.IUniform; + emissiveIntensity: THREE_2.IUniform; + emissiveMap: THREE_2.IUniform; + emissiveMapUvTransform: THREE_2.IUniform; + shadeColorFactor: THREE_2.IUniform; + shadeMultiplyTexture: THREE_2.IUniform; + shadeMultiplyTextureUvTransform: THREE_2.IUniform; + shadingShiftFactor: THREE_2.IUniform; + shadingShiftTexture: THREE_2.IUniform; + shadingShiftTextureUvTransform: THREE_2.IUniform; + shadingShiftTextureScale: THREE_2.IUniform; + shadingToonyFactor: THREE_2.IUniform; + giEqualizationFactor: THREE_2.IUniform; + matcapFactor: THREE_2.IUniform; + matcapTexture: THREE_2.IUniform; + matcapTextureUvTransform: THREE_2.IUniform; + parametricRimColorFactor: THREE_2.IUniform; + rimMultiplyTexture: THREE_2.IUniform; + rimMultiplyTextureUvTransform: THREE_2.IUniform; + rimLightingMixFactor: THREE_2.IUniform; + parametricRimFresnelPowerFactor: THREE_2.IUniform; + parametricRimLiftFactor: THREE_2.IUniform; + outlineWidthMultiplyTexture: THREE_2.IUniform; + outlineWidthMultiplyTextureUvTransform: THREE_2.IUniform; + outlineWidthFactor: THREE_2.IUniform; + outlineColorFactor: THREE_2.IUniform; + outlineLightingMixFactor: THREE_2.IUniform; + uvAnimationMaskTexture: THREE_2.IUniform; + uvAnimationMaskTextureUvTransform: THREE_2.IUniform; + uvAnimationScrollXOffset: THREE_2.IUniform; + uvAnimationScrollYOffset: THREE_2.IUniform; + uvAnimationRotationPhase: THREE_2.IUniform; + }; + update(delta: number): void; + // (undocumented) + get uvAnimationMaskTexture(): THREE_2.Texture | null; + set uvAnimationMaskTexture(value: THREE_2.Texture | null); + // (undocumented) + get uvAnimationRotationPhase(): number; + set uvAnimationRotationPhase(value: number); + // (undocumented) + uvAnimationRotationSpeedFactor: number; + // (undocumented) + get uvAnimationScrollXOffset(): number; + set uvAnimationScrollXOffset(value: number); + // (undocumented) + uvAnimationScrollXSpeedFactor: number; + // (undocumented) + get uvAnimationScrollYOffset(): number; + set uvAnimationScrollYOffset(value: number); + // (undocumented) + uvAnimationScrollYSpeedFactor: number; + get v0CompatShade(): boolean; + set v0CompatShade(v: boolean); +} + +// @public +export const MToonMaterialDebugMode: { + readonly None: "none"; + readonly Normal: "normal"; + readonly LitShadeRate: "litShadeRate"; + readonly UV: "uv"; +}; + +// @public (undocumented) +export type MToonMaterialDebugMode = typeof MToonMaterialDebugMode[keyof typeof MToonMaterialDebugMode]; + +// @public (undocumented) +export class MToonMaterialLoaderPlugin implements GLTFLoaderPlugin { + constructor(parser: GLTFParser, options?: MToonMaterialLoaderPluginOptions); + // (undocumented) + afterRoot(gltf: GLTF): Promise; + // (undocumented) + beforeRoot(): Promise; + debugMode: MToonMaterialDebugMode; + // (undocumented) + extendMaterialParams(materialIndex: number, materialParams: MToonMaterialParameters): Promise | null; + // (undocumented) + static EXTENSION_NAME: string; + // (undocumented) + getMaterialType(materialIndex: number): typeof THREE_2.Material | null; + // (undocumented) + loadMesh(meshIndex: number): Promise; + // (undocumented) + get name(): string; + // (undocumented) + readonly parser: GLTFParser; + renderOrderOffset: number; + v0CompatShade: boolean; +} + +// @public (undocumented) +export interface MToonMaterialLoaderPluginOptions { + debugMode?: MToonMaterialDebugMode; + renderOrderOffset?: number; + v0CompatShade?: boolean; +} + +// @public (undocumented) +export const MToonMaterialOutlineWidthMode: { + readonly None: "none"; + readonly WorldCoordinates: "worldCoordinates"; + readonly ScreenCoordinates: "screenCoordinates"; +}; + +// @public (undocumented) +export type MToonMaterialOutlineWidthMode = typeof MToonMaterialOutlineWidthMode[keyof typeof MToonMaterialOutlineWidthMode]; + +// @public (undocumented) +export interface MToonMaterialParameters extends THREE.ShaderMaterialParameters { + // (undocumented) + color?: THREE.Color; + debugMode?: MToonMaterialDebugMode; + // (undocumented) + emissive?: THREE.Color; + // (undocumented) + emissiveIntensity?: number; + // (undocumented) + emissiveMap?: THREE.Texture; + fog?: boolean; + // (undocumented) + giEqualizationFactor?: number; + ignoreVertexColor?: boolean; + isOutline?: boolean; + // (undocumented) + map?: THREE.Texture; + // (undocumented) + matcapFactor?: THREE.Color; + // (undocumented) + matcapTexture?: THREE.Texture; + // (undocumented) + normalMap?: THREE.Texture; + // (undocumented) + normalScale?: THREE.Vector2; + // (undocumented) + outlineColorFactor?: THREE.Color; + // (undocumented) + outlineLightingMixFactor?: number; + // (undocumented) + outlineWidthFactor?: number; + // (undocumented) + outlineWidthMode?: MToonMaterialOutlineWidthMode; + // (undocumented) + outlineWidthMultiplyTexture?: THREE.Texture; + // (undocumented) + parametricRimColorFactor?: THREE.Color; + // (undocumented) + parametricRimFresnelPowerFactor?: number; + // (undocumented) + parametricRimLiftFactor?: number; + // (undocumented) + rimLightingMixFactor?: number; + // (undocumented) + rimMultiplyTexture?: THREE.Texture; + // (undocumented) + shadeColorFactor?: THREE.Color; + // (undocumented) + shadeMultiplyTexture?: THREE.Texture; + // (undocumented) + shadingShiftFactor?: number; + // (undocumented) + shadingShiftTexture?: THREE.Texture; + // (undocumented) + shadingShiftTextureScale?: number; + // (undocumented) + shadingToonyFactor?: number; + transparentWithZWrite?: boolean; + // (undocumented) + uvAnimationMaskTexture?: THREE.Texture; + // (undocumented) + uvAnimationRotationSpeedFactor?: number; + // (undocumented) + uvAnimationScrollXSpeedFactor?: number; + // (undocumented) + uvAnimationScrollYSpeedFactor?: number; + v0CompatShade?: boolean; +} + +// @public +export class VRM extends VRMCore { + constructor(params: VRMParameters); + readonly materials?: THREE_2.Material[]; + readonly nodeConstraintManager?: VRMNodeConstraintManager; + readonly springBoneManager?: VRMSpringBoneManager; + update(delta: number): void; +} + +// @public +export interface VRM0Meta { + allowedUserName?: 'Everyone' | 'ExplicitlyLicensedPerson' | 'OnlyAuthor'; + author?: string; + commercialUssageName?: 'Allow' | 'Disallow'; + contactInformation?: string; + licenseName?: 'CC0' | 'CC_BY' | 'CC_BY_NC' | 'CC_BY_NC_ND' | 'CC_BY_NC_SA' | 'CC_BY_ND' | 'CC_BY_SA' | 'Other' | 'Redistribution_Prohibited'; + metaVersion: '0'; + otherLicenseUrl?: string; + otherPermissionUrl?: string; + reference?: string; + sexualUssageName?: 'Allow' | 'Disallow'; + texture?: THREE_2.Texture; + title?: string; + version?: string; + violentUssageName?: 'Allow' | 'Disallow'; +} + +// @public +export interface VRM1Meta { + allowAntisocialOrHateUsage?: boolean; + allowExcessivelySexualUsage?: boolean; + allowExcessivelyViolentUsage?: boolean; + allowPoliticalOrReligiousUsage?: boolean; + allowRedistribution?: boolean; + authors: string[]; + avatarPermission?: 'onlyAuthor' | 'onlySeparatelyLicensedPerson' | 'everyone'; + commercialUsage?: 'personalNonProfit' | 'personalProfit' | 'corporation'; + contactInformation?: string; + copyrightInformation?: string; + creditNotation?: 'required' | 'unnecessary'; + licenseUrl: string; + metaVersion: '1'; + modification?: 'prohibited' | 'allowModification' | 'allowModificationRedistribution'; + name: string; + otherLicenseUrl?: string; + references?: string[]; + thirdPartyLicenses?: string; + thumbnailImage?: HTMLImageElement; + version?: string; +} + +// @public +export class VRMAimConstraint extends VRMNodeConstraint { + constructor(destination: THREE_2.Object3D, source: THREE_2.Object3D); + get aimAxis(): 'PositiveX' | 'NegativeX' | 'PositiveY' | 'NegativeY' | 'PositiveZ' | 'NegativeZ'; + set aimAxis(aimAxis: 'PositiveX' | 'NegativeX' | 'PositiveY' | 'NegativeY' | 'PositiveZ' | 'NegativeZ'); + // (undocumented) + get dependencies(): Set>; + // (undocumented) + setInitState(): void; + // (undocumented) + update(): void; +} + +// @public +export class VRMCore { + constructor(params: VRMCoreParameters); + readonly expressionManager?: VRMExpressionManager; + readonly firstPerson?: VRMFirstPerson; + readonly humanoid: VRMHumanoid; + readonly lookAt?: VRMLookAt; + readonly meta: VRMMeta; + readonly scene: THREE_2.Group; + update(delta: number): void; +} + +// @public (undocumented) +export class VRMCoreLoaderPlugin implements GLTFLoaderPlugin { + constructor(parser: GLTFParser, options?: VRMCoreLoaderPluginOptions); + // (undocumented) + afterRoot(gltf: GLTF): Promise; + // (undocumented) + readonly expressionPlugin: VRMExpressionLoaderPlugin; + // (undocumented) + readonly firstPersonPlugin: VRMFirstPersonLoaderPlugin; + // (undocumented) + readonly humanoidPlugin: VRMHumanoidLoaderPlugin; + // (undocumented) + readonly lookAtPlugin: VRMLookAtLoaderPlugin; + // (undocumented) + readonly metaPlugin: VRMMetaLoaderPlugin; + // (undocumented) + get name(): string; + // (undocumented) + readonly parser: GLTFParser; +} + +// @public (undocumented) +export interface VRMCoreLoaderPluginOptions { + // (undocumented) + autoUpdateHumanBones?: boolean; + // (undocumented) + expressionPlugin?: VRMExpressionLoaderPlugin; + // (undocumented) + firstPersonPlugin?: VRMFirstPersonLoaderPlugin; + helperRoot?: THREE.Object3D; + // (undocumented) + humanoidPlugin?: VRMHumanoidLoaderPlugin; + // (undocumented) + lookAtPlugin?: VRMLookAtLoaderPlugin; + // (undocumented) + metaPlugin?: VRMMetaLoaderPlugin; +} + +// @public +export interface VRMCoreParameters { + // (undocumented) + expressionManager?: VRMExpressionManager; + // (undocumented) + firstPerson?: VRMFirstPerson; + // (undocumented) + humanoid: VRMHumanoid; + // (undocumented) + lookAt?: VRMLookAt; + // (undocumented) + meta: VRMMeta; + // (undocumented) + scene: THREE.Group; +} + +// @public (undocumented) +export class VRMExpression extends THREE_2.Object3D { + constructor(expressionName: string); + // (undocumented) + addBind(bind: VRMExpressionBind): void; + applyWeight(options?: { + multiplier?: number; + }): void; + clearAppliedWeight(): void; + expressionName: string; + isBinary: boolean; + overrideBlink: VRMExpressionOverrideType; + get overrideBlinkAmount(): number; + overrideLookAt: VRMExpressionOverrideType; + get overrideLookAtAmount(): number; + overrideMouth: VRMExpressionOverrideType; + get overrideMouthAmount(): number; + // (undocumented) + readonly type: string | 'VRMExpression'; + weight: number; +} + +// @public (undocumented) +export interface VRMExpressionBind { + applyWeight(weight: number): void; + clearAppliedWeight(): void; +} + +// @public +export class VRMExpressionLoaderPlugin implements GLTFLoaderPlugin { + constructor(parser: GLTFParser); + // (undocumented) + afterRoot(gltf: GLTF): Promise; + // (undocumented) + get name(): string; + // (undocumented) + readonly parser: GLTFParser; + // Warning: (ae-forgotten-export) The symbol "V0VRM" needs to be exported by the entry point index.d.ts + // + // (undocumented) + static readonly v0v1PresetNameMap: { + [v0Name in V0VRM.BlendShapePresetName]?: VRMExpressionPresetName; + }; +} + +// @public (undocumented) +export class VRMExpressionManager { + constructor(); + blinkExpressionNames: string[]; + clone(): VRMExpressionManager; + copy(source: VRMExpressionManager): this; + get customExpressionMap(): { + [name: string]: VRMExpression; + }; + // (undocumented) + get expressionMap(): { + [name: string]: VRMExpression; + }; + // (undocumented) + get expressions(): VRMExpression[]; + getExpression(name: VRMExpressionPresetName | string): VRMExpression | null; + getExpressionTrackName(name: VRMExpressionPresetName | string): string | null; + getValue(name: VRMExpressionPresetName | string): number | null; + lookAtExpressionNames: string[]; + mouthExpressionNames: string[]; + get presetExpressionMap(): { + [name in VRMExpressionPresetName]?: VRMExpression; + }; + registerExpression(expression: VRMExpression): void; + setValue(name: VRMExpressionPresetName | string, weight: number): void; + unregisterExpression(expression: VRMExpression): void; + update(): void; +} + +// @public +export class VRMExpressionMaterialColorBind implements VRMExpressionBind { + constructor({ material, type, targetValue, }: { + material: THREE_2.Material; + type: VRMExpressionMaterialColorType; + targetValue: THREE_2.Color; + }); + // (undocumented) + applyWeight(weight: number): void; + // (undocumented) + clearAppliedWeight(): void; + readonly material: THREE_2.Material; + readonly targetValue: THREE_2.Color; + readonly type: VRMExpressionMaterialColorType; +} + +// @public (undocumented) +export const VRMExpressionMaterialColorType: { + readonly Color: "color"; + readonly EmissionColor: "emissionColor"; + readonly ShadeColor: "shadeColor"; + readonly MatcapColor: "matcapColor"; + readonly RimColor: "rimColor"; + readonly OutlineColor: "outlineColor"; +}; + +// @public (undocumented) +export type VRMExpressionMaterialColorType = typeof VRMExpressionMaterialColorType[keyof typeof VRMExpressionMaterialColorType]; + +// @public +export class VRMExpressionMorphTargetBind implements VRMExpressionBind { + constructor({ primitives, index, weight, }: { + primitives: THREE_2.Mesh[]; + index: number; + weight: number; + }); + // (undocumented) + applyWeight(weight: number): void; + // (undocumented) + clearAppliedWeight(): void; + readonly index: number; + readonly primitives: THREE_2.Mesh[]; + readonly weight: number; +} + +// @public (undocumented) +export const VRMExpressionOverrideType: { + readonly None: "none"; + readonly Block: "block"; + readonly Blend: "blend"; +}; + +// @public (undocumented) +export type VRMExpressionOverrideType = typeof VRMExpressionOverrideType[keyof typeof VRMExpressionOverrideType]; + +// @public (undocumented) +export const VRMExpressionPresetName: { + readonly Aa: "aa"; + readonly Ih: "ih"; + readonly Ou: "ou"; + readonly Ee: "ee"; + readonly Oh: "oh"; + readonly Blink: "blink"; + readonly Happy: "happy"; + readonly Angry: "angry"; + readonly Sad: "sad"; + readonly Relaxed: "relaxed"; + readonly LookUp: "lookUp"; + readonly Surprised: "surprised"; + readonly LookDown: "lookDown"; + readonly LookLeft: "lookLeft"; + readonly LookRight: "lookRight"; + readonly BlinkLeft: "blinkLeft"; + readonly BlinkRight: "blinkRight"; + readonly Neutral: "neutral"; +}; + +// @public (undocumented) +export type VRMExpressionPresetName = typeof VRMExpressionPresetName[keyof typeof VRMExpressionPresetName]; + +// @public +export class VRMExpressionTextureTransformBind implements VRMExpressionBind { + constructor({ material, scale, offset, }: { + material: THREE_2.Material; + scale: THREE_2.Vector2; + offset: THREE_2.Vector2; + }); + // (undocumented) + applyWeight(weight: number): void; + // (undocumented) + clearAppliedWeight(): void; + readonly material: THREE_2.Material; + readonly offset: THREE_2.Vector2; + readonly scale: THREE_2.Vector2; +} + +// @public (undocumented) +export class VRMFirstPerson { + constructor(humanoid: VRMHumanoid, meshAnnotations: VRMFirstPersonMeshAnnotation[]); + clone(): VRMFirstPerson; + copy(source: VRMFirstPerson): this; + static readonly DEFAULT_FIRSTPERSON_ONLY_LAYER = 9; + static readonly DEFAULT_THIRDPERSON_ONLY_LAYER = 10; + get firstPersonOnlyLayer(): number; + readonly humanoid: VRMHumanoid; + // (undocumented) + meshAnnotations: VRMFirstPersonMeshAnnotation[]; + setup({ firstPersonOnlyLayer, thirdPersonOnlyLayer, }?: { + firstPersonOnlyLayer?: number | undefined; + thirdPersonOnlyLayer?: number | undefined; + }): void; + get thirdPersonOnlyLayer(): number; +} + +// @public +export class VRMFirstPersonLoaderPlugin implements GLTFLoaderPlugin { + constructor(parser: GLTFParser); + // (undocumented) + afterRoot(gltf: GLTF): Promise; + // (undocumented) + get name(): string; + // (undocumented) + readonly parser: GLTFParser; +} + +// @public (undocumented) +export interface VRMFirstPersonMeshAnnotation { + // (undocumented) + meshes: THREE.Mesh[]; + // (undocumented) + type: VRMFirstPersonMeshAnnotationType; +} + +// @public (undocumented) +export const VRMFirstPersonMeshAnnotationType: { + readonly Auto: "auto"; + readonly Both: "both"; + readonly ThirdPersonOnly: "thirdPersonOnly"; + readonly FirstPersonOnly: "firstPersonOnly"; +}; + +// @public (undocumented) +export type VRMFirstPersonMeshAnnotationType = typeof VRMFirstPersonMeshAnnotationType[keyof typeof VRMFirstPersonMeshAnnotationType]; + +// @public +export interface VRMHumanBone { + node: THREE_2.Object3D; +} + +// @public +export const VRMHumanBoneList: VRMHumanBoneName[]; + +// @public +export const VRMHumanBoneName: { + readonly Hips: "hips"; + readonly Spine: "spine"; + readonly Chest: "chest"; + readonly UpperChest: "upperChest"; + readonly Neck: "neck"; + readonly Head: "head"; + readonly LeftEye: "leftEye"; + readonly RightEye: "rightEye"; + readonly Jaw: "jaw"; + readonly LeftUpperLeg: "leftUpperLeg"; + readonly LeftLowerLeg: "leftLowerLeg"; + readonly LeftFoot: "leftFoot"; + readonly LeftToes: "leftToes"; + readonly RightUpperLeg: "rightUpperLeg"; + readonly RightLowerLeg: "rightLowerLeg"; + readonly RightFoot: "rightFoot"; + readonly RightToes: "rightToes"; + readonly LeftShoulder: "leftShoulder"; + readonly LeftUpperArm: "leftUpperArm"; + readonly LeftLowerArm: "leftLowerArm"; + readonly LeftHand: "leftHand"; + readonly RightShoulder: "rightShoulder"; + readonly RightUpperArm: "rightUpperArm"; + readonly RightLowerArm: "rightLowerArm"; + readonly RightHand: "rightHand"; + readonly LeftThumbMetacarpal: "leftThumbMetacarpal"; + readonly LeftThumbProximal: "leftThumbProximal"; + readonly LeftThumbDistal: "leftThumbDistal"; + readonly LeftIndexProximal: "leftIndexProximal"; + readonly LeftIndexIntermediate: "leftIndexIntermediate"; + readonly LeftIndexDistal: "leftIndexDistal"; + readonly LeftMiddleProximal: "leftMiddleProximal"; + readonly LeftMiddleIntermediate: "leftMiddleIntermediate"; + readonly LeftMiddleDistal: "leftMiddleDistal"; + readonly LeftRingProximal: "leftRingProximal"; + readonly LeftRingIntermediate: "leftRingIntermediate"; + readonly LeftRingDistal: "leftRingDistal"; + readonly LeftLittleProximal: "leftLittleProximal"; + readonly LeftLittleIntermediate: "leftLittleIntermediate"; + readonly LeftLittleDistal: "leftLittleDistal"; + readonly RightThumbMetacarpal: "rightThumbMetacarpal"; + readonly RightThumbProximal: "rightThumbProximal"; + readonly RightThumbDistal: "rightThumbDistal"; + readonly RightIndexProximal: "rightIndexProximal"; + readonly RightIndexIntermediate: "rightIndexIntermediate"; + readonly RightIndexDistal: "rightIndexDistal"; + readonly RightMiddleProximal: "rightMiddleProximal"; + readonly RightMiddleIntermediate: "rightMiddleIntermediate"; + readonly RightMiddleDistal: "rightMiddleDistal"; + readonly RightRingProximal: "rightRingProximal"; + readonly RightRingIntermediate: "rightRingIntermediate"; + readonly RightRingDistal: "rightRingDistal"; + readonly RightLittleProximal: "rightLittleProximal"; + readonly RightLittleIntermediate: "rightLittleIntermediate"; + readonly RightLittleDistal: "rightLittleDistal"; +}; + +// @public (undocumented) +export type VRMHumanBoneName = typeof VRMHumanBoneName[keyof typeof VRMHumanBoneName]; + +// @public +export const VRMHumanBoneParentMap: { + [bone in VRMHumanBoneName]: VRMHumanBoneName | null; +}; + +// @public +export type VRMHumanBones = { + [name in VRMHumanBoneName]?: VRMHumanBone; +} & { + [name in VRMRequiredHumanBoneName]: VRMHumanBone; +}; + +// @public +export class VRMHumanoid { + constructor(humanBones: VRMHumanBones, options?: { + autoUpdateHumanBones?: boolean; + }); + autoUpdateHumanBones: boolean; + clone(): VRMHumanoid; + copy(source: VRMHumanoid): this; + // @deprecated (undocumented) + getAbsolutePose(): VRMPose; + // @deprecated (undocumented) + getBone(name: VRMHumanBoneName): VRMHumanBone | undefined; + // @deprecated (undocumented) + getBoneNode(name: VRMHumanBoneName): THREE_2.Object3D | null; + getNormalizedAbsolutePose(): VRMPose; + getNormalizedBone(name: VRMHumanBoneName): VRMHumanBone | undefined; + getNormalizedBoneNode(name: VRMHumanBoneName): THREE_2.Object3D | null; + getNormalizedPose(): VRMPose; + // @deprecated (undocumented) + getPose(): VRMPose; + getRawAbsolutePose(): VRMPose; + getRawBone(name: VRMHumanBoneName): VRMHumanBone | undefined; + getRawBoneNode(name: VRMHumanBoneName): THREE_2.Object3D | null; + getRawPose(): VRMPose; + get humanBones(): VRMHumanBones; + get normalizedHumanBones(): VRMHumanBones; + get normalizedHumanBonesRoot(): THREE_2.Object3D; + get normalizedRestPose(): VRMPose; + get rawHumanBones(): VRMHumanBones; + get rawRestPose(): VRMPose; + resetNormalizedPose(): void; + // @deprecated (undocumented) + resetPose(): void; + resetRawPose(): void; + // @deprecated (undocumented) + get restPose(): VRMPose; + setNormalizedPose(poseObject: VRMPose): void; + // @deprecated (undocumented) + setPose(poseObject: VRMPose): void; + setRawPose(poseObject: VRMPose): void; + update(): void; +} + +// @public (undocumented) +export class VRMHumanoidHelper extends THREE_2.Group { + constructor(humanoid: VRMHumanoid); + // (undocumented) + dispose(): void; + // (undocumented) + updateMatrixWorld(force: boolean): void; + // (undocumented) + readonly vrmHumanoid: VRMHumanoid; +} + +// @public +export class VRMHumanoidLoaderPlugin implements GLTFLoaderPlugin { + constructor(parser: GLTFParser, options?: VRMHumanoidLoaderPluginOptions); + // (undocumented) + afterRoot(gltf: GLTF): Promise; + // (undocumented) + autoUpdateHumanBones?: boolean; + helperRoot?: THREE.Object3D; + // (undocumented) + get name(): string; + // (undocumented) + readonly parser: GLTFParser; +} + +// @public (undocumented) +export interface VRMHumanoidLoaderPluginOptions { + autoUpdateHumanBones?: boolean; + helperRoot?: THREE.Object3D; +} + +// @public (undocumented) +export class VRMLoaderPlugin implements GLTFLoaderPlugin { + constructor(parser: GLTFParser, options?: VRMLoaderPluginOptions); + // (undocumented) + afterRoot(gltf: GLTF): Promise; + // (undocumented) + beforeRoot(): Promise; + // (undocumented) + readonly expressionPlugin: VRMExpressionLoaderPlugin; + // (undocumented) + extendMaterialParams(materialIndex: number, materialParams: { + [key: string]: any; + }): Promise; + // (undocumented) + readonly firstPersonPlugin: VRMFirstPersonLoaderPlugin; + // (undocumented) + getMaterialType(materialIndex: number): typeof THREE_2.Material | null; + // (undocumented) + readonly humanoidPlugin: VRMHumanoidLoaderPlugin; + // (undocumented) + loadMesh(meshIndex: number): Promise; + // (undocumented) + readonly lookAtPlugin: VRMLookAtLoaderPlugin; + // Warning: (ae-forgotten-export) The symbol "VRMMaterialsHDREmissiveMultiplierLoaderPlugin" needs to be exported by the entry point index.d.ts + // + // (undocumented) + readonly materialsHDREmissiveMultiplierPlugin: VRMMaterialsHDREmissiveMultiplierLoaderPlugin; + // Warning: (ae-forgotten-export) The symbol "VRMMaterialsV0CompatPlugin" needs to be exported by the entry point index.d.ts + // + // (undocumented) + readonly materialsV0CompatPlugin: VRMMaterialsV0CompatPlugin; + // (undocumented) + readonly metaPlugin: VRMMetaLoaderPlugin; + // (undocumented) + readonly mtoonMaterialPlugin: MToonMaterialLoaderPlugin; + // (undocumented) + get name(): string; + // (undocumented) + readonly nodeConstraintPlugin: VRMNodeConstraintLoaderPlugin; + // (undocumented) + readonly parser: GLTFParser; + // (undocumented) + readonly springBonePlugin: VRMSpringBoneLoaderPlugin; +} + +// @public (undocumented) +export interface VRMLoaderPluginOptions { + autoUpdateHumanBones?: boolean; + // (undocumented) + expressionPlugin?: VRMExpressionLoaderPlugin; + // (undocumented) + firstPersonPlugin?: VRMFirstPersonLoaderPlugin; + helperRoot?: THREE_2.Object3D; + // (undocumented) + humanoidPlugin?: VRMHumanoidLoaderPlugin; + // (undocumented) + lookAtPlugin?: VRMLookAtLoaderPlugin; + // (undocumented) + materialsHDREmissiveMultiplierPlugin?: VRMMaterialsHDREmissiveMultiplierLoaderPlugin; + // (undocumented) + materialsV0CompatPlugin?: VRMMaterialsV0CompatPlugin; + // (undocumented) + metaPlugin?: VRMMetaLoaderPlugin; + // (undocumented) + mtoonMaterialPlugin?: MToonMaterialLoaderPlugin; + // (undocumented) + nodeConstraintPlugin?: VRMNodeConstraintLoaderPlugin; + // (undocumented) + springBonePlugin?: VRMSpringBoneLoaderPlugin; +} + +// @public +export class VRMLookAt { + constructor(humanoid: VRMHumanoid, applier: VRMLookAtApplier); + applier: VRMLookAtApplier; + autoUpdate: boolean; + clone(): VRMLookAt; + copy(source: VRMLookAt): this; + // @deprecated (undocumented) + get euler(): THREE_2.Euler; + // (undocumented) + static readonly EULER_ORDER = "YXZ"; + faceFront: THREE_2.Vector3; + getEuler(target: THREE_2.Euler): THREE_2.Euler; + getFaceFrontQuaternion(target: THREE_2.Quaternion): THREE_2.Quaternion; + getLookAtWorldDirection(target: THREE_2.Vector3): THREE_2.Vector3; + getLookAtWorldPosition(target: THREE_2.Vector3): THREE_2.Vector3; + getLookAtWorldQuaternion(target: THREE_2.Quaternion): THREE_2.Quaternion; + readonly humanoid: VRMHumanoid; + lookAt(position: THREE_2.Vector3): void; + protected _needsUpdate: boolean; + offsetFromHeadBone: THREE_2.Vector3; + get pitch(): number; + set pitch(value: number); + protected _pitch: number; + reset(): void; + target?: THREE_2.Object3D | null; + update(delta: number): void; + get yaw(): number; + set yaw(value: number); + protected _yaw: number; +} + +// @public +export interface VRMLookAtApplier { + applyYawPitch: (yaw: number, pitch: number) => void; + // @deprecated (undocumented) + lookAt: (euler: THREE_2.Euler) => void; +} + +// @public +export class VRMLookAtBoneApplier implements VRMLookAtApplier { + constructor(humanoid: VRMHumanoid, rangeMapHorizontalInner: VRMLookAtRangeMap, rangeMapHorizontalOuter: VRMLookAtRangeMap, rangeMapVerticalDown: VRMLookAtRangeMap, rangeMapVerticalUp: VRMLookAtRangeMap); + applyYawPitch(yaw: number, pitch: number): void; + faceFront: THREE_2.Vector3; + readonly humanoid: VRMHumanoid; + // @deprecated (undocumented) + lookAt(euler: THREE_2.Euler): void; + rangeMapHorizontalInner: VRMLookAtRangeMap; + rangeMapHorizontalOuter: VRMLookAtRangeMap; + rangeMapVerticalDown: VRMLookAtRangeMap; + rangeMapVerticalUp: VRMLookAtRangeMap; + static readonly type = "bone"; +} + +// @public +export class VRMLookAtExpressionApplier implements VRMLookAtApplier { + constructor(expressions: VRMExpressionManager, rangeMapHorizontalInner: VRMLookAtRangeMap, rangeMapHorizontalOuter: VRMLookAtRangeMap, rangeMapVerticalDown: VRMLookAtRangeMap, rangeMapVerticalUp: VRMLookAtRangeMap); + applyYawPitch(yaw: number, pitch: number): void; + readonly expressions: VRMExpressionManager; + // @deprecated (undocumented) + lookAt(euler: THREE_2.Euler): void; + rangeMapHorizontalInner: VRMLookAtRangeMap; + rangeMapHorizontalOuter: VRMLookAtRangeMap; + rangeMapVerticalDown: VRMLookAtRangeMap; + rangeMapVerticalUp: VRMLookAtRangeMap; + static readonly type = "expression"; +} + +// @public (undocumented) +export class VRMLookAtHelper extends THREE_2.Group { + constructor(lookAt: VRMLookAt); + // (undocumented) + dispose(): void; + // (undocumented) + updateMatrixWorld(force: boolean): void; + // (undocumented) + readonly vrmLookAt: VRMLookAt; +} + +// @public +export class VRMLookAtLoaderPlugin implements GLTFLoaderPlugin { + // Warning: (ae-forgotten-export) The symbol "VRMLookAtLoaderPluginOptions" needs to be exported by the entry point index.d.ts + constructor(parser: GLTFParser, options?: VRMLookAtLoaderPluginOptions); + // (undocumented) + afterRoot(gltf: GLTF): Promise; + helperRoot?: THREE.Object3D; + // (undocumented) + get name(): string; + // (undocumented) + readonly parser: GLTFParser; +} + +// @public (undocumented) +export class VRMLookAtRangeMap { + constructor(inputMaxValue: number, outputScale: number); + inputMaxValue: number; + map(src: number): number; + outputScale: number; +} + +// @public +export const VRMLookAtTypeName: { + Bone: string; + Expression: string; +}; + +// @public (undocumented) +export type VRMLookAtTypeName = typeof VRMLookAtTypeName[keyof typeof VRMLookAtTypeName]; + +// @public +export type VRMMeta = VRM0Meta | VRM1Meta; + +// @public +export interface VRMMetaImporterOptions { + acceptLicenseUrls?: string[]; + acceptV0Meta?: boolean; + needThumbnailImage?: boolean; +} + +// @public +export class VRMMetaLoaderPlugin implements GLTFLoaderPlugin { + constructor(parser: GLTFParser, options?: VRMMetaImporterOptions); + acceptLicenseUrls: string[]; + acceptV0Meta: boolean; + // (undocumented) + afterRoot(gltf: GLTF): Promise; + // (undocumented) + get name(): string; + needThumbnailImage: boolean; + // (undocumented) + readonly parser: GLTFParser; +} + +// @public +export abstract class VRMNodeConstraint { + constructor(destination: THREE_2.Object3D, source: THREE_2.Object3D); + // (undocumented) + abstract get dependencies(): Set; + destination: THREE_2.Object3D; + abstract setInitState(): void; + source: THREE_2.Object3D; + abstract update(): void; + weight: number; +} + +// @public (undocumented) +export class VRMNodeConstraintHelper extends THREE_2.Group { + constructor(constraint: VRMNodeConstraint); + // (undocumented) + readonly constraint: VRMNodeConstraint; + // (undocumented) + updateMatrixWorld(force?: boolean): void; +} + +// @public (undocumented) +export class VRMNodeConstraintLoaderPlugin implements GLTFLoaderPlugin { + // Warning: (ae-forgotten-export) The symbol "VRMNodeConstraintLoaderPluginOptions" needs to be exported by the entry point index.d.ts + constructor(parser: GLTFParser, options?: VRMNodeConstraintLoaderPluginOptions); + // (undocumented) + afterRoot(gltf: GLTF): Promise; + // (undocumented) + static readonly EXTENSION_NAME = "VRMC_node_constraint"; + helperRoot?: THREE_2.Object3D; + protected _import(gltf: GLTF): Promise; + // (undocumented) + protected _importAimConstraint(destination: THREE_2.Object3D, nodes: THREE_2.Object3D[], aimConstraintDef: ConstraintSchema.AimConstraint): VRMAimConstraint; + // Warning: (ae-forgotten-export) The symbol "ConstraintSchema" needs to be exported by the entry point index.d.ts + // + // (undocumented) + protected _importRollConstraint(destination: THREE_2.Object3D, nodes: THREE_2.Object3D[], rollConstraintDef: ConstraintSchema.RollConstraint): VRMRollConstraint; + // (undocumented) + protected _importRotationConstraint(destination: THREE_2.Object3D, nodes: THREE_2.Object3D[], rotationConstraintDef: ConstraintSchema.RotationConstraint): VRMRotationConstraint; + // (undocumented) + get name(): string; + // (undocumented) + readonly parser: GLTFParser; +} + +// @public (undocumented) +export class VRMNodeConstraintManager { + // (undocumented) + addConstraint(constraint: VRMNodeConstraint): void; + // (undocumented) + get constraints(): Set; + // (undocumented) + deleteConstraint(constraint: VRMNodeConstraint): void; + // (undocumented) + setInitState(): void; + // (undocumented) + update(): void; +} + +// @public +export interface VRMParameters extends VRMCoreParameters { + // (undocumented) + materials?: THREE.Material[]; + // (undocumented) + nodeConstraintManager?: VRMNodeConstraintManager; + // (undocumented) + springBoneManager?: VRMSpringBoneManager; +} + +// @public +export type VRMPose = { + [boneName in VRMHumanBoneName]?: VRMPoseTransform; +}; + +// @public +export interface VRMPoseTransform { + position?: [number, number, number]; + rotation?: [number, number, number, number]; +} + +// @public (undocumented) +export const VRMRequiredHumanBoneName: { + readonly Hips: "hips"; + readonly Spine: "spine"; + readonly Head: "head"; + readonly LeftUpperLeg: "leftUpperLeg"; + readonly LeftLowerLeg: "leftLowerLeg"; + readonly LeftFoot: "leftFoot"; + readonly RightUpperLeg: "rightUpperLeg"; + readonly RightLowerLeg: "rightLowerLeg"; + readonly RightFoot: "rightFoot"; + readonly LeftUpperArm: "leftUpperArm"; + readonly LeftLowerArm: "leftLowerArm"; + readonly LeftHand: "leftHand"; + readonly RightUpperArm: "rightUpperArm"; + readonly RightLowerArm: "rightLowerArm"; + readonly RightHand: "rightHand"; +}; + +// @public (undocumented) +export type VRMRequiredHumanBoneName = typeof VRMRequiredHumanBoneName[keyof typeof VRMRequiredHumanBoneName]; + +// @public +export class VRMRollConstraint extends VRMNodeConstraint { + constructor(destination: THREE_2.Object3D, source: THREE_2.Object3D); + // (undocumented) + get dependencies(): Set>; + get rollAxis(): 'X' | 'Y' | 'Z'; + set rollAxis(rollAxis: 'X' | 'Y' | 'Z'); + // (undocumented) + setInitState(): void; + // (undocumented) + update(): void; +} + +// @public +export class VRMRotationConstraint extends VRMNodeConstraint { + constructor(destination: THREE_2.Object3D, source: THREE_2.Object3D); + // (undocumented) + get dependencies(): Set>; + // (undocumented) + setInitState(): void; + // (undocumented) + update(): void; +} + +// @public +export class VRMSpringBoneCollider extends THREE_2.Object3D { + constructor(shape: VRMSpringBoneColliderShape); + readonly shape: VRMSpringBoneColliderShape; +} + +// @public +export interface VRMSpringBoneColliderGroup { + colliders: VRMSpringBoneCollider[]; + name?: string; +} + +// @public (undocumented) +export class VRMSpringBoneColliderHelper extends THREE_2.Group { + constructor(collider: VRMSpringBoneCollider); + // (undocumented) + readonly collider: VRMSpringBoneCollider; + // (undocumented) + dispose(): void; + // (undocumented) + updateMatrixWorld(force: boolean): void; +} + +// @public +export abstract class VRMSpringBoneColliderShape { + abstract calculateCollision(colliderMatrix: THREE.Matrix4, objectPosition: THREE.Vector3, objectRadius: number, target: THREE.Vector3): number; + abstract get type(): string; +} + +// @public (undocumented) +export class VRMSpringBoneColliderShapeCapsule extends VRMSpringBoneColliderShape { + constructor(params?: { + radius?: number; + offset?: THREE_2.Vector3; + tail?: THREE_2.Vector3; + }); + // (undocumented) + calculateCollision(colliderMatrix: THREE_2.Matrix4, objectPosition: THREE_2.Vector3, objectRadius: number, target: THREE_2.Vector3): number; + offset: THREE_2.Vector3; + radius: number; + tail: THREE_2.Vector3; + // (undocumented) + get type(): 'capsule'; +} + +// @public (undocumented) +export class VRMSpringBoneColliderShapeSphere extends VRMSpringBoneColliderShape { + constructor(params?: { + radius?: number; + offset?: THREE_2.Vector3; + }); + // (undocumented) + calculateCollision(colliderMatrix: THREE_2.Matrix4, objectPosition: THREE_2.Vector3, objectRadius: number, target: THREE_2.Vector3): number; + offset: THREE_2.Vector3; + radius: number; + // (undocumented) + get type(): 'sphere'; +} + +// @public +export class VRMSpringBoneJoint { + constructor(bone: THREE_2.Object3D, child: THREE_2.Object3D | null, settings?: Partial, colliderGroups?: VRMSpringBoneColliderGroup[]); + readonly bone: THREE_2.Object3D; + // (undocumented) + get center(): THREE_2.Object3D | null; + set center(center: THREE_2.Object3D | null); + readonly child: THREE_2.Object3D | null; + colliderGroups: VRMSpringBoneColliderGroup[]; + // (undocumented) + get initialLocalChildPosition(): THREE_2.Vector3; + reset(): void; + setInitState(): void; + settings: VRMSpringBoneJointSettings; + update(delta: number): void; +} + +// @public (undocumented) +export class VRMSpringBoneJointHelper extends THREE_2.Group { + constructor(springBone: VRMSpringBoneJoint); + // (undocumented) + dispose(): void; + // (undocumented) + readonly springBone: VRMSpringBoneJoint; + // (undocumented) + updateMatrixWorld(force: boolean): void; +} + +// @public (undocumented) +export interface VRMSpringBoneJointSettings { + // (undocumented) + dragForce: number; + // (undocumented) + gravityDir: THREE.Vector3; + // (undocumented) + gravityPower: number; + hitRadius: number; + // (undocumented) + stiffness: number; +} + +// @public (undocumented) +export class VRMSpringBoneLoaderPlugin implements GLTFLoaderPlugin { + // Warning: (ae-forgotten-export) The symbol "VRMSpringBoneLoaderPluginOptions" needs to be exported by the entry point index.d.ts + constructor(parser: GLTFParser, options?: VRMSpringBoneLoaderPluginOptions); + // (undocumented) + afterRoot(gltf: GLTF): Promise; + colliderHelperRoot?: THREE_2.Object3D; + // (undocumented) + static readonly EXTENSION_NAME = "VRMC_springBone"; + jointHelperRoot?: THREE_2.Object3D; + // (undocumented) + get name(): string; + // (undocumented) + readonly parser: GLTFParser; +} + +// @public (undocumented) +export class VRMSpringBoneManager { + // (undocumented) + addJoint(joint: VRMSpringBoneJoint): void; + // @deprecated (undocumented) + addSpringBone(joint: VRMSpringBoneJoint): void; + // (undocumented) + get colliderGroups(): VRMSpringBoneColliderGroup[]; + // (undocumented) + get colliders(): VRMSpringBoneCollider[]; + // (undocumented) + deleteJoint(joint: VRMSpringBoneJoint): void; + // @deprecated (undocumented) + deleteSpringBone(joint: VRMSpringBoneJoint): void; + // (undocumented) + get joints(): Set; + // (undocumented) + reset(): void; + // (undocumented) + setInitState(): void; + // @deprecated (undocumented) + get springBones(): Set; + // (undocumented) + update(delta: number): void; +} + +// @public (undocumented) +export class VRMUtils { + // Warning: (ae-forgotten-export) The symbol "deepDispose" needs to be exported by the entry point index.d.ts + // + // (undocumented) + static deepDispose: typeof deepDispose; + // Warning: (ae-forgotten-export) The symbol "removeUnnecessaryJoints" needs to be exported by the entry point index.d.ts + // + // (undocumented) + static removeUnnecessaryJoints: typeof removeUnnecessaryJoints; + // Warning: (ae-forgotten-export) The symbol "removeUnnecessaryVertices" needs to be exported by the entry point index.d.ts + // + // (undocumented) + static removeUnnecessaryVertices: typeof removeUnnecessaryVertices; + // Warning: (ae-forgotten-export) The symbol "rotateVRM0" needs to be exported by the entry point index.d.ts + // + // (undocumented) + static rotateVRM0: typeof rotateVRM0; +} + +// (No @packageDocumentation comment for this package) + +``` diff --git a/packages/types-vrm-0.0/api-extractor.json b/packages/types-vrm-0.0/api-extractor.json new file mode 100644 index 000000000..663b48c3c --- /dev/null +++ b/packages/types-vrm-0.0/api-extractor.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "extends": "../../api-extractor.base.json" +} \ No newline at end of file diff --git a/packages/types-vrm-0.0/package.json b/packages/types-vrm-0.0/package.json index 67f7b74b2..9dc1ceb23 100644 --- a/packages/types-vrm-0.0/package.json +++ b/packages/types-vrm-0.0/package.json @@ -10,7 +10,7 @@ "LICENSE" ], "main": "", - "types": "types/index.d.ts", + "types": "lib/index.d.ts", "typesVersions": { "<3.9": { "*": [ @@ -27,7 +27,7 @@ "version": "yarn all", "all": "yarn lint && yarn clean && yarn build && yarn docs", "clean": "rimraf docs/ ts*/ types/", - "build": "tsc --declaration --declarationDir ./types --emitDeclarationOnly && downlevel-dts types ts3.4/types", + "build": "tsc --declaration --declarationDir ./types --emitDeclarationOnly && api-extractor run --local && downlevel-dts types ts3.4/types && rimraf types", "docs": "typedoc --entryPoints ./src/index.ts --out docs", "lint": "eslint \"src/**/*.{ts,tsx}\" && prettier \"src/**/*.{ts,tsx}\" --check", "lint-fix": "eslint \"src/**/*.{ts,tsx}\" --fix && prettier \"src/**/*.{ts,tsx}\" --write" diff --git a/packages/types-vrm-0.0/types-vrm-0.0.api.md b/packages/types-vrm-0.0/types-vrm-0.0.api.md new file mode 100644 index 000000000..fe3001e16 --- /dev/null +++ b/packages/types-vrm-0.0/types-vrm-0.0.api.md @@ -0,0 +1,214 @@ +## API Report File for "@pixiv/types-vrm-0.0" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +// @public +export interface BlendShape { + // (undocumented) + blendShapeGroups?: BlendShapeGroup[]; +} + +// @public (undocumented) +export interface BlendShapeBind { + // (undocumented) + index?: number; + // (undocumented) + mesh?: number; + weight?: number; +} + +// @public (undocumented) +export interface BlendShapeGroup { + binds?: BlendShapeBind[]; + isBinary?: boolean; + materialValues?: BlendShapeMaterialbind[]; + name?: string; + presetName?: BlendShapePresetName; +} + +// @public (undocumented) +export interface BlendShapeMaterialbind { + // (undocumented) + materialName?: string; + // (undocumented) + propertyName?: string; + // (undocumented) + targetValue?: number[]; +} + +// @public +export type BlendShapePresetName = 'a' | 'angry' | 'blink' | 'blink_l' | 'blink_r' | 'e' | 'fun' | 'i' | 'joy' | 'lookdown' | 'lookleft' | 'lookright' | 'lookup' | 'neutral' | 'o' | 'sorrow' | 'u' | 'unknown'; + +// @public (undocumented) +export interface FirstPerson { + firstPersonBone?: number; + firstPersonBoneOffset?: Vector3; + // (undocumented) + lookAtHorizontalInner?: FirstPersonDegreeMap; + // (undocumented) + lookAtHorizontalOuter?: FirstPersonDegreeMap; + lookAtTypeName?: 'Bone' | 'BlendShape'; + // (undocumented) + lookAtVerticalDown?: FirstPersonDegreeMap; + // (undocumented) + lookAtVerticalUp?: FirstPersonDegreeMap; + meshAnnotations?: FirstPersonMeshAnnotation[]; +} + +// @public +export interface FirstPersonDegreeMap { + curve?: number[]; + xRange?: number; + yRange?: number; +} + +// @public (undocumented) +export interface FirstPersonMeshAnnotation { + // (undocumented) + firstPersonFlag?: string; + // (undocumented) + mesh?: number; +} + +// @public (undocumented) +export interface Humanoid { + armStretch?: number; + feetSpacing?: number; + hasTranslationDoF?: boolean; + // (undocumented) + humanBones?: HumanoidBone[]; + legStretch?: number; + lowerArmTwist?: number; + lowerLegTwist?: number; + upperArmTwist?: number; + upperLegTwist?: number; +} + +// @public (undocumented) +export interface HumanoidBone { + axisLength?: number; + bone?: HumanoidBoneName; + center?: Vector3; + max?: Vector3; + min?: Vector3; + node?: number; + useDefaultValues?: boolean; +} + +// @public +export type HumanoidBoneName = 'chest' | 'head' | 'hips' | 'jaw' | 'leftEye' | 'leftFoot' | 'leftHand' | 'leftIndexDistal' | 'leftIndexIntermediate' | 'leftIndexProximal' | 'leftLittleDistal' | 'leftLittleIntermediate' | 'leftLittleProximal' | 'leftLowerArm' | 'leftLowerLeg' | 'leftMiddleDistal' | 'leftMiddleIntermediate' | 'leftMiddleProximal' | 'leftRingDistal' | 'leftRingIntermediate' | 'leftRingProximal' | 'leftShoulder' | 'leftThumbDistal' | 'leftThumbIntermediate' | 'leftThumbProximal' | 'leftToes' | 'leftUpperArm' | 'leftUpperLeg' | 'neck' | 'rightEye' | 'rightFoot' | 'rightHand' | 'rightIndexDistal' | 'rightIndexIntermediate' | 'rightIndexProximal' | 'rightLittleDistal' | 'rightLittleIntermediate' | 'rightLittleProximal' | 'rightLowerArm' | 'rightLowerLeg' | 'rightMiddleDistal' | 'rightMiddleIntermediate' | 'rightMiddleProximal' | 'rightRingDistal' | 'rightRingIntermediate' | 'rightRingProximal' | 'rightShoulder' | 'rightThumbDistal' | 'rightThumbIntermediate' | 'rightThumbProximal' | 'rightToes' | 'rightUpperArm' | 'rightUpperLeg' | 'spine' | 'upperChest'; + +// @public (undocumented) +export interface Material { + // (undocumented) + floatProperties?: { + [key: string]: any; + }; + // (undocumented) + keywordMap?: { + [key: string]: any; + }; + // (undocumented) + name?: string; + // (undocumented) + renderQueue?: number; + // (undocumented) + shader?: string; + // (undocumented) + tagMap?: { + [key: string]: any; + }; + // (undocumented) + textureProperties?: { + [key: string]: any; + }; + // (undocumented) + vectorProperties?: { + [key: string]: any; + }; +} + +// @public (undocumented) +export interface Meta { + allowedUserName?: 'OnlyAuthor' | 'ExplicitlyLicensedPerson' | 'Everyone'; + author?: string; + commercialUssageName?: 'Disallow' | 'Allow'; + contactInformation?: string; + licenseName?: 'Redistribution_Prohibited' | 'CC0' | 'CC_BY' | 'CC_BY_NC' | 'CC_BY_SA' | 'CC_BY_NC_SA' | 'CC_BY_ND' | 'CC_BY_NC_ND' | 'Other'; + otherLicenseUrl?: string; + otherPermissionUrl?: string; + reference?: string; + sexualUssageName?: 'Disallow' | 'Allow'; + texture?: number; + title?: string; + version?: string; + violentUssageName?: 'Disallow' | 'Allow'; +} + +// @public +export interface SecondaryAnimation { + // (undocumented) + boneGroups?: SecondaryAnimationSpring[]; + // (undocumented) + colliderGroups?: SecondaryAnimationColliderGroup[]; +} + +// @public (undocumented) +export interface SecondaryAnimationCollider { + offset?: Vector3; + radius?: number; +} + +// @public (undocumented) +export interface SecondaryAnimationColliderGroup { + // (undocumented) + colliders?: SecondaryAnimationCollider[]; + node?: number; +} + +// @public (undocumented) +export interface SecondaryAnimationSpring { + bones?: number[]; + center?: number; + colliderGroups?: number[]; + comment?: string; + dragForce?: number; + gravityDir?: Vector3; + gravityPower?: number; + hitRadius?: number; + stiffiness?: number; +} + +// @public (undocumented) +export interface Vector3 { + // (undocumented) + x?: number; + // (undocumented) + y?: number; + // (undocumented) + z?: number; +} + +// @public +export interface VRM { + // (undocumented) + blendShapeMaster?: BlendShape; + exporterVersion?: string; + // (undocumented) + firstPerson?: FirstPerson; + // (undocumented) + humanoid?: Humanoid; + // (undocumented) + materialProperties?: Material[]; + // (undocumented) + meta?: Meta; + // (undocumented) + secondaryAnimation?: SecondaryAnimation; + specVersion?: '0.0'; +} + +// (No @packageDocumentation comment for this package) + +``` diff --git a/packages/types-vrmc-materials-hdr-emissive-multiplier-1.0/api-extractor.json b/packages/types-vrmc-materials-hdr-emissive-multiplier-1.0/api-extractor.json new file mode 100644 index 000000000..663b48c3c --- /dev/null +++ b/packages/types-vrmc-materials-hdr-emissive-multiplier-1.0/api-extractor.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "extends": "../../api-extractor.base.json" +} \ No newline at end of file diff --git a/packages/types-vrmc-materials-hdr-emissive-multiplier-1.0/package.json b/packages/types-vrmc-materials-hdr-emissive-multiplier-1.0/package.json index 89191c6e8..5c67430a8 100644 --- a/packages/types-vrmc-materials-hdr-emissive-multiplier-1.0/package.json +++ b/packages/types-vrmc-materials-hdr-emissive-multiplier-1.0/package.json @@ -10,7 +10,7 @@ "LICENSE" ], "main": "", - "types": "types/index.d.ts", + "types": "lib/index.d.ts", "typesVersions": { "<3.9": { "*": [ @@ -27,7 +27,7 @@ "version": "yarn all", "all": "yarn lint && yarn clean && yarn build && yarn docs", "clean": "rimraf docs/ ts*/ types/", - "build": "tsc --declaration --declarationDir ./types --emitDeclarationOnly && downlevel-dts types ts3.4/types", + "build": "tsc --declaration --declarationDir ./types --emitDeclarationOnly && api-extractor run --local && downlevel-dts types ts3.4/types && rimraf types", "docs": "typedoc --entryPoints ./src/index.ts --out docs", "lint": "eslint \"src/**/*.{ts,tsx}\" && prettier \"src/**/*.{ts,tsx}\" --check", "lint-fix": "eslint \"src/**/*.{ts,tsx}\" --fix && prettier \"src/**/*.{ts,tsx}\" --write" diff --git a/packages/types-vrmc-materials-hdr-emissive-multiplier-1.0/types-vrmc-materials-hdr-emissive-multiplier-1.0.api.md b/packages/types-vrmc-materials-hdr-emissive-multiplier-1.0/types-vrmc-materials-hdr-emissive-multiplier-1.0.api.md new file mode 100644 index 000000000..d0796a42e --- /dev/null +++ b/packages/types-vrmc-materials-hdr-emissive-multiplier-1.0/types-vrmc-materials-hdr-emissive-multiplier-1.0.api.md @@ -0,0 +1,14 @@ +## API Report File for "@pixiv/types-vrmc-materials-hdr-emissive-multiplier-1.0" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +// @public +export interface VRMCMaterialsHDREmissiveMultiplier { + emissiveMultiplier: number; +} + +// (No @packageDocumentation comment for this package) + +``` diff --git a/packages/types-vrmc-materials-mtoon-1.0/api-extractor.json b/packages/types-vrmc-materials-mtoon-1.0/api-extractor.json new file mode 100644 index 000000000..663b48c3c --- /dev/null +++ b/packages/types-vrmc-materials-mtoon-1.0/api-extractor.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "extends": "../../api-extractor.base.json" +} \ No newline at end of file diff --git a/packages/types-vrmc-materials-mtoon-1.0/package.json b/packages/types-vrmc-materials-mtoon-1.0/package.json index b1d289598..f5508613f 100644 --- a/packages/types-vrmc-materials-mtoon-1.0/package.json +++ b/packages/types-vrmc-materials-mtoon-1.0/package.json @@ -10,7 +10,7 @@ "LICENSE" ], "main": "", - "types": "types/index.d.ts", + "types": "lib/index.d.ts", "typesVersions": { "<3.9": { "*": [ @@ -27,7 +27,7 @@ "version": "yarn all", "all": "yarn lint && yarn clean && yarn build && yarn docs", "clean": "rimraf docs/ ts*/ types/", - "build": "tsc --declaration --declarationDir ./types --emitDeclarationOnly && downlevel-dts types ts3.4/types", + "build": "tsc --declaration --declarationDir ./types --emitDeclarationOnly && api-extractor run --local && downlevel-dts types ts3.4/types && rimraf types", "docs": "typedoc --entryPoints ./src/index.ts --out docs", "lint": "eslint \"src/**/*.{ts,tsx}\" && prettier \"src/**/*.{ts,tsx}\" --check", "lint-fix": "eslint \"src/**/*.{ts,tsx}\" --fix && prettier \"src/**/*.{ts,tsx}\" --write" diff --git a/packages/types-vrmc-materials-mtoon-1.0/types-vrmc-materials-mtoon-1.0.api.md b/packages/types-vrmc-materials-mtoon-1.0/types-vrmc-materials-mtoon-1.0.api.md new file mode 100644 index 000000000..4c905c690 --- /dev/null +++ b/packages/types-vrmc-materials-mtoon-1.0/types-vrmc-materials-mtoon-1.0.api.md @@ -0,0 +1,83 @@ +## API Report File for "@pixiv/types-vrmc-materials-mtoon-1.0" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +// @public (undocumented) +export type MaterialsMToonOutlineWidthMode = 'none' | 'worldCoordinates' | 'screenCoordinates'; + +// @public (undocumented) +export interface MaterialsMToonShadingShiftTextureInfo extends MaterialsMToonTextureInfo { + scale?: number; +} + +// @public (undocumented) +export interface MaterialsMToonTextureInfo { + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + index: number; + texCoord?: number; +} + +// @public (undocumented) +export interface VRMCMaterialsMToon { + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + // (undocumented) + giEqualizationFactor?: number; + // (undocumented) + matcapFactor?: number[]; + matcapTexture?: MaterialsMToonTextureInfo; + // (undocumented) + outlineColorFactor?: number[]; + // (undocumented) + outlineLightingMixFactor?: number; + // (undocumented) + outlineWidthFactor?: number; + outlineWidthMode?: MaterialsMToonOutlineWidthMode; + // (undocumented) + outlineWidthMultiplyTexture?: MaterialsMToonTextureInfo; + parametricRimColorFactor?: number[]; + // (undocumented) + parametricRimFresnelPowerFactor?: number; + // (undocumented) + parametricRimLiftFactor?: number; + // (undocumented) + renderQueueOffsetNumber?: number; + // (undocumented) + rimLightingMixFactor?: number; + // (undocumented) + rimMultiplyTexture?: MaterialsMToonTextureInfo; + // (undocumented) + shadeColorFactor?: number[]; + // (undocumented) + shadeMultiplyTexture?: MaterialsMToonTextureInfo; + shadingShiftFactor?: number; + // (undocumented) + shadingShiftTexture?: MaterialsMToonShadingShiftTextureInfo; + // (undocumented) + shadingToonyFactor?: number; + specVersion: '1.0' | '1.0-beta'; + transparentWithZWrite?: boolean; + // (undocumented) + uvAnimationMaskTexture?: MaterialsMToonTextureInfo; + // (undocumented) + uvAnimationRotationSpeedFactor?: number; + // (undocumented) + uvAnimationScrollXSpeedFactor?: number; + // (undocumented) + uvAnimationScrollYSpeedFactor?: number; +} + +// (No @packageDocumentation comment for this package) + +``` diff --git a/packages/types-vrmc-node-constraint-1.0/api-extractor.json b/packages/types-vrmc-node-constraint-1.0/api-extractor.json new file mode 100644 index 000000000..663b48c3c --- /dev/null +++ b/packages/types-vrmc-node-constraint-1.0/api-extractor.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "extends": "../../api-extractor.base.json" +} \ No newline at end of file diff --git a/packages/types-vrmc-node-constraint-1.0/package.json b/packages/types-vrmc-node-constraint-1.0/package.json index 6850e102b..940543400 100644 --- a/packages/types-vrmc-node-constraint-1.0/package.json +++ b/packages/types-vrmc-node-constraint-1.0/package.json @@ -10,7 +10,7 @@ "LICENSE" ], "main": "", - "types": "types/index.d.ts", + "types": "lib/index.d.ts", "typesVersions": { "<3.9": { "*": [ @@ -27,7 +27,7 @@ "version": "yarn all", "all": "yarn lint && yarn clean && yarn build && yarn docs", "clean": "rimraf docs/ ts*/ types/", - "build": "tsc --declaration --declarationDir ./types --emitDeclarationOnly && downlevel-dts types ts3.4/types", + "build": "tsc --declaration --declarationDir ./types --emitDeclarationOnly && api-extractor run --local && downlevel-dts types ts3.4/types && rimraf types", "docs": "typedoc --entryPoints ./src/index.ts --out docs", "lint": "eslint \"src/**/*.{ts,tsx}\" && prettier \"src/**/*.{ts,tsx}\" --check", "lint-fix": "eslint \"src/**/*.{ts,tsx}\" --fix && prettier \"src/**/*.{ts,tsx}\" --write" diff --git a/packages/types-vrmc-node-constraint-1.0/types-vrmc-node-constraint-1.0.api.md b/packages/types-vrmc-node-constraint-1.0/types-vrmc-node-constraint-1.0.api.md new file mode 100644 index 000000000..7ff1257e9 --- /dev/null +++ b/packages/types-vrmc-node-constraint-1.0/types-vrmc-node-constraint-1.0.api.md @@ -0,0 +1,76 @@ +## API Report File for "@pixiv/types-vrmc-node-constraint-1.0" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +// @public +export interface AimConstraint { + aimAxis: 'PositiveX' | 'NegativeX' | 'PositiveY' | 'NegativeY' | 'PositiveZ' | 'NegativeZ'; + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + source: number; + weight?: number; +} + +// @public +export interface Constraint { + // (undocumented) + aim?: AimConstraint; + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + // (undocumented) + roll?: RollConstraint; + // (undocumented) + rotation?: RotationConstraint; +} + +// @public +export interface RollConstraint { + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + rollAxis: 'X' | 'Y' | 'Z'; + source: number; + weight?: number; +} + +// @public +export interface RotationConstraint { + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + source: number; + weight?: number; +} + +// @public +export interface VRMCNodeConstraint { + // (undocumented) + constraint: Constraint; + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + specVersion: '1.0' | '1.0-beta'; +} + +// (No @packageDocumentation comment for this package) + +``` diff --git a/packages/types-vrmc-springbone-1.0/api-extractor.json b/packages/types-vrmc-springbone-1.0/api-extractor.json new file mode 100644 index 000000000..663b48c3c --- /dev/null +++ b/packages/types-vrmc-springbone-1.0/api-extractor.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "extends": "../../api-extractor.base.json" +} \ No newline at end of file diff --git a/packages/types-vrmc-springbone-1.0/package.json b/packages/types-vrmc-springbone-1.0/package.json index 902b659c0..39bc87999 100644 --- a/packages/types-vrmc-springbone-1.0/package.json +++ b/packages/types-vrmc-springbone-1.0/package.json @@ -10,7 +10,7 @@ "LICENSE" ], "main": "", - "types": "types/index.d.ts", + "types": "lib/index.d.ts", "typesVersions": { "<3.9": { "*": [ @@ -27,7 +27,7 @@ "version": "yarn all", "all": "yarn lint && yarn clean && yarn build && yarn docs", "clean": "rimraf docs/ ts*/ types/", - "build": "tsc --declaration --declarationDir ./types --emitDeclarationOnly && downlevel-dts types ts3.4/types", + "build": "tsc --declaration --declarationDir ./types --emitDeclarationOnly && api-extractor run --local && downlevel-dts types ts3.4/types && rimraf types", "docs": "typedoc --entryPoints ./src/index.ts --out docs", "lint": "eslint \"src/**/*.{ts,tsx}\" && prettier \"src/**/*.{ts,tsx}\" --check", "lint-fix": "eslint \"src/**/*.{ts,tsx}\" --fix && prettier \"src/**/*.{ts,tsx}\" --write" diff --git a/packages/types-vrmc-springbone-1.0/types-vrmc-springbone-1.0.api.md b/packages/types-vrmc-springbone-1.0/types-vrmc-springbone-1.0.api.md new file mode 100644 index 000000000..506c5cdc1 --- /dev/null +++ b/packages/types-vrmc-springbone-1.0/types-vrmc-springbone-1.0.api.md @@ -0,0 +1,108 @@ +## API Report File for "@pixiv/types-vrmc-springbone-1.0" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +// @public +export interface SpringBoneCollider { + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + // (undocumented) + node?: number; + // (undocumented) + shape?: SpringBoneColliderShape; +} + +// @public (undocumented) +export interface SpringBoneColliderCapsule { + offset?: [number, number, number]; + radius?: number; + tail?: [number, number, number]; +} + +// @public +export interface SpringBoneColliderGroup { + // (undocumented) + colliders?: number[]; + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + // (undocumented) + name?: string; +} + +// @public +export interface SpringBoneColliderShape { + // (undocumented) + capsule?: SpringBoneColliderCapsule; + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + // (undocumented) + sphere?: SpringBoneColliderSphere; +} + +// @public (undocumented) +export interface SpringBoneColliderSphere { + offset?: [number, number, number]; + radius?: number; +} + +// @public +export interface SpringBoneJoint { + dragForce: number; + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + gravityDir?: [number, number, number]; + gravityPower: number; + hitRadius: number; + node: number; + stiffness: number; +} + +// @public +export interface SpringBoneSpring { + center?: number; + colliderGroups?: number[]; + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + joints: SpringBoneJoint[]; + name?: string; +} + +// @public +export interface VRMCSpringBone { + colliderGroups?: SpringBoneColliderGroup[]; + colliders?: SpringBoneCollider[]; + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + specVersion: '1.0' | '1.0-beta'; + springs?: SpringBoneSpring[]; +} + +// (No @packageDocumentation comment for this package) + +``` diff --git a/packages/types-vrmc-vrm-1.0/api-extractor.json b/packages/types-vrmc-vrm-1.0/api-extractor.json new file mode 100644 index 000000000..663b48c3c --- /dev/null +++ b/packages/types-vrmc-vrm-1.0/api-extractor.json @@ -0,0 +1,4 @@ +{ + "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json", + "extends": "../../api-extractor.base.json" +} \ No newline at end of file diff --git a/packages/types-vrmc-vrm-1.0/package.json b/packages/types-vrmc-vrm-1.0/package.json index 53f2462c2..f37a655ca 100644 --- a/packages/types-vrmc-vrm-1.0/package.json +++ b/packages/types-vrmc-vrm-1.0/package.json @@ -10,7 +10,7 @@ "LICENSE" ], "main": "", - "types": "types/index.d.ts", + "types": "lib/index.d.ts", "typesVersions": { "<3.9": { "*": [ @@ -27,7 +27,7 @@ "version": "yarn all", "all": "yarn lint && yarn clean && yarn build && yarn docs", "clean": "rimraf docs/ ts*/ types/", - "build": "tsc --declaration --declarationDir ./types --emitDeclarationOnly && downlevel-dts types ts3.4/types", + "build": "tsc --declaration --declarationDir ./types --emitDeclarationOnly && api-extractor run --local && downlevel-dts types ts3.4/types && rimraf types", "docs": "typedoc --entryPoints ./src/index.ts --out docs", "lint": "eslint \"src/**/*.{ts,tsx}\" && prettier \"src/**/*.{ts,tsx}\" --check", "lint-fix": "eslint \"src/**/*.{ts,tsx}\" --fix && prettier \"src/**/*.{ts,tsx}\" --write" diff --git a/packages/types-vrmc-vrm-1.0/types-vrmc-vrm-1.0.api.md b/packages/types-vrmc-vrm-1.0/types-vrmc-vrm-1.0.api.md new file mode 100644 index 000000000..052575467 --- /dev/null +++ b/packages/types-vrmc-vrm-1.0/types-vrmc-vrm-1.0.api.md @@ -0,0 +1,219 @@ +## API Report File for "@pixiv/types-vrmc-vrm-1.0" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +// @public +export interface Expression { + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + isBinary?: boolean; + materialColorBinds?: ExpressionMaterialColorBind[]; + morphTargetBinds?: ExpressionMorphTargetBind[]; + name?: string; + overrideBlink?: ExpressionOverrideType; + overrideLookAt?: ExpressionOverrideType; + overrideMouth?: ExpressionOverrideType; + preset: ExpressionPresetName; + textureTransformBinds?: ExpressionTextureTransformBind[]; +} + +// @public (undocumented) +export interface ExpressionMaterialColorBind { + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + material: number; + targetValue: [number, number, number, number]; + // (undocumented) + type: ExpressionMaterialColorType; +} + +// @public (undocumented) +export type ExpressionMaterialColorType = 'color' | 'emissionColor' | 'shadeColor' | 'matcapColor' | 'rimColor' | 'outlineColor'; + +// @public +export interface ExpressionMorphTargetBind { + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + index: number; + node: number; + weight: number; +} + +// @public (undocumented) +export type ExpressionOverrideType = 'none' | 'block' | 'blend'; + +// @public (undocumented) +export type ExpressionPresetName = 'happy' | 'angry' | 'sad' | 'relaxed' | 'surprised' | 'aa' | 'ih' | 'ou' | 'ee' | 'oh' | 'blink' | 'blinkLeft' | 'blinkRight' | 'lookUp' | 'lookDown' | 'lookLeft' | 'lookRight' | 'neutral'; + +// @public (undocumented) +export interface Expressions { + // (undocumented) + custom?: { + [key: string]: Expression; + }; + // (undocumented) + preset?: { + [preset in ExpressionPresetName]?: Expression; + }; +} + +// @public (undocumented) +export interface ExpressionTextureTransformBind { + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + material: number; + offset?: [number, number]; + scale?: [number, number]; +} + +// @public +export interface FirstPerson { + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + meshAnnotations?: FirstPersonMeshAnnotation[]; +} + +// @public +export interface FirstPersonMeshAnnotation { + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + node: number; + type: 'auto' | 'both' | 'thirdPersonOnly' | 'firstPersonOnly'; +} + +// @public +export interface Humanoid { + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + // (undocumented) + humanBones: HumanoidHumanBones; +} + +// @public +export interface HumanoidHumanBone { + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + node: number; +} + +// @public (undocumented) +export type HumanoidHumanBoneName = 'hips' | 'spine' | 'chest' | 'upperChest' | 'neck' | 'head' | 'leftEye' | 'rightEye' | 'jaw' | 'leftUpperLeg' | 'leftLowerLeg' | 'leftFoot' | 'leftToes' | 'rightUpperLeg' | 'rightLowerLeg' | 'rightFoot' | 'rightToes' | 'leftShoulder' | 'leftUpperArm' | 'leftLowerArm' | 'leftHand' | 'rightShoulder' | 'rightUpperArm' | 'rightLowerArm' | 'rightHand' | 'leftThumbMetacarpal' | 'leftThumbProximal' | 'leftThumbDistal' | 'leftIndexProximal' | 'leftIndexIntermediate' | 'leftIndexDistal' | 'leftMiddleProximal' | 'leftMiddleIntermediate' | 'leftMiddleDistal' | 'leftRingProximal' | 'leftRingIntermediate' | 'leftRingDistal' | 'leftLittleProximal' | 'leftLittleIntermediate' | 'leftLittleDistal' | 'rightThumbMetacarpal' | 'rightThumbProximal' | 'rightThumbDistal' | 'rightIndexProximal' | 'rightIndexIntermediate' | 'rightIndexDistal' | 'rightMiddleProximal' | 'rightMiddleIntermediate' | 'rightMiddleDistal' | 'rightRingProximal' | 'rightRingIntermediate' | 'rightRingDistal' | 'rightLittleProximal' | 'rightLittleIntermediate' | 'rightLittleDistal'; + +// @public +export type HumanoidHumanBones = { + [key in HumanoidHumanBoneName]: HumanoidHumanBone; +}; + +// @public +export interface LookAt { + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + offsetFromHeadBone?: number[]; + rangeMapHorizontalInner?: LookAtRangeMap; + rangeMapHorizontalOuter?: LookAtRangeMap; + rangeMapVerticalDown?: LookAtRangeMap; + rangeMapVerticalUp?: LookAtRangeMap; + // (undocumented) + type?: 'bone' | 'expression'; +} + +// @public +export interface LookAtRangeMap { + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + inputMaxValue?: number; + outputScale?: number; +} + +// @public (undocumented) +export interface Meta { + allowAntisocialOrHateUsage?: boolean; + allowExcessivelySexualUsage?: boolean; + allowExcessivelyViolentUsage?: boolean; + allowPoliticalOrReligiousUsage?: boolean; + allowRedistribution?: boolean; + authors: string[]; + avatarPermission?: 'onlyAuthor' | 'onlySeparatelyLicensedPerson' | 'everyone'; + commercialUsage?: 'personalNonProfit' | 'personalProfit' | 'corporation'; + contactInformation?: string; + copyrightInformation?: string; + creditNotation?: 'required' | 'unnecessary'; + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + licenseUrl: string; + modification?: 'prohibited' | 'allowModification' | 'allowModificationRedistribution'; + name: string; + otherLicenseUrl?: string; + references?: string[]; + thirdPartyLicenses?: string; + thumbnailImage?: number; + version?: string; +} + +// @public (undocumented) +export interface VRMCVRM { + // (undocumented) + expressions?: Expressions; + // (undocumented) + extensions?: { + [name: string]: any; + }; + // (undocumented) + extras?: any; + firstPerson?: FirstPerson; + // (undocumented) + humanoid: Humanoid; + lookAt?: LookAt; + meta: Meta; + specVersion: '1.0' | '1.0-beta'; +} + +// (No @packageDocumentation comment for this package) + +``` diff --git a/yarn.lock b/yarn.lock index 031267457..a7cd84e47 100644 --- a/yarn.lock +++ b/yarn.lock @@ -709,6 +709,48 @@ write-pkg "4.0.0" yargs "16.2.0" +"@microsoft/api-extractor-model@7.28.0": + version "7.28.0" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor-model/-/api-extractor-model-7.28.0.tgz#33136473abd048ca219a7f0bcb0b80030d712853" + integrity sha512-QIMtUVm1tqiKG+M6ciFgRShcDoovyltaeg+CbyOnyr7SMrp6gg0ojK5/nToMqR9kAvsTS4QVgW4Twl50EoAjcw== + dependencies: + "@microsoft/tsdoc" "0.14.2" + "@microsoft/tsdoc-config" "~0.16.1" + "@rushstack/node-core-library" "3.60.0" + +"@microsoft/api-extractor@^7.37.0": + version "7.37.0" + resolved "https://registry.yarnpkg.com/@microsoft/api-extractor/-/api-extractor-7.37.0.tgz#374a0ef0e166de53a44033c4c59c7f25c96e15e5" + integrity sha512-df/wffWpDhYRw7kzdxeHGsCpim+dC8aFiZlsJb4uFvVPWhBZpDzOhQxSUTFx3Df1ORY+/JjuPR3fDE9Hq+PHzQ== + dependencies: + "@microsoft/api-extractor-model" "7.28.0" + "@microsoft/tsdoc" "0.14.2" + "@microsoft/tsdoc-config" "~0.16.1" + "@rushstack/node-core-library" "3.60.0" + "@rushstack/rig-package" "0.5.0" + "@rushstack/ts-command-line" "4.16.0" + colors "~1.2.1" + lodash "~4.17.15" + resolve "~1.22.1" + semver "~7.5.4" + source-map "~0.6.1" + typescript "~5.0.4" + +"@microsoft/tsdoc-config@~0.16.1": + version "0.16.2" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc-config/-/tsdoc-config-0.16.2.tgz#b786bb4ead00d54f53839a458ce626c8548d3adf" + integrity sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw== + dependencies: + "@microsoft/tsdoc" "0.14.2" + ajv "~6.12.6" + jju "~1.4.0" + resolve "~1.19.0" + +"@microsoft/tsdoc@0.14.2": + version "0.14.2" + resolved "https://registry.yarnpkg.com/@microsoft/tsdoc/-/tsdoc-0.14.2.tgz#c3ec604a0b54b9a9b87e9735dfc59e1a5da6a5fb" + integrity sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug== + "@nodelib/fs.scandir@2.1.3": version "2.1.3" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz#3a582bdb53804c6ba6d146579c46e52130cf4a3b" @@ -1134,6 +1176,37 @@ estree-walker "^2.0.2" picomatch "^2.3.1" +"@rushstack/node-core-library@3.60.0": + version "3.60.0" + resolved "https://registry.yarnpkg.com/@rushstack/node-core-library/-/node-core-library-3.60.0.tgz#a52ca6b98762e9f64c1735d21456510d2aa956e3" + integrity sha512-PcyrqhILvzU+65wMFybQ2VeGNnU5JzhDq2OvUi3j6jPUxyllM7b2hrRUwCuVaYboewYzIbpzXFzgxe2K7ii1nw== + dependencies: + colors "~1.2.1" + fs-extra "~7.0.1" + import-lazy "~4.0.0" + jju "~1.4.0" + resolve "~1.22.1" + semver "~7.5.4" + z-schema "~5.0.2" + +"@rushstack/rig-package@0.5.0": + version "0.5.0" + resolved "https://registry.yarnpkg.com/@rushstack/rig-package/-/rig-package-0.5.0.tgz#cca786e08634d12c6fde790d524a410a17f173d9" + integrity sha512-bGnOW4DWHOePDiABKy6qyqYJl9i7fKn4bRucExRVt5QzyPxuVHMl8CMmCabtoNSpXzgG3qymWOrMoa/W2PpJrw== + dependencies: + resolve "~1.22.1" + strip-json-comments "~3.1.1" + +"@rushstack/ts-command-line@4.16.0": + version "4.16.0" + resolved "https://registry.yarnpkg.com/@rushstack/ts-command-line/-/ts-command-line-4.16.0.tgz#92d3af993ca5ee271ea130d41f5ce6a9479cae3f" + integrity sha512-WJKhdR9ThK9Iy7t78O3at7I3X4Ssp5RRZay/IQa8NywqkFy/DQbT3iLouodMMdUwLZD9n8n++xLubVd3dkmpkg== + dependencies: + "@types/argparse" "1.0.38" + argparse "~1.0.9" + colors "~1.2.1" + string-argv "~0.3.1" + "@sigstore/bundle@^1.1.0": version "1.1.0" resolved "https://registry.yarnpkg.com/@sigstore/bundle/-/bundle-1.1.0.tgz#17f8d813b09348b16eeed66a8cf1c3d6bd3d04f1" @@ -1210,6 +1283,11 @@ resolved "https://registry.yarnpkg.com/@tweenjs/tween.js/-/tween.js-18.6.4.tgz#40a3d0a93647124872dec8e0fd1bd5926695b6ca" integrity sha512-lB9lMjuqjtuJrx7/kOkqQBtllspPIN+96OvTCeJ2j5FEzinoAXTdAMFnDAQT1KVPRlnYfBrqxtqP66vDM40xxQ== +"@types/argparse@1.0.38": + version "1.0.38" + resolved "https://registry.yarnpkg.com/@types/argparse/-/argparse-1.0.38.tgz#a81fd8606d481f873a3800c6ebae4f1d768a56a9" + integrity sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA== + "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.7": version "7.1.15" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.15.tgz#2ccfb1ad55a02c83f8e0ad327cbc332f55eb1024" @@ -1538,7 +1616,7 @@ aggregate-error@^3.0.0: clean-stack "^2.0.0" indent-string "^4.0.0" -ajv@^6.10.0, ajv@^6.12.4: +ajv@^6.10.0, ajv@^6.12.4, ajv@~6.12.6: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== @@ -1658,7 +1736,7 @@ arg@^4.1.0: resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== -argparse@^1.0.7: +argparse@^1.0.7, argparse@~1.0.9: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== @@ -2289,6 +2367,11 @@ colorette@^2.0.19: resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798" integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ== +colors@~1.2.1: + version "1.2.5" + resolved "https://registry.yarnpkg.com/colors/-/colors-1.2.5.tgz#89c7ad9a374bc030df8013241f68136ed8835afc" + integrity sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg== + columnify@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/columnify/-/columnify-1.6.0.tgz#6989531713c9008bb29735e61e37acf5bd553cf3" @@ -2304,6 +2387,11 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" +commander@^10.0.0: + version "10.0.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06" + integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== + commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" @@ -3400,6 +3488,15 @@ fs-extra@^11.1.0: jsonfile "^6.0.1" universalify "^2.0.0" +fs-extra@~7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + fs-minipass@^2.0.0, fs-minipass@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" @@ -3911,6 +4008,11 @@ import-fresh@^3.0.0, import-fresh@^3.2.1: parent-module "^1.0.0" resolve-from "^4.0.0" +import-lazy@~4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-4.0.0.tgz#e8eb627483a0a43da3c03f3e35548be5cb0cc153" + integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== + import-local@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.0.2.tgz#a8cfd0431d1de4a2199703d003e3e62364fa6db6" @@ -4034,6 +4136,13 @@ is-ci@2.0.0, is-ci@^2.0.0: dependencies: ci-info "^2.0.0" +is-core-module@^2.1.0, is-core-module@^2.13.0: + version "2.13.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db" + integrity sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ== + dependencies: + has "^1.0.3" + is-core-module@^2.5.0, is-core-module@^2.8.1, is-core-module@^2.9.0: version "2.10.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.10.0.tgz#9012ede0a91c69587e647514e1d5277019e728ed" @@ -4687,6 +4796,11 @@ jest@^26.6.3: import-local "^3.0.2" jest-cli "^26.6.3" +jju@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/jju/-/jju-1.4.0.tgz#a3abe2718af241a2b2904f84a625970f389ae32a" + integrity sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA== + js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -4802,6 +4916,13 @@ jsonc-parser@3.2.0, jsonc-parser@^3.0.0: resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76" integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w== +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + jsonfile@^6.0.1: version "6.1.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" @@ -5077,6 +5198,16 @@ locate-path@^6.0.0: dependencies: p-locate "^5.0.0" +lodash.get@^4.4.2: + version "4.4.2" + resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" + integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== + +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== + lodash.ismatch@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz#756cb5150ca3ba6f11085a78849645f188f85f37" @@ -5092,7 +5223,7 @@ lodash.truncate@^4.4.2: resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== -lodash@4.x, lodash@^4.17.15, lodash@^4.17.21, lodash@^4.7.0: +lodash@4.x, lodash@^4.17.15, lodash@^4.17.21, lodash@^4.7.0, lodash@~4.17.15: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -6267,7 +6398,7 @@ path-key@^4.0.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18" integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== -path-parse@^1.0.7: +path-parse@^1.0.6, path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== @@ -6737,6 +6868,23 @@ resolve@^1.1.6, resolve@^1.10.0, resolve@^1.18.1, resolve@^1.22.1: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@~1.19.0: + version "1.19.0" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.19.0.tgz#1af5bf630409734a067cae29318aac7fa29a267c" + integrity sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg== + dependencies: + is-core-module "^2.1.0" + path-parse "^1.0.6" + +resolve@~1.22.1: + version "1.22.6" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.6.tgz#dd209739eca3aef739c626fea1b4f3c506195362" + integrity sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + restore-cursor@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" @@ -6903,7 +7051,7 @@ semver@7.3.8: dependencies: lru-cache "^6.0.0" -semver@7.5.4, semver@^7.3.8: +semver@7.5.4, semver@^7.3.8, semver@~7.5.4: version "7.5.4" resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== @@ -7239,6 +7387,11 @@ string-argv@^0.3.1: resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== +string-argv@~0.3.1: + version "0.3.2" + resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.2.tgz#2b6d0ef24b656274d957d54e0a4bbf6153dc02b6" + integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== + string-length@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" @@ -7334,7 +7487,7 @@ strip-indent@^3.0.0: dependencies: min-indent "^1.0.0" -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1, strip-json-comments@~3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== @@ -7749,6 +7902,11 @@ typescript@next: resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.0-dev.20221212.tgz#bdc0fca3a3c408209131daafa6c1cbf480f25fc1" integrity sha512-bnSpGyeM4wf0n7H5Tv4oWf3dPiEpUh2bBLbrLkJ9LsCQVdedHQwC52H3gtWEPT/yt4XCiDtfqjZTGHXxEtDn7A== +typescript@~5.0.4: + version "5.0.4" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.0.4.tgz#b217fd20119bd61a94d4011274e0ab369058da3b" + integrity sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw== + uglify-js@^3.1.4: version "3.17.2" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.2.tgz#f55f668b9a64b213977ae688703b6bbb7ca861c6" @@ -7804,7 +7962,7 @@ universal-user-agent@^6.0.0: resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee" integrity sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w== -universalify@^0.1.2: +universalify@^0.1.0, universalify@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== @@ -7897,6 +8055,11 @@ validate-npm-package-name@^5.0.0: dependencies: builtins "^5.0.0" +validator@^13.7.0: + version "13.11.0" + resolved "https://registry.yarnpkg.com/validator/-/validator-13.11.0.tgz#23ab3fd59290c61248364eabf4067f04955fbb1b" + integrity sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ== + vscode-oniguruma@^1.6.1: version "1.6.2" resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.6.2.tgz#aeb9771a2f1dbfc9083c8a7fdd9cccaa3f386607" @@ -8235,3 +8398,14 @@ yocto-queue@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +z-schema@~5.0.2: + version "5.0.6" + resolved "https://registry.yarnpkg.com/z-schema/-/z-schema-5.0.6.tgz#46d6a687b15e4a4369e18d6cb1c7b8618fc256c5" + integrity sha512-+XR1GhnWklYdfr8YaZv/iu+vY+ux7V5DS5zH1DQf6bO5ufrt/5cgNhVO5qyhsjFXvsqQb/f08DWE9b6uPscyAg== + dependencies: + lodash.get "^4.4.2" + lodash.isequal "^4.5.0" + validator "^13.7.0" + optionalDependencies: + commander "^10.0.0"