PhoMaster / PenUmbra / Pueblo Pen / Ordination 775

Pueblo

Pueblo is the Adobe craft district of PhoSend. It is the Pen where Photoshop operations, Desk compilation, Xtools knowledge, JSX craft, bitmap lettering support, and production-facing image work are explained as a repeatable craft surface. Marshal has now moved to its own Pen, so Pueblo returns to its clean role: the workshop, not the vessel.

Photoshop actuator Desk compiler Xtools library JSX craft Body-safe PenPals style

Ordination 775 corrects the Pen boundary. There is no longer a Pueblo\Marshal.html sub-Pen in this delivery. Marshal is its own Pen at Marshal\index.html. Pueblo now owns only Pueblo\index.html and focuses on Adobe-centered craft doctrine.

Purpose of Pueblo

Pueblo is the workshop where PhoSend's visual production methods are made explicit. It does not own company routing, cloud substrate, message delivery, or the Marshal vessel doctrine. It owns the practical Adobe-facing craft: how intent becomes Photoshop work, how Desk compiles that work, how Xtools and JSX support the operation, and how repeatable production patterns are recorded for future builders.

The name is intentionally human. A pueblo is a place where craft accumulates. In PhoMaster terms, Pueblo is the craft district: the place where tools, patterns, and practical methods become something an apprentice can walk into and learn.

Core Law
FireDance -> GML / intent -> Desk -> JSX -> Photoshop
  • Photoshop is an actuator, not the system of record.
  • Desk compiles intent into executable JSX transactions.
  • JSX execution should remain disposable and repeatable.
  • Persistence, recovery, queueing, and restartability live outside Photoshop.
  • Pueblo documents craft patterns; it does not become the runtime itself.
Adobe Operations Territory

Pueblo is the natural home for doctrine around Adobe craft. It is not a list of every script and every callable routine. It is the toolchest map: the apprentice can open the drawer that matches the kind of work being done, then descend later into the specific blades, clamps, gauges, or jigs inside that drawer. Pueblo therefore describes the practical groups of capability that make Photoshop automation repeatable.

  • Photoshop automation patterns.
  • Desk compiler rules and output expectations.
  • Xtools callable and library classification.
  • JSX transaction hygiene.
  • Template, bitmap, mask, and raster production procedures.
  • Lettering and font-bed interactions when they touch Photoshop craft.
  • DTF, product rendering, and other Adobe-dependent production slices.

This does not prevent specialized Pens from existing. It simply means that when the question is "how does the Adobe craft work?" Pueblo is the district where the answer belongs.

Desk — Compiler Bench

Desk is best understood as the compiler bench between intent and Photoshop. FireDance can own time, state, files, queues, recovery, and orchestration; Desk should not try to become that larger organism. Desk receives a bounded visual intent, pattern, or GML-like instruction surface, and emits a Photoshop transaction that can be run once, observed, and discarded. This is why Desk belongs in Pueblo doctrine: it is not the vessel, not the company office, not the cloud, and not the message carrier. It is the craft translator that turns a known visual purpose into executable Adobe work.

A useful way to view Desk is as a set of compiler drawers rather than a single magic script. One drawer holds parsing and normalization: the source language, naming conventions, and resolved operands must be made boring before Photoshop is asked to move. Another drawer holds layout and measurement: rectangles, anchors, font beds, raster extents, baselines, mask boundaries, and product positions have to be computed outside the fragile moment of execution. A third drawer holds transaction assembly: once the work is known, Desk should package JSX so the Photoshop side does not have to remember previous context or infer missing state. A fourth drawer is verification and reporting: the emitted action should leave enough evidence for FireDance, Pueblo, or A:gent to understand what happened.

Parsing DrawerTurns source intent into normalized operations: names, operands, route clues, variables, and command boundaries.
Geometry DrawerComputes placement: boxes, anchors, baselines, scale, crop regions, masks, and image-bed coordinates.
Transaction DrawerBuilds one-shot JSX intended to run cleanly without making Photoshop the memory keeper.
Evidence DrawerEmits status, logs, result clues, and enough return structure for FireDance and future Pens to reason about the work.

This is intentionally a general Desk description. The fuller Desk inventory will need its own supplied source material. Pueblo only needs enough here to establish the bench: Desk compiles; Photoshop actuates; FireDance remembers; Pueblo teaches the craft pattern.

Xtools — Toolchest Survey

Xtools is not one tool. It is an old but rich Photoshop automation toolchest. The current xtools tree shows several major drawers: apps, xapps, xlib, docs, etc, prefs, flex, and flex-crypto. The file list shows roughly three hundred files overall, with xlib as the large library drawer, apps and xapps as executable/demo/application drawers, and docs as the reference shelf.

appsLarge runnable scripts and application-style utilities: action conversion, action browsing, droplets, importing, inserting images, logging, monitoring, PDF conversion, packing, saving, and sample UI tools.
xappsSmaller application wrappers and launchable front ends. This drawer often looks like the user-facing or demonstration counterpart to deeper library machinery.
xlibThe serious library drawer: Action, ActionManager, ActionStream, ActionXML, GenericUI, stdlib, psx, Watermark, XBridgeTalk, XML, XMP, metadata, colors, layers, text, patterns, presets, file tools, and execution helpers.
docsReference shelf: Stdlib, GenericUI, XWatermark, and related notes explaining how drawers are meant to be used.
etcBuild and translation bench: action files, XML action material, shell/perl helpers, and toolkit construction artifacts.
prefsPreference placeholder and configuration shelf, currently light but conceptually important for tool-state discipline.
flex / flex-cryptoActionScript/Flex-side experiments and libraries, including crypto/RSA material. Best guessed role: a bridge-era UI or client-library layer for extending xtools concepts outside straight ExtendScript.

The most Pueblo-relevant drawers are xlib, apps, and docs. The xlib drawer supplies reusable mechanisms; apps shows how those mechanisms become runnable tools; docs provides enough explanatory surface to keep the library from becoming folklore.

Stdlib — The Main Utility Drawer

Stdlib is the clearest example of the Xtools drawer philosophy. The reference guide states that Stdlib is not really a class, but a namespace: instead of adding more than two hundred functions to the global namespace, related functions are collected under Stdlib. That keeps names such as getColorAt from colliding with functions written elsewhere, a small convenience in tiny scripts and a major survival rule in large scripts.

For Pueblo, Stdlib should be seen as the general-purpose utility chest under Photoshop automation. It extends built-in classes such as Date, Folder, and String, keeps a few global helpers for Action Manager IDs, and then groups the main functions by similarity. Those groups are the drawers an operator reaches for when building reliable JSX transactions.

Date / String DrawerISO date formatting, strftime-style date strings, string containment, trimming, reversing, sprintf-style formatting, and naming discipline.
File and Folder DrawerRecursive search, RegExp masks, CSV and INI reading/writing, file comparison, folder creation, image-file discovery, logging, selection dialogs, and safe text-file IO.
Action DrawerActions Palette management: backup, load action files, enumerate action sets, delete actions/sets/steps, create droplets, and set playback behavior.
Color DrawerRGB color creation, swatches, pixel color sampling, RGB conversion, and color-range selection.
Container DrawerSearch common Photoshop containers by name, function, or property. This is the drawer for finding objects before operating on them.
Document DrawerDuplicate, fit, name, test background/new/open/orientation state, create documents, open legacy dialogs, and revert documents.
History DrawerUndo, redo, move history, take snapshots, revert to snapshots, and delete snapshots.
Layer and Mask DrawerLayer effects, layer masks, layer lists, selected/visible/hidden layers, linked layers, groups, transformations, layer indexes, descriptors, rasterizing, transparency, and mask-channel operations.
Selection and Path DrawerSelection bounds, precise regions, crop, active path, path items, magic wand, similar selection, work paths, and selection transforms.
Miscellaneous Photoshop DrawerText layers, datasets, batch, BridgeTalk, guides, events, menu items, drawing, font discovery, scripting logs, channels, tools, patterns, and redraw control.
Miscellaneous Other DrawerBinary/hex conversion, object copying/clearing, runtime info, script file/folder discovery, random selection, ISO date parsing, and debugger stop helpers.

Stdlib matters because it makes Photoshop scripting less lonely. It supplies the missing handles, adapters, and utility movements that a real production script reaches for over and over. Pueblo should therefore treat Stdlib as the first drawer to check before inventing a new helper.

Xtools Flex Guess

The flex and flex-crypto folders look like a bridge from the ExtendScript/Xtools world into the ActionScript/Flex world. The presence of .actionScriptProperties, .flexLibProperties, project metadata, src trees, xkit, and crypto/RSA material suggests a client-library or UI experimentation layer rather than the core Photoshop execution library. In Pueblo terms, this drawer is not the main hammer for Photoshop, but it is evidence that xtools was already thinking beyond simple scripts: UI, external clients, library packaging, and cryptographic support were all within reach.

That guess should remain labeled as a guess until the Flex source itself is reviewed. Still, the directory shape is useful. It tells Pueblo to keep an eye on Xtools not only as JSX utilities, but as a broader tool-making culture: Photoshop scripts, reusable libraries, UI shells, action translators, and external-facing helper layers.

Relationship to Marshal

Marshal is now outside Pueblo. That is the correct boundary. Marshal is the vessel doctrine: PSD/XMP, RunTree-bearing payloads, packaging, custody, and transportable authority. Pueblo is the craft doctrine: what the Adobe tools do and how they should be driven.

Marshal
vessel, payload, PSD/XMP authority
Pueblo
Adobe craft, Desk, Xtools, JSX practice
F:ire
execution, orchestration, runtime motion
PenPals
body-gathered union and presentation surface

So Pueblo may refer to Marshal when a vessel is consumed or projected, but it no longer contains Marshal as a subordinate page.

PenPals Body Styling Rule

Pueblo carries its essential style inside the body because PenPals and Brancher gather Pen body sections. A standalone <head> is useful when the page is viewed alone, but it is not reliable when the Pen is absorbed as body content into the union surface. Therefore this delivery keeps the visual rules in a body-carried <style> implant scoped under .pueblo-pen-root.

The scoping matters. Pueblo styling should not leak outward and restyle PenPals or other Pens. It should make Pueblo readable when gathered, while remaining polite inside the larger PenUmbra surface.

Ordination Notes

This delivery advances as 777. It uses the corrected naming style: Deploy_Pueblo_777.ps1, Cull_Pueblo_778.ps1, and pocket777\Pueblo\index.html.777. It does not emit Pueblo_Marshal files and does not deploy a Pueblo\Marshal.html target.

The audit principle remains unchanged: spent ordinals are not repaired. The next delivery is based on the living culled source, and any boundary correction moves forward into the next issue.