All I can find is that it's called: "Scene Geometry API" I've searched the Xcode BETA but it has no reference to it
Post
Replies
Boosts
Views
Activity
I'm also getting a similar error, a fairly regular crash in Xcode, but fine when not running through Xcode, crashes using a SCNTechnique0x00000001a74fc9c0 in objc_msgSend ()
0x00000001bbf441e8 in -[MTLRenderPipelineDescriptorInternal setFragmentFunction:] ()
0x00000001bc46ebec in _pipelineDescriptorForPipelineDesc ()
0x00000001bc46f958 in __69-[SCNMTLResourceManager(Compilation) newRenderPipelineStateWithDesc:]_block_invoke ()
0x00000001bc46f71c in -[SCNMTLResourceManager(Compilation) newRenderPipelineStateWithDesc:] ()
0x00000001bc46ea30 in -[SCNMTLResourceManager(Compilation) renderResourceForProgramDesc:renderPassDescriptor:] ()
0x00000001bc296dc4 in _execute(SCNMTLRenderContext*, DrawCommand) ()
0x00000001bc29bd80 in -[SCNMTLRenderContext drawFullScreenQuadForPass:] ()
0x00000001bc2c2db8 in C3D::DrawQuadPass::execute(C3D::RenderArgs const&) ()
0x00000001bc24dfe4 in C3D::__renderSlice(C3D::RenderGraph*, C3D::RenderPass*, unsigned short&, C3D::RenderGraph::GraphNode const&, C3D::RenderGraph::Stage*&, C3D::RenderArgs, bool, id<MTLCommandBuffer>&) ()
0x00000001bc24f91c in C3D::RenderGraph::execute() ()
0x00000001bc34f228 in -[SCNRenderer _renderSceneWithEngineContext:sceneTime:] ()
0x00000001bc34fa98 in -[SCNRenderer _drawSceneWithNewRenderer:] ()
0x00000001bc350028 in -[SCNRenderer _drawScene:] ()
0x00000001bc3503f8 in -[SCNRenderer _drawAtTime:] ()
0x00000001bc3eec7c in -[SCNView _drawAtTime:] ()
0x00000001c3ebc09c in -[ARSCNView _drawAtTime:] ()
0x00000001bc2ac2d8 in __69-[NSObject(SCN_DisplayLinkExtensions) SCN_setupDisplayLinkWithQueue:]_block_invoke ()
0x00000001bc3b8dc4 in __36-[SCNDisplayLink _callbackWithTime:]_block_invoke ()
0x0000000108f8b18c in _dispatch_client_callout ()
0x0000000108f9ac34 in _dispatch_lane_barrier_sync_invoke_and_complete ()
0x00000001bc3b8d48 in -[SCNDisplayLink _callbackWithTime:] ()
0x000000010916c114 in -[DYDisplayLinkInterposer forwardDisplayLinkCallback:] ()
0x00000001ae30f354 in CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) ()
0x00000001ae3df1a4 in display_timer_callback(__CFMachPort*, void*, long, void*) ()
0x00000001a773d584 in __CFMachPortPerform ()
0x00000001a7767f44 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ ()
0x00000001a77675e8 in __CFRunLoopDoSource1 ()
0x00000001a77620e0 in __CFRunLoopRun ()
0x00000001a7761660 in CFRunLoopRunSpecific ()
0x00000001a7aab6a8 in -[NSRunLoop(NSRunLoop) runMode:beforeDate:] ()
0x00000001bc2ac6e0 in __71-[SCNView(SCNDisplayLink) _initializeDisplayLinkWithCompletionHandler:]_block_invoke ()
0x00000001bc2ac968 in __SCNRenderThread_start__ ()
0x00000001a74f18fc in _pthread_start ()with a crash on line 10 here:com.apple.scenekit.scnview-renderer (17): EXC_BAD_ACCESS (code=1, address=0x0)libobjc.A.dylib`objc_msgSend:
0x1a74fc9a0 <+0>: cmp x0, #0x0 ; =0x0
0x1a74fc9a4 <+4>: b.le 0x1a74fca20 ; <+128>
0x1a74fc9a8 <+8>: ldr x13, [x0]
0x1a74fc9ac <+12>: and x16, x13, #0xffffffff8
0x1a74fc9b0 <+16>: ldr x11, [x16, #0x10]
0x1a74fc9b4 <+20>: and x10, x11, #0xffffffffffff
0x1a74fc9b8 <+24>: and x12, x1, x11, lsr #48
0x1a74fc9bc <+28>: add x12, x10, x12, lsl #4
-> 0x1a74fc9c0 <+32>: ldp x17, x9, [x12]Sometimes it's the fragmentShader, sometimes its the vertex shader, sometimes it's MTLDebugFunction
I have a similar issue, earlier Targets don't seem to be used, I wonder if I have to pass them through a chain, which I'd prefer not to do. Did you manage to solve it?
Just curious, do you have plane detection turned on? I don't have a device to test on, but this video seems to suggest it has higher detail with it turned off, at around 5:20 https://developer.apple.com/videos/play/tech-talks/609/
Could the `extent` property of `ARWorldMap` be useful here: https://developer.apple.com/documentation/arkit/arworldmap/2968211-extent
Is it possible to show us a drawing/screenshot of what you want? - maybe some code too?
Ok, I got past this error by reinstalling with the Apple Configurator, instructions here: https://developer.apple.com/download/universal/
Ok, I found a twitter post and they said it was because the items were selectable, so my code became:
func toolbarSelectableItemIdentifiers(_ toolbar: NSToolbar) -> [NSToolbarItem.Identifier] {
//return self.toolbarDefaultItemIdentifiers(toolbar) // old
return [] //new
}
To get it working I had to add
	<key>NSLocalNetworkUsageDescription</key>
<string>Network usage is required for macOS/iOS communication</string>
<key>NSBonjourServices</key>
<array>
<string>_myitem._tcp</string>
</array>
I have something like this setup for instant changes, store the stylesheet as a state variable, and then when you want to change stylesheet, listen for a change.
You can then use @Environment(\.stylesheet) var stylesheet and style your views as you see fit
@main
struct MyApp: App {
@State var stylesheet = StylesheetLoader.load(file: "MyStylesheet", in: Bundle.main)
var body: some Scene {
WindowGroup {
NavigationView {
HomeView()
.environment(\.stylesheet, stylesheet)
.onReceive(stylesheetPublisher, perform: { newStylesheet in
stylesheet = newStylesheet
})
}
}
}
@karim, Sorry, I haven't tried it with a navigation bar, I've had lots of issues with appearance and navigation bars, I've given up trying to get it working
I've been playing with this and managed to get it to work on a single domain.
I noticed most of the files had a hash at the end of them, so I merged them all down into a single .docarchive file.
Of course, this may break in the future, but for now it works
# Delete existing .doccarchive
rm -rf templates/AllProjects.doccarchive
# Create a working folder
mkdir templates/working_dir
# Copy most files, excluding the index and metadata.json files to the working directory
rsync -a --exclude 'index.html' --exclude 'metadata.json' templates/ProjectA.doccarchive/* templates/working_dir
rsync -a --exclude 'index.html' --exclude 'metadata.json' templates/ProjectB.doccarchive/* templates/working_dir
# Copy across the index.html file from each Archive, but give it a new name when copying
rsync templates/ProjectA.doccarchive/index.html templates/test/projectA.html
rsync templates/ProjectB.doccarchive/index.html templates/test/projectB.html
# Create a new .doccarchive folder
mv templates/working_dir templates/AllProjects.doccarchive
You can then host this on your server and point to /documentation/ProjectA or /documentation/ProjectB.
There is one current drawback I can see, the table of contents isn't unique.
Did you ever find a solution to this?