baseplane, root-object offset, saveKF & resetKF buttons...

This commit is contained in:
STEINNI
2025-10-21 15:55:22 +00:00
parent 36776162ec
commit aa76bfe9c0
6 changed files with 67 additions and 14 deletions
+26 -7
View File
@@ -14,21 +14,36 @@
.kf-editor canvas[data-output="kfArenaCanvas"]{ width:100%; height:100%; }
.kf-editor article.agent-preview section, .kf-editor article.agent-properties section{
display: grid;
grid-template-rows: auto 2em;
grid-template-rows: 2em auto 2em;
height: 100%;
}
.kf-editor article.kfArena section{
padding: 0;
height: 100%;
overflow: hidden;
}
.kf-editor article.agent-preview section div.actions button{
.kf-editor article.agent-properties section div.agent-actions{
border: 1px solid #574;
border-radius: 5px;
background-color: #231;
box-shadow: 0px 0px 7px #0B69;
height: 2em;
padding: 0 5px 0 5px;
}
.kf-editor article.agent-properties section div.agent-actions button{
color: #DDD;
padding: 0 0 0 0;
min-height: 0.5em;
min-height: 1.2em;
}
.kf-editor article.agent-properties section div.kf-actions button{
color: #DDD;
padding: 0 0 0 0;
min-height: 2em;
}
.kf-editor button[data-trigger="onAddAgent"] { background-color: #473; }
.kf-editor button[data-trigger="onRemoveAgent"] { background-color: #A00; }
.kf-editor button[data-trigger="onSaveKF"] { background-color: #367; }
.kf-editor button[data-trigger="onResetKF"] { background-color: #A00; }
.kf-editor section[data-output="agentProperties"] label{ font-size: 0.9em; }
.kf-editor section[data-output="agentProperties"] div.cols-2 { grid-template-columns: 4fr 3fr; }
@@ -51,10 +66,14 @@
<article eiccard class="agent-properties">
<header><h1>Agent properties</h1></header>
<section>
<div class="agent-actions cols-2">
<button eicbutton rounded data-output="btnAddAgent" data-trigger="onAddAgent">Create agent</button>
<button eicbutton rounded data-output="btnRemoveAgent" data-trigger="onRemoveAgent" >Remove agent</button>
</div>
<div data-output="agentProperties"></div>
<div class="actions cols-2">
<button eicbutton rounded data-output="btnAddAgent" data-trigger="onAddAgent">Add</button>
<button eicbutton rounded data-output="btnRemoveAgent" data-trigger="onRemoveAgent" >Remove</button>
<div class="kf-actions cols-2">
<button eicbutton rounded data-output="btnSaveKF" data-trigger="onSaveKF">Save KF</button>
<button eicbutton rounded data-output="btnResetKF" data-trigger="onResetKF">Reset KF</button>
</div>
</section>
</article>
+2 -2
View File
@@ -43,10 +43,10 @@ class KeyframeView extends WindozDomContent {
this.kfArena = new app.LoadedModules.kfArena(this.outputs.kfArenaCanvas, this.agentSprites)
this.kfArena.startRendering()
this.outputs.btnAddAgent.disabled = true
this.outputs.btnRemoveAgent.disabled = true
this.outputs.btnSaveKF.disabled = true
}
async onChangeAgent(event){
+15 -2
View File
@@ -33,10 +33,23 @@ export class kfArena{
this.scene.add(light)
this.scene.add(new THREE.AmbientLight(0xffffff, 0.4))
this.grid = new THREE.GridHelper(this.sceneSize.x, this.sceneSize.y, 0x8888AA, 0x8888AA)
this.grid = new THREE.GridHelper(this.sceneSize.x, this.sceneSize.x, 0x8888AA, 0x8888AA)
this.grid.layers.set(1)
this.scene.add(this.grid)
// Base plane
const planeGeo = new THREE.PlaneGeometry(100, 100)
const planeMat = new THREE.MeshBasicMaterial({
color: 0xaaaacc,
opacity: 0.3,
transparent: true, // needed for opacity < 1 to take effect
side: THREE.DoubleSide
})
this.basePlane = new THREE.Mesh(planeGeo, planeMat)
this.basePlane.rotation.x = -Math.PI / 2 // lay it flat (like the grid)
this.basePlane.position.y=-0.01 // to avoid artefacts on objets bases
this.scene.add(this.basePlane)
this.axes = new THREE.AxesHelper(this.sceneSize.x/2, this.sceneSize.y/2)
this.axes.layers.set(2)
this.scene.add(this.axes)