From 3133e30f211251822052091dddf4b4d121d7bcbd Mon Sep 17 00:00:00 2001 From: Flavio Calva Date: Sat, 19 Nov 2022 09:35:24 +0200 Subject: [PATCH] test handle --- assets/models/blend/test_handle/albedo.png | Bin 0 -> 18947 bytes .../blend/test_handle/test_handle.blend | Bin 0 -> 873852 bytes pmachines/editor/inspector.py | 257 ++++++++++++++++++ pmachines/editor/scene.py | 69 ++++- pmachines/items/test_item.py | 19 ++ pmachines/scene.py | 65 +++-- prj.org | 2 +- ya2/p3d/asserts.py | 2 +- 8 files changed, 378 insertions(+), 36 deletions(-) create mode 100644 assets/models/blend/test_handle/albedo.png create mode 100644 assets/models/blend/test_handle/test_handle.blend create mode 100644 pmachines/items/test_item.py diff --git a/assets/models/blend/test_handle/albedo.png b/assets/models/blend/test_handle/albedo.png new file mode 100644 index 0000000000000000000000000000000000000000..e7e35f850d91b0e26e710fe6931dc92216b12895 GIT binary patch literal 18947 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

`_hbqG(axK{@dH!=(^{$+I$=nlq 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 literal 0 HcmV?d00001 diff --git a/pmachines/editor/inspector.py b/pmachines/editor/inspector.py index b5440a0..4d64dc5 100644 --- a/pmachines/editor/inspector.py +++ b/pmachines/editor/inspector.py @@ -9,6 +9,7 @@ from direct.gui.DirectGui import DirectButton, DirectFrame, DirectEntry, DirectO from direct.gui.DirectGuiGlobals import FLAT, NORMAL from direct.gui.OnscreenText import OnscreenText from direct.showbase.DirectObject import DirectObject +from ya2.p3d.gfx import P3dGfxMgr from pmachines.items.item import ItemStrategy, FixedStrategy, StillStrategy from pmachines.items.box import HitStrategy from pmachines.items.domino import DownStrategy, UpStrategy @@ -270,3 +271,259 @@ class Inspector(DirectObject): self._frm.destroy() self.ignore('item-rototranslated') messenger.send('editor-inspector-destroy') + + +class PixelSpaceInspector(DirectObject): + + def __init__(self, item, all_items): + super().__init__() + self.__item = item + self.__all_items = all_items + self._font = base.loader.load_font( + 'assets/fonts/Hanken-Book.ttf') + self._font.clear() + self._font.set_pixels_per_unit(60) + self._font.set_minfilter(Texture.FTLinearMipmapLinear) + self._font.set_outline((0, 0, 0, 1), .8, .2) + self._common = { + 'scale': .046, + 'text_font': self._font, + 'text_fg': (.9, .9, .9, 1), + 'relief': FLAT, + 'frameColor': (.4, .4, .4, .14), + 'rolloverSound': loader.load_sfx( + 'assets/audio/sfx/rollover.ogg'), + 'clickSound': loader.load_sfx( + 'assets/audio/sfx/click.ogg')} + w, h = .8, .36 + self._frm = DirectFrame(frameColor=(.4, .4, .4, .06), + frameSize=(0, w, -h, 0), + parent=base.a2dTopRight, + pos=(-w, 0, 0)) + self.__z = -.08 + p = self.__item._np.get_pos() + _id = '' + if 'id' in self.__item.json: + _id = self.__item.json['id'] + t, pos_entry = self.__add_row(_('position'), f'{round(p.x, 3)}, {round(p.z, 3)}', self.on_edit_position) + t, id_entry = self.__add_row(_('id'), _id, self.on_edit_id) + fields = ['position', 'id'] + Entries = namedtuple('Entries', fields) + self.__entries = Entries(pos_entry, id_entry) + def load_images_btn(path, col): + colors = { + 'gray': [ + (.6, .6, .6, 1), # ready + (1, 1, 1, 1), # press + (.8, .8, .8, 1), # rollover + (.4, .4, .4, .4)], + 'green': [ + (.1, .68, .1, 1), + (.1, 1, .1, 1), + (.1, .84, .1, 1), + (.4, .1, .1, .4)]}[col] + return [self.__load_img_btn(path, col) for col in colors] + fcols = (.4, .4, .4, .14), (.3, .3, .3, .05) + DirectButton( + image=load_images_btn('exitRight', 'gray'), scale=.05, + pos=(.06, 1, -h + .06), + parent=self._frm, command=self.destroy, state=NORMAL, relief=FLAT, + frameColor=fcols[0], + rolloverSound=loader.load_sfx('assets/audio/sfx/rollover.ogg'), + clickSound=loader.load_sfx('assets/audio/sfx/click.ogg')) + self.accept('item-rototranslated', self.__on_item_rototranslated) + DirectButton( + image=load_images_btn('trashcan', 'gray'), scale=.05, + pos=(.18, 1, -h + .06), + parent=self._frm, command=self.__delete_item, state=NORMAL, relief=FLAT, + frameColor=fcols[0], + rolloverSound=loader.load_sfx('assets/audio/sfx/rollover.ogg'), + clickSound=loader.load_sfx('assets/audio/sfx/click.ogg')) + + def __add_row(self, label, text, callback): + tw = 10 + t = OnscreenText( + label, + pos=(.03, self.__z), parent=self._frm, + font=self._common['text_font'], + scale=self._common['scale'], + fg=self._common['text_fg'], + wordwrap=20, align=TextNode.ALeft) + e = DirectEntry( + scale=self._common['scale'], + pos=(.30, 1, self.__z), + entryFont=self._font, + width=tw, + cursorKeys=True, + frameColor=self._common['frameColor'], + initialText=text, + parent=self._frm, + text_fg=self._common['text_fg'], + command=callback) + self.__z -= .1 + return t, e + + def __load_img_btn(self, path, col): + img = OnscreenImage('assets/images/buttons/%s.dds' % path) + img.set_transparency(True) + img.set_color(col) + img.detach_node() + return img + + def __on_item_rototranslated(self, np): + pos = P3dGfxMgr.pos2d_p2d(np) + self.__entries.position.set('%s %s' % (str(round(pos[0], 3)), str(round(pos[1], 3)))) + self.__item.json['position'] = list(pos) + + def __delete_item(self): + messenger.send('editor-inspector-delete', [self.__item]) + self.destroy() + + @property + def item(self): + return self.__item + + def on_edit_position(self, txt): + x, z = map(float, txt.split()) + self.__item.position = [x, 0, z] + + def on_edit_id(self, txt): + self.__item.id = txt + + def __actually_close(self, arg): + self.__entries.strategy.set('') + self.__entries.strategy_args.set('') + self.__dialog.cleanup() + + def destroy(self): + self._frm.destroy() + self.ignore('item-rototranslated') + messenger.send('editor-inspector-destroy') + + +class WorldSpaceInspector(DirectObject): + + def __init__(self, item, all_items): + super().__init__() + self.__item = item + self.__all_items = all_items + self._font = base.loader.load_font( + 'assets/fonts/Hanken-Book.ttf') + self._font.clear() + self._font.set_pixels_per_unit(60) + self._font.set_minfilter(Texture.FTLinearMipmapLinear) + self._font.set_outline((0, 0, 0, 1), .8, .2) + self._common = { + 'scale': .046, + 'text_font': self._font, + 'text_fg': (.9, .9, .9, 1), + 'relief': FLAT, + 'frameColor': (.4, .4, .4, .14), + 'rolloverSound': loader.load_sfx( + 'assets/audio/sfx/rollover.ogg'), + 'clickSound': loader.load_sfx( + 'assets/audio/sfx/click.ogg')} + w, h = .8, .36 + self._frm = DirectFrame(frameColor=(.4, .4, .4, .06), + frameSize=(0, w, -h, 0), + parent=base.a2dTopRight, + pos=(-w, 0, 0)) + self.__z = -.08 + p = self.__item._np.get_pos() + _id = '' + if 'id' in self.__item.json: + _id = self.__item.json['id'] + t, pos_entry = self.__add_row(_('position'), f'{round(p.x, 3)}, {round(p.z, 3)}', self.on_edit_position) + t, id_entry = self.__add_row(_('id'), _id, self.on_edit_id) + fields = ['position', 'id'] + Entries = namedtuple('Entries', fields) + self.__entries = Entries(pos_entry, id_entry) + def load_images_btn(path, col): + colors = { + 'gray': [ + (.6, .6, .6, 1), # ready + (1, 1, 1, 1), # press + (.8, .8, .8, 1), # rollover + (.4, .4, .4, .4)], + 'green': [ + (.1, .68, .1, 1), + (.1, 1, .1, 1), + (.1, .84, .1, 1), + (.4, .1, .1, .4)]}[col] + return [self.__load_img_btn(path, col) for col in colors] + fcols = (.4, .4, .4, .14), (.3, .3, .3, .05) + DirectButton( + image=load_images_btn('exitRight', 'gray'), scale=.05, + pos=(.06, 1, -h + .06), + parent=self._frm, command=self.destroy, state=NORMAL, relief=FLAT, + frameColor=fcols[0], + rolloverSound=loader.load_sfx('assets/audio/sfx/rollover.ogg'), + clickSound=loader.load_sfx('assets/audio/sfx/click.ogg')) + self.accept('item-rototranslated', self.__on_item_rototranslated) + DirectButton( + image=load_images_btn('trashcan', 'gray'), scale=.05, + pos=(.18, 1, -h + .06), + parent=self._frm, command=self.__delete_item, state=NORMAL, relief=FLAT, + frameColor=fcols[0], + rolloverSound=loader.load_sfx('assets/audio/sfx/rollover.ogg'), + clickSound=loader.load_sfx('assets/audio/sfx/click.ogg')) + + def __add_row(self, label, text, callback): + tw = 10 + t = OnscreenText( + label, + pos=(.03, self.__z), parent=self._frm, + font=self._common['text_font'], + scale=self._common['scale'], + fg=self._common['text_fg'], + wordwrap=20, align=TextNode.ALeft) + e = DirectEntry( + scale=self._common['scale'], + pos=(.30, 1, self.__z), + entryFont=self._font, + width=tw, + cursorKeys=True, + frameColor=self._common['frameColor'], + initialText=text, + parent=self._frm, + text_fg=self._common['text_fg'], + command=callback) + self.__z -= .1 + return t, e + + def __load_img_btn(self, path, col): + img = OnscreenImage('assets/images/buttons/%s.dds' % path) + img.set_transparency(True) + img.set_color(col) + img.detach_node() + return img + + def __on_item_rototranslated(self, np): + pos = np.get_pos() + self.__entries.position.set('%s %s' % (str(round(pos.x, 3)), str(round(pos.z, 3)))) + self.__item.json['position'] = list(pos) + + def __delete_item(self): + messenger.send('editor-inspector-delete', [self.__item]) + self.destroy() + + @property + def item(self): + return self.__item + + def on_edit_position(self, txt): + x, z = map(float, txt.split()) + self.__item.position = [x, 0, z] + + def on_edit_id(self, txt): + self.__item.id = txt + + def __actually_close(self, arg): + self.__entries.strategy.set('') + self.__entries.strategy_args.set('') + self.__dialog.cleanup() + + def destroy(self): + self._frm.destroy() + self.ignore('item-rototranslated') + messenger.send('editor-inspector-destroy') diff --git a/pmachines/editor/scene.py b/pmachines/editor/scene.py index b2d3795..127cee6 100644 --- a/pmachines/editor/scene.py +++ b/pmachines/editor/scene.py @@ -14,17 +14,21 @@ from direct.gui.DirectGuiGlobals import FLAT, NORMAL from direct.gui.OnscreenText import OnscreenText from direct.showbase.DirectObject import DirectObject from pmachines.items.item import Item +from pmachines.items.test_item import PixelSpaceTestItem, WorldSpaceTestItem from pmachines.editor.scene_list import SceneList -from pmachines.editor.inspector import Inspector +from pmachines.editor.inspector import Inspector, PixelSpaceInspector, WorldSpaceInspector from pmachines.editor.start_items import StartItems +from ya2.p3d.gfx import P3dGfxMgr class SceneEditor(DirectObject): - def __init__(self, json, json_name, context, add_item, items): + def __init__(self, json, json_name, context, add_item, items, world, mouse_plane_node): super().__init__() self.__items = items self.__json = json + self.__world = world + self.__mouse_plane_node = mouse_plane_node if not json_name: self.__json = json = { 'name': '', @@ -190,17 +194,48 @@ class SceneEditor(DirectObject): frameColor=fcols[0], rolloverSound=loader.load_sfx('assets/audio/sfx/rollover.ogg'), clickSound=loader.load_sfx('assets/audio/sfx/click.ogg')) + self.__test_items = [] + self.__set_test_items() messenger.send('editor-start') self.accept('editor-item-click', self.__on_item_click) self.accept('editor-inspector-destroy', self.__on_inspector_destroy) self.accept('editor-start-items-save', self.__on_start_items_save) self.accept('editor-start-items-destroy', self.__on_start_items_destroy) + def __set_test_items(self): + for pixel_space_item in self.__json['test_items']['pixel_space']: + print(pixel_space_item['id'], pixel_space_item['position']) + pos_pixel = pixel_space_item['position'] + win_res = base.win.getXSize(), base.win.getYSize() + pos_win = (pos_pixel[0] / win_res[0] * 2 - 1, + 1 - pos_pixel[1] / win_res[1] * 2) + p_from, p_to = P3dGfxMgr.world_from_to(pos_win) + hits = self.__world.ray_test_all(p_from, p_to).get_hits() + for hit in self.__world.ray_test_all(p_from, p_to).get_hits(): + if hit.get_node() == self.__mouse_plane_node: + pos = hit.get_hit_pos() + self.__set_test_item(pos, pixel_space_item, PixelSpaceTestItem) + for world_space_item in self.__json['test_items']['world_space']: + print(world_space_item['id'], world_space_item['position']) + self.__set_test_item(world_space_item['position'], world_space_item, WorldSpaceTestItem) + + def __set_test_item(self, pos, json, item_class): + test_item = item_class( + self.__context.world, + self.__context.plane_node, + self.__context.cb_inst, + self.__context.curr_bottom, + self.__context.repos, + json, + pos=(pos[0], 0, pos[-1]), + model_scale=.2) + self.__test_items += [test_item] + def __on_close(self): self.__json['name'] = self.__name_entry.get() self.__json['instructions'] = self.__instructions_entry.get() if self.__compute_hash() == self.__json['version']: - self._frm.destroy() + self.destroy() else: self.__dialog = YesNoDialog(dialogName='Unsaved changes', text=_('You have unsaved changes. Really quit?'), @@ -221,18 +256,29 @@ class SceneEditor(DirectObject): def __on_new_item(self, item): info(f'new {item}') item_json = {} + scale = 1 + if item in ['PixelSpaceTestItem', 'WorldSpaceTestItem']: + scale = .2 _item = self.__new_items[item]( self.__context.world, self.__context.plane_node, self.__context.cb_inst, self.__context.curr_bottom, self.__context.repos, - item_json) + item_json, + model_scale=scale) _item._Item__editing = True self.__add_item(_item) item_json['class'] = _item.__class__.__name__ item_json['position'] = list(_item._np.get_pos()) - self.__json['items'] += [item_json] + if item == 'PixelSpaceTestItem': + del item_json['class'] + self.__json['test_items']['pixel_space'] += [item_json] + elif item == 'WorldSpaceTestItem': + del item_json['class'] + self.__json['test_items']['world_space'] += [item_json] + else: + self.__json['items'] += [item_json] def __actually_close(self, arg): if arg: @@ -270,7 +316,12 @@ class SceneEditor(DirectObject): if self.__inspector and self.__inspector.item == item: return if self.__inspector: self.__inspector.destroy() - self.__inspector = Inspector(item, self.__items) + if item.__class__ == PixelSpaceTestItem: + self.__inspector = PixelSpaceInspector(item, self.__items) + elif item.__class__ == WorldSpaceTestItem: + self.__inspector = WorldSpaceInspector(item, self.__items) + else: + self.__inspector = Inspector(item, self.__items) def __on_inspector_destroy(self): self.__inspector = None @@ -290,6 +341,10 @@ class SceneEditor(DirectObject): def __on_start_items_destroy(self): self.__start_items = None + @property + def test_items(self): + return self.__test_items + def destroy(self): self._frm.destroy() if self.__inspector: @@ -298,3 +353,5 @@ class SceneEditor(DirectObject): self.ignore('editor-inspector-destroy') self.ignore('editor-start-items-save') self.ignore('editor-start-items-destroy') + for t in self.__test_items: t.destroy() + self.__test_items = [] diff --git a/pmachines/items/test_item.py b/pmachines/items/test_item.py new file mode 100644 index 0000000..760409c --- /dev/null +++ b/pmachines/items/test_item.py @@ -0,0 +1,19 @@ +from panda3d.bullet import BulletBoxShape +from pmachines.items.item import Item + + +class TestItem(Item): + + def __init__(self, world, plane_node, cb_inst, curr_bottom, repos, json, mass=1, pos=(0, 0, 0), r=0, count=0, restitution=.5, friction=.8, model_scale=1): + super().__init__(world, plane_node, cb_inst, curr_bottom, repos, 'assets/models/bam/test_handle/test_handle.bam', json, mass=mass, pos=pos, r=r, count=count, restitution=restitution, friction=friction, model_scale=model_scale) + self._np.set_bin('fixed', 0) + self._np.set_depth_test(False) + self._np.set_depth_write(False) + + def _set_shape(self, apply_scale=True): + self.node.add_shape(BulletBoxShape((.5, .5, .5))) + +class PixelSpaceTestItem(TestItem): pass + + +class WorldSpaceTestItem(TestItem): pass diff --git a/pmachines/scene.py b/pmachines/scene.py index 740a688..480785d 100644 --- a/pmachines/scene.py +++ b/pmachines/scene.py @@ -58,7 +58,7 @@ class Scene(DirectObject): self._set_lights() self._set_input() self._set_mouse_plane() - self.items = [] + self.__items = [] self._test_items = [] self.reset() self._state = 'init' @@ -70,7 +70,7 @@ class Scene(DirectObject): else: self._set_instructions() self._bg = Background() - self._side_panel = SidePanel(world, self._mouse_plane_node, (-5, 4), (-3, 1), 1, self.items) + self._side_panel = SidePanel(world, self._mouse_plane_node, (-5, 4), (-3, 1), 1, self.__items) self._scene_tsk = taskMgr.add(self.on_frame, 'on_frame') if auto_start_editor: self._set_editor() @@ -109,9 +109,16 @@ class Scene(DirectObject): def __process_json_escape(self, string): return bytes(string, 'utf-8').decode('unicode-escape') + @property + def items(self): + items = self.__items[:] + if self.__scene_editor: + items += self.__scene_editor.test_items + return items + def _set_items(self): if not self.__json_name: return - self.items = [] + self.__items = [] self._test_items = [] if not self.json: with open(f'assets/scenes/{self.__json_name}.json') as f: @@ -129,7 +136,7 @@ class Scene(DirectObject): args['mass'] = item['mass'] if 'friction' in item: args['friction'] = item['friction'] - self.items += [self.__code2class(item['class'])(**args)] + self.__items += [self.__code2class(item['class'])(**args)] for item in self.json['items']: args = { 'world': self._world, @@ -151,13 +158,13 @@ class Scene(DirectObject): args['restitution'] = item['restitution'] if 'friction' in item: args['friction'] = item['friction'] - self.items += [self.__code2class(item['class'])(**args)] + self.__items += [self.__code2class(item['class'])(**args)] if 'strategy' in item: match item['strategy']: case 'DownStrategy': - self.items[-1].set_strategy(self.__code2class(item['strategy'])(self.items[-1]._np, *item['strategy_args'])) + self.__items[-1].set_strategy(self.__code2class(item['strategy'])(self.__items[-1]._np, *item['strategy_args'])) case 'HitStrategy': - self.items[-1].set_strategy(self.__code2class(item['strategy'])(self.__item_with_id(item['strategy_args'][0]), self.items[-1].node, self.items[-1]._world)) + self.__items[-1].set_strategy(self.__code2class(item['strategy'])(self.__item_with_id(item['strategy_args'][0]), self.items[-1].node, self.__items[-1]._world)) def __code2class(self, code): return { @@ -171,7 +178,7 @@ class Scene(DirectObject): }[code] def __item_with_id(self, id): - for item in self.items: + for item in self.__items: if 'id' in item.json and item.json['id'] == id: return item @@ -205,15 +212,15 @@ class Scene(DirectObject): def current_bottom(self): curr_bottom = 1 - for item in self.items: + for item in self.__items: if item.repos_done: curr_bottom = min(curr_bottom, item.get_bottom()) return curr_bottom def reset(self): - [itm.destroy() for itm in self.items] + [itm.destroy() for itm in self.__items] [itm.remove_node() for itm in self._test_items] - self.items = [] + self.__items = [] self._test_items = [] self._set_items() self._set_test_items() @@ -237,7 +244,7 @@ class Scene(DirectObject): self._unset_lights() self._unset_input() self._unset_mouse_plane() - [itm.destroy() for itm in self.items] + [itm.destroy() for itm in self.__items] [itm.remove_node() for itm in self._test_items] self._bg.destroy() self._side_panel.destroy() @@ -433,6 +440,8 @@ class Scene(DirectObject): for item in [i for i in self.items if hit.get_node() == i.node and i.interactable]: if not self._item_active: self._item_active = item + if item not in self.__items: + method = 'on_click_l' getattr(item, method)(pos) img = 'move' if method == 'on_click_l' else 'rotate' if not (img == 'rotate' and not item._instantiated): @@ -456,20 +465,20 @@ class Scene(DirectObject): # self.__next_btn['state'] = DISABLED # self.__next_btn['frameColor'] = fcols[1] self._item_active = None - [item.on_release() for item in self.items] + [item.on_release() for item in self.__items] self._cursor.set_image('assets/images/buttons/arrowUpLeft.dds') def repos(self): - for item in self.items: + for item in self.__items: item.repos_done = False - self.items = sorted(self.items, key=lambda itm: itm.__class__.__name__) - [item.on_aspect_ratio_changed() for item in self.items] - self._side_panel.update(self.items) + self.__items = sorted(self.__items, key=lambda itm: itm.__class__.__name__) + [item.on_aspect_ratio_changed() for item in self.__items] + self._side_panel.update(self.__items) max_x = -float('inf') - for item in self.items: + for item in self.__items: if not item._instantiated: max_x = max(item._np.get_x(), max_x) - for item in self.items: + for item in self.__items: if not item._instantiated: item.repos_x(max_x) @@ -477,10 +486,10 @@ class Scene(DirectObject): self.repos() def _win_condition(self): - return all(itm.strategy.win_condition() for itm in self.items) and not self._paused + return all(itm.strategy.win_condition() for itm in self.__items) and not self._paused def _fail_condition(self): - return all(itm.fail_condition() for itm in self.items) and not self._paused and self._state == 'playing' + return all(itm.fail_condition() for itm in self.__items) and not self._paused and self._state == 'playing' def on_frame(self, task): hits = self._get_hits() @@ -516,14 +525,14 @@ class Scene(DirectObject): return task.cont def cb_inst(self, item): - self.items += [item] + self.__items += [item] def on_play(self): self._state = 'playing' #self.__prev_btn['state'] = DISABLED #self.__next_btn['state'] = DISABLED self.__right_btn['state'] = DISABLED - [itm.play() for itm in self.items] + [itm.play() for itm in self.__items] self._start_evt_time = globalClock.getFrameTime() def on_next(self): @@ -754,7 +763,7 @@ class Scene(DirectObject): self.__btn_state = [btn['state'] for btn in btns] for btn in btns: btn['state'] = DISABLED - [itm.store_state() for itm in self.items] + [itm.store_state() for itm in self.__items] def __restore_state(self): btns = [ @@ -763,7 +772,7 @@ class Scene(DirectObject): ] for btn, state in zip(btns, self.__btn_state): btn['state'] = state - [itm.restore_state() for itm in self.items] + [itm.restore_state() for itm in self.__items] self._paused = False def __on_close_instructions(self, frm): @@ -792,7 +801,7 @@ class Scene(DirectObject): self._test_items[-1].set_pos(pos[0], 0, pos[1]) def add_item(self, item): - self.items += [item] + self.__items += [item] def _set_editor(self): fields = ['world', 'plane_node', 'cb_inst', 'curr_bottom', 'repos', 'json'] @@ -804,9 +813,9 @@ class Scene(DirectObject): self.current_bottom, self.repos, {}) - self.__scene_editor = SceneEditor(self.json, self.__json_name, context, self.add_item, self.items) + self.__scene_editor = SceneEditor(self.json, self.__json_name, context, self.add_item, self.__items, self._world, self._mouse_plane_node) def __on_inspector_delete(self, item): - self.items.remove(item) + self.__items.remove(item) self.json['items'].remove(item.json) item.destroy() diff --git a/prj.org b/prj.org index 3471bba..28a5ccb 100644 --- a/prj.org +++ b/prj.org @@ -36,7 +36,7 @@ - [X] new item - [X] left/right arrow - [X] json -- [ ] editing of test_items in the editor for functional tests +- [X] editing of test_items in the editor for functional tests - [ ] define functional tests * BACKLOG tooltips for buttons * BACKLOG teeter-tooter with constraints (real teeter tooter) diff --git a/ya2/p3d/asserts.py b/ya2/p3d/asserts.py index 288016f..0af2aab 100644 --- a/ya2/p3d/asserts.py +++ b/ya2/p3d/asserts.py @@ -6,7 +6,7 @@ class Assert: @staticmethod def assert_render3d(): preserve = ['camera', 'DIRECT'] - unexpected_nodes = [c for c in render.children if child.name not in preserve] + unexpected_nodes = [c for c in render.children if c.name not in preserve] for node in unexpected_nodes: Assert.__process_render3d_exception(node) @staticmethod -- 2.30.2