Skip to content

Commit cb9656c

Browse files
committed
text2img_basePrompt.jsonをblobに含めるよう修正
loadLz4BlobProjectFileがtext2img_basePrompt.jsonを読み込もうとしてnullになりエラーが発生していた https://claude.ai/code/session_01CNYq111yXiHKxE7QtVFd1f
1 parent f4fb2ea commit cb9656c

File tree

1 file changed

+12
-25
lines changed

1 file changed

+12
-25
lines changed

js/ai/queue/generation-task-manager.js

Lines changed: 12 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,7 @@ var generationTaskMap=new Map();
44
async function registerGenerationTask(taskId,taskInfo){
55
var canvasGuid=getCanvasGUID();
66
if(!btmProjectsMap.has(canvasGuid)){
7-
try{
87
await btmSaveProjectFile(canvasGuid,false);
9-
generationTaskLogger.debug("Saved current page to btmProjectsMap",canvasGuid);
10-
var savedData=btmProjectsMap.get(canvasGuid);
11-
generationTaskLogger.debug("Saved data check",{
12-
hasData:!!savedData,
13-
hasBlob:!!(savedData&&savedData.blob),
14-
blobType:savedData&&savedData.blob?savedData.blob.constructor.name:'none'
15-
});
16-
}catch(e){
17-
generationTaskLogger.error("Failed to save current page",e);
18-
}
198
}
209
var info={
2110
canvasGuid:canvasGuid,
@@ -79,22 +68,10 @@ return false;
7968
try{
8069
var result=await processImageOnOffscreenCanvas(projectData.blob,task,fabricImage);
8170
if(result.success){
82-
generationTaskLogger.debug("processImageOnOffscreenCanvas result",{
83-
hasBlobResult:!!result.blob,
84-
blobType:result.blob?result.blob.constructor.name:'none',
85-
blobSize:result.blob?result.blob.size:0
86-
});
8771
btmProjectsMap.set(task.canvasGuid,{
8872
imageLink:result.previewLink,
8973
blob:result.blob
9074
});
91-
var updatedData=btmProjectsMap.get(task.canvasGuid);
92-
generationTaskLogger.debug("Updated btmProjectsMap",{
93-
hasData:!!updatedData,
94-
hasBlob:!!(updatedData&&updatedData.blob),
95-
blobType:updatedData&&updatedData.blob?updatedData.blob.constructor.name:'none',
96-
blobSize:updatedData&&updatedData.blob?updatedData.blob.size:0
97-
});
9875
btmUpdateThumbnail(task.canvasGuid,result.previewLink);
9976
showGenerationCompleteNotification(task.canvasGuid);
10077
}
@@ -124,6 +101,14 @@ var localStateStack=[];
124101
var canvasInfoBuffer=getDataByName(files,"canvas_info.json");
125102
var canvasInfoStr=ArrayBufferUtils.fromArrayBufferToString(canvasInfoBuffer);
126103
var canvasInfo=canvasInfoStr?JSON.parse(canvasInfoStr):{width:750,height:850};
104+
var basePromptBuffer=getDataByName(files,"text2img_basePrompt.json");
105+
var basePromptData={};
106+
if(basePromptBuffer){
107+
var basePromptStr=ArrayBufferUtils.fromArrayBufferToString(basePromptBuffer);
108+
if(basePromptStr){
109+
basePromptData=JSON.parse(basePromptStr);
110+
}
111+
}
127112
offscreenCanvas.setWidth(canvasInfo.width);
128113
offscreenCanvas.setHeight(canvasInfo.height);
129114
var sortedFiles=files.sort((a,b)=>{
@@ -168,7 +153,7 @@ placeImageOnOffscreenCanvas(offscreenCanvas,fabricImage,task,targetLayer,localIm
168153
offscreenCanvas.renderAll();
169154
var newState=customToJSONForOffscreen(offscreenCanvas,localImageMap);
170155
localStateStack.push(JSON.stringify(newState));
171-
var newBlob=await generateBlobForOffscreen(localStateStack,localImageMap,canvasInfo,offscreenCanvas);
156+
var newBlob=await generateBlobForOffscreen(localStateStack,localImageMap,canvasInfo,offscreenCanvas,basePromptData);
172157
var previewLink=generatePreviewFromOffscreen(offscreenCanvas);
173158
return{
174159
success:true,
@@ -309,8 +294,10 @@ objectCaching:false
309294
return clipPath;
310295
}
311296

312-
async function generateBlobForOffscreen(localStateStack,localImageMap,canvasInfo,offscreenCanvas){
297+
async function generateBlobForOffscreen(localStateStack,localImageMap,canvasInfo,offscreenCanvas,basePromptData){
313298
var fileBufferList=[];
299+
var basePromptBuffer=await ArrayBufferUtils.toArrayBuffer(JSON.stringify(basePromptData||{}));
300+
lz4Compressor.putDataListByArrayBuffer(fileBufferList,'text2img_basePrompt.json',basePromptBuffer);
314301
for(var i=0;i<localStateStack.length;i++){
315302
var stateStr=typeof localStateStack[i]==='string'?localStateStack[i]:JSON.stringify(localStateStack[i]);
316303
var buffer=await ArrayBufferUtils.toArrayBuffer(stateStr);

0 commit comments

Comments
 (0)