@felbrasil/dreamy 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +69 -2
- package/dist/api.d.ts +1 -0
- package/dist/api.js +2 -0
- package/dist/api.js.map +7 -0
- package/dist/chunks/chunk-72DMUKP3.js +1470 -0
- package/dist/chunks/chunk-72DMUKP3.js.map +7 -0
- package/dist/chunks/chunk-VZMBE5MV.js +5936 -0
- package/dist/chunks/chunk-VZMBE5MV.js.map +7 -0
- package/dist/chunks/chunk-ZU72KKME.js +8600 -0
- package/dist/chunks/chunk-ZU72KKME.js.map +7 -0
- package/dist/core.d.ts +1 -0
- package/dist/core.js +34 -0
- package/dist/core.js.map +7 -0
- package/dist/dreamy_evaluator.wasm +0 -0
- package/dist/evaluator.d.ts +1 -0
- package/dist/evaluator.js +52 -0
- package/dist/evaluator.js.map +7 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +7280 -0
- package/dist/index.js.map +7 -0
- package/dist/styles.css +1 -0
- package/dist/types/api/src/commands/command.d.ts +7 -0
- package/dist/types/api/src/commands/decal-commands.d.ts +35 -0
- package/dist/types/api/src/commands/palette-commands.d.ts +14 -0
- package/dist/types/api/src/commands/rig-commands.d.ts +229 -0
- package/dist/types/api/src/commands/scene-commands.d.ts +64 -0
- package/dist/types/api/src/commands/sculpt-commands.d.ts +111 -0
- package/dist/types/api/src/commands/stamp-spec.d.ts +3 -0
- package/dist/types/api/src/commands/target.d.ts +8 -0
- package/dist/types/api/src/creation-api.d.ts +52 -0
- package/dist/types/api/src/events/creation-event.d.ts +7 -0
- package/dist/types/api/src/events/decal-events.d.ts +20 -0
- package/dist/types/api/src/events/event-of.d.ts +6 -0
- package/dist/types/api/src/events/palette-events.d.ts +8 -0
- package/dist/types/api/src/events/rig-events.d.ts +161 -0
- package/dist/types/api/src/events/scene-events.d.ts +34 -0
- package/dist/types/api/src/events/sculpt-events.d.ts +53 -0
- package/dist/types/api/src/id.d.ts +1 -0
- package/dist/types/api/src/index.d.ts +31 -0
- package/dist/types/api/src/model/creation.d.ts +22 -0
- package/dist/types/api/src/model/decal.d.ts +48 -0
- package/dist/types/api/src/model/look.d.ts +56 -0
- package/dist/types/api/src/model/math.d.ts +18 -0
- package/dist/types/api/src/model/palette.d.ts +11 -0
- package/dist/types/api/src/model/rig.d.ts +125 -0
- package/dist/types/api/src/model/scene-object.d.ts +22 -0
- package/dist/types/api/src/model/sculpt.d.ts +13 -0
- package/dist/types/api/src/model/stamp.d.ts +53 -0
- package/dist/types/api/src/model/wing.d.ts +35 -0
- package/dist/types/api/src/ports/basic-ports.d.ts +7 -0
- package/dist/types/api/src/ports/evaluator.d.ts +62 -0
- package/dist/types/api/src/ports/persistence.d.ts +89 -0
- package/dist/types/api/src/ports/viewport.d.ts +125 -0
- package/dist/types/core/src/apply/body-part-added.d.ts +2 -0
- package/dist/types/core/src/apply/body-part-removed.d.ts +2 -0
- package/dist/types/core/src/apply/bone-removed.d.ts +3 -0
- package/dist/types/core/src/apply/bone-renamed.d.ts +2 -0
- package/dist/types/core/src/apply/bone-reparented.d.ts +2 -0
- package/dist/types/core/src/apply/bone-sizes-set.d.ts +3 -0
- package/dist/types/core/src/apply/bone-tags-set.d.ts +2 -0
- package/dist/types/core/src/apply/bone-transforms-set.d.ts +6 -0
- package/dist/types/core/src/apply/bones-added.d.ts +2 -0
- package/dist/types/core/src/apply/creature-generated.d.ts +3 -0
- package/dist/types/core/src/apply/decal-removed.d.ts +2 -0
- package/dist/types/core/src/apply/decals-added.d.ts +2 -0
- package/dist/types/core/src/apply/design-deleted.d.ts +2 -0
- package/dist/types/core/src/apply/design-saved.d.ts +2 -0
- package/dist/types/core/src/apply/flat-wings-set.d.ts +2 -0
- package/dist/types/core/src/apply/object-renamed.d.ts +2 -0
- package/dist/types/core/src/apply/object-reparented.d.ts +2 -0
- package/dist/types/core/src/apply/object-transforms-set.d.ts +2 -0
- package/dist/types/core/src/apply/objects-deleted.d.ts +2 -0
- package/dist/types/core/src/apply/objects-duplicated.d.ts +3 -0
- package/dist/types/core/src/apply/palette-color-set.d.ts +2 -0
- package/dist/types/core/src/apply/palette-reset.d.ts +2 -0
- package/dist/types/core/src/apply/part-grafted.d.ts +3 -0
- package/dist/types/core/src/apply/part-slot-swapped.d.ts +3 -0
- package/dist/types/core/src/apply/pivot-set.d.ts +2 -0
- package/dist/types/core/src/apply/pose-preset-applied.d.ts +3 -0
- package/dist/types/core/src/apply/pose-reset.d.ts +3 -0
- package/dist/types/core/src/apply/premade-applied.d.ts +3 -0
- package/dist/types/core/src/apply/region-blend-set.d.ts +3 -0
- package/dist/types/core/src/apply/rig-created.d.ts +2 -0
- package/dist/types/core/src/apply/rig-mirror-set.d.ts +2 -0
- package/dist/types/core/src/apply/rig-mode-set.d.ts +2 -0
- package/dist/types/core/src/apply/sculpt-created.d.ts +2 -0
- package/dist/types/core/src/apply/sculpt-look-set.d.ts +3 -0
- package/dist/types/core/src/apply/smear-group-set.d.ts +2 -0
- package/dist/types/core/src/apply/stamp-placements-set.d.ts +2 -0
- package/dist/types/core/src/apply/stamp-props-set.d.ts +2 -0
- package/dist/types/core/src/apply/stamps-added.d.ts +2 -0
- package/dist/types/core/src/apply/stamps-removed.d.ts +2 -0
- package/dist/types/core/src/apply/symmetry-set-for-all.d.ts +2 -0
- package/dist/types/core/src/atoms/check/check.d.ts +7 -0
- package/dist/types/core/src/atoms/decal/decal-limits.d.ts +6 -0
- package/dist/types/core/src/atoms/decal/decal-problem.d.ts +4 -0
- package/dist/types/core/src/atoms/decal/design-problem.d.ts +4 -0
- package/dist/types/core/src/atoms/look/catalogs.d.ts +9 -0
- package/dist/types/core/src/atoms/look/default-look.d.ts +4 -0
- package/dist/types/core/src/atoms/look/look-problem.d.ts +7 -0
- package/dist/types/core/src/atoms/look/merge-look.d.ts +3 -0
- package/dist/types/core/src/atoms/math/mat4.d.ts +14 -0
- package/dist/types/core/src/atoms/math/quat.d.ts +18 -0
- package/dist/types/core/src/atoms/math/transform.d.ts +7 -0
- package/dist/types/core/src/atoms/math/vec3.d.ts +18 -0
- package/dist/types/core/src/atoms/palette/default-palette.d.ts +4 -0
- package/dist/types/core/src/atoms/palette/is-color-ref.d.ts +2 -0
- package/dist/types/core/src/atoms/palette/poc-color-ref.d.ts +6 -0
- package/dist/types/core/src/atoms/rig/bone-matrices.d.ts +8 -0
- package/dist/types/core/src/atoms/rig/bone-region.d.ts +8 -0
- package/dist/types/core/src/atoms/rig/bone-role.d.ts +11 -0
- package/dist/types/core/src/atoms/rig/bone-size.d.ts +7 -0
- package/dist/types/core/src/atoms/rig/compose-local.d.ts +6 -0
- package/dist/types/core/src/atoms/rig/find-rig.d.ts +11 -0
- package/dist/types/core/src/atoms/rig/mirror-partner.d.ts +3 -0
- package/dist/types/core/src/atoms/rig/mirror-sculpt.d.ts +9 -0
- package/dist/types/core/src/atoms/rig/mirror-transform.d.ts +9 -0
- package/dist/types/core/src/atoms/rig/partner-target.d.ts +3 -0
- package/dist/types/core/src/atoms/rig/pose-presets.d.ts +11 -0
- package/dist/types/core/src/atoms/rig/pose-rule.d.ts +48 -0
- package/dist/types/core/src/atoms/rig/pose-template-rules.d.ts +8 -0
- package/dist/types/core/src/atoms/rig/rebase-pose.d.ts +6 -0
- package/dist/types/core/src/atoms/rig/resize-bones.d.ts +12 -0
- package/dist/types/core/src/atoms/rig/rig-extent.d.ts +3 -0
- package/dist/types/core/src/atoms/rig/side-from-name.d.ts +7 -0
- package/dist/types/core/src/atoms/rig/size-frame.d.ts +18 -0
- package/dist/types/core/src/atoms/rig/with-slot-parts.d.ts +9 -0
- package/dist/types/core/src/atoms/scene/copy-with-new-ids.d.ts +7 -0
- package/dist/types/core/src/atoms/scene/object-tree.d.ts +8 -0
- package/dist/types/core/src/atoms/scene/place-in-order.d.ts +7 -0
- package/dist/types/core/src/atoms/scene/unique-name.d.ts +4 -0
- package/dist/types/core/src/atoms/scene/world-matrix.d.ts +4 -0
- package/dist/types/core/src/atoms/sculpt/all-sculpts.d.ts +3 -0
- package/dist/types/core/src/atoms/sculpt/is-wing-target.d.ts +3 -0
- package/dist/types/core/src/atoms/sculpt/target-sculpt.d.ts +10 -0
- package/dist/types/core/src/atoms/sculpt/update-target.d.ts +8 -0
- package/dist/types/core/src/atoms/stamp/apply-stamp-props.d.ts +11 -0
- package/dist/types/core/src/atoms/stamp/clamp-symmetry.d.ts +11 -0
- package/dist/types/core/src/atoms/stamp/clean-props.d.ts +3 -0
- package/dist/types/core/src/atoms/stamp/emptied-groups.d.ts +3 -0
- package/dist/types/core/src/atoms/stamp/move-locked-groups.d.ts +12 -0
- package/dist/types/core/src/atoms/stamp/normalize-base.d.ts +6 -0
- package/dist/types/core/src/atoms/stamp/resolve-stamp-props.d.ts +14 -0
- package/dist/types/core/src/atoms/stamp/smear.d.ts +15 -0
- package/dist/types/core/src/atoms/stamp/stamp-problem.d.ts +7 -0
- package/dist/types/core/src/atoms/wing/wing-problem.d.ts +6 -0
- package/dist/types/core/src/create-creation-api.d.ts +12 -0
- package/dist/types/core/src/decide.d.ts +4 -0
- package/dist/types/core/src/empty-creation.d.ts +2 -0
- package/dist/types/core/src/fold.d.ts +6 -0
- package/dist/types/core/src/index.d.ts +9 -0
- package/dist/types/core/src/molecules/add-body-part.d.ts +8 -0
- package/dist/types/core/src/molecules/add-bone.d.ts +8 -0
- package/dist/types/core/src/molecules/add-decals.d.ts +4 -0
- package/dist/types/core/src/molecules/add-stamps.d.ts +8 -0
- package/dist/types/core/src/molecules/apply-pose-preset.d.ts +4 -0
- package/dist/types/core/src/molecules/apply-premade.d.ts +9 -0
- package/dist/types/core/src/molecules/auto-tag-sides.d.ts +4 -0
- package/dist/types/core/src/molecules/create-rig.d.ts +4 -0
- package/dist/types/core/src/molecules/create-sculpt.d.ts +4 -0
- package/dist/types/core/src/molecules/delete-design.d.ts +4 -0
- package/dist/types/core/src/molecules/delete-objects.d.ts +4 -0
- package/dist/types/core/src/molecules/duplicate-objects.d.ts +6 -0
- package/dist/types/core/src/molecules/generate-creature.d.ts +7 -0
- package/dist/types/core/src/molecules/graft-part.d.ts +4 -0
- package/dist/types/core/src/molecules/mirror-objects.d.ts +7 -0
- package/dist/types/core/src/molecules/molecule.d.ts +17 -0
- package/dist/types/core/src/molecules/remove-body-part.d.ts +3 -0
- package/dist/types/core/src/molecules/remove-bone.d.ts +4 -0
- package/dist/types/core/src/molecules/remove-decal.d.ts +3 -0
- package/dist/types/core/src/molecules/remove-smear-group.d.ts +4 -0
- package/dist/types/core/src/molecules/remove-stamps.d.ts +4 -0
- package/dist/types/core/src/molecules/rename-bone.d.ts +3 -0
- package/dist/types/core/src/molecules/rename-object.d.ts +3 -0
- package/dist/types/core/src/molecules/reparent-bone.d.ts +4 -0
- package/dist/types/core/src/molecules/reparent-object.d.ts +4 -0
- package/dist/types/core/src/molecules/reset-palette.d.ts +3 -0
- package/dist/types/core/src/molecules/reset-pose.d.ts +3 -0
- package/dist/types/core/src/molecules/save-design.d.ts +4 -0
- package/dist/types/core/src/molecules/set-bone-sizes.d.ts +8 -0
- package/dist/types/core/src/molecules/set-bone-tags.d.ts +4 -0
- package/dist/types/core/src/molecules/set-bone-transforms.d.ts +7 -0
- package/dist/types/core/src/molecules/set-flat-wings.d.ts +4 -0
- package/dist/types/core/src/molecules/set-object-transforms.d.ts +3 -0
- package/dist/types/core/src/molecules/set-palette-color.d.ts +3 -0
- package/dist/types/core/src/molecules/set-pivot.d.ts +3 -0
- package/dist/types/core/src/molecules/set-region-blend.d.ts +4 -0
- package/dist/types/core/src/molecules/set-rig-mirror.d.ts +3 -0
- package/dist/types/core/src/molecules/set-rig-mode.d.ts +3 -0
- package/dist/types/core/src/molecules/set-sculpt-look.d.ts +7 -0
- package/dist/types/core/src/molecules/set-smear-group.d.ts +4 -0
- package/dist/types/core/src/molecules/set-stamp-placements.d.ts +4 -0
- package/dist/types/core/src/molecules/set-stamp-props.d.ts +3 -0
- package/dist/types/core/src/molecules/set-symmetry-for-all.d.ts +4 -0
- package/dist/types/core/src/molecules/swap-part-slot.d.ts +7 -0
- package/dist/types/core/src/premades/ant-bake.d.ts +2 -0
- package/dist/types/core/src/premades/bake-authoring.d.ts +35 -0
- package/dist/types/core/src/premades/bake-types.d.ts +65 -0
- package/dist/types/core/src/premades/baked-part-for.d.ts +11 -0
- package/dist/types/core/src/premades/bee-bake.d.ts +2 -0
- package/dist/types/core/src/premades/bird-bake.d.ts +2 -0
- package/dist/types/core/src/premades/body-stamps-for-bone.d.ts +14 -0
- package/dist/types/core/src/premades/bone-tree.d.ts +15 -0
- package/dist/types/core/src/premades/build-premade-rig.d.ts +23 -0
- package/dist/types/core/src/premades/build-template.d.ts +6 -0
- package/dist/types/core/src/premades/centipede-bake.d.ts +2 -0
- package/dist/types/core/src/premades/coat-stamps.d.ts +3 -0
- package/dist/types/core/src/premades/crab-bake.d.ts +2 -0
- package/dist/types/core/src/premades/dragon-bake.d.ts +2 -0
- package/dist/types/core/src/premades/face-decals.d.ts +17 -0
- package/dist/types/core/src/premades/fish-bake.d.ts +2 -0
- package/dist/types/core/src/premades/fit-part-slot.d.ts +21 -0
- package/dist/types/core/src/premades/generate-creature.d.ts +21 -0
- package/dist/types/core/src/premades/gorilla-bake.d.ts +2 -0
- package/dist/types/core/src/premades/graft-slot.d.ts +34 -0
- package/dist/types/core/src/premades/humanoid-bake.d.ts +2 -0
- package/dist/types/core/src/premades/insect6-bake.d.ts +2 -0
- package/dist/types/core/src/premades/jellyfish-bake.d.ts +2 -0
- package/dist/types/core/src/premades/lizard-bake.d.ts +2 -0
- package/dist/types/core/src/premades/make-baked-part.d.ts +9 -0
- package/dist/types/core/src/premades/make-body-part.d.ts +9 -0
- package/dist/types/core/src/premades/make-flat-part.d.ts +13 -0
- package/dist/types/core/src/premades/part-context.d.ts +20 -0
- package/dist/types/core/src/premades/part-kits.d.ts +36 -0
- package/dist/types/core/src/premades/part-slots.d.ts +17 -0
- package/dist/types/core/src/premades/part-stamp.d.ts +13 -0
- package/dist/types/core/src/premades/part-styles.d.ts +44 -0
- package/dist/types/core/src/premades/premade-fit.d.ts +18 -0
- package/dist/types/core/src/premades/premade-infos.d.ts +3 -0
- package/dist/types/core/src/premades/reseat-attachments.d.ts +31 -0
- package/dist/types/core/src/premades/rig-builder.d.ts +51 -0
- package/dist/types/core/src/premades/rodent-bake.d.ts +2 -0
- package/dist/types/core/src/premades/scorpion-bake.d.ts +2 -0
- package/dist/types/core/src/premades/shark-bake.d.ts +2 -0
- package/dist/types/core/src/premades/sitter-bake.d.ts +3 -0
- package/dist/types/core/src/premades/skeleton-bakes.d.ts +4 -0
- package/dist/types/core/src/premades/snake-bake.d.ts +2 -0
- package/dist/types/core/src/premades/spider-bake.d.ts +2 -0
- package/dist/types/core/src/premades/stamps-box.d.ts +9 -0
- package/dist/types/core/src/premades/style-for-bone.d.ts +7 -0
- package/dist/types/core/src/premades/swap-slot.d.ts +13 -0
- package/dist/types/core/src/premades/template-catalog.d.ts +20 -0
- package/dist/types/core/src/premades/template-color.d.ts +9 -0
- package/dist/types/core/src/premades/turtle-bake.d.ts +2 -0
- package/dist/types/core/src/premades/variants/aquatic-variants.d.ts +16 -0
- package/dist/types/core/src/premades/variants/coat-variants.d.ts +7 -0
- package/dist/types/core/src/premades/variants/ear-variants.d.ts +8 -0
- package/dist/types/core/src/premades/variants/fantasy-more-variants.d.ts +3 -0
- package/dist/types/core/src/premades/variants/fantasy-variants.d.ts +17 -0
- package/dist/types/core/src/premades/variants/head-variants.d.ts +9 -0
- package/dist/types/core/src/premades/variants/horn-variants.d.ts +7 -0
- package/dist/types/core/src/premades/variants/index.d.ts +10 -0
- package/dist/types/core/src/premades/variants/land-variants.d.ts +3 -0
- package/dist/types/core/src/premades/variants/leg-variants.d.ts +7 -0
- package/dist/types/core/src/premades/variants/part-variant.d.ts +14 -0
- package/dist/types/core/src/premades/variants/tail-variants.d.ts +6 -0
- package/dist/types/core/src/premades/variants/variant-authoring.d.ts +29 -0
- package/dist/types/core/src/premades/whale-bake.d.ts +2 -0
- package/dist/types/core/src/premades/wing-defaults.d.ts +4 -0
- package/dist/types/core/src/premades/wing-frame.d.ts +10 -0
- package/dist/types/core/src/premades/wolf-bake.d.ts +2 -0
- package/dist/types/core/src/premades/worm-bake.d.ts +2 -0
- package/dist/types/evaluator/src/abi.d.ts +64 -0
- package/dist/types/evaluator/src/chunks.d.ts +53 -0
- package/dist/types/evaluator/src/index.d.ts +11 -0
- package/dist/types/evaluator/src/prep/colors.d.ts +11 -0
- package/dist/types/evaluator/src/prep/mat3.d.ts +13 -0
- package/dist/types/evaluator/src/prep/pack.d.ts +23 -0
- package/dist/types/evaluator/src/prep/props.d.ts +16 -0
- package/dist/types/evaluator/src/prep/symmetry.d.ts +23 -0
- package/dist/types/evaluator/src/reference/core.d.ts +3 -0
- package/dist/types/evaluator/src/reference/mesher.d.ts +22 -0
- package/dist/types/evaluator/src/reference/skin.d.ts +8 -0
- package/dist/types/evaluator/src/session.d.ts +21 -0
- package/dist/types/evaluator/src/wasm/core.d.ts +9 -0
- package/dist/types/evaluator/src/worker/client.d.ts +28 -0
- package/dist/types/evaluator/src/worker/host.d.ts +8 -0
- package/dist/types/evaluator/src/worker/protocol.d.ts +39 -0
- package/dist/types/evaluator/src/worker/spawn.d.ts +6 -0
- package/dist/types/evaluator/src/worker/worker-inline.d.ts +1 -0
- package/dist/types/evaluator/src/worker/worker.d.ts +1 -0
- package/dist/types/module/src/index.d.ts +2 -0
- package/dist/types/module/src/ui/atoms/action-button.d.ts +10 -0
- package/dist/types/module/src/ui/atoms/badge.d.ts +9 -0
- package/dist/types/module/src/ui/atoms/checkbox.d.ts +6 -0
- package/dist/types/module/src/ui/atoms/color-input.d.ts +10 -0
- package/dist/types/module/src/ui/atoms/hex-chip.d.ts +5 -0
- package/dist/types/module/src/ui/atoms/icon-button.d.ts +14 -0
- package/dist/types/module/src/ui/atoms/icon.d.ts +8 -0
- package/dist/types/module/src/ui/atoms/kbd.d.ts +4 -0
- package/dist/types/module/src/ui/atoms/match-button.d.ts +10 -0
- package/dist/types/module/src/ui/atoms/number-input.d.ts +11 -0
- package/dist/types/module/src/ui/atoms/pill-button.d.ts +11 -0
- package/dist/types/module/src/ui/atoms/range-input.d.ts +17 -0
- package/dist/types/module/src/ui/atoms/select-input.d.ts +12 -0
- package/dist/types/module/src/ui/atoms/separator.d.ts +2 -0
- package/dist/types/module/src/ui/atoms/side-button.d.ts +13 -0
- package/dist/types/module/src/ui/atoms/swatch.d.ts +13 -0
- package/dist/types/module/src/ui/atoms/tool-button.d.ts +22 -0
- package/dist/types/module/src/ui/hooks/editor-actions.d.ts +50 -0
- package/dist/types/module/src/ui/hooks/editor-context.d.ts +37 -0
- package/dist/types/module/src/ui/hooks/use-compact.d.ts +2 -0
- package/dist/types/module/src/ui/hooks/use-editor-controller.d.ts +17 -0
- package/dist/types/module/src/ui/hooks/use-keyboard.d.ts +11 -0
- package/dist/types/module/src/ui/lib/catalog.d.ts +76 -0
- package/dist/types/module/src/ui/lib/colors.d.ts +15 -0
- package/dist/types/module/src/ui/lib/decals.d.ts +6 -0
- package/dist/types/module/src/ui/lib/design-geometry.d.ts +60 -0
- package/dist/types/module/src/ui/lib/math.d.ts +18 -0
- package/dist/types/module/src/ui/lib/placement.d.ts +8 -0
- package/dist/types/module/src/ui/lib/scene.d.ts +51 -0
- package/dist/types/module/src/ui/lib/symmetry.d.ts +5 -0
- package/dist/types/module/src/ui/lib/targets.d.ts +28 -0
- package/dist/types/module/src/ui/lib/view-state.d.ts +74 -0
- package/dist/types/module/src/ui/molecules/axis-pill.d.ts +7 -0
- package/dist/types/module/src/ui/molecules/color-field.d.ts +14 -0
- package/dist/types/module/src/ui/molecules/count-stepper.d.ts +9 -0
- package/dist/types/module/src/ui/molecules/floating-panel.d.ts +26 -0
- package/dist/types/module/src/ui/molecules/help-row.d.ts +8 -0
- package/dist/types/module/src/ui/molecules/inline-edit.d.ts +9 -0
- package/dist/types/module/src/ui/molecules/list-row.d.ts +25 -0
- package/dist/types/module/src/ui/molecules/modal.d.ts +11 -0
- package/dist/types/module/src/ui/molecules/mode-pill.d.ts +7 -0
- package/dist/types/module/src/ui/molecules/scroll-row.d.ts +10 -0
- package/dist/types/module/src/ui/molecules/slider-row.d.ts +16 -0
- package/dist/types/module/src/ui/molecules/swatch-row.d.ts +11 -0
- package/dist/types/module/src/ui/molecules/tab-bar.d.ts +9 -0
- package/dist/types/module/src/ui/molecules/toolbar-pill.d.ts +7 -0
- package/dist/types/module/src/ui/molecules/toolbar.d.ts +10 -0
- package/dist/types/module/src/ui/molecules/vec3-field.d.ts +10 -0
- package/dist/types/module/src/ui/organisms/bone-panel.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/bone-size-sliders.d.ts +9 -0
- package/dist/types/module/src/ui/organisms/category-bar.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/decal-bar.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/decal-editor.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/fleck-style-tab.d.ts +7 -0
- package/dist/types/module/src/ui/organisms/git-sync-panel.d.ts +10 -0
- package/dist/types/module/src/ui/organisms/help-panel.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/material-tab.d.ts +3 -0
- package/dist/types/module/src/ui/organisms/object-list-panel.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/palette-panel.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/parts-tab.d.ts +26 -0
- package/dist/types/module/src/ui/organisms/pattern-tab.d.ts +3 -0
- package/dist/types/module/src/ui/organisms/pose-tab.d.ts +8 -0
- package/dist/types/module/src/ui/organisms/premade-picker.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/properties-panel.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/region-blends.d.ts +5 -0
- package/dist/types/module/src/ui/organisms/rendering-bar.d.ts +5 -0
- package/dist/types/module/src/ui/organisms/rig-bar.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/scenes-modal.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/select-hint.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/shape-list-panel.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/side-dock.d.ts +4 -0
- package/dist/types/module/src/ui/organisms/stamp-bar.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/stamp-props-panel.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/stamp-size-panel.d.ts +4 -0
- package/dist/types/module/src/ui/organisms/stats-badge.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/style-bar.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/symmetry-bar.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/toast.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/token-guide.d.ts +5 -0
- package/dist/types/module/src/ui/organisms/touch-mods.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/transform-bar.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/transform-tab.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/utilities-bar.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/viewport-host.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/voxel-panel.d.ts +2 -0
- package/dist/types/module/src/ui/organisms/wing-tab.d.ts +10 -0
- package/dist/types/module/src/ui/pages/editor-page.d.ts +9 -0
- package/dist/types/module/src/ui/templates/editor-shell.d.ts +2 -0
- package/dist/types/studio/src/browser-files.d.ts +3 -0
- package/dist/types/studio/src/clock.d.ts +2 -0
- package/dist/types/studio/src/creation-file.d.ts +21 -0
- package/dist/types/studio/src/git-remote.d.ts +36 -0
- package/dist/types/studio/src/git-sync.d.ts +33 -0
- package/dist/types/studio/src/ids.d.ts +3 -0
- package/dist/types/studio/src/index.d.ts +15 -0
- package/dist/types/studio/src/indexed-db-library.d.ts +2 -0
- package/dist/types/studio/src/library-persistence.d.ts +29 -0
- package/dist/types/studio/src/library-sync.d.ts +29 -0
- package/dist/types/studio/src/preferences.d.ts +9 -0
- package/dist/types/studio/src/seed.d.ts +3 -0
- package/dist/types/studio/src/studio.d.ts +17 -0
- package/dist/types/viewport/src/create-viewport.d.ts +10 -0
- package/dist/types/viewport/src/decals/builtin-art.d.ts +19 -0
- package/dist/types/viewport/src/decals/builtin-docs.d.ts +7 -0
- package/dist/types/viewport/src/decals/decal-atlas.d.ts +37 -0
- package/dist/types/viewport/src/decals/decal-catalog.d.ts +17 -0
- package/dist/types/viewport/src/decals/decal-glsl.d.ts +2 -0
- package/dist/types/viewport/src/decals/decal-limits.d.ts +11 -0
- package/dist/types/viewport/src/decals/decal-uniforms.d.ts +40 -0
- package/dist/types/viewport/src/decals/design-raster.d.ts +8 -0
- package/dist/types/viewport/src/decals/interior-thumbs.d.ts +6 -0
- package/dist/types/viewport/src/index.d.ts +1 -0
- package/dist/types/viewport/src/interaction/bone-tool.d.ts +13 -0
- package/dist/types/viewport/src/interaction/bones-visible.d.ts +7 -0
- package/dist/types/viewport/src/interaction/cursor.d.ts +3 -0
- package/dist/types/viewport/src/interaction/decal-tool.d.ts +18 -0
- package/dist/types/viewport/src/interaction/esc-hold.d.ts +13 -0
- package/dist/types/viewport/src/interaction/ghost-geometry.d.ts +6 -0
- package/dist/types/viewport/src/interaction/gizmo.d.ts +34 -0
- package/dist/types/viewport/src/interaction/interaction-context.d.ts +41 -0
- package/dist/types/viewport/src/interaction/marquee.d.ts +8 -0
- package/dist/types/viewport/src/interaction/pivot-helper.d.ts +13 -0
- package/dist/types/viewport/src/interaction/select-tool.d.ts +30 -0
- package/dist/types/viewport/src/interaction/selection-boxes.d.ts +11 -0
- package/dist/types/viewport/src/interaction/stamp-tool.d.ts +41 -0
- package/dist/types/viewport/src/interaction/stamp-wires.d.ts +18 -0
- package/dist/types/viewport/src/interaction/surface-hit.d.ts +14 -0
- package/dist/types/viewport/src/materials/fleck-material.d.ts +69 -0
- package/dist/types/viewport/src/materials/global-uniforms.d.ts +15 -0
- package/dist/types/viewport/src/materials/skin.d.ts +18 -0
- package/dist/types/viewport/src/materials/wing-material.d.ts +21 -0
- package/dist/types/viewport/src/math/colors.d.ts +29 -0
- package/dist/types/viewport/src/math/convert.d.ts +15 -0
- package/dist/types/viewport/src/math/decal-pose.d.ts +7 -0
- package/dist/types/viewport/src/math/lod.d.ts +16 -0
- package/dist/types/viewport/src/math/picking.d.ts +32 -0
- package/dist/types/viewport/src/math/pixel-palette.d.ts +15 -0
- package/dist/types/viewport/src/math/screen.d.ts +26 -0
- package/dist/types/viewport/src/math/skeleton-math.d.ts +32 -0
- package/dist/types/viewport/src/math/smear.d.ts +20 -0
- package/dist/types/viewport/src/math/symmetry.d.ts +21 -0
- package/dist/types/viewport/src/objects/default-look.d.ts +3 -0
- package/dist/types/viewport/src/objects/mesh-driver.d.ts +26 -0
- package/dist/types/viewport/src/objects/mesh-key.d.ts +8 -0
- package/dist/types/viewport/src/objects/rig-view.d.ts +31 -0
- package/dist/types/viewport/src/objects/scene-views.d.ts +53 -0
- package/dist/types/viewport/src/objects/sculpt-view.d.ts +66 -0
- package/dist/types/viewport/src/objects/view-context.d.ts +19 -0
- package/dist/types/viewport/src/objects/wing-view.d.ts +27 -0
- package/dist/types/viewport/src/rig/bone-viz.d.ts +13 -0
- package/dist/types/viewport/src/scene/camera-motion.d.ts +10 -0
- package/dist/types/viewport/src/scene/camera-sun.d.ts +3 -0
- package/dist/types/viewport/src/scene/environment.d.ts +3 -0
- package/dist/types/viewport/src/scene/frame-camera.d.ts +10 -0
- package/dist/types/viewport/src/scene/play-mode.d.ts +9 -0
- package/dist/types/viewport/src/scene/render-pipeline.d.ts +26 -0
- package/dist/types/viewport/src/scene/render-settings.d.ts +18 -0
- package/dist/types/viewport/src/scene/resolve-frag.d.ts +3 -0
- package/dist/types/viewport/src/scene/stage.d.ts +38 -0
- package/dist/types/viewport/src/scene/stress-test.d.ts +6 -0
- package/dist/types/viewport/src/wings/wing-mesh.d.ts +19 -0
- package/dist/types/viewport/src/wings/wing-outlines.d.ts +32 -0
- package/dist/types/viewport/src/wings/wing-pattern.d.ts +7 -0
- package/dist/viewport.d.ts +1 -0
- package/dist/viewport.js +8 -0
- package/dist/viewport.js.map +7 -0
- package/package.json +74 -4
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Quaternion, Transform, Vec3 } from "../../../../api/src/index.js";
|
|
2
|
+
/** Column-major 4x4 matrix (three.js layout). */
|
|
3
|
+
export type Mat4 = readonly number[];
|
|
4
|
+
export declare const IDENTITY_M: Mat4;
|
|
5
|
+
export declare function compose(position: Vec3, rotation: Quaternion, scale: Vec3): Mat4;
|
|
6
|
+
export declare const composeTransform: (t: Transform) => Mat4;
|
|
7
|
+
/** a * b. */
|
|
8
|
+
export declare function multiplyM(a: Mat4, b: Mat4): Mat4;
|
|
9
|
+
export declare function determinant(m: Mat4): number;
|
|
10
|
+
export declare function invertM(m: Mat4): Mat4;
|
|
11
|
+
/** Position, rotation and scale of a matrix (three.js decompose: a negative determinant flips x). */
|
|
12
|
+
export declare function decompose(m: Mat4): Transform;
|
|
13
|
+
export declare const transformPoint: (m: Mat4, p: Vec3) => Vec3;
|
|
14
|
+
export declare const positionOf: (m: Mat4) => Vec3;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Quaternion, Vec3 } from "../../../../api/src/index.js";
|
|
2
|
+
export declare const quat: (x: number, y: number, z: number, w: number) => Quaternion;
|
|
3
|
+
export declare const IDENTITY_Q: Quaternion;
|
|
4
|
+
export declare function normalizeQ(q: Quaternion): Quaternion;
|
|
5
|
+
/** a * b: apply b, then a. */
|
|
6
|
+
export declare const multiplyQ: (a: Quaternion, b: Quaternion) => Quaternion;
|
|
7
|
+
/** Inverse of a unit quaternion. */
|
|
8
|
+
export declare const invertQ: (q: Quaternion) => Quaternion;
|
|
9
|
+
export declare function rotate(v: Vec3, q: Quaternion): Vec3;
|
|
10
|
+
/** The shortest rotation taking unit vector `from` onto unit vector `to` (three.js setFromUnitVectors). */
|
|
11
|
+
export declare function fromUnitVectors(from: Vec3, to: Vec3): Quaternion;
|
|
12
|
+
/** Rotation whose matrix has columns x, y, z (three.js makeBasis + setFromRotationMatrix). */
|
|
13
|
+
export declare function fromBasis(x: Vec3, y: Vec3, z: Vec3): Quaternion;
|
|
14
|
+
/** Row-major 3x3 rotation matrix to a quaternion. */
|
|
15
|
+
export declare function fromRotationMatrix(m11: number, m12: number, m13: number, m21: number, m22: number, m23: number, m31: number, m32: number, m33: number): Quaternion;
|
|
16
|
+
/** Euler angles in radians, XYZ order (three.js default). */
|
|
17
|
+
export declare function fromEulerXYZ(x: number, y: number, z: number): Quaternion;
|
|
18
|
+
export declare const isFiniteQ: (q: Quaternion) => boolean;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Transform, Vec3 } from "../../../../api/src/index.js";
|
|
2
|
+
export declare const IDENTITY_TRANSFORM: Transform;
|
|
3
|
+
export declare const translation: (position: Vec3) => Transform;
|
|
4
|
+
/** Why a transform cannot be stored, or undefined when it can (scale may be negative: mirrored objects). */
|
|
5
|
+
export declare function transformProblem(t: Transform): string | undefined;
|
|
6
|
+
/** Same transform with a unit rotation. */
|
|
7
|
+
export declare const cleanTransform: (t: Transform) => Transform;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Vec3 } from "../../../../api/src/index.js";
|
|
2
|
+
export declare const vec3: (x: number, y: number, z: number) => Vec3;
|
|
3
|
+
export declare const ZERO: Vec3;
|
|
4
|
+
export declare const ONE: Vec3;
|
|
5
|
+
export declare const add: (a: Vec3, b: Vec3) => Vec3;
|
|
6
|
+
export declare const sub: (a: Vec3, b: Vec3) => Vec3;
|
|
7
|
+
export declare const scale: (a: Vec3, k: number) => Vec3;
|
|
8
|
+
export declare const mul: (a: Vec3, b: Vec3) => Vec3;
|
|
9
|
+
export declare const addScaled: (a: Vec3, b: Vec3, k: number) => Vec3;
|
|
10
|
+
export declare const dot: (a: Vec3, b: Vec3) => number;
|
|
11
|
+
export declare const cross: (a: Vec3, b: Vec3) => Vec3;
|
|
12
|
+
export declare const length: (a: Vec3) => number;
|
|
13
|
+
export declare const distance: (a: Vec3, b: Vec3) => number;
|
|
14
|
+
export declare function normalize(a: Vec3): Vec3;
|
|
15
|
+
export declare const lerp: (a: Vec3, b: Vec3, t: number) => Vec3;
|
|
16
|
+
export declare const negate: (a: Vec3) => Vec3;
|
|
17
|
+
export declare const fromArray: (a: readonly number[]) => Vec3;
|
|
18
|
+
export declare const isFiniteVec: (a: Vec3) => boolean;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ColorRef } from "../../../../api/src/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* A POC slot reference (`s:0` … `s:6`, `s:tongue`, `s:teeth`, `s:black`) as a palette ref.
|
|
4
|
+
* Anything else (a literal number) falls back to `fallback`: the new model never stores raw colors.
|
|
5
|
+
*/
|
|
6
|
+
export declare function pocColorRef(ref: unknown, fallback?: ColorRef): ColorRef;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Bone, Id, Vec3 } from "../../../../api/src/index.js";
|
|
2
|
+
import { type Mat4 } from "../math/mat4.js";
|
|
3
|
+
/** Every bone's matrix in the rig's space, for the bind or the pose channel. */
|
|
4
|
+
export declare function boneMatrices(bones: readonly Bone[], channel: "bind" | "pose"): Map<Id, Mat4>;
|
|
5
|
+
/** Every bone's bind head (joint position) in the rig's space. */
|
|
6
|
+
export declare function bindHeads(bones: readonly Bone[]): Map<Id, Vec3>;
|
|
7
|
+
/** True when `id` is `ancestorId` or one of its descendants. */
|
|
8
|
+
export declare function isBoneInSubtree(bones: readonly Bone[], id: Id, ancestorId: Id): boolean;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { BodyRegion, RegionBlends } from "../../../../api/src/index.js";
|
|
2
|
+
export declare const DEFAULT_REGION_BLENDS: RegionBlends;
|
|
3
|
+
export declare const BODY_REGIONS: readonly BodyRegion[];
|
|
4
|
+
/** POC getBoneRegion: which region blend a bone's part follows. */
|
|
5
|
+
export declare function boneRegion(bone: {
|
|
6
|
+
readonly name: string;
|
|
7
|
+
readonly tags: readonly string[];
|
|
8
|
+
}): BodyRegion;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Name patterns for bones without a `role:` tag (POC PART_ROLES, first match wins, else "limb"). */
|
|
2
|
+
export declare const PART_ROLES: readonly (readonly [string, RegExp])[];
|
|
3
|
+
type Named = {
|
|
4
|
+
readonly name: string;
|
|
5
|
+
readonly tags: readonly string[];
|
|
6
|
+
};
|
|
7
|
+
/** The `role:<role>` tag, if any. */
|
|
8
|
+
export declare function taggedRole(bone: Named): string | undefined;
|
|
9
|
+
/** POC resolveBoneRole: the role tag, else a role guessed from the name. */
|
|
10
|
+
export declare function resolveBoneRole(bone: Named): string;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Bone, BoneSize } from "../../../../api/src/index.js";
|
|
2
|
+
export declare const DEFAULT_BONE_SIZE: BoneSize;
|
|
3
|
+
export declare const MAX_BONE_SIZE = 2.5;
|
|
4
|
+
/** A bone's proportions (absent = 1, 1). */
|
|
5
|
+
export declare const boneSize: (bone: Pick<Bone, "size">) => BoneSize;
|
|
6
|
+
/** The smallest size a bone may take: a head is never smaller than it was made. */
|
|
7
|
+
export declare const minBoneSize: (bone: Pick<Bone, "name" | "tags">) => number;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Transform } from "../../../../api/src/index.js";
|
|
2
|
+
import { type Mat4 } from "../math/mat4.js";
|
|
3
|
+
/** parent ∘ child as one local transform (the child lifted one level up). */
|
|
4
|
+
export declare const composeLocal: (parent: Transform, child: Transform) => Transform;
|
|
5
|
+
/** The local transform under `parentWorld` that keeps `world` where it is. */
|
|
6
|
+
export declare const relativeTo: (parentWorld: Mat4, world: Mat4) => Transform;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Bone, Creation, Id, RigObject } from "../../../../api/src/index.js";
|
|
2
|
+
export type RigLookup = {
|
|
3
|
+
readonly ok: true;
|
|
4
|
+
readonly object: RigObject;
|
|
5
|
+
} | {
|
|
6
|
+
readonly ok: false;
|
|
7
|
+
readonly reason: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function findRig(creation: Creation, rigId: Id): RigLookup;
|
|
10
|
+
export declare const findBone: (object: RigObject, boneId: Id) => Bone | undefined;
|
|
11
|
+
export declare const MAX_BONES = 64;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Sculpt, Stamp } from "../../../../api/src/index.js";
|
|
2
|
+
/** POC mirrorStamp: position reflected across x = mirrorX, rotation reflected, scale kept. */
|
|
3
|
+
export declare const mirrorStamp: (s: Stamp, mirrorX: number) => Stamp;
|
|
4
|
+
/**
|
|
5
|
+
* POC syncMirrorPart: the partner part becomes the source's stamps reflected, with the same smear groups.
|
|
6
|
+
* Without an existing twin, the twin also takes the source's look. Stamp and group ids are shared with the
|
|
7
|
+
* source (they are scoped to the part), so edits keep landing on the same stamps.
|
|
8
|
+
*/
|
|
9
|
+
export declare function mirrorSculpt(source: Sculpt, mirrorX: number, twin: Sculpt | undefined): Sculpt;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Quaternion, Transform, Vec3 } from "../../../../api/src/index.js";
|
|
2
|
+
/** A rotation reflected across a YZ plane (M R M with M = scale(-1, 1, 1)). */
|
|
3
|
+
export declare const mirrorRotation: (q: Quaternion) => Quaternion;
|
|
4
|
+
export declare const mirrorPoint: (p: Vec3, mirrorX: number) => Vec3;
|
|
5
|
+
/**
|
|
6
|
+
* POC mirrorChannel: a bone's local transform reflected for its partner (M L M). A child bone mirrors
|
|
7
|
+
* across its parent's x = 0; a root bone across the rig's mirror plane x = mirrorX.
|
|
8
|
+
*/
|
|
9
|
+
export declare function mirrorBoneTransform(t: Transform, isRoot: boolean, mirrorX: number): Transform;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { Creation, SculptTarget } from "../../../../api/src/index.js";
|
|
2
|
+
/** With the rig's mirror on, the target of the bone's mirror partner (POC: part edits are mirrored). */
|
|
3
|
+
export declare function partnerTarget(creation: Creation, target: SculptTarget): SculptTarget | undefined;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Bone, Id, PosePreset, PosePresetId, Rig, Transform } from "../../../../api/src/index.js";
|
|
2
|
+
/** Every preset, in picker order (Custom is offered only once a rig has a hand-posed pose). */
|
|
3
|
+
export declare const POSE_PRESETS: readonly PosePresetId[];
|
|
4
|
+
/** Picker names; a wingless rig flies by leaping. */
|
|
5
|
+
export declare function posePresetName(id: PosePresetId, winged: boolean): string;
|
|
6
|
+
/** Whether a skeleton has wings (its flying presets fly; without wings they leap and pounce). */
|
|
7
|
+
export declare const isWinged: (bones: readonly Pick<Bone, "name" | "tags">[]) => boolean;
|
|
8
|
+
/** One preset's pose for every bone (bone id → pose transform). Custom falls back to the bind for unknown bones. */
|
|
9
|
+
export declare function presetPose(rig: Rig, id: PosePresetId): Map<Id, Transform>;
|
|
10
|
+
/** The pose a preset choice gives: `a`, or `a` blended toward `b` by `t`. */
|
|
11
|
+
export declare function blendedPose(rig: Rig, preset: PosePreset): Map<Id, Transform>;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { Vec3 } from "../../../../api/src/index.js";
|
|
2
|
+
/** What a pose rule knows about one bone. */
|
|
3
|
+
export type BoneInfo = {
|
|
4
|
+
readonly name: string;
|
|
5
|
+
/** The numbers in its name ("Arm 3 Seg 2" → [3, 2]); premade rules address chains by them. */
|
|
6
|
+
readonly nums: readonly number[];
|
|
7
|
+
readonly role: string;
|
|
8
|
+
/** +1 side L (+x), -1 side R, 0 on the middle. */
|
|
9
|
+
readonly side: 1 | -1 | 0;
|
|
10
|
+
/** Index in its run of same-role bones, and that run's length. */
|
|
11
|
+
readonly depth: number;
|
|
12
|
+
readonly n: number;
|
|
13
|
+
readonly isRoot: boolean;
|
|
14
|
+
/** Legs: the chain's first bone is in the front half of the legs. */
|
|
15
|
+
readonly front: boolean;
|
|
16
|
+
readonly winged: boolean;
|
|
17
|
+
/** Wing chains: the chain's rest elevation above level (radians), in the side-L frame. */
|
|
18
|
+
readonly elevation: number;
|
|
19
|
+
/** Level unit direction from the root to the start of its chain (radial limbs such as tentacles). */
|
|
20
|
+
readonly radial: Vec3;
|
|
21
|
+
};
|
|
22
|
+
/** Euler XYZ (radians) in the side-L frame, mirrored for side R. */
|
|
23
|
+
export type Euler = readonly [number, number, number];
|
|
24
|
+
/**
|
|
25
|
+
* A radial limb's turn: `curl` about the level axis across its radial direction (positive lifts the tip up and out),
|
|
26
|
+
* then `swirl` about the vertical. For limbs with no side, such as an octopus's arms.
|
|
27
|
+
*/
|
|
28
|
+
export type Turn = {
|
|
29
|
+
readonly curl: number;
|
|
30
|
+
readonly swirl?: number;
|
|
31
|
+
};
|
|
32
|
+
export type Rule = {
|
|
33
|
+
/** Root move as a fraction of the skeleton's height (y) and length (z). */
|
|
34
|
+
readonly lift?: number;
|
|
35
|
+
readonly ahead?: number;
|
|
36
|
+
readonly bone: (b: BoneInfo) => Euler | Turn | undefined;
|
|
37
|
+
};
|
|
38
|
+
export declare const WING_ROLES: Set<string>;
|
|
39
|
+
export declare const LEG_ROLES: Set<string>;
|
|
40
|
+
/** A chain's total angle spread over its bones. */
|
|
41
|
+
export declare const per: (b: BoneInfo, total: number) => number;
|
|
42
|
+
export declare const isLeg: (b: BoneInfo) => boolean;
|
|
43
|
+
export declare const isWing: (b: BoneInfo) => boolean;
|
|
44
|
+
export declare const chainStart: (b: BoneInfo) => boolean;
|
|
45
|
+
/** Roll a wing chain from its rest elevation to `target` (radians above level): wings rest at different angles. */
|
|
46
|
+
export declare const wingTo: (b: BoneInfo, target: number, sweep?: number) => Euler;
|
|
47
|
+
/** A bone named "<stem> <k>" (the body chains of the premades). */
|
|
48
|
+
export declare const isNamed: (b: BoneInfo, stem: string, k?: number) => boolean;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { PosePresetId } from "../../../../api/src/index.js";
|
|
2
|
+
import { type Rule } from "./pose-rule.js";
|
|
3
|
+
type PresetRules = Partial<Record<Exclude<PosePresetId, "front" | "custom">, Rule>>;
|
|
4
|
+
/** Premades whose body plan the role rules don't cover: their own rules replace the generic ones per preset. */
|
|
5
|
+
export declare const TEMPLATE_RULES: {
|
|
6
|
+
readonly [templateId: string]: PresetRules;
|
|
7
|
+
};
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Transform } from "../../../../api/src/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* POC Skeleton.setRigMode: a rig-mode edit moves the bind; the pose rides on top as a delta
|
|
4
|
+
* (p = bind.p + dp, q = bind.q * dq, s = bind.s * ds).
|
|
5
|
+
*/
|
|
6
|
+
export declare function rebasePose(oldBind: Transform, pose: Transform, newBind: Transform): Transform;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { BodyPart, BoneSize, BoneSizesSet, Id, Rig, Vec3 } from "../../../../api/src/index.js";
|
|
2
|
+
type Resolved = BoneSizesSet["payload"];
|
|
3
|
+
/** A part carried along with its joint: stamps, decals, pivot and a flat wing's frame move by `d`. */
|
|
4
|
+
export declare function translatePart(part: BodyPart, d: Vec3): BodyPart;
|
|
5
|
+
/**
|
|
6
|
+
* What new bone sizes do to a rig: a length change moves the bone's child joints (their bind offsets scale by new /
|
|
7
|
+
* old length; their poses keep their deltas), and every part below carries along with its joint.
|
|
8
|
+
*/
|
|
9
|
+
export declare function resolveBoneSizes(rig: Rig, sizes: ReadonlyMap<Id, BoneSize>): Omit<Resolved, "rigId">;
|
|
10
|
+
/** A rig with resolved bone sizes applied (the fold's and the generator's one way of doing it). */
|
|
11
|
+
export declare function applyBoneSizes(r: Rig, e: Omit<Resolved, "rigId">): Rig;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** POC autoTagSides: "Arm L", "Arm_R", "Left Arm" → the side letter and the shared stem. */
|
|
2
|
+
export declare function sideFromName(name: string): {
|
|
3
|
+
readonly side: "L" | "R";
|
|
4
|
+
readonly stem: string;
|
|
5
|
+
} | undefined;
|
|
6
|
+
/** The tags with the side and mirror tags replaced. */
|
|
7
|
+
export declare const withSideTags: (tags: readonly string[], side: "L" | "R", stem: string) => string[];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Bone, Id, Vec3 } from "../../../../api/src/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* The frame a bone's size scales its part in: its head, and its axis toward its farthest child that isn't a side
|
|
4
|
+
* branch (a centre bone's left / right ears, antennae or legs don't count), else from its parent. The viewport's
|
|
5
|
+
* `writeSegmentMatrices` uses the same rule, so a head sized unevenly stays symmetric and doesn't depend on its ears.
|
|
6
|
+
*/
|
|
7
|
+
export declare function sizeFrame(bone: Bone, bones: readonly Bone[], heads: ReadonlyMap<Id, Vec3>): {
|
|
8
|
+
readonly h: Vec3;
|
|
9
|
+
readonly axis: Vec3;
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* A point and scale of a sized bone's part as drawn: along the bone by its length, across it by its thickness
|
|
13
|
+
* (`inverse` maps a drawn one back to how it's stored).
|
|
14
|
+
*/
|
|
15
|
+
export declare function sizePoint(bone: Bone, bones: readonly Bone[], heads: ReadonlyMap<Id, Vec3>, p: Vec3, s: Vec3, inverse?: boolean): {
|
|
16
|
+
p: Vec3;
|
|
17
|
+
s: Vec3;
|
|
18
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { BodyPart, Id, PartSlot, Rig } from "../../../../api/src/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* A rig with a slot's fitted parts in place: `parts` replace their bones' parts, `removed` bones lose theirs. A
|
|
4
|
+
* generated rig's recipe follows, so a later re-roll that keeps the slot keeps this kit.
|
|
5
|
+
*/
|
|
6
|
+
export declare function withSlotParts(r: Rig, slot: PartSlot, kit: string, fitted: {
|
|
7
|
+
readonly parts: readonly BodyPart[];
|
|
8
|
+
readonly removed: readonly Id[];
|
|
9
|
+
}): Rig;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Id, IdGenerator, Rig, SceneObject, Sculpt } from "../../../../api/src/index.js";
|
|
2
|
+
/** A sculpt with fresh stamp, smear group and decal ids (references between them kept). */
|
|
3
|
+
export declare function copySculpt(s: Sculpt, ids: IdGenerator): Sculpt;
|
|
4
|
+
/** A rig with fresh bone ids; parents and parts follow their bones. */
|
|
5
|
+
export declare function copyRig(r: Rig, ids: IdGenerator): Rig;
|
|
6
|
+
/** An object's copy with a new id (its parent is set by the caller). */
|
|
7
|
+
export declare function copyObject(o: SceneObject, id: Id, ids: IdGenerator): SceneObject;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Creation, Id, SceneObject } from "../../../../api/src/index.js";
|
|
2
|
+
export declare const findObject: (creation: Creation, id: Id) => SceneObject | undefined;
|
|
3
|
+
/** The object's children, in scene order. */
|
|
4
|
+
export declare const childrenOf: (objects: readonly SceneObject[], parentId: Id | undefined) => SceneObject[];
|
|
5
|
+
/** The object and every object below it, in scene order. */
|
|
6
|
+
export declare function subtreeIds(objects: readonly SceneObject[], rootId: Id): Id[];
|
|
7
|
+
/** True when `id` is `ancestorId` or sits somewhere below it. */
|
|
8
|
+
export declare function isInSubtree(objects: readonly SceneObject[], id: Id, ancestorId: Id): boolean;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SceneObject } from "../../../../api/src/index.js";
|
|
2
|
+
/**
|
|
3
|
+
* The scene list with `object` (already re-parented) moved so it becomes child number `index` of its
|
|
4
|
+
* parent. Only the order among siblings carries meaning, so it goes just before the sibling it displaces,
|
|
5
|
+
* or to the end of the list.
|
|
6
|
+
*/
|
|
7
|
+
export declare function placeInOrder(objects: readonly SceneObject[], object: SceneObject, index: number): SceneObject[];
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
/** `base`, or `base 2`, `base 3`… when the name is taken (POC rig builder naming). */
|
|
2
|
+
export declare function uniqueName(base: string, taken: readonly string[]): string;
|
|
3
|
+
/** `Prefix N` with N one past the highest number already used by that prefix. */
|
|
4
|
+
export declare function nextNumberedName(prefix: string, taken: readonly string[]): string;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Id, SceneObject } from "../../../../api/src/index.js";
|
|
2
|
+
import { type Mat4 } from "../math/mat4.js";
|
|
3
|
+
/** An object's world matrix: its parents' transforms composed down to it (identity for the scene root). */
|
|
4
|
+
export declare function worldMatrix(objects: readonly SceneObject[], id: Id | undefined): Mat4;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Creation, Sculpt, SculptTarget } from "../../../../api/src/index.js";
|
|
2
|
+
export type TargetLookup = {
|
|
3
|
+
readonly ok: true;
|
|
4
|
+
readonly sculpt: Sculpt;
|
|
5
|
+
} | {
|
|
6
|
+
readonly ok: false;
|
|
7
|
+
readonly reason: string;
|
|
8
|
+
};
|
|
9
|
+
/** The sculpt a target names: a sculpt object, a rig's skinned body, or the sculpt part of a rig's bone. */
|
|
10
|
+
export declare function targetSculpt(creation: Creation, target: SculptTarget): TargetLookup;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Creation, Rig, Sculpt, SculptTarget, SceneObject } from "../../../../api/src/index.js";
|
|
2
|
+
export declare const mapObject: (creation: Creation, id: string, fn: (o: SceneObject) => SceneObject) => Creation;
|
|
3
|
+
export declare const mapRig: (creation: Creation, id: string, fn: (r: Rig) => Rig) => Creation;
|
|
4
|
+
/**
|
|
5
|
+
* The creation with the target's sculpt replaced by `fn(sculpt)`. Edits to a rig part are mirrored onto
|
|
6
|
+
* the partner part when the rig's mirror is on (`mirror: false` skips that, e.g. for decals).
|
|
7
|
+
*/
|
|
8
|
+
export declare function updateTarget(creation: Creation, target: SculptTarget, fn: (s: Sculpt) => Sculpt, mirror?: boolean): Creation;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { SmearGroup, Stamp, StampPropsPatch } from "../../../../api/src/index.js";
|
|
2
|
+
/** A stamp with the patch applied: `null` clears an override, absent keeps it. */
|
|
3
|
+
export declare function applyStampProps(stamp: Stamp, patch: StampPropsPatch): Stamp;
|
|
4
|
+
/**
|
|
5
|
+
* A smear group with the patch applied. A group always has a mode, color and blend, so clearing those
|
|
6
|
+
* keeps them; the foundation and symmetry can be cleared.
|
|
7
|
+
*/
|
|
8
|
+
export declare function applyGroupProps(group: SmearGroup, patch: StampPropsPatch & {
|
|
9
|
+
readonly unlocked?: boolean;
|
|
10
|
+
readonly name?: string;
|
|
11
|
+
}): SmearGroup;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Symmetry, SymmetryAxis } from "../../../../api/src/index.js";
|
|
2
|
+
export declare const SYM_MAX_N = 12;
|
|
3
|
+
export declare const SYM_MAX_INSTANCES = 128;
|
|
4
|
+
/** The listed axes once each, in x, y, z order. */
|
|
5
|
+
export declare const symmetryAxes: (axes: readonly SymmetryAxis[]) => SymmetryAxis[];
|
|
6
|
+
/**
|
|
7
|
+
* POC symClampN: N rounded into 1–12, then lowered until N^(axis count) fits 128 instances
|
|
8
|
+
* (1 axis: 12, 2 axes: 11, 3 axes: 5).
|
|
9
|
+
*/
|
|
10
|
+
export declare function clampCount(n: number, axes: readonly SymmetryAxis[]): number;
|
|
11
|
+
export declare function clampSymmetry(s: Symmetry): Symmetry;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Id, Quaternion, Sculpt, Vec3 } from "../../../../api/src/index.js";
|
|
2
|
+
export type PlacementChange = {
|
|
3
|
+
readonly stampId: Id;
|
|
4
|
+
readonly position: Vec3;
|
|
5
|
+
readonly rotation: Quaternion;
|
|
6
|
+
readonly scale: Vec3;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* A locked smear group moves as one: when a change touches a locked group but leaves some members out,
|
|
10
|
+
* the moved stamp's change (new ∘ old⁻¹) is applied to those members too.
|
|
11
|
+
*/
|
|
12
|
+
export declare function moveLockedGroups(sculpt: Sculpt, changes: readonly PlacementChange[]): PlacementChange[];
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Sculpt } from "../../../../api/src/index.js";
|
|
2
|
+
/** POC normalizeBase: the first stamp (or the smear group it belongs to) is always additive. */
|
|
3
|
+
export declare function normalizeBase(sculpt: Sculpt): Sculpt;
|
|
4
|
+
/** True when the stamp or group is the base: its mode cannot leave "add". */
|
|
5
|
+
export declare function isBaseStamp(sculpt: Sculpt, stampId: string): boolean;
|
|
6
|
+
export declare function isBaseGroup(sculpt: Sculpt, groupId: string): boolean;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ColorRef, MaterialOverrides, Sculpt, Stamp, StampMode, Symmetry } from "../../../../api/src/index.js";
|
|
2
|
+
export type ResolvedStampProps = {
|
|
3
|
+
readonly mode: StampMode;
|
|
4
|
+
readonly color: ColorRef;
|
|
5
|
+
readonly foundationColor: ColorRef;
|
|
6
|
+
readonly blend: number;
|
|
7
|
+
readonly material: MaterialOverrides;
|
|
8
|
+
readonly symmetry?: Symmetry;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* What a stamp actually uses (POC resolveStampProps): its smear group's mode, color, foundation, blend and
|
|
12
|
+
* symmetry win over its own; anything left unset falls back to the sculpt's look.
|
|
13
|
+
*/
|
|
14
|
+
export declare function resolveStampProps(stamp: Stamp, sculpt: Sculpt): ResolvedStampProps;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Sculpt, Vec3 } from "../../../../api/src/index.js";
|
|
2
|
+
/** Fraction of the stamp size between smear dabs. */
|
|
3
|
+
export declare const SMEAR_SPACING_FACTOR = 0.4;
|
|
4
|
+
/** Most dabs one pointer move adds. */
|
|
5
|
+
export declare const SMEAR_MAX_DABS = 24;
|
|
6
|
+
export declare const smearSpacing: (stampSize: number) => number;
|
|
7
|
+
/**
|
|
8
|
+
* POC stampCurrentShape while smearing: evenly spaced dabs from the last dab to the pointer, none when the
|
|
9
|
+
* pointer moved less than one spacing, at most 24 per move. The module may use this to build its preview.
|
|
10
|
+
*/
|
|
11
|
+
export declare function smearDabs(last: Vec3, target: Vec3, stampSize: number): Vec3[];
|
|
12
|
+
/** A small brush gets a proportionally small blend so dabs do not melt into one blob (POC: size × 0.5). */
|
|
13
|
+
export declare const smearGroupBlend: (requested: number, dabScale: Vec3) => number;
|
|
14
|
+
/** "Smear N": one more than the highest smear number already in the sculpt. */
|
|
15
|
+
export declare function nextSmearName(sculpt: Sculpt): string;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { MaterialOverrides, StampPropsPatch, StampSpec, Symmetry } from "../../../../api/src/index.js";
|
|
2
|
+
import { type Problem } from "../check/check.js";
|
|
3
|
+
export declare function symmetryProblem(s: Symmetry | null | undefined): Problem;
|
|
4
|
+
export declare function overridesProblem(m: MaterialOverrides | null | undefined): Problem;
|
|
5
|
+
export declare function placementProblem(p: StampSpec["position"], r: StampSpec["rotation"], s: StampSpec["scale"]): Problem;
|
|
6
|
+
export declare function propsProblem(p: StampPropsPatch): Problem;
|
|
7
|
+
export declare function stampSpecProblem(s: StampSpec): Problem;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { FlatWing, WingOutline, WingPatternStyle } from "../../../../api/src/index.js";
|
|
2
|
+
import { type Problem } from "../check/check.js";
|
|
3
|
+
export declare const WING_OUTLINES: readonly WingOutline[];
|
|
4
|
+
export declare const WING_STYLES: readonly WingPatternStyle[];
|
|
5
|
+
/** Why a wing tab edit breaks the model's ranges, if it does. */
|
|
6
|
+
export declare function wingProblem(w: Partial<Omit<FlatWing, "frame">>): Problem;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Clock, CreationApi, CreationLog, IdGenerator } from "../../api/src/index.js";
|
|
2
|
+
export type CreationApiDeps = {
|
|
3
|
+
readonly ids: IdGenerator;
|
|
4
|
+
readonly clock: Clock;
|
|
5
|
+
/** The log to open; absent starts an empty creation. */
|
|
6
|
+
readonly log?: CreationLog;
|
|
7
|
+
};
|
|
8
|
+
/**
|
|
9
|
+
* The core: validates commands, appends one event per accepted command and folds the log. Undo and redo
|
|
10
|
+
* move a cursor over the events; the redo tail lives here, and the next accepted command drops it.
|
|
11
|
+
*/
|
|
12
|
+
export declare function createCreationApi({ ids, clock, log }: CreationApiDeps): CreationApi;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { Command, Creation } from "../../api/src/index.js";
|
|
2
|
+
import { type Decision, type MoleculeContext } from "./molecules/molecule.js";
|
|
3
|
+
/** Routes a command to its molecule. */
|
|
4
|
+
export declare function decide(c: Creation, cmd: Command, ctx: MoleculeContext): Decision;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Creation, CreationEvent, CreationLog } from "../../api/src/index.js";
|
|
2
|
+
/** One event folded into the creation. Events naming things that no longer exist change nothing. */
|
|
3
|
+
export declare function applyEvent(c: Creation, e: CreationEvent): Creation;
|
|
4
|
+
/** The creation a list of events describes. */
|
|
5
|
+
export declare const foldEvents: (events: readonly CreationEvent[]) => Creation;
|
|
6
|
+
export declare const fold: (log: CreationLog) => Creation;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { createCreationApi, type CreationApiDeps } from "./create-creation-api.js";
|
|
2
|
+
export { fold, foldEvents, applyEvent } from "./fold.js";
|
|
3
|
+
export { EMPTY_CREATION } from "./empty-creation.js";
|
|
4
|
+
export { DEFAULT_PALETTE } from "./atoms/palette/default-palette.js";
|
|
5
|
+
export { resolveStampProps, type ResolvedStampProps } from "./atoms/stamp/resolve-stamp-props.js";
|
|
6
|
+
export { smearDabs, smearSpacing, SMEAR_MAX_DABS, SMEAR_SPACING_FACTOR } from "./atoms/stamp/smear.js";
|
|
7
|
+
export { clampSymmetry } from "./atoms/stamp/clamp-symmetry.js";
|
|
8
|
+
export { mirrorPartner } from "./atoms/rig/mirror-partner.js";
|
|
9
|
+
export { boneRegion } from "./atoms/rig/bone-region.js";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AddBodyPart } from "../../../api/src/index.js";
|
|
2
|
+
import { type Molecule } from "./molecule.js";
|
|
3
|
+
/**
|
|
4
|
+
* POC sculptBonePart: a generated part for the bone (styled and colored by the rig's template when it has
|
|
5
|
+
* one), a flat wing for a wing chain's first bone, else a knob to sculpt from. Baked parts are not
|
|
6
|
+
* regenerated: the bake's fit is not stored on the rig.
|
|
7
|
+
*/
|
|
8
|
+
export declare const addBodyPart: Molecule<AddBodyPart>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AddBone } from "../../../api/src/index.js";
|
|
2
|
+
import { type Molecule } from "./molecule.js";
|
|
3
|
+
/**
|
|
4
|
+
* POC addBone (rig mode only): a bone whose head sits at `head` in rig space. With mirror on and the head
|
|
5
|
+
* off the mirror plane, the partner is added too at the reflected head (under the parent's partner, if
|
|
6
|
+
* any), the pair tagged side:L (+x) / side:R and sharing a mirror key.
|
|
7
|
+
*/
|
|
8
|
+
export declare const addBone: Molecule<AddBone>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AddStamps } from "../../../api/src/index.js";
|
|
2
|
+
import { type Molecule } from "./molecule.js";
|
|
3
|
+
/**
|
|
4
|
+
* One click adds one stamp; a smear stroke adds all its dabs as a new smear group (POC stampCurrentShape).
|
|
5
|
+
* The group carries the stroke's mode, color, symmetry and a blend no larger than half the dab size. A
|
|
6
|
+
* stroke of a single dab is no group: the dab takes the stroke's settings itself (POC finalizeSmearGroup).
|
|
7
|
+
*/
|
|
8
|
+
export declare const addStamps: Molecule<AddStamps>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ApplyPosePreset } from "../../../api/src/index.js";
|
|
2
|
+
import { type Molecule } from "./molecule.js";
|
|
3
|
+
/** Poses a premade rig from its presets (one, or two blended by `t`); the event carries the resolved poses. */
|
|
4
|
+
export declare const applyPosePreset: Molecule<ApplyPosePreset>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ApplyPremade } from "../../../api/src/index.js";
|
|
2
|
+
import { type Molecule } from "./molecule.js";
|
|
3
|
+
/**
|
|
4
|
+
* POC applyPremadeSkeleton. A new rig is named after the template and raised so its feet stand on the
|
|
5
|
+
* transform's ground height. On an object, the skeleton replaces the old one, fitted to the given bounds:
|
|
6
|
+
* a sculpt (or a rig with a skinned body) keeps its stamps as the rig's body and gets no parts, as in the
|
|
7
|
+
* POC; a body-less rig gets the template's parts when `withBody` is set.
|
|
8
|
+
*/
|
|
9
|
+
export declare const applyPremade: Molecule<ApplyPremade>;
|