@treasuryspatial/render-kit 0.1.4 → 0.1.8

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.
@@ -0,0 +1,21 @@
1
+ export declare const courtyardDesignOverlay: {
2
+ assembly: {
3
+ strategy: string;
4
+ updateBlocks: string[];
5
+ includeUserPrompt: boolean;
6
+ };
7
+ task: {
8
+ variants: {
9
+ design: string[];
10
+ };
11
+ };
12
+ blocks: {
13
+ view: {
14
+ footerLines: {
15
+ text: string;
16
+ ensureSentence: boolean;
17
+ }[];
18
+ };
19
+ };
20
+ };
21
+ //# sourceMappingURL=courtyard.mode.design.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"courtyard.mode.design.d.ts","sourceRoot":"","sources":["../../../src/prompt-pack/packs/courtyard.mode.design.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;CAgClC,CAAC"}
@@ -0,0 +1,33 @@
1
+ export const courtyardDesignOverlay = {
2
+ "assembly": {
3
+ "strategy": "base+update",
4
+ "updateBlocks": [
5
+ "form",
6
+ "view",
7
+ "style",
8
+ "program",
9
+ "context"
10
+ ],
11
+ "includeUserPrompt": true
12
+ },
13
+ "task": {
14
+ "variants": {
15
+ "design": [
16
+ "Render a photorealistic architectural visualization of an urban courtyard using the provided massing/line model as the primary geometry reference.",
17
+ "Use the input image as the exact geometry and camera reference; do not alter footprint, enclosure, height, or framing.",
18
+ "Treat the massing as ground-truth for footprint, height, and courtyard enclosure; apply facade, roof, and program detail from the feature blocks and user prompt.",
19
+ "Prioritize architectural realism, material credibility, and clear courtyard enclosure suitable for design review."
20
+ ]
21
+ }
22
+ },
23
+ "blocks": {
24
+ "view": {
25
+ "footerLines": [
26
+ {
27
+ "text": "Maintain the camera framing from the input image; do not reinterpret the view.",
28
+ "ensureSentence": true
29
+ }
30
+ ]
31
+ }
32
+ }
33
+ };
@@ -0,0 +1,27 @@
1
+ export declare const courtyardMapOverlay: {
2
+ assembly: {
3
+ strategy: string;
4
+ updateBlocks: string[];
5
+ includeUserPrompt: boolean;
6
+ };
7
+ task: {
8
+ variants: {
9
+ map: string[];
10
+ };
11
+ };
12
+ blocks: {
13
+ context: {
14
+ footerLines: {
15
+ text: string;
16
+ ensureSentence: boolean;
17
+ }[];
18
+ };
19
+ view: {
20
+ footerLines: {
21
+ text: string;
22
+ ensureSentence: boolean;
23
+ }[];
24
+ };
25
+ };
26
+ };
27
+ //# sourceMappingURL=courtyard.mode.map.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"courtyard.mode.map.d.ts","sourceRoot":"","sources":["../../../src/prompt-pack/packs/courtyard.mode.map.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;CAyC/B,CAAC"}
@@ -0,0 +1,42 @@
1
+ export const courtyardMapOverlay = {
2
+ "assembly": {
3
+ "strategy": "base+update",
4
+ "updateBlocks": [
5
+ "form",
6
+ "view",
7
+ "style",
8
+ "program",
9
+ "context"
10
+ ],
11
+ "includeUserPrompt": true
12
+ },
13
+ "task": {
14
+ "variants": {
15
+ "map": [
16
+ "Render a photorealistic architectural visualization of an urban courtyard using the provided massing/line model as the primary geometry reference.",
17
+ "Use the input image as the exact geometry and camera reference; do not alter footprint, enclosure, height, or framing.",
18
+ "Treat the massing as ground-truth for footprint and courtyard enclosure; apply facade, roof, and program detail from the feature blocks and user prompt.",
19
+ "Map footprint and site selection are authoritative; preserve the selected parcel context and orientation.",
20
+ "Prioritize architectural realism, material credibility, and clear courtyard enclosure suitable for design review."
21
+ ]
22
+ }
23
+ },
24
+ "blocks": {
25
+ "context": {
26
+ "footerLines": [
27
+ {
28
+ "text": "Site location, parcel footprint, and orientation come from the map selection and must remain fixed.",
29
+ "ensureSentence": true
30
+ }
31
+ ]
32
+ },
33
+ "view": {
34
+ "footerLines": [
35
+ {
36
+ "text": "Maintain the camera framing from the input image; do not reinterpret the view.",
37
+ "ensureSentence": true
38
+ }
39
+ ]
40
+ }
41
+ }
42
+ };
@@ -0,0 +1,4 @@
1
+ export { courtyardBasePack } from './courtyard.base';
2
+ export { courtyardDesignOverlay } from './courtyard.mode.design';
3
+ export { courtyardMapOverlay } from './courtyard.mode.map';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/prompt-pack/packs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { courtyardBasePack } from './courtyard.base';
2
+ export { courtyardDesignOverlay } from './courtyard.mode.design';
3
+ export { courtyardMapOverlay } from './courtyard.mode.map';
@@ -0,0 +1,34 @@
1
+ import type { PromptBlockId, PromptBlockSpec, PromptField, PromptPack, PromptPackAssembly, PromptSectionSpec, PromptWarningSpec, PromptMode } from './types';
2
+ export type PromptPackRef = {
3
+ id?: string;
4
+ version?: string;
5
+ };
6
+ type PromptPackOverlay = {
7
+ task?: PromptPack['task'];
8
+ blocks?: Partial<Record<PromptBlockId, Partial<PromptBlockSpec>>>;
9
+ fields?: Record<string, Partial<PromptField>>;
10
+ sections?: PromptSectionSpec[];
11
+ warnings?: PromptWarningSpec[];
12
+ assembly?: PromptPackAssembly;
13
+ };
14
+ type PromptPackRecord = {
15
+ id: string;
16
+ version: string;
17
+ base: PromptPack;
18
+ overlays?: Partial<Record<PromptMode, PromptPackOverlay>>;
19
+ };
20
+ export type PromptPackRegistry = Record<string, PromptPackRecord>;
21
+ export declare const mergePromptPack: (base: PromptPack, overlay?: PromptPackOverlay | null) => PromptPack;
22
+ export declare const PROMPT_PACK_REGISTRY: PromptPackRegistry;
23
+ export declare const resolvePromptPackFromRegistry: (options: {
24
+ mode: PromptMode;
25
+ packId?: string;
26
+ packVersion?: string;
27
+ registry?: PromptPackRegistry;
28
+ }) => {
29
+ pack: PromptPack;
30
+ assembly: PromptPackAssembly;
31
+ ref: Required<PromptPackRef>;
32
+ };
33
+ export {};
34
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/prompt-pack/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,eAAe,EACf,WAAW,EAEX,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,UAAU,EACX,MAAM,SAAS,CAAC;AAIjB,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,iBAAiB,GAAG;IACvB,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAClE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;IAC9C,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;CAC3D,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;AA4DlE,eAAO,MAAM,eAAe,GAAI,MAAM,UAAU,EAAE,UAAU,iBAAiB,GAAG,IAAI,KAAG,UAoBtF,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,kBAUlC,CAAC;AAIF,eAAO,MAAM,6BAA6B,GAAI,SAAS;IACrD,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;CAC/B;;;;CAYA,CAAC"}
@@ -0,0 +1,107 @@
1
+ import { courtyardBasePack, courtyardDesignOverlay, courtyardMapOverlay } from './packs';
2
+ const DEFAULT_ASSEMBLY = {
3
+ strategy: 'full',
4
+ updateBlocks: ['form', 'view', 'style', 'program', 'context'],
5
+ includeUserPrompt: true,
6
+ };
7
+ const mergeOptions = (baseOptions, overlayOptions) => {
8
+ if (!overlayOptions || overlayOptions.length === 0)
9
+ return baseOptions;
10
+ if (!baseOptions || baseOptions.length === 0)
11
+ return overlayOptions;
12
+ const byValue = new Map();
13
+ baseOptions.forEach((option) => byValue.set(option.value, option));
14
+ overlayOptions.forEach((option) => {
15
+ const existing = byValue.get(option.value);
16
+ byValue.set(option.value, existing ? { ...existing, ...option } : option);
17
+ });
18
+ const merged = [];
19
+ baseOptions.forEach((option) => {
20
+ const next = byValue.get(option.value);
21
+ if (next)
22
+ merged.push(next);
23
+ });
24
+ overlayOptions.forEach((option) => {
25
+ if (!baseOptions.some((base) => base.value === option.value)) {
26
+ merged.push(option);
27
+ }
28
+ });
29
+ return merged;
30
+ };
31
+ const mergeBlocks = (base, overlay) => {
32
+ if (!overlay)
33
+ return base;
34
+ return {
35
+ ...base,
36
+ ...overlay,
37
+ fields: overlay.fields ?? base.fields,
38
+ lines: overlay.lines ? [...(base.lines ?? []), ...overlay.lines] : base.lines,
39
+ footerLines: overlay.footerLines ? [...(base.footerLines ?? []), ...overlay.footerLines] : base.footerLines,
40
+ };
41
+ };
42
+ const mergeFields = (base, overlay) => {
43
+ if (!overlay)
44
+ return base;
45
+ const merged = { ...base };
46
+ Object.entries(overlay).forEach(([fieldId, patch]) => {
47
+ const existing = merged[fieldId];
48
+ if (!existing) {
49
+ merged[fieldId] = patch;
50
+ return;
51
+ }
52
+ const options = mergeOptions(existing.options, patch.options);
53
+ merged[fieldId] = {
54
+ ...existing,
55
+ ...patch,
56
+ options,
57
+ };
58
+ });
59
+ return merged;
60
+ };
61
+ export const mergePromptPack = (base, overlay) => {
62
+ if (!overlay)
63
+ return base;
64
+ const mergedBlocks = { ...base.blocks };
65
+ Object.entries(overlay.blocks ?? {}).forEach(([blockId, patch]) => {
66
+ const id = blockId;
67
+ const baseBlock = base.blocks[id];
68
+ if (!baseBlock)
69
+ return;
70
+ mergedBlocks[id] = mergeBlocks(baseBlock, patch);
71
+ });
72
+ return {
73
+ ...base,
74
+ ...overlay,
75
+ task: overlay.task ?? base.task,
76
+ blocks: mergedBlocks,
77
+ fields: mergeFields(base.fields, overlay.fields),
78
+ sections: overlay.sections ?? base.sections,
79
+ warnings: overlay.warnings ?? base.warnings,
80
+ assembly: overlay.assembly ?? base.assembly,
81
+ };
82
+ };
83
+ export const PROMPT_PACK_REGISTRY = {
84
+ courtyard: {
85
+ id: 'courtyard',
86
+ version: courtyardBasePack.version,
87
+ base: courtyardBasePack,
88
+ overlays: {
89
+ design: courtyardDesignOverlay,
90
+ map: courtyardMapOverlay,
91
+ },
92
+ },
93
+ };
94
+ const DEFAULT_PROMPT_PACK_ID = 'courtyard';
95
+ export const resolvePromptPackFromRegistry = (options) => {
96
+ const registry = options.registry ?? PROMPT_PACK_REGISTRY;
97
+ const requestedId = options.packId?.trim() || DEFAULT_PROMPT_PACK_ID;
98
+ const record = registry[requestedId] ?? registry[DEFAULT_PROMPT_PACK_ID];
99
+ const overlay = record?.overlays?.[options.mode];
100
+ const pack = mergePromptPack(record.base, overlay ?? undefined);
101
+ const assembly = overlay?.assembly ?? pack.assembly ?? record.base.assembly ?? DEFAULT_ASSEMBLY;
102
+ const ref = {
103
+ id: record.id,
104
+ version: record.version,
105
+ };
106
+ return { pack, assembly, ref };
107
+ };
@@ -44,6 +44,7 @@ export type PromptFieldBase = {
44
44
  label?: string;
45
45
  description?: string;
46
46
  block?: PromptBlockId;
47
+ ui?: 'chip';
47
48
  optionSource?: string;
48
49
  options?: PromptOption[];
49
50
  promptTemplate?: string;
@@ -77,12 +78,25 @@ export type PromptWarningSpec = {
77
78
  message: string;
78
79
  when: PromptCondition;
79
80
  };
81
+ export type PromptSectionGroup = {
82
+ id?: string;
83
+ label: string;
84
+ description?: string;
85
+ fields: string[];
86
+ };
80
87
  export type PromptSectionSpec = {
81
88
  id: string;
82
89
  label: string;
83
90
  description?: string;
84
91
  blocks?: PromptBlockId[];
85
92
  fields?: string[];
93
+ groups?: PromptSectionGroup[];
94
+ };
95
+ export type PromptPackAssembly = {
96
+ strategy: 'full' | 'base+update' | string;
97
+ updateBlocks?: PromptBlockId[];
98
+ includeUserPrompt?: boolean;
99
+ includeBasePrompt?: boolean;
86
100
  };
87
101
  export type PromptPack = {
88
102
  id: string;
@@ -90,6 +104,7 @@ export type PromptPack = {
90
104
  label?: string;
91
105
  description?: string;
92
106
  blockOrder?: PromptBlockId[];
107
+ assembly?: PromptPackAssembly;
93
108
  task?: PromptTaskSpec;
94
109
  blocks: Record<PromptBlockId, PromptBlockSpec>;
95
110
  fields: Record<string, PromptField>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/prompt-pack/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/prompt-pack/types.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ export type RenderRequestPayload = {
3
3
  prompt: string;
4
4
  image?: string;
5
5
  referenceImages?: string[];
6
+ model?: string;
6
7
  requestKind: RenderRequestKind;
7
8
  previousInteractionId?: string;
8
9
  meta?: Record<string, any>;
@@ -12,6 +13,14 @@ export type RenderRequestPayload = {
12
13
  export type RenderRequestResult = {
13
14
  imageUrl: string;
14
15
  interactionId?: string;
16
+ stamped?: boolean;
17
+ title?: string;
18
+ storage?: {
19
+ bucket: string;
20
+ key: string;
21
+ metaKey?: string;
22
+ url?: string;
23
+ };
15
24
  };
16
25
  export declare function renderRequest(payload: RenderRequestPayload): Promise<RenderRequestResult>;
17
26
  //# sourceMappingURL=render-api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render-api.d.ts","sourceRoot":"","sources":["../src/render-api.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEnD,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,WAAW,EAAE,iBAAiB,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAKF,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CA2B/F"}
1
+ {"version":3,"file":"render-api.d.ts","sourceRoot":"","sources":["../src/render-api.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEnD,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,iBAAiB,CAAC;IAC/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,GAAG,EAAE,MAAM,CAAC;QACZ,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;CACH,CAAC;AAKF,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAiC/F"}
@@ -24,5 +24,11 @@ export async function renderRequest(payload) {
24
24
  const imageUrl = json.enhanced_image || json.imageUrl || '';
25
25
  if (!imageUrl)
26
26
  throw new Error('Gemini response missing image');
27
- return { imageUrl, interactionId: json.interactionId };
27
+ return {
28
+ imageUrl,
29
+ interactionId: json.interactionId,
30
+ stamped: Boolean(json.stamped),
31
+ title: typeof json.title === 'string' ? json.title : undefined,
32
+ storage: json.storage,
33
+ };
28
34
  }