DOMAIN. A GIMP PDB procedure as a value, and its projection onto the command contract.
ProcedureSpec is what resources/hive_gimp/pdb/*.edn holds;
ProcedureInfo is what a live describe answers; RunAnswer is what the
run forms print back. All are malli schemas registered in the hive
registry under :hive-gimp.pdb/* at load. Nothing here touches GIMP.
The argument KIND is an open set: a kind exists because param-type has a
method for it, and hive-gimp.pdb.forms/set-forms says how GIMP receives
it.
DOMAIN. A GIMP PDB procedure as a value, and its projection onto the command contract. `ProcedureSpec` is what `resources/hive_gimp/pdb/*.edn` holds; `ProcedureInfo` is what a live `describe` answers; `RunAnswer` is what the run forms print back. All are malli schemas registered in the hive registry under `:hive-gimp.pdb/*` at load. Nothing here touches GIMP. The argument KIND is an open set: a kind exists because `param-type` has a method for it, and `hive-gimp.pdb.forms/set-forms` says how GIMP receives it.
(arg->param {:keys [name kind required? nilable? doc] :as arg})One exposed ArgSpec as a contract ParamSpec.
One exposed `ArgSpec` as a contract `ParamSpec`.
schema/ParamName, generatable without test.chuck.
`schema/ParamName`, generatable without test.chuck.
:fixed is always sent and never exposed; otherwise :required? and
:default are exclusive, as in ParamSpec.
`:fixed` is always sent and never exposed; otherwise `:required?` and `:default` are exclusive, as in `ParamSpec`.
(assignments spec params)[arg value] pairs to set on the procedure config, in PDB order, from the
wire params of a built GimpCommand. Fixed args always; an absent or nil
value is left to GIMP's own default.
`[arg value]` pairs to set on the procedure config, in PDB order, from the wire `params` of a built `GimpCommand`. Fixed args always; an absent or nil value is left to GIMP's own default.
schema/CommandName, generatable without test.chuck.
`schema/CommandName`, generatable without test.chuck.
(command-of spec)The catalogue command for spec: its :command, else pdb_<procedure>.
The catalogue command for `spec`: its `:command`, else `pdb_<procedure>`.
(explain ?schema value)Why value fails ?schema, or nil.
Why `value` fails `?schema`, or nil.
(exposed-args spec)Arguments a caller supplies: every arg that is not :fixed.
Arguments a caller supplies: every arg that is not `:fixed`.
(fn-name spec)The Clojure fn defprocedure defines for spec.
The Clojure fn `defprocedure` defines for `spec`.
(kind? k)True when k is a registered argument kind.
True when `k` is a registered argument kind.
The contract ParamType a caller sends for an argument of kind.
The contract `ParamType` a caller sends for an argument of `kind`.
(required-args spec)Exposed arguments without a default, in PDB order.
Exposed arguments without a default, in PDB order.
(spec->descriptor spec)The catalogue Descriptor the MCP gimp tool lists and runs for spec.
The catalogue `Descriptor` the MCP `gimp` tool lists and runs for `spec`.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |