@sebastianwessel/isostate 0.4.0 → 0.6.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.
Files changed (89) hide show
  1. package/dist/animation/animation-engine.d.ts +3 -0
  2. package/dist/animation/animation-engine.d.ts.map +1 -1
  3. package/dist/animation/controller.d.ts +36 -2
  4. package/dist/animation/controller.d.ts.map +1 -1
  5. package/dist/assets/software-architecture/IMAGEGEN-PROMPTS.md +66 -0
  6. package/dist/assets/software-architecture/LICENSE +21 -0
  7. package/dist/assets/software-architecture/NOTICE.md +17 -0
  8. package/dist/assets/software-architecture/README.md +105 -0
  9. package/dist/assets/software-architecture/agentic/AGENT-VISUAL-PROMPTS.md +42 -0
  10. package/dist/assets/software-architecture/agentic/HANDOFF-PROMPTS.md +19 -0
  11. package/dist/assets/software-architecture/agentic/PROCESS-VISUAL-PROMPTS.md +109 -0
  12. package/dist/assets/software-architecture/agentic/agents-sprites.png +0 -0
  13. package/dist/assets/software-architecture/agentic/ai-capabilities-sprites.png +0 -0
  14. package/dist/assets/software-architecture/agentic/ai-to-human-handoff.png +0 -0
  15. package/dist/assets/software-architecture/agentic/channels-sprites.png +0 -0
  16. package/dist/assets/software-architecture/agentic/human-to-ai-handoff.png +0 -0
  17. package/dist/assets/software-architecture/agentic/humans-sprites.png +0 -0
  18. package/dist/assets/software-architecture/agentic/infrastructure-sprites.png +0 -0
  19. package/dist/assets/software-architecture/agentic/lifecycle-sprites.png +0 -0
  20. package/dist/assets/software-architecture/agentic/orchestration-sprites.png +0 -0
  21. package/dist/assets/software-architecture/agentic/providers-sprites.png +0 -0
  22. package/dist/assets/software-architecture/agentic/servicenow-sprites.png +0 -0
  23. package/dist/assets/software-architecture/architecture/architecture-sprites.png +0 -0
  24. package/dist/assets/software-architecture/manifest.json +2095 -0
  25. package/dist/assets/software-architecture/workflow/workflow-process-sprites.png +0 -0
  26. package/dist/browser/isostate.runtime.js +4 -4
  27. package/dist/browser/isostate.runtime.js.map +12 -10
  28. package/dist/chunks/errors-2yA81Vfb.js +23 -0
  29. package/dist/chunks/{errors-DyqEkrm5.js.map → errors-2yA81Vfb.js.map} +1 -1
  30. package/dist/chunks/index-WmsNtuaZ.js +1685 -0
  31. package/dist/chunks/index-WmsNtuaZ.js.map +1 -0
  32. package/dist/chunks/rendering-engine-DLaM1XbU.js +1425 -0
  33. package/dist/chunks/rendering-engine-DLaM1XbU.js.map +1 -0
  34. package/dist/chunks/scene-parser-BNXXIAqj.js +3033 -0
  35. package/dist/chunks/scene-parser-BNXXIAqj.js.map +1 -0
  36. package/dist/chunks/sha256-BkgWUdh1.js +123 -0
  37. package/dist/chunks/sha256-BkgWUdh1.js.map +1 -0
  38. package/dist/dsl/browser.js +3 -3
  39. package/dist/dsl/index.js +3 -3
  40. package/dist/dsl/scene-parser.d.ts.map +1 -1
  41. package/dist/dsl/scene-validator.d.ts.map +1 -1
  42. package/dist/dsl/workflow-effects-validation.d.ts +8 -0
  43. package/dist/dsl/workflow-effects-validation.d.ts.map +1 -0
  44. package/dist/editor-support/adapter.d.ts.map +1 -1
  45. package/dist/editor-support/index.js +347 -394
  46. package/dist/editor-support/index.js.map +1 -1
  47. package/dist/index.d.ts +4 -1
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +438 -40
  50. package/dist/index.js.map +1 -1
  51. package/dist/rendering/animation-css.d.ts.map +1 -1
  52. package/dist/rendering/rendering-engine.d.ts +11 -0
  53. package/dist/rendering/rendering-engine.d.ts.map +1 -1
  54. package/dist/rendering/scene-effects.d.ts +15 -0
  55. package/dist/rendering/scene-effects.d.ts.map +1 -0
  56. package/dist/rendering/theme.d.ts +4 -0
  57. package/dist/rendering/theme.d.ts.map +1 -1
  58. package/dist/runtime/diagnostics-overlay.d.ts +29 -0
  59. package/dist/runtime/diagnostics-overlay.d.ts.map +1 -0
  60. package/dist/runtime/export.d.ts +27 -0
  61. package/dist/runtime/export.d.ts.map +1 -0
  62. package/dist/runtime/index.d.ts +1 -0
  63. package/dist/runtime/index.d.ts.map +1 -1
  64. package/dist/runtime/index.js +4 -4
  65. package/dist/runtime/interactivity.d.ts +56 -0
  66. package/dist/runtime/interactivity.d.ts.map +1 -0
  67. package/dist/runtime/mount-scene.d.ts +11 -10
  68. package/dist/runtime/mount-scene.d.ts.map +1 -1
  69. package/dist/types/asset-registry.d.ts +1 -0
  70. package/dist/types/asset-registry.d.ts.map +1 -1
  71. package/dist/types/errors.d.ts.map +1 -1
  72. package/dist/types/index.d.ts +1 -1
  73. package/dist/types/index.d.ts.map +1 -1
  74. package/dist/types/node.d.ts +54 -1
  75. package/dist/types/node.d.ts.map +1 -1
  76. package/dist/types/runtime-bundle.d.ts +35 -0
  77. package/dist/types/runtime-bundle.d.ts.map +1 -1
  78. package/dist/types/scene.d.ts +2 -0
  79. package/dist/types/scene.d.ts.map +1 -1
  80. package/package.json +9 -8
  81. package/dist/chunks/errors-DyqEkrm5.js +0 -29
  82. package/dist/chunks/index-C3qcXbPI.js +0 -1542
  83. package/dist/chunks/index-C3qcXbPI.js.map +0 -1
  84. package/dist/chunks/rendering-engine-BUUV3Qq-.js +0 -1124
  85. package/dist/chunks/rendering-engine-BUUV3Qq-.js.map +0 -1
  86. package/dist/chunks/scene-parser-B9SPDLYs.js +0 -2688
  87. package/dist/chunks/scene-parser-B9SPDLYs.js.map +0 -1
  88. package/dist/chunks/sha256-4JuurR-b.js +0 -69
  89. package/dist/chunks/sha256-4JuurR-b.js.map +0 -1
@@ -1,5 +1,6 @@
1
1
  import type { AmbientAnimation, PrimitiveContent, RuntimeConnectorState, RuntimeConnectorStyle, RuntimeElementState, TextContent } from "../types/node.ts";
2
2
  import type { RuntimeBundle } from "../types/runtime-bundle.ts";
3
+ /** Lifecycle transition key used to look up entry/exit animation keyframes. */
3
4
  export type LifecycleKey = "entering" | "present" | "exiting" | "removed";
4
5
  /** Interpolation result for a frame update. */
5
6
  export interface FrameUpdate {
@@ -14,6 +15,7 @@ export interface FrameUpdate {
14
15
  exit?: string;
15
16
  text?: TextContent;
16
17
  primitive?: PrimitiveContent;
18
+ activity?: RuntimeElementState["activity"];
17
19
  }
18
20
  /** Interpolation result for a connector frame update. */
19
21
  export interface ConnectorFrameUpdate {
@@ -25,6 +27,7 @@ export interface ConnectorFrameUpdate {
25
27
  start: RuntimeConnectorState["start"];
26
28
  end: RuntimeConnectorState["end"];
27
29
  direction: RuntimeConnectorState["direction"];
30
+ message?: RuntimeConnectorState["message"];
28
31
  ambient: AmbientAnimation[];
29
32
  entry?: string;
30
33
  exit?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"animation-engine.d.ts","sourceRoot":"","sources":["../../src/animation/animation-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"animation-engine.d.ts","sourceRoot":"","sources":["../../src/animation/animation-engine.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,17 @@ import { type ViewBoxRect } from "../rendering/rendering-engine.ts";
2
2
  import type { CameraGridArea, CameraZoomOptions, RuntimeCameraTarget } from "../types/node.ts";
3
3
  import type { RuntimeBundle } from "../types/runtime-bundle.ts";
4
4
  import { AnimationEngine } from "./animation-engine.ts";
5
+ /** Events emitted by `AnimationController.on()`. */
5
6
  export interface ControllerEvents {
7
+ /** Fired whenever resolved scroll/scene progress changes. */
6
8
  "progress-change": (progress: number) => void;
9
+ /** Fired when the active scene index changes. */
7
10
  "scene-change": (index: number) => void;
11
+ /** Fired after the camera viewBox or zoom target changes. */
8
12
  "camera-change": (state: CameraState) => void;
13
+ /** Fired when scroll-driven progress tracking is paused. */
9
14
  paused: () => void;
15
+ /** Fired when scroll-driven progress tracking resumes. */
10
16
  resumed: () => void;
11
17
  }
12
18
  type EventKey = keyof ControllerEvents;
@@ -15,25 +21,38 @@ export interface ControllerConfig {
15
21
  container?: HTMLElement;
16
22
  /** SVG scene updated by this controller. Defaults to the first SVG in `container` for direct controller usage. */
17
23
  sceneElement?: SVGSVGElement;
24
+ /** Scroll axis used to derive progress. Defaults to `vertical`. */
18
25
  scrollDirection?: "vertical" | "horizontal";
26
+ /** Extra scroll offsets, in pixels, applied when deriving progress from `container`. */
19
27
  scrollOffset?: {
20
28
  top?: number;
21
29
  bottom?: number;
22
30
  left?: number;
23
31
  right?: number;
24
32
  };
33
+ /** Minimum resolved progress. Defaults to `0`. */
25
34
  minProgress?: number;
35
+ /** Maximum resolved progress. Defaults to `1`. */
26
36
  maxProgress?: number;
37
+ /** Enable arrow-key scene navigation. Defaults to `false`. */
27
38
  keyboardControls?: boolean;
39
+ /** Enable touch swipe scene navigation. Defaults to `false`. */
28
40
  touchControls?: boolean;
41
+ /** Multiplier applied to wheel/touch scroll deltas. Defaults to `1.0`. */
29
42
  scrollSensitivity?: number;
43
+ /** Scene navigation and camera transition duration in milliseconds. Defaults to `600`. */
30
44
  transitionDuration?: number;
45
+ /** Scene navigation and camera transition easing curve. Defaults to `ease-in-out`. */
31
46
  transitionEasing?: "linear" | "ease-in-out" | "ease-out";
32
47
  }
33
48
  export type { CameraGridArea, CameraZoomOptions };
49
+ /** Current camera viewBox and zoom target, as reported by `AnimationController.getCameraState()`. */
34
50
  export interface CameraState {
51
+ /** Current SVG viewBox. */
35
52
  viewBox: ViewBoxRect;
53
+ /** Focus target that produced the current viewBox, if any. */
36
54
  target?: RuntimeCameraTarget;
55
+ /** Whether the camera differs from the compiled full scene view. */
37
56
  isZoomed: boolean;
38
57
  }
39
58
  interface ControllerRuntime {
@@ -62,10 +81,11 @@ export declare class AnimationController {
62
81
  private _cameraState;
63
82
  private _minScroll;
64
83
  private _maxScroll;
65
- private _touchStartY;
66
- private _touchStartX;
84
+ private _lastTouchY;
85
+ private _lastTouchX;
67
86
  private _isDragging;
68
87
  private _transitionAnim;
88
+ private _backward;
69
89
  get engine(): AnimationEngine;
70
90
  get progress(): number;
71
91
  getProgress(): number;
@@ -82,6 +102,7 @@ export declare class AnimationController {
82
102
  * Set scroll progress (0–1, clamped) and trigger frame update.
83
103
  */
84
104
  setProgress(progress: number): void;
105
+ private _setProgress;
85
106
  /**
86
107
  * Navigate to next scene (wraps to 0 if at end).
87
108
  */
@@ -123,6 +144,19 @@ export declare class AnimationController {
123
144
  private _applyCameraForProgress;
124
145
  private _effectiveCameraAt;
125
146
  private _resolveCameraViewBox;
147
+ /**
148
+ * Resolve element bounds for scroll/setProgress camera interpolation.
149
+ *
150
+ * Unlike `getCurrentElementBounds()`, this tolerates an element whose
151
+ * resolved presence is transiently "removed" because progress has not yet
152
+ * reached the stop that introduces it (the engine still carries valid
153
+ * authored geometry for it via nearest-geometry fallback). It falls back to
154
+ * that geometry instead of reporting the target as missing so a scene that
155
+ * both adds an element and focuses the camera on it in the same stop can be
156
+ * interpolated into smoothly. A genuinely unknown element id still resolves
157
+ * to `undefined` so callers can throw `CAMERA_TARGET_NOT_FOUND`.
158
+ */
159
+ private _resolveElementBoundsForInterpolation;
126
160
  private _applyCameraDestination;
127
161
  private _setCameraViewBox;
128
162
  private _getSceneSvg;
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/animation/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/animation/controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ # Generation prompts
2
+
3
+ Generated with the built-in ImageGen tool, using real transparent backgrounds.
4
+ The original PNG bytes are preserved; sprite rectangles select each object.
5
+
6
+ ## Workflow and process sheet
7
+
8
+ Use case: stylized-concept. Asset type: one production transparent PNG sprite-sheet for an isometric software architecture visualization library.
9
+ Create ONE precisely aligned 4-column by 2-row sprite sheet, ideally 2048x1024 pixels, containing exactly eight separate high-end photorealistic 3D miniature objects, each centered inside its own equal SQUARE tile. Real transparent alpha background. All objects share the same orthographic isometric camera (30-degree elevation, view from front right), believable finely textured ceramic, anodized aluminium, dark graphite metal, smoked glass, polished translucent teal, small amber details, soft studio key light upper left, crisp optical rendering, realistic ambient occlusion and restrained tight contact shadow. Beautiful professional product render quality, physically modeled curves, bevels, material depth, precise details. Each fills roughly 75-85% of its tile without crossing any cell boundary. Common grounded footprint center lies at tile x50%, y85%, tiny elegant diamond-shaped graphite plinth. No scenery, no text, no numbers, no logos, no labels, no background plane or checkerboard, no borders, no long connection arrows. Must look richly three-dimensional and material-rich, not flat pictograms, simple blocks, SVG icons or cartoon illustrations.
10
+ Exact row-major subjects:
11
+ Top row col1 WORKFLOW START: polished teal illuminated circular activation device embedded in a finely machined metal console with tactile start button, luminous translucent rim.
12
+ Top row col2 WORKFLOW END: matching graphite termination console with elegant amber status beacon and realistic brushed metal finish.
13
+ Top row col3 WORKFLOW TASK: miniature mechanical processing station, stacked machined gears inside smoked-glass housing with teal indicators, credible tiny industrial mechanism.
14
+ Top row col4 WORKFLOW DECISION: gorgeous optical routing device with tall faceted translucent teal diamond prism in metallic cradle, physical branching channels sculpted into base, no floating arrows.
15
+ Bottom row col1 WORKFLOW EVENT: sophisticated small signal beacon, translucent amber pulse ring on black ceramic receiver, intricate metallic electronics.
16
+ Bottom row col2 PROCESS APPROVAL: upright frosted-glass verification panel with one embossed teal check mark, elegant brass mechanical stamp mounted beside it on compact workstation.
17
+ Bottom row col3 PROCESS DOCUMENT: realistic sculpted stack of cream paper sheets in a slim teal document tray, one folded-corner sheet rising, delicate page texture and brushed-metal clips.
18
+ Bottom row col4 PROCESS SCHEDULER: finely machined analogue clock with ivory dial and amber hands mounted in compact graphite scheduling console, layered rounded metal housings, no readable typography.
19
+ Keep every tile isolated and precisely aligned with identical composition scale. Export real transparency; transparent gaps around every object. Premium nearly photographic isometric renders for software workflows and business process diagrams.
20
+ ## Architecture sprite sheet
21
+
22
+ Generated using the built-in image generation tool with `transparent_background: true`.
23
+ The original PNG bytes are preserved. Dimensions: 1448 × 1086 pixels, RGBA.
24
+ Each logical asset uses an explicit 350 × 350 source rectangle and a checked
25
+ ground-contact anchor; generated row spacing is not assumed to be exact.
26
+
27
+ ```text
28
+ Use case: stylized-concept.
29
+ Asset type: reusable transparent PNG sprite sheet for professional software architecture diagrams.
30
+ Create ONE image containing exactly twelve separate premium, nearly photorealistic miniature 3D objects arranged in a strict 4-column by 3-row grid. Prefer landscape 2048 by 1536 pixels so each cell is square. Equal cell sizes and consistent object scale, no cell borders, generous transparent gaps. Every object centered in its own cell, fully visible, no overlaps. Ground contact centered horizontally around 82 percent down its cell. Same orthographic isometric camera, 30-degree diamond ground axes, view from above, identical lighting from upper left.
31
+ Art direction: extremely refined product visualization, machined satin graphite aluminum, porcelain white ceramic, translucent cyan glass, teal anodized accents, tiny warm amber status LEDs, bevels, realistic layered mechanical detail, physically believable reflections, soft ambient occlusion. Dimensional objects with volume and high material quality. Crisp silhouettes suitable for 128 pixel UI thumbnails. Calm elegant enterprise aesthetic. Soft tight contact shadow only, no background, no large platform.
32
+ Exact row-major subjects:
33
+ Row 1 col 1 browser client: premium freestanding thin workstation monitor with glossy glass browser window and subtle content blocks, no words.
34
+ Row 1 col 2 API gateway: sculptural dimensional network gateway portal with graphite frame and cyan glass routing core.
35
+ Row 1 col 3 application service: compact sophisticated compute appliance with layered modules, ventilation fins, cyan luminous internal core.
36
+ Row 1 col 4 database: three stacked cylindrical brushed-metal data disks with translucent cyan inset rings, grounded heavy volume.
37
+ Row 2 col 1 memory cache: square premium microchip with fine gold pins, dark ceramic body and raised cyan translucent crystal center.
38
+ Row 2 col 2 message queue: three upright translucent cyan message-envelope plates arranged in a machined sequential channel, one amber envelope.
39
+ Row 2 col 3 background worker: elegant small graphite-and-porcelain industrial robotic arm on base holding one cyan data cube.
40
+ Row 2 col 4 load balancer: network routing appliance with one central port and three neatly symmetric short branch ports, cyan conduits and amber indicator.
41
+ Row 3 col 1 object storage: open brushed-metal storage vault containing three glass data blocks, sturdy cyan lid trim.
42
+ Row 3 col 2 cloud platform: thick beautifully rounded frosted white glass cloud object with subtle cyan translucency and graphite footing.
43
+ Row 3 col 3 container: detailed miniature graphite modular shipping-style container with ribbed sides, cyan access door and tiny amber light.
44
+ Row 3 col 4 observability: premium monitor showing a single cyan line chart, glass display and graphite instrument housing, no text.
45
+ Transparent background with real alpha, no white backdrop and no checkerboard painted into the pixels. No labels, letters, numbers, logos, watermarks, connecting lines between cells, flat illustration, vector outlines, thick ink strokes, flat SVG appearance, emoji, toy plastic, people, repeated subjects.
46
+ ```
47
+
48
+
49
+ ## Agentic workflow extension
50
+
51
+ Nine additional original RGBA PNG sheets cover 72 AI, human, channel, workflow,
52
+ ServiceNow, provider, and infrastructure objects. Their exact built-in ImageGen
53
+ prompts and inspected crop/anchor notes are preserved separately:
54
+
55
+ - [Agent, capability, human, channel, and provider sheets](./agentic/AGENT-VISUAL-PROMPTS.md)
56
+ - [Orchestration, lifecycle, ServiceNow, and infrastructure sheets](./agentic/PROCESS-VISUAL-PROMPTS.md)
57
+
58
+ All outputs retain generated source bytes; scene and gallery crops are metadata,
59
+ not edited image files. Provider identities are illustrated with original
60
+ material/product metaphors and displayed labels rather than official logo assets.
61
+
62
+ ## Directional handoffs
63
+
64
+ Two additional original RGBA PNGs distinguish human-to-AI delegation and
65
+ AI-to-human escalation from the existing human-to-human handoff. Exact prompts
66
+ and measured source dimensions are in [Directional handoff prompts](./agentic/HANDOFF-PROMPTS.md).
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Sebastian Wessel
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,17 @@
1
+ # AI-generated asset notice
2
+
3
+ The PNG illustrations in this catalog were generated using OpenAI
4
+ image-generation models through the Codex Image Gen tool. Project prompts,
5
+ source images, crop rectangles, anchors, and metadata record their provenance.
6
+
7
+ The project distributes this catalog under the included [MIT licence](./LICENSE).
8
+ The licence terms and required redistribution notice are in that file. This
9
+ file records the artwork's AI origin.
10
+
11
+ OpenAI's [Terms of Use](https://openai.com/policies/terms-of-use/) and
12
+ [Europe Terms of Use](https://openai.com/policies/eu-terms-of-use/) describe
13
+ ownership of generated output as between the user and OpenAI, subject to
14
+ applicable law. Refer to the terms applicable to your use of their services.
15
+
16
+ Generation prompts are included in [IMAGEGEN-PROMPTS.md](./IMAGEGEN-PROMPTS.md)
17
+ and the `agentic/` prompt records.
@@ -0,0 +1,105 @@
1
+ # Software architecture assets
2
+
3
+ Ninety-four photorealistic isometric objects for software architecture, AI agents,
4
+ human-to-agent workflow migration, and business processes. Brushed graphite metal, translucent cyan glass, teal
5
+ accents, and warm amber lights give the objects a consistent dimensional style.
6
+ The illustrations were AI-generated using OpenAI image-generation models.
7
+ The catalog is distributed under the included MIT license; see
8
+ [NOTICE.md](./NOTICE.md) for generation provenance and OpenAI terms links.
9
+
10
+ ## Catalog
11
+
12
+ | Group | Logical identifier suffixes |
13
+ | --- | --- |
14
+ | `architecture-` | `browser`, `api-gateway`, `service`, `database`, `cache`, `queue`, `worker`, `load-balancer`, `storage`, `cloud`, `container`, `observability` |
15
+ | `workflow-` | `start`, `end`, `task`, `decision`, `event` |
16
+ | `process-` | `approval`, `document`, `scheduler` |
17
+ | `ai-` | `agent`, `orchestrator`, `planner`, `researcher`, `tool-runner`, `reviewer`, `memory`, `knowledge`, `rag`, `embedding`, `vector-search`, `context`, `prompt`, `evaluation`, `guardrail`, `model-router` |
18
+ | `human-` | `requester`, `operator`, `approver`, `expert`, `team`, `handoff`, `escalation`, `feedback` |
19
+ | Directional handoffs | `human-to-ai-handoff`, `ai-to-human-handoff` |
20
+ | `channel-` | `email`, `phone`, `teams`, `webform`, `chat`, `issue`, `document`, `webhook` |
21
+ | `agent-` | `workflow`, `parallel`, `router`, `condition`, `loop`, `retry`, `timeout`, `error`, `trigger`, `schedule`, `await-human`, `approval`, `rejection`, `escalation`, `audit`, `complete` |
22
+ | `servicenow-` | `interaction`, `request`, `requested-item`, `request-task`, `catalog-item`, `incident`, `problem`, `change` |
23
+ | `provider-` | `azure-foundry`, `aws-bedrock`, `anthropic`, `openai`, `google-vertex`, `google-gemini`, `local-model`, `hugging-face` |
24
+ | `infra-` | `redis-cache`, `redis-stream`, `redis-pubsub`, `vector-database`, `object-storage`, `knowledge-base`, `api-tool`, `secret-vault` |
25
+
26
+ `architecture/architecture-sprites.png` contains twelve architecture objects in
27
+ 1448 × 1086 pixels. `workflow/workflow-process-sprites.png` contains eight
28
+ workflow/process objects in 1774 × 887 pixels. Nine additional eight-object sheets live in `agentic/`: agents, AI capabilities,
29
+ humans, intake channels, orchestration, lifecycle, ServiceNow, providers, and
30
+ infrastructure. Two additional 1254 × 1254 PNGs show `human-to-ai-handoff`
31
+ and `ai-to-human-handoff`, each exposed as one full-image sprite with a checked
32
+ anchor. The existing `human-handoff` depicts a human-to-human exchange.
33
+ All thirteen source PNGs preserve original generated bytes and actual transparency. Generation prompts are recorded in
34
+ [IMAGEGEN-PROMPTS.md](./IMAGEGEN-PROMPTS.md),
35
+ [agent visuals](./agentic/AGENT-VISUAL-PROMPTS.md), and
36
+ [process visuals](./agentic/PROCESS-VISUAL-PROMPTS.md), and
37
+ [directional handoffs](./agentic/HANDOFF-PROMPTS.md).
38
+
39
+ Provider and product objects are conceptual illustrations rather than official
40
+ vendor logos. Names and search tags identify their intended use. A ServiceNow
41
+ record is distinct from the person or agent handling it; use separate assets,
42
+ labels, and connections to make responsibility explicit.
43
+
44
+ `.isostate-assets.yaml` supplies the exact whole-pixel crop rectangles, checked
45
+ anchors, labels, and search tags. `manifest.json` is generated from this metadata
46
+ and the PNG bytes. Architecture rectangles are 350 × 350 pixels with individual
47
+ ground anchors; new agentic crops and anchors are measured per source sheet; workflow/process rectangles follow the source grid with explicit
48
+ `[0.5, 0.9]` anchors. Do not infer crops from an evenly divided architecture grid:
49
+ its generated rows have slightly different vertical spacing.
50
+
51
+ ## Use in a scene
52
+
53
+ Copy this directory into the site's public assets directory. Declare the sheet
54
+ once, then place its logical sprite ids through the existing sprite-sheet DSL:
55
+
56
+ ```yaml
57
+ header:
58
+ assetBaseUrl: ./assets/software-architecture
59
+ assets:
60
+ - id: architecture-architecture-sprites
61
+ type: sprite-sheet
62
+ path: architecture/architecture-sprites.png
63
+ sheetSize: [1448, 1086]
64
+ sprites:
65
+ architecture-service:
66
+ rect: [730, 0, 350, 350]
67
+ anchor: [0.507, 0.931]
68
+ architecture-database:
69
+ rect: [1092, 0, 350, 350]
70
+ anchor: [0.511, 0.909]
71
+ ```
72
+
73
+ Place `asset: architecture-service` using whole grid coordinates and the default
74
+ `size: 1`. Copy the manifest's exact rectangles and anchors when adding more
75
+ sprites. The sheet namespace itself is not placeable. Labels remain generated
76
+ `text` elements and routes remain scene `connections`.
77
+
78
+ For editor discovery, point `assetManifestUrl` at this directory's
79
+ `manifest.json`. Its `assetBaseUrl: ./` resolves relative to the manifest URL.
80
+ For a scene saved elsewhere, set `header.assetBaseUrl` to the directory where
81
+ the images are actually hosted. Host CSS variables cannot recolor these images.
82
+
83
+ ## Package distribution
84
+
85
+ The core package ships these files at `dist/assets/software-architecture/`,
86
+ with the static export path `@sebastianwessel/isostate/assets/software-architecture/*`.
87
+ For example, a bundler that supports URL imports can load
88
+ `@sebastianwessel/isostate/assets/software-architecture/architecture/architecture-sprites.png?url`.
89
+ Static-site projects can copy the directory from the installed package into
90
+ their public assets directory. The catalog is optional static content and is
91
+ never imported by the browser engine.
92
+
93
+ ## Regenerate the manifest
94
+
95
+ From the repository root:
96
+
97
+ ```bash
98
+ bun packages/cli/src/bin.ts assets manifest assets/software-architecture \
99
+ --out assets/software-architecture/manifest.json \
100
+ --asset-base-url ./ --pretty
101
+ ```
102
+
103
+ Keep source sheets, metadata, generated digests, and website copies together in
104
+ one change. Inspect each cropped sprite on light and dark backgrounds after
105
+ changing its rectangle or anchor. Preserve the source alpha channel.
@@ -0,0 +1,42 @@
1
+ # Agentic workflow image-generation prompts
2
+
3
+ Generated with the built-in image_gen tool on 2026-10-05. Each PNG is the unchanged RGBA output; transparent_background was true for every call. The architecture catalog was inspected as a visual style reference. No image post-processing, resampling, alpha replacement, or API/CLI fallback was used.
4
+
5
+ Each atlas is 1774 × 887 pixels and contains eight row-major objects. The original request preferred a larger 2:1 image, and the tool returned this production resolution. The canonical source `../.isostate-assets.yaml` and distributed `../manifest.json` record individually checked whole-pixel crop rectangles and normalized ground-contact anchors. Use the exact rectangles rather than inferring equal rows: the human escalation silhouette rises above the midpoint. Provider objects are visual metaphors, not official product logos. Captions belong in scene text.
6
+
7
+ Validation: all five files are RGBA with substantial alpha-zero background, and each is below 2 MiB. All 40 silhouettes and their crop boundaries were visually inspected. Anchors were visually measured at the center of the lower contact footprint, then normalized to the recorded rectangle; faint generated contact shadows are preserved.
8
+
9
+ ## agents-sprites.png
10
+
11
+ ```text
12
+ Use case: product-mockup. Asset type: production PNG sprite atlas for a premium isometric software architecture diagram library. Create a new image, exactly eight separate miniature photorealistic 3D objects in a mathematically regular 4-column by 2-row grid, landscape 2:1 aspect ratio, preferably 2400x1200 or 2048x1024. Each object's entire silhouette must fit in the central 76% of its equal-sized square cell; leave very wide completely transparent gutters between all cells and transparent outer margins. No object touches another cell. All eight objects same scale and visual importance, each distinct and independently reusable. Orthographic 30-degree isometric camera, see top and two sides, consistent view direction and realistic studio key light from upper left. Actual fully transparent alpha background, no checkerboard, no backdrop, no floor, no long cast shadows; only very tight grounding contact shadow attached to object. Style like high-end macro product photography of beautifully engineered collectibles: brushed stainless steel, dark graphite anodized metal, frosted and transparent cyan glass, tiny amber indicator LEDs, believable screws/seams/vents, subtle fine machining microtexture and soft controlled highlights. Refined realistic materials, not flat vector and not cartoon, no oversized glow. Small individual diamond plinths only where structurally necessary, no shared platform. Avoid any text, letters, numbers, captions, watermark, decorative scenery, frame, grid lines or invented official logo. Logical names below are instructions only and MUST NOT be printed. Each position exactly one composite object:
13
+ TOP ROW left to right: (1) AI agent: a compact sophisticated rounded humanoid desktop robot, graphite torso and stainless articulated arms, expressive simple cyan optical sensors, transparent chest containing a luminous neural core, standing upright on two realistic feet, clearly an autonomous assistant. (2) AI orchestrator: elegant central circular command hub with a cyan glass brain and four tiny separate satellite robotic heads around the hub on short radial brushed-metal supports, clearly one coordinated multi-agent cluster. (3) AI planner: an angled glass drafting board on a technical steel stand, with three tangible miniature cyan milestone blocks arranged as stairs and thin engraved lines, one small articulated stylus arm hovering over board. (4) AI researcher: a precision silver robotic microscope with cyan lens examining several translucent data tablets, a compact magnifying optical arm and stacked physical reference cards, compact coherent laboratory workstation. BOTTOM ROW left to right: (5) AI tool runner: detailed industrial robot manipulator with replaceable screwdriver and wrench tools mounted on its compact base, gripping a tiny cyan processor module; energetic precise engineering. (6) AI reviewer: compact optical inspection machine, two steel camera lenses aimed at a glass document panel with a large simple raised green check mark, physical inspection rail and amber status lamp. (7) AI memory: elegant open cylindrical memory vault with four concentric translucent cyan crystal storage rings, graphite archival chassis and amber latch, tangible stacked long-term memory. (8) AI knowledge: beautiful miniature library archive, several cyan frosted-glass upright books held in a brushed steel shelf, one open glass book on integrated angled stand with visible etched nodes and links, scholarly repository. Render every object sharply and with room around it. The grid is mandatory.
14
+ ```
15
+
16
+ ## ai-capabilities-sprites.png
17
+
18
+ ```text
19
+ Use case: product-mockup. Asset type: production PNG sprite atlas for a premium isometric software architecture diagram library. Create a new image, exactly eight separate miniature photorealistic 3D objects in a mathematically regular 4-column by 2-row grid, landscape 2:1 aspect ratio, preferably 2400x1200 or 2048x1024. Each object's entire silhouette must fit in the central 76% of its equal-sized square cell; leave very wide completely transparent gutters between all cells and transparent outer margins. No object touches another cell. All eight objects same scale and visual importance, each distinct and independently reusable. Orthographic 30-degree isometric camera, see top and two sides, consistent view direction and realistic studio key light from upper left. Actual fully transparent alpha background, no checkerboard, no backdrop, no floor, no long cast shadows; only very tight grounding contact shadow attached to object. Style like high-end macro product photography of beautifully engineered collectibles: brushed stainless steel, dark graphite anodized metal, frosted and transparent cyan glass, tiny amber indicator LEDs, believable screws/seams/vents, subtle fine machining microtexture and soft controlled highlights. Refined realistic materials, not flat vector and not cartoon, no oversized glow. Small individual diamond plinths only where structurally necessary, no shared platform. Avoid any text, letters, numbers, captions, watermark, decorative scenery, frame, grid lines or invented official logo. Logical names below are instructions only and MUST NOT be printed. Each position exactly one composite object:
20
+ TOP ROW left to right: (1) Retrieval augmented generation: compact precision steel assembly in which a upright rack of three frosted cyan document cards passes through a small glass funnel into a separate cyan crystalline neural core; visually one connected retrieval-to-intelligence device. (2) Embedding: precise stainless optical encoder with one translucent input document card at its left and a tangible ordered 3 by 3 array of nine cyan, violet and teal spheres held in a small clear cube at its right, vector encoding laboratory instrument. (3) Vector search: open faceted clear-glass globe containing a sparse constellation of turquoise vector points and connecting rods, a prominent physical silver magnifying glass focused on one amber selected point; all held on an elegant low base. (4) Context window: stainless horizontal holder cradling five thin upright cyan glass document panels, middle panel larger and illuminated, curved translucent protective partial cover around the selected cards, clear sequential context bank. BOTTOM ROW left to right: (5) Prompt: beautiful compact typewriter-like graphite console with a polished mechanical keyboard and a single frosted glass speech-bubble-shaped slab rising from it, abstract etched short lines only, amber enter key. (6) Evaluation: elegant technical laboratory beam balance made of brushed steel, one shallow pan holding a cyan neural crystal and the other holding calibrated amber weights, tiny integrated measurement screen with simple unlabeled rising bars. (7) Guardrail: robust polished silver shield with translucent teal center, physically protecting a small neural core behind it; two short gold safety barrier posts integrated in the low base, shield strongly dominant. (8) Model router: distinctive mechanical switch-track hub: one cyan input lightpipe entering a compact circular steel switch and branching into three short pipes terminating in three differently shaped miniature crystal modules, teal sphere, violet prism, amber cube; one route visibly illuminated. Exact regular grid and generous alpha gutters mandatory.
21
+ ```
22
+
23
+ ## humans-sprites.png
24
+
25
+ ```text
26
+ Use case: product-mockup. Asset type: production PNG sprite atlas for a premium isometric software architecture diagram library. Create a new image, exactly eight separate miniature photorealistic 3D objects in a mathematically regular 4-column by 2-row grid, landscape 2:1 aspect ratio, preferably 2400x1200 or 2048x1024. Each object's entire silhouette must fit in the central 76% of its equal-sized square cell; leave very wide completely transparent gutters between all cells and transparent outer margins. No object touches another cell. All eight objects same scale and visual importance, each distinct and independently reusable. Orthographic 30-degree isometric camera, see top and two sides, consistent view direction and realistic studio key light from upper left. Actual fully transparent alpha background, no checkerboard, no backdrop, no floor, no long cast shadows; only very tight grounding contact shadow attached to object. Style like high-end macro product photography of beautifully engineered collectibles: brushed stainless steel, dark graphite anodized metal, frosted and transparent cyan glass, tiny amber indicator LEDs, believable screws/seams/vents, subtle fine machining microtexture and soft controlled highlights. Refined realistic materials, not flat vector and not cartoon, no oversized glow. Small individual diamond plinths only where structurally necessary, no shared platform. Avoid any text, letters, numbers, captions, watermark, decorative scenery, frame, grid lines or invented official logo. Logical names below are instructions only and MUST NOT be printed. Each position exactly one composite object:
27
+ This sheet contains REALISTIC MINIATURE ADULT HUMAN FIGURES, like exceptionally detailed architectural scale models photographed with a macro lens. Natural human proportions, realistic tailored fabric, believable hands and anatomy, varied genders and skin tones, professional modern clothing; no cartoon toy faces, robots, or cubical placeholder people. Each human and accompanying compact desk make one independent sprite. Steel and frosted cyan-glass furniture matches the material language. Make distinct poses readable at thumbnail scale. TOP ROW left to right: (1) Human requester: an adult woman in a teal casual jacket, standing at a compact waist-high silver kiosk, holding a small cyan glass request card toward its screen, open engaged posture. (2) Human operator: an adult man with dark skin in a navy shirt seated naturally at a curved steel operations desk, two small angled translucent cyan monitors and a keyboard, wearing a fine headset. (3) Human approver: adult woman with short dark hair in a cream business jacket seated at a compact glass review desk, holding a substantial green approval stamp just above one paper document; a small green physical check token sits at desk corner. (4) Human expert: adult older man with silver hair and glasses, navy jacket over white shirt, standing next to a tilted cyan glass technical drawing board and pointing precisely at an abstract chart with a stylus. BOTTOM ROW left to right: (5) Human team: three adult colleagues, one seated and two standing, varied genders and skin tones, collaborating around one small round frosted cyan glass table with a single laptop and a data card, readable cohesive group. (6) Human handoff: two adults, woman in teal blazer and man in charcoal shirt, standing facing each other with their hands clearly holding opposite ends of one small cyan dossier as it is passed between them, no desk. (7) Human escalation: adult support operator at low compact console turning toward a standing senior specialist at a visibly taller raised supervisory podium with a small amber warning beacon, their conversational attention clearly connects them, professional and calm. (8) Human feedback: adult woman in mauve blouse seated at small steel desk with a cyan glass tablet, reaching with stylus to a physical panel of three simple feedback faces represented only as clean smile neutral frown symbols, small amber speech-bubble token on desk. Exact 4x2 grid, generous transparent separation and unclipped people mandatory.
28
+ ```
29
+
30
+ ## channels-sprites.png
31
+
32
+ ```text
33
+ Use case: product-mockup. Asset type: production PNG sprite atlas for a premium isometric software architecture diagram library. Create a new image, exactly eight separate miniature photorealistic 3D objects in a mathematically regular 4-column by 2-row grid, landscape 2:1 aspect ratio, preferably 2400x1200 or 2048x1024. Each object's entire silhouette must fit in the central 76% of its equal-sized square cell; leave very wide completely transparent gutters between all cells and transparent outer margins. No object touches another cell. All eight objects same scale and visual importance, each distinct and independently reusable. Orthographic 30-degree isometric camera, see top and two sides, consistent view direction and realistic studio key light from upper left. Actual fully transparent alpha background, no checkerboard, no backdrop, no floor, no long cast shadows; only very tight grounding contact shadow attached to object. Style like high-end macro product photography of beautifully engineered collectibles: brushed stainless steel, dark graphite anodized metal, frosted and transparent cyan glass, tiny amber indicator LEDs, believable screws/seams/vents, subtle fine machining microtexture and soft controlled highlights. Refined realistic materials, not flat vector and not cartoon, no oversized glow. Small individual diamond plinths only where structurally necessary, no shared platform. Avoid any text, letters, numbers, captions, watermark, decorative scenery, frame, grid lines or invented official logo. Logical names below are instructions only and MUST NOT be printed. Each position exactly one composite object:
34
+ TOP ROW left to right: (1) Email: polished stainless desktop mail inbox with one open frosted cyan glass envelope standing upright, small amber notification dot on its upper corner, layered envelope flap physically clear, no flying mail. (2) Phone: beautifully detailed modern charcoal business desk telephone with silver frame, realistic curved handset resting on cradle and short coiled cord, cyan display showing only abstract waveform, restrained amber status light. (3) Microsoft Teams collaboration channel: a premium purple glass video-meeting appliance with broad upright screen in brushed silver frame and built-in webcam; screen shows three small raised human silhouette bust tiles, one foreground purple physical speech bubble and a second violet bubble behind, familiar purple collaboration aesthetic with no printed brand letters or fake logo. (4) Web form: tall frosted cyan browser-window panel on low stainless support, three recessed input rows and two clean checkbox marks plus a solid amber rectangular submit button, subtle three round browser dots in top bar, no text. BOTTOM ROW left to right: (5) Chat: two elegant overlapping physical cyan and teal glass speech bubble objects mounted upright on a compact polished metal base; each bubble contains three small embossed silver dots, one taller than the other. (6) Issue tracker: graphite technical task board on steel stand, three vertical columns of small cyan ticket cards, one ticket in amber and a tiny realistic amber bug-shaped token attached to lower corner, no typography. (7) Document: three physical sheets of frosted glass clipped in a machined steel clipboard frame, front sheet has etched horizontal rules and one small abstract chart, realistic bent page corner, amber paperclip. (8) Webhook: compact silver network coupling with a large sculptural polished metal hook above the central cyan connector port, two short cyan fiber cables on either side and a small amber lightning symbol inset in housing, unmistakable event-trigger hardware. Every complete object in its own equal cell. No connections between cells.
35
+ ```
36
+
37
+ ## providers-sprites.png
38
+
39
+ ```text
40
+ Use case: product-mockup. Asset type: production PNG sprite atlas for a premium isometric software architecture diagram library. Create a new image, exactly eight separate miniature photorealistic 3D objects in a mathematically regular 4-column by 2-row grid, landscape 2:1 aspect ratio, preferably 2400x1200 or 2048x1024. Each object's entire silhouette must fit in the central 76% of its equal-sized square cell; leave very wide completely transparent gutters between all cells and transparent outer margins. No object touches another cell. All eight objects same scale and visual importance, each distinct and independently reusable. Orthographic 30-degree isometric camera, see top and two sides, consistent view direction and realistic studio key light from upper left. Actual fully transparent alpha background, no checkerboard, no backdrop, no floor, no long cast shadows; only very tight grounding contact shadow attached to object. Style like high-end macro product photography of beautifully engineered collectibles: brushed stainless steel, dark graphite anodized metal, frosted and transparent cyan glass, tiny amber indicator LEDs, believable screws/seams/vents, subtle fine machining microtexture and soft controlled highlights. Refined realistic materials, not flat vector and not cartoon, no oversized glow. Small individual diamond plinths only where structurally necessary, no shared platform. Avoid any text, letters, numbers, captions, watermark, decorative scenery, frame, grid lines or invented official logo. Logical names below are instructions only and MUST NOT be printed. Each position exactly one composite object:
41
+ Provider metaphor sculptures: these are diagram metaphors for named platforms, not official logos. Preserve the common steel/glass studio-render style while giving each provider a distinctive silhouette and recognizable palette. No brand text or invented logotype. TOP ROW left to right: (1) Azure AI Foundry: a miniature advanced blue-glass AI forge, substantial silver open-sided furnace with vivid azure-blue crystalline neural core hovering over a small polished anvil-like pedestal, two angular blue structural fins, precision manufactured. (2) AWS Bedrock: a beautiful orange and graphite compute sculpture made of three offset geological strata cut from smoked glass and dark stone, tiny warm-orange neural silicon wafer on top, a subtle silver cloud canopy held just above the layers by supports, evocative solid foundational bedrock. (3) Anthropic: warm amber and cream cognitive crystalline core, large honey-colored irregular faceted translucent intelligence crystal held within two elegant ivory ceramic curving protective fins, visible delicate branching filaments inside, compact dark metal base; calmer organic geometry. (4) OpenAI: a sculptural black-and-white interlocking toroidal neural core, six polished stainless and matte porcelain curved loops smoothly intertwined into a dimensional intricate knot-like intelligence mechanism, upright over a compact graphite precision pedestal; no printed emblem, physically plausible sculpture. BOTTOM ROW left to right: (5) Google Vertex AI: an elegant triangular stepped pyramidal compute sculpture with four differently colored translucent glass triangular tiers in blue red yellow and green, brushed silver supporting skeleton, tiny precise luminous neural point at apex, crisp architectural geometry. (6) Google Gemini: paired blue-violet crystalline four-point stars suspended inside a slim polished metal orbital ring above a low circular base, two visibly distinct twin-star cores catching iridescent purple and azure light, refined magical-but-physical scientific instrument. (7) Local model: a compact premium graphite desktop workstation tower with visible internal cyan neural compute chip through a clear side window, realistic cooling fans and vents, small matching flat monitor showing abstract cyan nodes and a keyboard on a shallow integrated steel tray; unmistakably local personal hardware. (8) Hugging Face: a cheerful tangible round golden-yellow enamel smile medallion with two small sculpted yellow hands extending as an open hug on either side, black inset eyes and smile, supported upright on a compact brushed-steel base; realistic glazed enamel collectible, no words. All objects equally detailed, no oversized halo, all eight entirely isolated in their own cell.
42
+ ```
@@ -0,0 +1,19 @@
1
+ # Directional handoff assets
2
+
3
+ Generated with the built-in ImageGen tool and `transparent_background: true`.
4
+ Source PNG bytes and genuine alpha are preserved. Both images are 1254 × 1254 RGBA;
5
+ full-image sprite rectangles and inspected ground anchors are in `../.isostate-assets.yaml`.
6
+ The existing `human-handoff` remains human-to-human. These two assets make delegation
7
+ and escalation visually distinct through the giver/receiver arrangement and an embossed pointer.
8
+
9
+ ## Human to AI
10
+
11
+ ```text
12
+ Use case: stylized-concept. Asset type: one production transparent PNG isometric software workflow asset, square framing. Create a premium nearly photoreal miniature 3D scene of HUMAN TO AI HANDOFF: a realistic professional woman wearing a teal jacket stands on the LEFT, actively extending a glowing translucent cyan document/data tablet toward an unmistakably nonhuman AI compute appliance on the RIGHT. The AI appliance is sculptural graphite-and-brushed-silver machine with a luminous cyan glass cognition core, no robot human silhouette. Human's outstretched arm and a short physical illuminated receiving slot communicate direction from person to AI. A small cyan rightward triangular embossed pointer on the shared low plinth reinforces transfer without a long arrow. Same orthographic isometric camera, elevated front-right view, thirty-degree diamond axes, tight studio lighting upper-left, fine textiles, natural realistic skin/hair, machined silver, graphite metal, porcelain white, luminous teal/cyan glass; believable volume, precise bevels and reflections. Both subjects grounded on one compact elegant diamond footing, whole scene fully visible, centered with generous transparent padding all around and tight soft contact shadow. Ground contact near center x50%, y85%. Human and machine clearly distinct and readable at 96px thumbnail. Genuine RGBA alpha transparent background. No scenery, white backdrop, painted checkerboard, labels, letters, logos, watermark, flat vector appearance, simple rectangular pictogram, cartoon, big platform. Single coherent asset, not a sprite sheet.
13
+ ```
14
+
15
+ ## AI to human
16
+
17
+ ```text
18
+ Use case: stylized-concept. Asset type: one production transparent PNG isometric software workflow asset with square framing. Create a premium nearly photoreal miniature 3D scene of AI TO HUMAN HANDOFF: unmistakably nonhuman sculptural graphite-and-brushed-silver AI compute appliance on the LEFT, with luminous cyan glass cognition core and a compact mechanical dispenser extending a translucent cyan document/data tablet toward a realistic professional man on the RIGHT. Human wears charcoal business casual clothes, has natural skin and hair, and reaches with both hands to RECEIVE the tablet from the machine. A restrained amber status beacon on the appliance signals a request for human attention. A small cyan rightward triangular embossed pointer on their shared low plinth reinforces direction machine-to-human without a long arrow. Same orthographic isometric camera, elevated front-right view, thirty-degree diamond axes, tight studio lighting upper-left, fine textiles, machined silver, graphite metal, porcelain white, luminous teal/cyan glass, tiny amber accents, believable volume, precise bevels and reflections. Both subjects grounded on one compact elegant diamond footing, whole scene fully visible and centered with generous transparent padding all around, tight soft contact shadow. Ground contact near x50%, y85%. Man is visibly receiving, AI appliance is visibly supplying, readable at 96px thumbnail. Genuine RGBA alpha transparent background. No scenery, white backdrop, painted checkerboard, labels, letters, logos, watermark, flat vector appearance, rectangular pictogram, cartoon, big platform, humanoid robot. Single coherent asset, not sprite sheet.
19
+ ```
@@ -0,0 +1,109 @@
1
+ # Process visual generation prompts
2
+
3
+ Generated with the built-in ImageGen tool on 2026-10-05. All four final PNGs are unaltered generated outputs with actual RGBA transparency. Each sheet is 1774 × 887 pixels and contains eight logical sprites in row-major order. No CLI or external API generation was used.
4
+
5
+ The canonical source `../.isostate-assets.yaml` and distributed `../manifest.json` record image paths relative to `assets/software-architecture`, pixel rectangles `[x, y, width, height]`, normalized anchors within each rectangle, labels, and tags. Anchors were visually checked at the lower ground contact of each sculpture. Independent crop partitions account for generated spacing; they are deliberately not assumed to be equal square cells.
6
+
7
+ Visual review confirmed distinct subjects, no lettering, and no visible clipping or neighboring-object bleed. Alpha inspection confirmed 0–255 channels and that all pixels with alpha at least 16 lie inside their assigned crop boundaries. Extremely faint generation fringe pixels may remain outside visible object silhouettes; source bytes are preserved.
8
+
9
+ ## Orchestration
10
+
11
+ File: `orchestration-sprites.png`
12
+
13
+ Logical sprites: `agent-workflow`, `agent-parallel`, `agent-router`, `agent-condition`, `agent-loop`, `agent-retry`, `agent-timeout`, `agent-error`.
14
+
15
+ Exact submitted prompt:
16
+
17
+ ```text
18
+ Use case: stylized-concept.
19
+ Asset type: production PNG sprite atlas for an isometric software architecture library.
20
+ Create exactly EIGHT separate photorealistic miniature 3D product sculptures in a perfectly regular FOUR COLUMN by TWO ROW grid. Wide 2:1 canvas, ideally 2048x1024. Each grid cell contains exactly one freestanding compact sculpture, visually centered, same scale, fitting a one-cell diamond ground footprint. All eight objects have identical orthographic isometric camera (view down about 30 degrees, visible top and front/right), realistic bevels, brushed gunmetal and silver, frosted cyan glass, beautiful precise PBR studio lighting, restrained amber indicator lights. Actual transparent RGBA background, no floor, no backdrop, no fake checkerboard. Each sculpture is entirely contained within the central 75% of its grid cell: at least 12% clear transparent margin around every cell, no touching neighbors or canvas borders, no connecting elements between sprites, no cast shadows beyond its own compact contact shadow. Each is physically detailed and volumetric, like premium collectible industrial hardware, not a flat symbol or a simple rectangle. Do not include words, letters, digits, labels, typography, captions, watermarks, decorative background, frames or grid lines. Symbols described below are substantial sculptural parts, never printed labels. Exact row-major subjects follow:
21
+ TOP ROW left to right:
22
+ 1. Workflow: three small cyan glass step podiums joined in sequence by short silver mechanical bridges, ascending slightly on one compact dark base.
23
+ 2. Parallel: one central silver inlet manifold dividing into three equally prominent cyan glass processing branches on a compact mechanical base, clearly parallel.
24
+ 3. Router: a hefty central rotary metal junction with three cyan glass pipe outlets in diverging directions and one amber selected outlet, a physical switching mechanism.
25
+ 4. Condition: a standing diamond-shaped cyan glass decision prism held inside a substantial metal pivot frame; two short exit channels, one green and one amber.
26
+ BOTTOM ROW left to right:
27
+ 5. Loop: a thick circular cyan glass processing ring fitted into a horizontal metal turntable, clockwise sculptural arrow integrated into the ring.
28
+ 6. Retry: a silver flywheel with a prominent amber curved return arrow wrapping halfway around a small cyan processor; clearly an industrial return/restart mechanism.
29
+ 7. Timeout: a large realistic hourglass with luminous amber grains, thick brushed metal top and bottom collars, compact cyan timing control at foot.
30
+ 8. Error: a rugged diagnostic console with a substantial red translucent upright warning triangle containing a sculptural exclamation mark, no written screen text.
31
+ Ensure all eight silhouettes are distinctive and separated by generous fully transparent gutters.
32
+ ```
33
+
34
+ ## Lifecycle
35
+
36
+ File: `lifecycle-sprites.png`
37
+
38
+ Logical sprites: `agent-trigger`, `agent-schedule`, `agent-await-human`, `agent-approval`, `agent-rejection`, `agent-escalation`, `agent-audit`, `agent-complete`.
39
+
40
+ Exact submitted prompt:
41
+
42
+ ```text
43
+ Use case: stylized-concept.
44
+ Asset type: production PNG sprite atlas for an isometric software architecture library.
45
+ Create exactly EIGHT separate photorealistic miniature 3D product sculptures in a perfectly regular FOUR COLUMN by TWO ROW grid. Wide 2:1 canvas, ideally 2048x1024. Each grid cell contains exactly one freestanding compact sculpture, visually centered, same scale, fitting a one-cell diamond ground footprint. All eight objects have identical orthographic isometric camera (view down about 30 degrees, visible top and front/right), realistic bevels, brushed gunmetal and silver, frosted cyan glass, beautiful precise PBR studio lighting, restrained amber indicator lights. Actual transparent RGBA background, no floor, no backdrop, no fake checkerboard. Each sculpture is entirely contained within the central 75% of its grid cell: at least 12% clear transparent margin around every cell, no touching neighbors or canvas borders, no connecting elements between sprites, no cast shadows beyond its own compact contact shadow. Each is physically detailed and volumetric, like premium collectible industrial hardware, not a flat symbol or a simple rectangle. Do not include words, letters, digits, labels, typography, captions, watermarks, decorative background, frames or grid lines. Symbols described below are substantial sculptural parts, never printed labels. Exact row-major subjects follow:
46
+ TOP ROW left to right:
47
+ 1. Trigger: a spring-loaded industrial pushbutton mechanism, oversized amber tactile button on a small dark steel base, cyan spark-shaped glass actuator rising behind it.
48
+ 2. Schedule: a substantial upright analog clock with cyan glass face, simple hour and minute hands but no numerals, brushed silver frame, attached to a miniature calendar-like metal rack with blank tabs.
49
+ 3. Await human: a friendly realistic miniature silver human bust, shoulders and head, beside a small slanted cyan console with two substantial amber pause bars rising from it, both share one compact base.
50
+ 4. Approval: a large green translucent checkmark mounted as a thick physical seal inside a circular silver inspection-stamp frame, small cyan dock at foot.
51
+ BOTTOM ROW left to right:
52
+ 5. Rejection: a substantial red horizontal barrier boom lowered across a small dark checkpoint gate, frosted red shield with a physical silver X behind it, compact base.
53
+ 6. Escalation: a stepped metal tower with three increasingly taller cyan glass sections and an amber upward arrow rail climbing its side; reads as raised priority.
54
+ 7. Audit: a beautiful thick open ledger with realistic ivory pages, cyan metal binding and a small magnifying glass over check-shaped indentations; no written words or glyphs.
55
+ 8. Complete: a finished silver trophy-like circular green glass medallion with raised silver checkmark, mounted over neatly stacked closed cyan document trays, celebratory but no confetti.
56
+ Ensure all eight silhouettes are distinctive and separated by generous fully transparent gutters.
57
+ ```
58
+
59
+ ## Servicenow
60
+
61
+ File: `servicenow-sprites.png`
62
+
63
+ Logical sprites: `servicenow-interaction`, `servicenow-request`, `servicenow-requested-item`, `servicenow-request-task`, `servicenow-catalog-item`, `servicenow-incident`, `servicenow-problem`, `servicenow-change`.
64
+
65
+ Exact submitted prompt:
66
+
67
+ ```text
68
+ Use case: stylized-concept.
69
+ Asset type: production PNG sprite atlas for an isometric software architecture library.
70
+ Create exactly EIGHT separate photorealistic miniature 3D product sculptures in a perfectly regular FOUR COLUMN by TWO ROW grid. Wide 2:1 canvas, ideally 2048x1024. Each grid cell contains exactly one freestanding compact sculpture, visually centered, same scale, fitting a one-cell diamond ground footprint. All eight objects have identical orthographic isometric camera (view down about 30 degrees, visible top and front/right), realistic bevels, brushed gunmetal and silver, frosted cyan glass, beautiful precise PBR studio lighting, restrained amber indicator lights. Actual transparent RGBA background, no floor, no backdrop, no fake checkerboard. Each sculpture is entirely contained within the central 75% of its grid cell: at least 12% clear transparent margin around every cell, no touching neighbors or canvas borders, no connecting elements between sprites, no cast shadows beyond its own compact contact shadow. Each is physically detailed and volumetric, like premium collectible industrial hardware, not a flat symbol or a simple rectangle. Do not include words, letters, digits, labels, typography, captions, watermarks, decorative background, frames or grid lines. Symbols described below are substantial sculptural parts, never printed labels. Exact row-major subjects follow:
71
+ This sheet is a ServiceNow business-workflow family. Use distinctive ServiceNow-inspired emerald green glass in place of cyan for the main record panels, with silver metal and restrained lime accents. The eight physical objects must be medium-small, occupying at most 65% of their allocated cell, with EXTRA generous margins including above tall objects.
72
+ TOP ROW left to right:
73
+ 1. Interaction: a substantial emerald glass conversation bubble nested with a smaller clear reply bubble, mounted in a silver cradle; a compact sculptural conversation record.
74
+ 2. Request: a silver intake tray holding one upright green glass document envelope with a substantial plus-shaped silver seal, looks like an incoming business request.
75
+ 3. Requested item: a compact emerald glass product cube inside an open silver parcel cradle, with one dangling unlettered green ticket tag showing a circular recessed mark.
76
+ 4. Request task: a realistic freestanding green metal clipboard with an ivory inset panel, three substantial silver checkmarks and shallow horizontal engraved lines, no letters.
77
+ BOTTOM ROW left to right:
78
+ 5. Catalog item: a single polished green glass package showcased on a miniature circular rotating product pedestal under a curved silver showcase arm, premium purchasable catalog product.
79
+ 6. Incident: a miniature rugged emerald service console with a red emergency beacon and a substantial silver warning triangle on front, no text.
80
+ 7. Problem: a realistic handheld silver magnifying glass leaning against an emerald glass mechanical gear with branching root-like silver traces underneath; physical root-cause investigation.
81
+ 8. Change: interlocking emerald and silver gears on a dark metal base with a realistic upright silver wrench crossing one gear; physical change management.
82
+ Keep top and bottom rows fully separate. Do not show words or brand logos. Distinct tangible recognizable metaphors, not repeated generic ticket rectangles.
83
+ ```
84
+
85
+ ## Infrastructure
86
+
87
+ File: `infrastructure-sprites.png`
88
+
89
+ Logical sprites: `infra-redis-cache`, `infra-redis-stream`, `infra-redis-pubsub`, `infra-vector-database`, `infra-object-storage`, `infra-knowledge-base`, `infra-api-tool`, `infra-secret-vault`.
90
+
91
+ Exact submitted prompt:
92
+
93
+ ```text
94
+ Use case: stylized-concept.
95
+ Asset type: production PNG sprite atlas for an isometric software architecture library.
96
+ Create exactly EIGHT separate photorealistic miniature 3D product sculptures in a perfectly regular FOUR COLUMN by TWO ROW grid. Wide 2:1 canvas, ideally 2048x1024. Each grid cell contains exactly one freestanding compact sculpture, visually centered, same scale, fitting a one-cell diamond ground footprint. All eight objects have identical orthographic isometric camera (view down about 30 degrees, visible top and front/right), realistic bevels, brushed gunmetal and silver, frosted cyan glass, beautiful precise PBR studio lighting, restrained amber indicator lights. Actual transparent RGBA background, no floor, no backdrop, no fake checkerboard. Each sculpture is entirely contained within the central 75% of its grid cell: at least 12% clear transparent margin around every cell, no touching neighbors or canvas borders, no connecting elements between sprites, no cast shadows beyond its own compact contact shadow. Each is physically detailed and volumetric, like premium collectible industrial hardware, not a flat symbol or a simple rectangle. Do not include words, letters, digits, labels, typography, captions, watermarks, decorative background, frames or grid lines. Symbols described below are substantial sculptural parts, never printed labels. Exact row-major subjects follow:
97
+ Objects occupy at most 70% of each grid cell. Redis-family first three objects share a recognizable stack of three red rounded square slabs, but their machinery and silhouettes differ unmistakably. No actual letters or logos.
98
+ TOP ROW left to right:
99
+ 1. Redis cache: three red enamel rounded square cache slabs stacked as a compact low machine, one open front glass chamber reveals three cyan glowing stored data cubes; brushed silver enclosure.
100
+ 2. Redis stream: three red rounded square slabs forming a compact stack alongside a short horizontal transparent cyan glass conveyor tube carrying a visible orderly single file of four small glowing amber data beads; integrated machine on one base.
101
+ 3. Redis pub/sub: three small red rounded square slabs stacked as a central hub, from it three short cyan glass tubes branch radially into three tiny metal receiving pods; compact and self contained.
102
+ 4. Vector database: a substantial clear cyan cubic crystal chamber containing an orderly spatial lattice of floating metal points joined by fine cyan rods, sits over two brushed silver cylindrical database tiers.
103
+ BOTTOM ROW left to right:
104
+ 5. Object storage: a rugged dark steel open storage crate holding three clearly separated luminous cyan glass cubes, visible lid hinges, realistic industrial details.
105
+ 6. Knowledge base: three thick upright technical books with pale pages and cyan glass covers, varied heights, held in a dark metal archival rack, tiny amber light at foot, no spine text.
106
+ 7. API tool: a realistic compact silver articulated robot tool arm with cyan joints, gripping a small gold wrench over a cyan input/output socket console, all one freestanding machine.
107
+ 8. Secret vault: a thick square brushed silver safe with a massive round vault door partially inset, realistic wheel lock and bolts, a cyan key-shaped glass sculptural insert on the door; dark pedestal base.
108
+ Ensure eight detailed premium 3D product cutouts, generous empty transparent gutters and a consistent camera and lighting.
109
+ ```